[*] Binary protection state of ntpdate

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


[*] Function fprintf tear down of ntpdate

    ; assembly                                                   | /* r2dec pseudo code output */
                                                                 | /* /logs/firmware/unblob_extracted/firmware_extract/56048-12514271.gzip_extract/gzip.uncompressed_extract/5243916-15068666.gzip_extract/gzip.uncompressed_extract/usr/bin/ntpdate @ 0x1b454 */
                                                                 | #include <stdint.h>
                                                                 |  
    ; (fcn) aav.0x0001b454 ()                                    | void aav_0x0001b454 (int32_t arg1, int32_t arg2) {
                                                                 |     int32_t var_0h;
                                                                 |     int32_t var_4h;
                                                                 |     int32_t var_8h;
                                                                 |     int32_t var_ch;
                                                                 |     FILE * stream;
                                                                 |     int32_t var_1ch;
                                                                 |     int32_t var_20h;
                                                                 |     int32_t var_24h;
                                                                 |     int32_t var_28h;
                                                                 |     int32_t var_1h;
                                                                 |     int32_t var_22ch;
                                                                 |     r0 = arg1;
                                                                 |     r1 = arg2;
    0x0001b454 push {r4, r5, r6, r7, r8, sb, sl, fp, lr}         |     
    0x0001b458 sub sp, sp, 0x22c                                 |     
    0x0001b45c add r6, sp, 0x28                                  |     r6 += var_28h;
    0x0001b460 mov sb, r0                                        |     sb = r0;
    0x0001b464 mov sl, r1                                        |     sl = r1;
    0x0001b468 mov r8, r2                                        |     r8 = r2;
    0x0001b46c mov r1, 0x80                                      |     r1 = 0x80;
    0x0001b470 add r2, sp, 0x1c                                  |     r2 += var_1ch;
    0x0001b474 mov r0, r6                                        |     r0 = r6;
    0x0001b478 mov fp, r3                                        |     
    0x0001b47c bl 0x1b660                                        |     fcn_0001b660 (r0);
    0x0001b480 subs r4, r0, 0                                    |     r4 -= var_28h;
                                                                 |     if (r4 == var_28h) {
    0x0001b484 ldrne r7, [pc, 0xfc]                              |         r7 = *(0x0001b588);
                                                                 |     }
                                                                 |     if (r4 == var_28h) {
    0x0001b488 bne 0x1b4a0                                       |         
    0x0001b48c ldr r2, [sp, 0x1c]                                |         r2 = var_1ch;
    0x0001b490 ldr r3, [pc, 0xf4]                                |         r3 = *(0x1b588);
    0x0001b494 cmp r2, 0                                         |         
    0x0001b498 ldr r7, [pc, 0xe8]                                |         r7 = *(0x1b584);
                                                                 |         if (r2 > 0) {
    0x0001b49c movgt r7, r3                                      |             r7 = r3;
                                                                 |             goto label_3;
                                                                 |         }
                                                                 |     }
                                                                 | label_3:
    0x0001b4a0 ldr r5, [pc, 0xe8]                                |     r5 = "__back_trace";
    0x0001b4a4 cmp r8, 3                                         |     
    0x0001b4a8 ldr r3, [r5]                                      |     r3 = "__back_trace";
    0x0001b4ac ldr r0, [pc, 0xe0]                                |     
    0x0001b4b0 str r3, [sp, 0x14]                                |     stream = r3;
                                                                 |     if (r8 > 3) {
    0x0001b4b4 ldrls r3, [pc, 0xdc]                              |         r3 = *((pc + 0xdc));
                                                                 |     }
    0x0001b4b8 mov r2, 0x65                                      |     r2 = 0x65;
                                                                 |     if (r8 > 3) {
    0x0001b4bc ldrls r8, [r3, r8, lsl 2]                         |         offset_0 = r8 << 2;
                                                                 |         r8 = *((r3 + offset_0));
                                                                 |     }
    0x0001b4c0 mov r1, 1                                         |     r1 = 1;
    0x0001b4c4 ldr r3, [pc, 0xd0]                                |     r3 = *(0x1b598);
    0x0001b4c8 ldr r0, [r0]                                      |     r0 = stderr;
                                                                 |     if (r8 <= 3) {
    0x0001b4cc movhi r8, 0                                       |         r8 = 0;
                                                                 |     }
    0x0001b4d0 bl 0x1b934                                        |     fcn_0001b934 (r0, r1);
    0x0001b4d4 str r7, [sp, 0xc]                                 |     var_ch = r7;
    0x0001b4d8 stm sp, {r8, fp}                                  |     *(sp) = r8;
                                                                 |     *((sp + 4)) = fp;
    0x0001b4dc ldr r1, [pc, 0xbc]                                |     r1 = "failed";
    0x0001b4e0 mov r3, sl                                        |     r3 = sl;
    0x0001b4e4 mov r2, sb                                        |     r2 = sb;
    0x0001b4e8 str r0, [sp, 8]                                   |     var_8h = r0;
    0x0001b4ec ldr r0, [sp, 0x14]                                |     r0 = stream;
    0x0001b4f0 bl 0x1230c                                        |     fprintf (r0, "failed", r2, r3)
    0x0001b4f4 cmp r4, 0                                         |     
                                                                 |     if (r4 == 0) {
    0x0001b4f8 beq 0x1b578                                       |         goto label_4;
                                                                 |     }
                                                                 | label_0:
    0x0001b4fc ldr r0, [r5]                                      |     r0 = *(r5);
    0x0001b500 bl 0x122b8                                        |     fflush (r0);
    0x0001b504 add sp, sp, 0x22c                                 |     
    0x0001b508 pop {r4, r5, r6, r7, r8, sb, sl, fp, pc}          |     
                                                                 |     do {
    0x0001b50c add r2, sp, 0x24                                  |         r2 += var_24h;
    0x0001b510 add r1, sp, 0x20                                  |         r1 += var_20h;
    0x0001b514 ldr r0, [r6, r4, lsl 2]                           |         offset_1 = r4 << 2;
                                                                 |         r0 = *((r6 + offset_1));
    0x0001b518 str r7, [sp, 0x20]                                |         var_20h = r7;
    0x0001b51c bl 0x1b718                                        |         r0 = fcn_0001b718 (r0, r1);
    0x0001b520 cmp r0, 0                                         |         
                                                                 |         if (r0 != 0) {
    0x0001b524 bne 0x1b560                                       |             goto label_5;
                                                                 |         }
    0x0001b528 ldr r3, [sp, 0x24]                                |         r3 = var_24h;
    0x0001b52c mov r2, r4                                        |         r2 = r4;
    0x0001b530 str r3, [sp, 4]                                   |         var_4h = r3;
    0x0001b534 ldr r3, [sp, 0x20]                                |         r3 = var_20h;
    0x0001b538 mov r1, sb                                        |         r1 = sb;
    0x0001b53c str r3, [sp]                                      |         *(sp) = r3;
    0x0001b540 ldr r0, [r5]                                      |         r0 = *(r5);
    0x0001b544 ldr r3, [r6, r4, lsl 2]                           |         offset_2 = r4 << 2;
                                                                 |         r3 = *((r6 + offset_2));
    0x0001b548 bl 0x1230c                                        |         fprintf (r0, r1, r2, r3)
                                                                 | label_1:
    0x0001b54c add r4, r4, 1                                     |         r4 += var_1h;
                                                                 | label_2:
    0x0001b550 ldr r3, [sp, 0x1c]                                |         r3 = var_1ch;
    0x0001b554 cmp r3, r4                                        |         
    0x0001b558 bgt 0x1b50c                                       |         
                                                                 |     } while (r3 > r4);
    0x0001b55c b 0x1b4fc                                         |     goto label_0;
                                                                 | label_5:
    0x0001b560 ldr r3, [r6, r4, lsl 2]                           |     offset_3 = r4 << 2;
                                                                 |     r3 = *((r6 + offset_3));
    0x0001b564 mov r2, r4                                        |     r2 = r4;
    0x0001b568 mov r1, r8                                        |     r1 = r8;
    0x0001b56c ldr r0, [r5]                                      |     r0 = *(r5);
    0x0001b570 bl 0x1230c                                        |     fprintf (r0, r1, r2, r3)
    0x0001b574 b 0x1b54c                                         |     goto label_1;
                                                                 | label_4:
    0x0001b578 mov r7, r4                                        |     r7 = r4;
    0x0001b57c ldr r8, [pc, 0x20]                                |     r8 = "%s:%d: %s(%s) %s%s\n";
    0x0001b580 ldr sb, [pc, 0x20]                                |     sb = "#%d %p in %s()+0x%lx\n";
    0x0001b584 b 0x1b550                                         |     goto label_2;
                                                                 | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/unblob_extracted/firmware_extract/56048-12514271.gzip_extract/gzip.uncompressed_extract/5243916-15068666.gzip_extract/gzip.uncompressed_extract/usr/bin/ntpdate @ 0x1de64 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) aav.0x0001de64 ()                | void aav_0x0001de64 (int32_t arg1, int32_t arg2) {
                                             |     r0 = arg1;
                                             |     r1 = arg2;
    0x0001de64 push {r4, r5, r6, lr}         |     
    0x0001de68 ldr r4, [pc, 0x40]            |     r4 = *(0x1deac);
    0x0001de6c mov r5, r2                    |     r5 = r2;
    0x0001de70 mov r6, r3                    |     r6 = r3;
    0x0001de74 mov r2, r0                    |     r2 = r0;
    0x0001de78 mov r3, r1                    |     r3 = r1;
    0x0001de7c ldr r0, [r4]                  |     r0 = *(0x1deac);
    0x0001de80 ldr r1, [pc, 0x2c]            |     r1 = stderr;
    0x0001de84 bl 0x1230c                    |     fprintf (r0, r1, r2, r3, r4, r5, r6)
    0x0001de88 mov r2, r6                    |     r2 = r6;
    0x0001de8c mov r1, r5                    |     r1 = r5;
    0x0001de90 ldr r0, [r4]                  |     r0 = *(0x1deac);
    0x0001de94 bl 0x11f94                    |     vfprintf (r0, r1, r2)
    0x0001de98 ldr r1, [r4]                  |     r1 = *(0x1deac);
    0x0001de9c mov r0, 0xa                   |     r0 = 0xa;
    0x0001dea0 bl 0x12240                    |     fputc (r0, r1);
    0x0001dea4 ldr r0, [r4]                  |     r0 = *(0x1deac);
    0x0001dea8 pop {r4, r5, r6, lr}          |     
    0x0001deac b 0x122b8                     |     return void (*0x122b8)() ();
                                             | }
    ; assembly                                                       | /* r2dec pseudo code output */
                                                                     | /* /logs/firmware/unblob_extracted/firmware_extract/56048-12514271.gzip_extract/gzip.uncompressed_extract/5243916-15068666.gzip_extract/gzip.uncompressed_extract/usr/bin/ntpdate @ 0x1deb8 */
                                                                     | #include <stdint.h>
                                                                     |  
    ; (fcn) aav.0x0001deb8 ()                                        | void aav_0x0001deb8 (int32_t arg1, int32_t arg2) {
                                                                     |     int32_t var_0h;
                                                                     |     int32_t var_ch;
                                                                     |     r0 = arg1;
                                                                     |     r1 = arg2;
    0x0001deb8 push {r0, r1, r2, r4, r5, r6, r7, r8, sb, lr}         |     
    0x0001debc ldr r4, [pc, 0x6c]                                    |     r4 = *(0x1df2c);
    0x0001dec0 mov r8, r0                                            |     r8 = r0;
    0x0001dec4 ldr r0, [pc, 0x68]                                    |     
    0x0001dec8 mov sb, r1                                            |     sb = r1;
    0x0001decc mov r5, r2                                            |     r5 = r2;
    0x0001ded0 mov r6, r3                                            |     r6 = r3;
    0x0001ded4 mov r2, 0x6e                                          |     r2 = 0x6e;
    0x0001ded8 ldr r3, [pc, 0x58]                                    |     r3 = *(0x1df34);
    0x0001dedc mov r1, 1                                             |     r1 = 1;
    0x0001dee0 ldr r0, [r0]                                          |     r0 = stderr;
    0x0001dee4 ldr r7, [r4]                                          |     r7 = *(0x1df2c);
    0x0001dee8 bl 0x1b934                                            |     fcn_0001b934 (r0, r1);
    0x0001deec mov r3, sb                                            |     r3 = sb;
    0x0001def0 mov r2, r8                                            |     r2 = r8;
    0x0001def4 ldr r1, [pc, 0x40]                                    |     r1 = "fatal error";
    0x0001def8 str r0, [sp]                                          |     *(sp) = r0;
    0x0001defc mov r0, r7                                            |     r0 = r7;
    0x0001df00 bl 0x1230c                                            |     fprintf (r0, "fatal error", r2, r3)
    0x0001df04 mov r2, r6                                            |     r2 = r6;
    0x0001df08 mov r1, r5                                            |     r1 = r5;
    0x0001df0c ldr r0, [r4]                                          |     r0 = *(0x1df2c);
    0x0001df10 bl 0x11f94                                            |     vfprintf (r0, r1, r2)
    0x0001df14 ldr r1, [r4]                                          |     r1 = *(0x1df2c);
    0x0001df18 mov r0, 0xa                                           |     r0 = 0xa;
    0x0001df1c bl 0x12240                                            |     fputc (r0, r1);
    0x0001df20 ldr r0, [r4]                                          |     r0 = *(0x1df2c);
    0x0001df24 add sp, sp, 0xc                                       |     
    0x0001df28 pop {r4, r5, r6, r7, r8, sb, lr}                      |     
    0x0001df2c b 0x122b8                                             |     return void (*0x122b8)() ();
                                                                     | }
    ; assembly                                               | /* r2dec pseudo code output */
                                                             | /* /logs/firmware/unblob_extracted/firmware_extract/56048-12514271.gzip_extract/gzip.uncompressed_extract/5243916-15068666.gzip_extract/gzip.uncompressed_extract/usr/bin/ntpdate @ 0x17480 */
                                                             | #include <stdint.h>
                                                             |  
    ; (fcn) fcn.00017480 ()                                  | void fcn_00017480 (int32_t arg1, int32_t arg2) {
                                                             |     int32_t var_ch;
                                                             |     int32_t var_10h;
                                                             |     int32_t var_14h;
                                                             |     int32_t var_1ch;
                                                             |     r0 = arg1;
                                                             |     r1 = arg2;
    0x00017480 push {r4, r5, r6, r7, r8, sb, sl, fp, lr}     |     
    0x00017484 ldr r4, [pc, 0x1a0]                           |     r4 = *(0x17628);
    0x00017488 sub sp, sp, 0x1c                              |     
    0x0001748c mov r3, 0xa                                   |     r3 = 0xa;
    0x00017490 strh r3, [sp, 0x14]                           |     var_14h = r3;
    0x00017494 mov r3, 0                                     |     r3 = 0;
    0x00017498 strb r3, [sp, 0x10]                           |     var_10h = r3;
    0x0001749c ldr r3, [pc, 0x18c]                           |     r3 = *(0x1762c);
    0x000174a0 str r0, [sp, 0xc]                             |     var_ch = r0;
    0x000174a4 ldr r5, [r3]                                  |     r5 = *(0x1762c);
    0x000174a8 ldr r3, [r4]                                  |     r3 = *(0x17628);
    0x000174ac mov r8, r1                                    |     r8 = r1;
    0x000174b0 cmp r5, r3                                    |     
                                                             |     if (r5 != r3) {
    0x000174b4 beq 0x174d8                                   |         
    0x000174b8 mov r1, 0x2f                                  |         r1 = 0x2f;
    0x000174bc mov r0, r5                                    |         r0 = r5;
    0x000174c0 str r5, [r4]                                  |         *(r4) = r5;
    0x000174c4 bl 0x12048                                    |         r0 = strrchr (r0, r1);
    0x000174c8 cmp r0, 0                                     |         
                                                             |         if (r0 == 0) {
    0x000174cc addne r0, r0, 1                               |             r0++;
                                                             |         }
                                                             |         if (r0 == 0) {
    0x000174d0 strne r0, [r4, 4]                             |             *((r4 + 4)) = r0;
                                                             |         }
                                                             |         if (r0 == 0) {
    0x000174d4 streq r5, [r4, 4]                             |             *((r4 + 4)) = r5;
                                                             |             goto label_0;
                                                             |         }
                                                             |     }
                                                             | label_0:
    0x000174d8 ldr r5, [pc, 0x154]                           |     r5 = *(0x17630);
    0x000174dc ldr sb, [r4, 8]                               |     sb = *((r4 + 8));
    0x000174e0 ldr r6, [r5]                                  |     r6 = *(0x17630);
    0x000174e4 cmp r6, 0                                     |     
                                                             |     if (r6 == 0) {
    0x000174e8 beq 0x17614                                   |         goto label_1;
                                                             |     }
    0x000174ec mov r2, r8                                    |     r2 = r8;
    0x000174f0 ldr r1, [pc, 0x140]                           |     r1 = *(0x17634);
    0x000174f4 ldr r0, [sp, 0xc]                             |     r0 = var_ch;
    0x000174f8 bl 0x12354                                    |     syslog ();
    0x000174fc mov r6, 0                                     |     r6 = 0;
                                                             |     do {
    0x00017500 orrs r3, sb, r6                               |         r3 = sb | r6;
                                                             |         if (r3 != sb) {
    0x00017504 beq 0x1760c                                   |             
    0x00017508 ldr r7, [r5, 4]                               |             r7 = *((r5 + 4));
    0x0001750c cmp r7, 0                                     |             
                                                             |             if (r7 != 0) {
    0x00017510 beq 0x1751c                                   |                 
    0x00017514 bl 0x1cd68                                    |                 r0 = fcn_0001cd68 ();
    0x00017518 mov r7, r0                                    |                 r7 = r0;
                                                             |             }
    0x0001751c ldr r3, [r5, 8]                               |             r3 = *((r5 + 8));
    0x00017520 orrs r3, r6, r3                               |             r3 = r6 | r3;
                                                             |             if (r3 != r6) {
    0x00017524 mvneq sl, 0                                   |                 sl = ~0;
                                                             |             }
                                                             |             if (r3 != r6) {
    0x00017528 beq 0x17534                                   |                 
    0x0001752c bl 0x12174                                    |                 r0 = getpid ();
    0x00017530 mov sl, r0                                    |                 sl = r0;
                                                             |             }
    0x00017534 mov r0, r8                                    |             r0 = r8;
    0x00017538 bl 0x120c0                                    |             r0 = strlen (r0);
    0x0001753c add r0, r8, r0                                |             r0 = r8 + r0;
    0x00017540 ldrb r3, [r0, -1]                             |             r3 = *((r0 - 1));
    0x00017544 cmp r3, 0xa                                   |             
                                                             |             if (r3 == 0xa) {
    0x00017548 addne fp, sp, 0x14                            |                 
                                                             |             }
                                                             |             if (r3 != 0xa) {
    0x0001754c addeq fp, sp, 0x10                            |                 
                                                             |             }
    0x00017550 cmp sb, 0                                     |             
                                                             |             if (sb != 0) {
    0x00017554 beq 0x175c4                                   |                 
    0x00017558 ldr r3, [sp, 0xc]                             |                 r3 = var_ch;
    0x0001755c cmp r3, 3                                     |                 
                                                             |                 if (r3 > 3) {
    0x00017560 ldrle r3, [pc, 0xd4]                          |                     r3 = obj.stderr;
                                                             |                 }
                                                             |                 if (r3 <= 3) {
    0x00017564 ldrgt r3, [pc, 0xd4]                          |                     r3 = obj.stdout;
                                                             |                 }
    0x00017568 ldr sb, [r3]                                  |                 sb = *(r3);
    0x0001756c ldr r3, [r5, 4]                               |                 r3 = *((r5 + 4));
    0x00017570 cmp r3, 0                                     |                 
                                                             |                 if (r3 != 0) {
    0x00017574 beq 0x17588                                   |                     
    0x00017578 mov r2, r7                                    |                     r2 = r7;
    0x0001757c ldr r1, [pc, 0xc0]                            |                     r1 = stdout;
    0x00017580 mov r0, sb                                    |                     r0 = sb;
    0x00017584 bl 0x1230c                                    |                     fprintf (r0, r1, r2)
                                                             |                 }
    0x00017588 ldr r3, [r5, 8]                               |                 r3 = *((r5 + 8));
    0x0001758c cmp r3, 0                                     |                 
                                                             |                 if (r3 != 0) {
    0x00017590 beq 0x175a8                                   |                     
    0x00017594 mov r3, sl                                    |                     r3 = sl;
    0x00017598 ldr r2, [r4, 4]                               |                     r2 = *((r4 + 4));
    0x0001759c ldr r1, [pc, 0xa4]                            |                     r1 = "_s_";
    0x000175a0 mov r0, sb                                    |                     r0 = sb;
    0x000175a4 bl 0x1230c                                    |                     fprintf (r0, "_s_", r2, r3)
                                                             |                 }
    0x000175a8 mov r3, fp                                    |                 r3 = fp;
    0x000175ac mov r2, r8                                    |                 r2 = r8;
    0x000175b0 ldr r1, [pc, 0x94]                            |                 r1 = "_s__d_:_";
    0x000175b4 mov r0, sb                                    |                 r0 = sb;
    0x000175b8 bl 0x1230c                                    |                 fprintf (r0, "_s__d_:_", r2, r3)
    0x000175bc mov r0, sb                                    |                 r0 = sb;
    0x000175c0 bl 0x122b8                                    |                 fflush (r0);
                                                             |             }
    0x000175c4 cmp r6, 0                                     |             
                                                             |             if (r6 == 0) {
    0x000175c8 beq 0x1760c                                   |                 goto label_2;
                                                             |             }
    0x000175cc ldr r3, [r5, 4]                               |             r3 = *((r5 + 4));
    0x000175d0 ldr r5, [pc, 0x78]                            |             r5 = *(0x1764c);
    0x000175d4 cmp r3, 0                                     |             
                                                             |             if (r3 != 0) {
    0x000175d8 beq 0x175ec                                   |                 
    0x000175dc mov r2, r7                                    |                 r2 = r7;
    0x000175e0 ldr r1, [pc, 0x5c]                            |                 r1 = stdout;
    0x000175e4 ldr r0, [r5]                                  |                 r0 = *(r5);
    0x000175e8 bl 0x1230c                                    |                 fprintf (r0, r1, r2)
                                                             |             }
    0x000175ec stm sp, {r8, fp}                              |             *(sp) = r8;
                                                             |             *((sp + 4)) = fp;
    0x000175f0 ldr r2, [r4, 4]                               |             r2 = *((r4 + 4));
    0x000175f4 mov r3, sl                                    |             r3 = sl;
    0x000175f8 ldr r1, [pc, 0x54]                            |             r1 = *(0x17650);
    0x000175fc ldr r0, [r5]                                  |             r0 = *(r5);
    0x00017600 bl 0x1230c                                    |             fprintf (r0, r1, r2, r3)
    0x00017604 ldr r0, [r5]                                  |             r0 = *(r5);
    0x00017608 bl 0x122b8                                    |             fflush (r0);
                                                             |         }
                                                             | label_2:
    0x0001760c add sp, sp, 0x1c                              |         
    0x00017610 pop {r4, r5, r6, r7, r8, sb, sl, fp, pc}      |         
                                                             | label_1:
    0x00017614 ldr r3, [pc, 0x34]                            |         
    0x00017618 ldr r3, [r3]                                  |         r3 = *(0x1764c);
    0x0001761c cmp r3, 0                                     |         
                                                             |         if (r3 == 0) {
    0x00017620 movne r6, 1                                   |             r6 = 1;
                                                             |         }
                                                             |         if (r3 != 0) {
    0x00017624 moveq sb, 1                                   |             sb = 1;
                                                             |         }
    0x00017628 b 0x17500                                     |         
                                                             |     } while (1);
                                                             | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/unblob_extracted/firmware_extract/56048-12514271.gzip_extract/gzip.uncompressed_extract/5243916-15068666.gzip_extract/gzip.uncompressed_extract/usr/bin/ntpdate @ 0x1b020 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) fcn.0001b020 ()                  | void fcn_0001b020 (int32_t arg1) {
                                             |     int32_t var_0h;
                                             |     int32_t var_4h;
                                             |     int32_t var_8h;
                                             |     r0 = arg1;
    0x0001b020 ldr r3, [pc, 0x7c]            |     
    0x0001b024 push {r0, r1, r4, lr}         |     
    0x0001b028 ldr r3, [r3]                  |     r3 = *(0x1b0a0);
    0x0001b02c mov r4, r0                    |     r4 = r0;
    0x0001b030 cmp r3, 0                     |     
                                             |     if (r3 == 0) {
    0x0001b034 bne 0x1b03c                   |         
    0x0001b038 bl 0x1af90                    |         fcn_0001af90 ();
                                             |     }
    0x0001b03c mov r0, r4                    |     r0 = r4;
    0x0001b040 bl 0x12420                    |     OBJ_nid2sn ();
    0x0001b044 ldr r3, [pc, 0x5c]            |     r3 = *(0x1b0a4);
    0x0001b048 cmp r4, r3                    |     
                                             |     if (r4 == r3) {
    0x0001b04c bne 0x1b090                   |         
    0x0001b050 ldr r3, [pc, 0x54]            |         
    0x0001b054 ldr r4, [pc, 0x54]            |         r4 = *(0x1b0ac);
    0x0001b058 ldr r3, [r3]                  |         r3 = *(0x1b0a8);
    0x0001b05c cmp r3, 0                     |         
                                             |         if (r3 != 0) {
    0x0001b060 beq 0x1b088                   |             
    0x0001b064 ldr r3, [pc, 0x48]            |             r3 = "AES128CMAC";
    0x0001b068 ldr r0, [pc, 0x48]            |             
    0x0001b06c str r3, [sp]                  |             *(sp) = r3;
    0x0001b070 str r4, [sp, 4]               |             var_4h = r4;
    0x0001b074 mov r3, 0xdf                  |             r3 = 0xdf;
    0x0001b078 ldr r2, [pc, 0x3c]            |             r2 = stderr;
    0x0001b07c ldr r1, [pc, 0x3c]            |             r1 = "ssl_init.c";
    0x0001b080 ldr r0, [r0]                  |             r0 = "keytype_name";
    0x0001b084 bl 0x1230c                    |             fprintf ("keytype_name", "ssl_init.c", r2, "AES128CMAC", r4)
                                             |         }
    0x0001b088 mov r0, r4                    |         r0 = r4;
    0x0001b08c b 0x1b09c                     |         
                                             |     } else {
    0x0001b090 ldr r3, [pc, 0x2c]            |         r3 = "_s:_d:_s__:_s:nid";
    0x0001b094 cmp r0, 0                     |         
                                             |         if (r0 == 0) {
    0x0001b098 moveq r0, r3                  |             r0 = r3;
                                             |             goto label_0;
                                             |         }
                                             |     }
                                             | label_0:
    0x0001b09c add sp, sp, 8                 |     
    0x0001b0a0 pop {r4, pc}                  |     
                                             | }
    ; assembly                                               | /* r2dec pseudo code output */
                                                             | /* /logs/firmware/unblob_extracted/firmware_extract/56048-12514271.gzip_extract/gzip.uncompressed_extract/5243916-15068666.gzip_extract/gzip.uncompressed_extract/usr/bin/ntpdate @ 0x1b0c8 */
                                                             | #include <stdint.h>
                                                             |  
    ; (fcn) fcn.0001b0c8 ()                                  | void fcn_0001b0c8 (int32_t arg1, int32_t arg2) {
                                                             |     int32_t var_0h;
                                                             |     int32_t var_4h;
                                                             |     int32_t var_8h;
                                                             |     r0 = arg1;
                                                             |     r1 = arg2;
    0x0001b0c8 ldr r3, [pc, 0x23c]                           |     
    0x0001b0cc push {r0, r1, r4, r5, r6, r7, r8, lr}         |     
    0x0001b0d0 ldr r3, [r3]                                  |     r3 = *(0x1b308);
    0x0001b0d4 mov r6, r0                                    |     r6 = r0;
    0x0001b0d8 cmp r3, 0                                     |     
    0x0001b0dc mov r7, r1                                    |     r7 = r1;
                                                             |     if (r3 == 0) {
    0x0001b0e0 bne 0x1b0e8                                   |         
    0x0001b0e4 bl 0x1af90                                    |         fcn_0001af90 ();
                                                             |     }
    0x0001b0e8 ldr r4, [pc, 0x220]                           |     r4 = *(0x1b30c);
    0x0001b0ec ldr r5, [pc, 0x220]                           |     
    0x0001b0f0 ldr r0, [r4]                                  |     r0 = *(0x1b30c);
    0x0001b0f4 mov r2, 0x80                                  |     r2 = 0x80;
    0x0001b0f8 mov r1, 0                                     |     r1 = 0;
    0x0001b0fc add r0, r5, r0, lsl 7                         |     r0 = r5 + (r0 << 7);
    0x0001b100 bl 0x122c4                                    |     memset (r0, r1, r2);
    0x0001b104 ldr r3, [r4]                                  |     r3 = *(0x1b30c);
    0x0001b108 mov r2, 0x80                                  |     r2 = 0x80;
    0x0001b10c add r5, r5, r3, lsl 7                         |     r5 = 0x1b310;
    0x0001b110 add r3, r3, 1                                 |     r3++;
    0x0001b114 and r3, r3, 0xf                               |     r3 &= 0xf;
    0x0001b118 mov r1, r6                                    |     r1 = r6;
    0x0001b11c mov r0, r5                                    |     r0 = r5;
    0x0001b120 str r3, [r4]                                  |     *(r4) = r3;
    0x0001b124 bl 0x11f4c                                    |     strlcpy (r0, r1, r2);
    0x0001b128 ldr r3, [pc, 0x1e8]                           |     r3 = *(0x1b314);
    0x0001b12c sub r2, r5, 1                                 |     r2 = r5 - 1;
    0x0001b130 ldr r1, [r3]                                  |     r1 = *(0x1b314);
                                                             |     do {
    0x0001b134 ldrb r3, [r2, 1]!                             |         r3 = *((r2 += 1));
    0x0001b138 cmp r3, 0                                     |         
                                                             |         if (r3 == 0) {
    0x0001b13c bne 0x1b238                                   |             
    0x0001b140 mov r0, r5                                    |             r0 = r5;
    0x0001b144 bl 0x12300                                    |             r0 = OBJ_sn2nid ();
    0x0001b148 subs r4, r0, 0                                |             r4 = r0 - 0;
                                                             |             if (r4 == r0) {
    0x0001b14c bne 0x1b1a4                                   |                 
    0x0001b150 ldr r8, [pc, 0x1c4]                           |                 r8 = __ctype_toupper;
    0x0001b154 mov r2, 0xb                                   |                 r2 = 0xb;
    0x0001b158 mov r1, r5                                    |                 r1 = r5;
    0x0001b15c mov r0, r8                                    |                 r0 = r8;
    0x0001b160 bl 0x12054                                    |                 r0 = strncmp (r0, r1, r2);
    0x0001b164 cmp r0, 0                                     |                 
                                                             |                 if (r0 != 0) {
    0x0001b168 bne 0x1b248                                   |                     goto label_3;
                                                             |                 }
    0x0001b16c ldr r3, [pc, 0x1ac]                           |                 
    0x0001b170 ldr r3, [r3]                                  |                 r3 = "AES128CMAC";
    0x0001b174 cmp r3, 0                                     |                 
                                                             |                 if (r3 != 0) {
    0x0001b178 beq 0x1b1a0                                   |                     
    0x0001b17c ldr r3, [pc, 0x1a0]                           |                     r3 = *(0x1b320);
    0x0001b180 ldr r0, [pc, 0x1a0]                           |                     
    0x0001b184 str r3, [sp]                                  |                     *(sp) = r3;
    0x0001b188 str r8, [sp, 4]                               |                     var_4h = r8;
    0x0001b18c mov r3, 0x87                                  |                     r3 = 0x87;
    0x0001b190 ldr r2, [pc, 0x194]                           |                     r2 = stderr;
    0x0001b194 ldr r1, [pc, 0x194]                           |                     r1 = "ssl_init.c";
    0x0001b198 ldr r0, [r0]                                  |                     r0 = "keytype_from_text";
    0x0001b19c bl 0x1230c                                    |                     fprintf ("keytype_from_text", "ssl_init.c", r2, r3)
                                                             |                 }
    0x0001b1a0 ldr r4, [pc, 0x18c]                           |                 r4 = "%s:%d:%s():%s:key\n";
                                                             |             }
                                                             | label_0:
    0x0001b1a4 cmp r7, 0                                     |             
                                                             |             if (r7 == 0) {
    0x0001b1a8 beq 0x1b268                                   |                 goto label_4;
                                                             |             }
    0x0001b1ac mov r0, r4                                    |             r0 = r4;
    0x0001b1b0 bl 0x12420                                    |             OBJ_nid2sn ();
    0x0001b1b4 bl 0x1203c                                    |             r0 = EVP_get_digestbyname ();
    0x0001b1b8 subs r6, r0, 0                                |             r6 = r0 - 0;
                                                             |             if (r6 != r0) {
    0x0001b1bc moveq r5, r6                                  |                 r5 = r6;
                                                             |             }
                                                             |             if (r6 != r0) {
    0x0001b1c0 beq 0x1b1cc                                   |                 
    0x0001b1c4 bl 0x1209c                                    |                 r0 = EVP_MD_size ();
    0x0001b1c8 mov r5, r0                                    |                 r5 = r0;
                                                             |             }
    0x0001b1cc cmp r6, 0                                     |             
    0x0001b1d0 clz r3, r5                                    |             r3 &= r5;
    0x0001b1d4 lsr r3, r3, 5                                 |             r3 >>= 5;
                                                             |             if (r6 == 0) {
    0x0001b1d8 movne r6, r3                                  |                 r6 = r3;
                                                             |             }
                                                             |             if (r6 != 0) {
    0x0001b1dc moveq r6, 1                                   |                 r6 = 1;
                                                             |             }
    0x0001b1e0 cmp r6, 0                                     |             
                                                             |             if (r6 == 0) {
    0x0001b1e4 beq 0x1b2b4                                   |                 goto label_5;
                                                             |             }
    0x0001b1e8 ldr r3, [pc, 0x144]                           |             r3 = "%s:%d:%s():%s:key\n";
    0x0001b1ec cmp r4, r3                                    |             
                                                             |             if (r4 != r3) {
    0x0001b1f0 bne 0x1b274                                   |                 goto label_6;
                                                             |             }
    0x0001b1f4 ldr r3, [pc, 0x124]                           |             
    0x0001b1f8 ldr r3, [r3]                                  |             r3 = "AES128CMAC";
    0x0001b1fc cmp r3, 0                                     |             
                                                             |             if (r3 != 0) {
    0x0001b200 beq 0x1b22c                                   |                 
    0x0001b204 ldr r3, [pc, 0x110]                           |                 r3 = __ctype_toupper;
    0x0001b208 ldr r0, [pc, 0x118]                           |                 
    0x0001b20c str r3, [sp, 4]                               |                 var_4h = r3;
    0x0001b210 ldr r3, [pc, 0x10c]                           |                 r3 = *(0x1b320);
    0x0001b214 ldr r2, [pc, 0x110]                           |                 r2 = stderr;
    0x0001b218 str r3, [sp]                                  |                 *(sp) = r3;
    0x0001b21c ldr r1, [pc, 0x114]                           |                 r1 = *(0x1b334);
    0x0001b220 mov r3, 0xa4                                  |                 r3 = 0xa4;
    0x0001b224 ldr r0, [r0]                                  |                 r0 = "keytype_from_text";
    0x0001b228 bl 0x1230c                                    |                 fprintf ("keytype_from_text", r1, r2, r3)
                                                             |             }
    0x0001b22c mov r5, 0x10                                  |             r5 = 0x10;
                                                             | label_1:
    0x0001b230 str r5, [r7]                                  |             *(r7) = r5;
    0x0001b234 b 0x1b268                                     |             goto label_4;
                                                             |         }
    0x0001b238 lsl r3, r3, 1                                 |         r3 <<= 1;
    0x0001b23c ldrh r3, [r1, r3]                             |         r3 = *((r1 + r3));
    0x0001b240 strb r3, [r2]                                 |         *(r2) = r3;
    0x0001b244 b 0x1b134                                     |         
                                                             |     } while (1);
                                                             | label_3:
    0x0001b248 ldr r2, [pc, 0xec]                            |     
    0x0001b24c ldrb r3, [r6]                                 |     r3 = *(r6);
    0x0001b250 ldr r2, [r2]                                  |     r2 = "_s:_d:_s__:_s:len";
    0x0001b254 lsl r3, r3, 1                                 |     r3 <<= 1;
    0x0001b258 ldrsh r3, [r2, r3]                            |     r3 = *((r2 + r3));
    0x0001b25c cmp r3, 0x6d                                  |     
                                                             |     if (r3 == 0x6d) {
    0x0001b260 moveq r4, 4                                   |         r4 = 4;
                                                             |         goto label_7;
                                                             |     }
                                                             |     if (r3 == 0x6d) {
                                                             | label_7:
    0x0001b264 beq 0x1b1a4                                   |         goto label_0;
                                                             |     }
                                                             |     do {
                                                             | label_4:
    0x0001b268 mov r0, r4                                    |         r0 = r4;
    0x0001b26c add sp, sp, 8                                 |         
    0x0001b270 pop {r4, r5, r6, r7, r8, pc}                  |         
                                                             | label_6:
    0x0001b274 ldr r3, [pc, 0xac]                            |         r3 = "keytype_from_text";
    0x0001b278 mov r0, r4                                    |         r0 = r4;
    0x0001b27c ldr r5, [r3]                                  |         r5 = "keytype_from_text";
    0x0001b280 bl 0x1b020                                    |         fcn_0001b020 (r0);
    0x0001b284 ldr r1, [pc, 0xb4]                            |         r1 = __ctype_tolower;
    0x0001b288 mov r2, r0                                    |         r2 = r0;
    0x0001b28c mov r0, r5                                    |         r0 = r5;
    0x0001b290 bl 0x1230c                                    |         fprintf (r0, r1, r2)
    0x0001b294 mov r0, r4                                    |         r0 = r4;
    0x0001b298 bl 0x1b020                                    |         fcn_0001b020 (r0);
    0x0001b29c ldr r1, [pc, 0x9c]                            |         r1 = __ctype_tolower;
    0x0001b2a0 mov r2, r0                                    |         r2 = r0;
    0x0001b2a4 mov r0, 3                                     |         r0 = 3;
    0x0001b2a8 bl 0x1776c                                    |         fcn_0001776c (r0);
                                                             | label_2:
    0x0001b2ac mov r4, 0                                     |         r4 = 0;
    0x0001b2b0 b 0x1b268                                     |         
                                                             |     } while (1);
                                                             | label_5:
    0x0001b2b4 cmp r5, 0x14                                  |     
                                                             |     if (r5 < 0x14) {
    0x0001b2b8 bls 0x1b230                                   |         goto label_1;
                                                             |     }
    0x0001b2bc ldr r3, [pc, 0x64]                            |     r3 = "keytype_from_text";
    0x0001b2c0 mov r0, r4                                    |     r0 = r4;
    0x0001b2c4 ldr r8, [r3]                                  |     r8 = "keytype_from_text";
    0x0001b2c8 bl 0x1b020                                    |     fcn_0001b020 (r0);
    0x0001b2cc mov r7, 0x14                                  |     r7 = 0x14;
    0x0001b2d0 mov r3, r5                                    |     r3 = r5;
    0x0001b2d4 ldr r1, [pc, 0x68]                            |     r1 = "key type %s is not supported by OpenSSL\n";
    0x0001b2d8 str r7, [sp]                                  |     *(sp) = r7;
    0x0001b2dc mov r2, r0                                    |     r2 = r0;
    0x0001b2e0 mov r0, r8                                    |     r0 = r8;
    0x0001b2e4 bl 0x1230c                                    |     fprintf (r0, "key type %s is not supported by OpenSSL\n", r2, r3)
    0x0001b2e8 mov r0, r4                                    |     r0 = r4;
    0x0001b2ec bl 0x1b020                                    |     fcn_0001b020 (r0);
    0x0001b2f0 str r7, [sp]                                  |     *(sp) = r7;
    0x0001b2f4 mov r3, r5                                    |     r3 = r5;
    0x0001b2f8 ldr r1, [pc, 0x48]                            |     r1 = "key_type__s__u_octet_digests_are_too_big__max__lu";
    0x0001b2fc mov r2, r0                                    |     r2 = r0;
    0x0001b300 mov r0, 3                                     |     r0 = 3;
    0x0001b304 bl 0x1776c                                    |     fcn_0001776c (r0);
    0x0001b308 b 0x1b2ac                                     |     goto label_2;
                                                             | }
    ; assembly                                       | /* r2dec pseudo code output */
                                                     | /* /logs/firmware/unblob_extracted/firmware_extract/56048-12514271.gzip_extract/gzip.uncompressed_extract/5243916-15068666.gzip_extract/gzip.uncompressed_extract/usr/bin/ntpdate @ 0x1b7cc */
                                                     | #include <stdint.h>
                                                     |  
    ; (fcn) fcn.0001b7cc ()                          | void fcn_0001b7cc () {
                                                     |     int32_t var_0h;
                                                     |     int32_t var_4h;
                                                     |     int32_t var_8h;
    0x0001b7cc push {r0, r1, r4, r5, r6, lr}         |     
    0x0001b7d0 ldr r4, [pc, 0x6c]                    |     r4 = *(0x1b840);
    0x0001b7d4 ldr r1, [pc, 0x6c]                    |     r1 = *(0x1b844);
    0x0001b7d8 add r0, r4, 4                         |     r0 = r4 + 4;
    0x0001b7dc bl 0x120f0                            |     r0 = pthread_once ();
    0x0001b7e0 cmp r0, 0                             |     
                                                     |     if (r0 != 0) {
    0x0001b7e4 beq 0x1b83c                           |         
    0x0001b7e8 ldr r3, [pc, 0x5c]                    |         r3 = *(0x1b848);
    0x0001b7ec mov r2, 0x6e                          |         r2 = 0x6e;
    0x0001b7f0 ldr r5, [r3]                          |         r5 = *(0x1b848);
    0x0001b7f4 mov r1, 1                             |         r1 = 1;
    0x0001b7f8 ldr r3, [pc, 0x50]                    |         r3 = stderr;
    0x0001b7fc ldr r0, [r4]                          |         r0 = *(r4);
    0x0001b800 bl 0x1b934                            |         fcn_0001b934 (r0, r1);
    0x0001b804 ldr r3, [pc, 0x48]                    |         r3 = "fatal error";
    0x0001b808 mov r2, 0x65                          |         r2 = 0x65;
    0x0001b80c mov r1, 1                             |         r1 = 1;
    0x0001b810 mov r6, r0                            |         r6 = r0;
    0x0001b814 ldr r0, [r4]                          |         r0 = *(r4);
    0x0001b818 bl 0x1b934                            |         fcn_0001b934 (r0, r1);
    0x0001b81c mov r3, 0x4d                          |         r3 = 0x4d;
    0x0001b820 ldr r2, [pc, 0x30]                    |         r2 = "failed";
    0x0001b824 ldr r1, [pc, 0x30]                    |         r1 = "./../lib/isc/lib.c";
    0x0001b828 str r6, [sp]                          |         *(sp) = r6;
    0x0001b82c str r0, [sp, 4]                       |         var_4h = r0;
    0x0001b830 mov r0, r5                            |         r0 = r5;
    0x0001b834 bl 0x1230c                            |         r0 = fprintf (r0, "./../lib/isc/lib.c", "failed", r3, r4, r5, r6)
    0x0001b838 bl 0x12324                            |         abort ();
                                                     |     }
    0x0001b83c add sp, sp, 8                         |     
    0x0001b840 pop {r4, r5, r6, pc}                  |     
                                                     | }
    ; assembly                                               | /* r2dec pseudo code output */
                                                             | /* /logs/firmware/unblob_extracted/firmware_extract/56048-12514271.gzip_extract/gzip.uncompressed_extract/5243916-15068666.gzip_extract/gzip.uncompressed_extract/usr/bin/ntpdate @ 0x1f774 */
                                                             | #include <stdint.h>
                                                             |  
                                                             | #define BIT_MASK(t,v) ((t)(-((v)!= 0)))&(((t)-1)>>((sizeof(t)*CHAR_BIT)-(v)))
                                                             |  
    ; (fcn) fcn.0001f774 ()                                  | void fcn_0001f774 (int32_t arg_ch, int32_t arg_198h, int32_t arg_19ch, int32_t arg_1a0h, int32_t arg_1a8h, int32_t arg_1ach, int32_t arg1, int32_t arg2) {
                                                             |     int32_t var_0h;
                                                             |     int32_t var_ch;
                                                             |     int32_t var_10h;
                                                             |     int32_t var_14h;
                                                             |     int32_t var_18h;
                                                             |     int32_t var_1ch;
                                                             |     int32_t var_20h;
                                                             |     int32_t var_24h;
                                                             |     int32_t var_28h;
                                                             |     int32_t var_2ch;
                                                             |     int32_t var_30h;
                                                             |     int32_t var_34h;
                                                             |     int32_t var_38h;
                                                             |     int32_t var_3ch;
                                                             |     int32_t var_40h;
                                                             |     int32_t var_48h;
                                                             |     int32_t var_60h;
                                                             |     int32_t var_a0h;
                                                             |     int32_t var_d0h;
                                                             |     int32_t var_d0h_2;
                                                             |     int32_t var_108h;
                                                             |     int32_t var_118h;
                                                             |     int32_t var_138h;
                                                             |     int32_t var_0h_2;
                                                             |     int32_t var_174h;
                                                             |     r0 = arg1;
                                                             |     r1 = arg2;
    0x0001f774 push {r4, r5, r6, r7, r8, sb, sl, fp, lr}     |     
    0x0001f778 subs r5, r0, 0                                |     r5 -= arg_198h;
    0x0001f77c sub sp, sp, 0x174                             |     
    0x0001f780 str r1, [sp, 0x28]                            |     var_28h = r1;
    0x0001f784 str r2, [sp, 0x2c]                            |     var_2ch = r2;
    0x0001f788 str r3, [sp, 0x20]                            |     var_20h = r3;
    0x0001f78c ldr r4, [sp, 0x19c]                           |     r4 = *(arg_19ch);
                                                             |     if (r5 == arg_198h) {
    0x0001f790 beq 0x1f7b8                                   |         goto label_14;
                                                             |     }
    0x0001f794 ldr r2, [r5]                                  |     r2 = *(r5);
    0x0001f798 ldr r3, [pc, 0x8f0]                           |     r3 = *(0x2008c);
    0x0001f79c cmp r2, r3                                    |     
                                                             |     if (r2 == r3) {
    0x0001f7a0 beq 0x1f7b8                                   |         goto label_14;
                                                             |     }
    0x0001f7a4 ldr r3, [pc, 0x8e8]                           |     r3 = *(0x20090);
    0x0001f7a8 mov r2, 0                                     |     r2 = 0;
    0x0001f7ac mov r1, 0x590                                 |     r1 = 0x590;
                                                             |     do {
                                                             | label_0:
    0x0001f7b0 ldr r0, [pc, 0x8e0]                           |         r0 = "lctx____void__0______lctx______void__0_______const_isc__magic_t___lctx____magic_____L_____24___c_____16___t_____8___x_____";
    0x0001f7b4 bl 0x1b5ac                                    |         fcn_0001b5ac ();
                                                             | label_14:
    0x0001f7b8 ldr r3, [sp, 0x28]                            |         r3 = var_28h;
    0x0001f7bc cmp r3, 0                                     |         
                                                             |         if (r3 != 0) {
    0x0001f7c0 ldreq r3, [pc, 0x8d4]                         |             r3 = "category_____void__0_";
                                                             |         }
                                                             |         if (r3 != 0) {
    0x0001f7c4 ldreq r2, [sp, 0x28]                          |             r2 = var_28h;
                                                             |         }
                                                             |         if (r3 != 0) {
    0x0001f7c8 ldreq r1, [pc, 0x8d0]                         |             r1 = *(0x000200a0);
                                                             |         }
    0x0001f7cc beq 0x1f7b0                                   |         
                                                             |     } while (r3 == 0);
    0x0001f7d0 ldr r3, [sp, 0x2c]                            |     r3 = var_2ch;
    0x0001f7d4 cmp r3, 0                                     |     
                                                             |     if (r3 != 0) {
    0x0001f7d8 ldreq r3, [pc, 0x8c4]                         |         r3 = "module_____void__0_";
                                                             |     }
                                                             |     if (r3 != 0) {
    0x0001f7dc ldreq r2, [sp, 0x2c]                          |         r2 = var_2ch;
                                                             |     }
                                                             |     if (r3 == 0) {
    0x0001f7e0 ldreq r1, [pc, 0x8c0]                         |         r1 = *(0x000200a8);
                                                             |         goto label_15;
                                                             |     }
                                                             |     if (r3 == 0) {
                                                             | label_15:
    0x0001f7e4 beq 0x1f7b0                                   |         goto label_0;
                                                             |     }
    0x0001f7e8 ldr r3, [sp, 0x20]                            |     r3 = var_20h;
    0x0001f7ec cmp r3, 0                                     |     
                                                             |     if (r3 != 0) {
    0x0001f7f0 ldreq r3, [pc, 0x8b4]                         |         r3 = "level___0";
                                                             |     }
                                                             |     if (r3 != 0) {
    0x0001f7f4 ldreq r2, [sp, 0x20]                          |         r2 = var_20h;
                                                             |     }
                                                             |     if (r3 == 0) {
    0x0001f7f8 ldreq r1, [pc, 0x8b0]                         |         r1 = *(0x000200b0);
                                                             |         goto label_16;
                                                             |     }
                                                             |     if (r3 == 0) {
                                                             | label_16:
    0x0001f7fc beq 0x1f7b0                                   |         goto label_0;
                                                             |     }
    0x0001f800 ldr r3, [sp, 0x1a8]                           |     r3 = *(arg_1a8h);
    0x0001f804 cmp r3, 0                                     |     
                                                             |     if (r3 != 0) {
    0x0001f808 ldreq r3, [pc, 0x8a4]                         |         r3 = "format != ((void *)0)";
                                                             |     }
                                                             |     if (r3 != 0) {
    0x0001f80c ldreq r2, [sp, 0x1a8]                         |         r2 = *(arg_1a8h);
                                                             |     }
                                                             |     if (r3 == 0) {
    0x0001f810 ldreq r1, [pc, 0x8a0]                         |         r1 = *(0x000200b8);
                                                             |         goto label_17;
                                                             |     }
                                                             |     if (r3 == 0) {
                                                             | label_17:
    0x0001f814 beq 0x1f7b0                                   |         goto label_0;
                                                             |     }
    0x0001f818 cmp r5, 0                                     |     
                                                             |     if (r5 == 0) {
    0x0001f81c beq 0x1fcd4                                   |         goto label_12;
                                                             |     }
    0x0001f820 ldr r3, [sp, 0x28]                            |     r3 = var_28h;
    0x0001f824 ldr r2, [r3, 4]                               |     r2 = *((r3 + 4));
    0x0001f828 ldr r3, [r5, 0xc]                             |     r3 = *((r5 + 0xc));
    0x0001f82c cmp r2, r3                                    |     
                                                             |     if (r2 < r3) {
    0x0001f830 ldrhs r3, [pc, 0x884]                         |         r3 = *((pc + 0x884));
                                                             |     }
                                                             |     if (r2 < r3) {
    0x0001f834 movhs r2, 0                                   |         r2 = 0;
                                                             |     }
                                                             |     if (r2 >= r3) {
    0x0001f838 ldrhs r1, [pc, 0x880]                         |         r1 = *(0x000200c0);
                                                             |         goto label_18;
                                                             |     }
                                                             |     if (r2 >= r3) {
                                                             | label_18:
    0x0001f83c bhs 0x1f7b0                                   |         goto label_0;
                                                             |     }
    0x0001f840 ldr r3, [sp, 0x2c]                            |     r3 = var_2ch;
    0x0001f844 ldr r2, [r3, 4]                               |     r2 = *((r3 + 4));
    0x0001f848 ldr r3, [r5, 0x14]                            |     r3 = *((r5 + 0x14));
    0x0001f84c cmp r2, r3                                    |     
                                                             |     if (r2 < r3) {
    0x0001f850 ldrhs r3, [pc, 0x86c]                         |         r3 = "module__id___lctx__module_count";
                                                             |     }
                                                             |     if (r2 < r3) {
    0x0001f854 movhs r2, 0                                   |         r2 = 0;
                                                             |     }
                                                             |     if (r2 >= r3) {
    0x0001f858 ldrhs r1, [pc, 0x868]                         |         r1 = *(0x000200c8);
                                                             |         goto label_19;
                                                             |     }
                                                             |     if (r2 >= r3) {
                                                             | label_19:
    0x0001f85c bhs 0x1f7b0                                   |         goto label_0;
                                                             |     }
    0x0001f860 ldr r1, [sp, 0x20]                            |     r1 = var_20h;
    0x0001f864 mov r0, r5                                    |     r0 = r5;
    0x0001f868 bl 0x1f724                                    |     r0 = fcn_0001f724 (r0, r1);
    0x0001f86c cmp r0, 0                                     |     
                                                             |     if (r0 == 0) {
    0x0001f870 beq 0x1fcd4                                   |         goto label_12;
                                                             |     }
    0x0001f874 cmp r4, 0                                     |     
                                                             |     if (r4 != 0) {
    0x0001f878 beq 0x1f890                                   |         
    0x0001f87c add r1, sp, 0x1a0                             |         r1 += arg_1a0h;
    0x0001f880 ldm r1, {r1, r2, r3}                          |         r1 = *(r1);
                                                             |         r2 = *((r1 + 4));
                                                             |         r3 = *((r1 + 8));
    0x0001f884 mov r0, r4                                    |         r0 = r4;
    0x0001f888 bl 0x1b934                                    |         fcn_0001b934 (r0, r1);
    0x0001f88c str r0, [sp, 0x1a8]                           |         *(arg_1a8h) = r0;
                                                             |     }
    0x0001f890 mov r3, 0                                     |     r3 = 0;
    0x0001f894 strb r3, [sp, 0x60]                           |     var_60h = r3;
    0x0001f898 strb r3, [sp, 0x48]                           |     var_48h = r3;
    0x0001f89c add r3, r5, 0x1c                              |     r3 = r5 + 0x1c;
    0x0001f8a0 mov r0, r3                                    |     r0 = r3;
    0x0001f8a4 str r3, [sp, 0x30]                            |     var_30h = r3;
    0x0001f8a8 bl 0x120d8                                    |     r0 = pthread_mutex_lock ();
    0x0001f8ac cmp r0, 0                                     |     
                                                             |     if (r0 != 0) {
    0x0001f8b0 beq 0x1f8c4                                   |         
    0x0001f8b4 ldr r2, [pc, 0x810]                           |         r2 = *(0x200c8);
    0x0001f8b8 ldr r1, [pc, 0x810]                           |         r1 = "__pthread_mutex_lock___lctx__lock_____0____0_:_34___0";
    0x0001f8bc ldr r0, [pc, 0x7d4]                           |         r0 = "lctx____void__0______lctx______void__0_______const_isc__magic_t___lctx____magic_____L_____24___c_____16___t_____8___x_____";
    0x0001f8c0 bl 0x1dfdc                                    |         fcn_0001dfdc ("lctx____void__0______lctx______void__0_______const_isc__magic_t___lctx____magic_____L_____24___c_____16___t_____8___x_____", "__pthread_mutex_lock___lctx__lock_____0____0_:_34___0");
                                                             |     }
    0x0001f8c4 ldr r2, [r5, 0x34]                            |     r2 = *((r5 + 0x34));
    0x0001f8c8 mov r3, 0                                     |     r3 = 0;
    0x0001f8cc str r2, [sp, 0x24]                            |     var_24h = r2;
    0x0001f8d0 ldr r2, [sp, 0x28]                            |     r2 = var_28h;
    0x0001f8d4 strb r3, [r5, 0x38]                           |     *((r5 + 0x38)) = r3;
    0x0001f8d8 ldr r1, [r2, 4]                               |     r1 = *((r2 + 4));
    0x0001f8dc ldr r2, [sp, 0x24]                            |     r2 = var_24h;
    0x0001f8e0 ldr r6, [pc, 0x7ec]                           |     r6 = *(0x200d0);
    0x0001f8e4 ldr r2, [r2, 0x10]                            |     r2 = *((r2 + 0x10));
    0x0001f8e8 ldr r0, [r2, r1, lsl 3]                       |     offset_0 = r1 << 3;
                                                             |     r0 = *((r2 + offset_0));
                                                             | label_6:
    0x0001f8ec clz r1, r0                                    |     r1 &= r0;
    0x0001f8f0 lsr r1, r1, 5                                 |     r1 >>= 5;
    0x0001f8f4 tst r1, r3                                    |     
                                                             |     if ((r1 & r3) != 0) {
    0x0001f8f8 bne 0x20074                                   |         goto label_20;
                                                             |     }
    0x0001f8fc eor r2, r3, 1                                 |     r2 = r3 ^ 1;
    0x0001f900 tst r1, r2                                    |     
                                                             |     if ((r1 & r2) == 0) {
    0x0001f904 ldrne r1, [sp, 0x24]                          |         r1 = var_24h;
                                                             |     }
                                                             |     if ((r1 & r2) == 0) {
    0x0001f908 ldrne r1, [r1, 0x10]                          |         r1 = *((r1 + 0x10));
                                                             |     }
                                                             |     if ((r1 & r2) == 0) {
    0x0001f90c ldrne r0, [r1]                                |         r0 = *(r1);
                                                             |     }
    0x0001f910 ldr r1, [pc, 0x7c0]                           |     r1 = *(0x200d4);
    0x0001f914 cmp r0, 0                                     |     
                                                             |     if (r0 == 0) {
    0x0001f918 movne r2, 0                                   |         r2 = 0;
                                                             |     }
    0x0001f91c cmp r2, 0                                     |     
                                                             |     if (r2 == 0) {
    0x0001f920 movne r0, r1                                  |         r0 = r1;
                                                             |     }
    0x0001f924 ldr r1, [r0, 0xc]                             |     r1 = *((r0 + 0xc));
    0x0001f928 ldr r2, [r0]                                  |     r2 = *(r0);
    0x0001f92c str r1, [sp, 0x3c]                            |     var_3ch = r1;
    0x0001f930 ldr r1, [sp, 0x2c]                            |     r1 = var_2ch;
    0x0001f934 cmp r2, r1                                    |     
    0x0001f938 cmpne r2, 0                                   |     __asm ("cmpne r2, 0");
                                                             |     if (r2 != r1) {
    0x0001f93c bne 0x1fdd4                                   |         goto label_11;
                                                             |     }
    0x0001f940 ldr r4, [r0, 4]                               |     r4 = *((r0 + 4));
    0x0001f944 ldr r3, [r4, 0xc]                             |     r3 = *((r4 + 0xc));
    0x0001f948 tst r3, 0x1000                                |     
                                                             |     if ((r3 & 0x1000) != 0) {
    0x0001f94c beq 0x1f95c                                   |         
    0x0001f950 ldr r2, [r5, 0x18]                            |         r2 = *((r5 + 0x18));
    0x0001f954 cmp r2, 0                                     |         
                                                             |         if (r2 == 0) {
    0x0001f958 beq 0x1fdd0                                   |             goto label_7;
                                                             |         }
                                                             |     }
    0x0001f95c ldr r2, [r4, 8]                               |     r2 = *((r4 + 8));
    0x0001f960 ldr r1, [sp, 0x20]                            |     r1 = var_20h;
    0x0001f964 cmp r2, 0                                     |     
                                                             |     if (r2 != 0) {
    0x0001f968 ldreq r2, [r5, 0x18]                          |         r2 = *((r5 + 0x18));
                                                             |     }
    0x0001f96c cmp r2, r1                                    |     
                                                             |     if (r2 < r1) {
    0x0001f970 blt 0x1fdd0                                   |         goto label_7;
                                                             |     }
    0x0001f974 tst r3, 1                                     |     
                                                             |     if ((r3 & 1) != 0) {
    0x0001f978 beq 0x1f9b8                                   |         
    0x0001f97c ldrb r3, [sp, 0x60]                           |         r3 = var_60h;
    0x0001f980 cmp r3, 0                                     |         
                                                             |         if (r3 != 0) {
    0x0001f984 bne 0x1f9b8                                   |             goto label_21;
                                                             |         }
    0x0001f988 add r0, sp, 0x108                             |         r0 += var_108h;
    0x0001f98c bl 0x20a68                                    |         r0 = fcn_00020a68 (r0);
    0x0001f990 cmp r0, 0                                     |         
                                                             |         if (r0 != 0) {
    0x0001f994 beq 0x1f9a8                                   |             
    0x0001f998 ldr r2, [pc, 0x73c]                           |             r2 = *(0x200d8);
    0x0001f99c ldr r1, [pc, 0x73c]                           |             r1 = "isc_time_now((&isctime)) == 0";
    0x0001f9a0 ldr r0, [pc, 0x6f0]                           |             r0 = "lctx____void__0______lctx______void__0_______const_isc__magic_t___lctx____magic_____L_____24___c_____16___t_____8___x_____";
    0x0001f9a4 bl 0x1dfdc                                    |             fcn_0001dfdc ("lctx____void__0______lctx______void__0_______const_isc__magic_t___lctx____magic_____L_____24___c_____16___t_____8___x_____", "isc_time_now((&isctime)) == 0");
                                                             |         }
    0x0001f9a8 mov r2, 0x40                                  |         r2 = 0x40;
    0x0001f9ac add r1, sp, 0x60                              |         r1 += var_60h;
    0x0001f9b0 add r0, sp, 0x108                             |         r0 += var_108h;
    0x0001f9b4 bl 0x21088                                    |         fcn_00021088 (r0, r1);
                                                             |     }
                                                             | label_21:
    0x0001f9b8 ldr r3, [r4, 0xc]                             |     r3 = *((r4 + 0xc));
    0x0001f9bc tst r3, 2                                     |     
                                                             |     if ((r3 & 2) == 0) {
    0x0001f9c0 beq 0x1fa10                                   |         goto label_1;
                                                             |     }
    0x0001f9c4 ldrb r3, [sp, 0x48]                           |     r3 = var_48h;
    0x0001f9c8 cmp r3, 0                                     |     
                                                             |     if (r3 != 0) {
    0x0001f9cc bne 0x1fa10                                   |         goto label_1;
                                                             |     }
    0x0001f9d0 ldr r3, [sp, 0x20]                            |     r3 = var_20h;
    0x0001f9d4 cmn r3, 5                                     |     
                                                             |     if (r3 >= 5) {
    0x0001f9d8 bge 0x1fbd8                                   |         goto label_22;
                                                             |     }
    0x0001f9dc ldr r0, [pc, 0x700]                           |     
    0x0001f9e0 ldr r3, [pc, 0x700]                           |     r3 = *(0x200e4);
    0x0001f9e4 ldr r2, [pc, 0x700]                           |     r2 = "level";
    0x0001f9e8 mov r1, 0xa                                   |     r1 = 0xa;
    0x0001f9ec ldr r0, [r0]                                  |     r0 = *(0x200e0);
    0x0001f9f0 bl 0x1b934                                    |     fcn_0001b934 (r0, r1);
    0x0001f9f4 ldr r3, [sp, 0x20]                            |     r3 = var_20h;
    0x0001f9f8 str r3, [sp]                                  |     *(sp) = r3;
    0x0001f9fc mov r3, r0                                    |     r3 = r0;
                                                             |     do {
    0x0001fa00 ldr r2, [pc, 0x6e8]                           |         r2 = *(0x200ec);
    0x0001fa04 mov r1, 0x18                                  |         r1 = 0x18;
    0x0001fa08 add r0, sp, 0x48                              |         r0 += var_48h;
    0x0001fa0c bl 0x1a9d0                                    |         fcn_0001a9d0 ();
                                                             | label_1:
    0x0001fa10 ldrb r7, [r5, 0x38]                           |         r7 = *((r5 + 0x38));
    0x0001fa14 cmp r7, 0                                     |         
                                                             |         if (r7 == 0) {
    0x0001fa18 bne 0x1fab8                                   |             
    0x0001fa1c add r8, r5, 0x38                              |             r8 = r5 + 0x38;
    0x0001fa20 ldr r3, [sp, 0x1ac]                           |             r3 = *(arg_1ach);
    0x0001fa24 ldr r2, [sp, 0x1a8]                           |             r2 = *(arg_1a8h);
    0x0001fa28 mov r1, 0x2000                                |             r1 = 0x2000;
    0x0001fa2c mov r0, r8                                    |             r0 = r8;
    0x0001fa30 bl 0x1a2cc                                    |             fcn_0001a2cc (r0, r1);
    0x0001fa34 ldr r3, [sp, 0x198]                           |             r3 = *(arg_198h);
    0x0001fa38 cmp r3, 0                                     |             
                                                             |             if (r3 == 0) {
    0x0001fa3c beq 0x1fab8                                   |                 goto label_4;
                                                             |             }
    0x0001fa40 ldr r3, [sp, 0x24]                            |             r3 = var_24h;
    0x0001fa44 mov r2, r7                                    |             r2 = r7;
    0x0001fa48 ldr r1, [r3, 0x18]                            |             r1 = *((r3 + 0x18));
    0x0001fa4c add r0, sp, 0x108                             |             r0 += var_108h;
    0x0001fa50 bl 0x208dc                                    |             fcn_000208dc (r0);
    0x0001fa54 add r0, sp, 0x40                              |             r0 += var_40h;
    0x0001fa58 bl 0x20a68                                    |             r0 = fcn_00020a68 (r0);
    0x0001fa5c cmp r0, 0                                     |             
                                                             |             if (r0 != 0) {
    0x0001fa60 beq 0x1fa74                                   |                 
    0x0001fa64 ldr r2, [pc, 0x688]                           |                 r2 = "%s %d: ";
    0x0001fa68 ldr r1, [pc, 0x688]                           |                 r1 = "isc_time_now((&oldest)) == 0";
    0x0001fa6c ldr r0, [pc, 0x624]                           |                 r0 = "lctx____void__0______lctx______void__0_______const_isc__magic_t___lctx____magic_____L_____24___c_____16___t_____8___x_____";
    0x0001fa70 bl 0x1dfdc                                    |                 fcn_0001dfdc ("lctx____void__0______lctx______void__0_______const_isc__magic_t___lctx____magic_____L_____24___c_____16___t_____8___x_____", "isc_time_now((&oldest)) == 0");
                                                             |             }
    0x0001fa74 add r7, sp, 0x40                              |             r7 += var_40h;
    0x0001fa78 mov r2, r7                                    |             r2 = r7;
    0x0001fa7c add r1, sp, 0x108                             |             r1 += var_108h;
    0x0001fa80 mov r0, r7                                    |             r0 = r7;
    0x0001fa84 bl 0x20dd0                                    |             r0 = fcn_00020dd0 (r0, r1);
    0x0001fa88 cmp r0, 0                                     |             
                                                             |             if (r0 == 0) {
    0x0001fa8c beq 0x1fc10                                   |                 goto label_23;
                                                             |             }
                                                             | label_2:
    0x0001fa90 mov r0, r8                                    |             r0 = r8;
    0x0001fa94 bl 0x120c0                                    |             strlen (r0);
    0x0001fa98 mov r3, 0                                     |             r3 = 0;
    0x0001fa9c mov r2, r3                                    |             r2 = r3;
    0x0001faa0 add r1, r0, 0x15                              |             r1 = r0 + 0x15;
    0x0001faa4 mov sb, r0                                    |             sb = r0;
    0x0001faa8 mov r0, r3                                    |             r0 = r3;
    0x0001faac bl 0x16c28                                    |             r0 = fcn_00016c28 (r0, r1);
    0x0001fab0 subs r7, r0, 0                                |             r7 = r0 - 0;
                                                             |             if (r7 != r0) {
    0x0001fab4 bne 0x1fce4                                   |                 goto label_24;
                                                             |             }
                                                             |         }
                                                             | label_4:
    0x0001fab8 ldr r3, [r4, 0xc]                             |         r3 = *((r4 + 0xc));
    0x0001fabc ands sb, r3, 0x10                             |         sb = r3 & 0x10;
    0x0001fac0 and sl, r3, 1                                 |         sl = r3 & 1;
                                                             |         if (sb != r3) {
    0x0001fac4 beq 0x1fad8                                   |             
    0x0001fac8 ldr r2, [sp, 0x24]                            |             r2 = var_24h;
    0x0001facc ldr sb, [r2, 0x20]                            |             sb = *((r2 + 0x20));
    0x0001fad0 adds sb, sb, 0                                |             sb += 0;
                                                             |             if (sb != sb) {
    0x0001fad4 movne sb, 1                                   |                 sb = 1;
                                                             |                 goto label_25;
                                                             |             }
                                                             |         }
                                                             | label_25:
    0x0001fad8 ldr r0, [r4, 4]                               |         r0 = *((r4 + 4));
    0x0001fadc lsr fp, r3, 2                                 |         
    0x0001fae0 lsr r2, r3, 3                                 |         r2 = r3 >> 3;
    0x0001fae4 lsr r3, r3, 1                                 |         r3 >>= 1;
    0x0001fae8 and r2, r2, 1                                 |         r2 &= 1;
    0x0001faec and r3, r3, 1                                 |         r3 &= 1;
    0x0001faf0 cmp r0, 3                                     |         
    0x0001faf4 and fp, fp, 1                                 |         
    0x0001faf8 str r2, [sp, 0x34]                            |         var_34h = r2;
    0x0001fafc str r3, [sp, 0x38]                            |         var_38h = r3;
                                                             |         if (r0 == 3) {
    0x0001fb00 beq 0x1fd44                                   |             goto label_26;
                                                             |         }
    0x0001fb04 cmp r0, 4                                     |         
                                                             |         if (r0 == 4) {
    0x0001fb08 beq 0x1ff74                                   |             goto label_27;
                                                             |         }
    0x0001fb0c cmp r0, 2                                     |         
                                                             |         if (r0 != 2) {
    0x0001fb10 bne 0x1fdd0                                   |             goto label_7;
                                                             |         }
    0x0001fb14 ldr r3, [sp, 0x20]                            |         r3 = var_20h;
    0x0001fb18 cmp r3, 0                                     |         
                                                             |         if (r3 <= 0) {
    0x0001fb1c movgt r0, 7                                   |             r0 = 7;
                                                             |         }
                                                             |         if (r3 <= 0) {
    0x0001fb20 bgt 0x1fb38                                   |             
    0x0001fb24 cmn r3, 5                                     |             
                                                             |             if (r3 < 5) {
    0x0001fb28 ldrge r3, [pc, 0x5cc]                         |                 r3 = "debug";
                                                             |             }
                                                             |             if (r3 < 5) {
    0x0001fb2c ldrge r2, [sp, 0x20]                          |                 r2 = var_20h;
                                                             |             }
                                                             |             if (r3 < 5) {
    0x0001fb30 subge r3, r3, r2, lsl 2                       |                 r3 -= (r2 << 2);
                                                             |             }
                                                             |             if (r3 >= 5) {
    0x0001fb34 ldrge r0, [r3, 0x18]                          |                 r0 = *((r3 + 0x18));
                                                             |                 goto label_28;
                                                             |             }
                                                             |         }
                                                             | label_28:
    0x0001fb38 ldr r3, [r4, 0x10]                            |         r3 = *((r4 + 0x10));
    0x0001fb3c cmp sl, 0                                     |         
    0x0001fb40 orr r0, r0, r3                                |         r0 |= r3;
                                                             |         if (sl != 0) {
    0x0001fb44 moveq r2, r6                                  |             r2 = r6;
                                                             |         }
                                                             |         if (sl != 0) {
    0x0001fb48 moveq r3, r6                                  |             r3 = r6;
                                                             |         }
                                                             |         if (sl == 0) {
    0x0001fb4c addne r2, sp, 0x60                            |             r2 += var_60h;
                                                             |         }
                                                             |         if (sl == 0) {
    0x0001fb50 ldrne r3, [pc, 0x5a8]                         |             r3 = *((pc + 0x5a8));
                                                             |         }
    0x0001fb54 cmp sb, 0                                     |         
                                                             |         if (sb == 0) {
    0x0001fb58 ldrne r1, [sp, 0x24]                          |             r1 = var_24h;
                                                             |         }
                                                             |         if (sb != 0) {
    0x0001fb5c moveq r1, r6                                  |             r1 = r6;
                                                             |         }
                                                             |         if (sb == 0) {
    0x0001fb60 ldrne r1, [r1, 0x20]                          |             r1 = *((r1 + 0x20));
                                                             |         }
                                                             |         if (sb == 0) {
    0x0001fb64 ldrne ip, [pc, 0x598]                         |             ip = ":_";
                                                             |         }
                                                             |         if (sb != 0) {
    0x0001fb68 moveq ip, r6                                  |             
                                                             |         }
    0x0001fb6c cmp fp, 0                                     |         
    0x0001fb70 ldr r7, [sp, 0x34]                            |         r7 = var_34h;
                                                             |         if (fp == 0) {
    0x0001fb74 ldrne lr, [sp, 0x28]                          |             lr = var_28h;
                                                             |         }
                                                             |         if (fp == 0) {
    0x0001fb78 ldrne r4, [pc, 0x584]                         |             r4 = ":_";
                                                             |         }
                                                             |         if (fp == 0) {
    0x0001fb7c ldrne lr, [lr]                                |             
                                                             |         }
                                                             |         if (fp != 0) {
    0x0001fb80 moveq lr, r6                                  |             lr = r6;
                                                             |         }
                                                             |         if (fp != 0) {
    0x0001fb84 moveq r4, r6                                  |             r4 = r6;
                                                             |         }
    0x0001fb88 cmp r7, 0                                     |         
                                                             |         if (r7 == 0) {
    0x0001fb8c ldrne r7, [sp, 0x2c]                          |             r7 = var_2ch;
                                                             |         }
    0x0001fb90 ldr sb, [sp, 0x38]                            |         sb = var_38h;
                                                             |         if (r7 == 0) {
    0x0001fb94 ldrne r7, [r7]                                |             r7 = *(r7);
                                                             |         }
                                                             |         if (r7 == 0) {
    0x0001fb98 ldrne r8, [pc, 0x564]                         |             r8 = ":_";
                                                             |         }
                                                             |         if (r7 != 0) {
    0x0001fb9c moveq r7, r6                                  |             r7 = r6;
                                                             |         }
                                                             |         if (r7 != 0) {
    0x0001fba0 moveq r8, r6                                  |             r8 = r6;
                                                             |         }
    0x0001fba4 cmp sb, 0                                     |         
                                                             |         if (sb == 0) {
    0x0001fba8 addne sb, sp, 0x48                            |             sb += var_48h;
                                                             |         }
                                                             |         if (sb != 0) {
    0x0001fbac moveq sb, r6                                  |             sb = r6;
                                                             |         }
    0x0001fbb0 add sl, r5, 0x38                              |         sl = r5 + 0x38;
    0x0001fbb4 stm sp, {r1, ip, lr}                          |         *(sp) = r1;
                                                             |         *((sp + 4)) = ip;
                                                             |         *((sp + 8)) = lr;
    0x0001fbb8 ldr r1, [pc, 0x548]                           |         r1 = ":_";
    0x0001fbbc str sl, [sp, 0x1c]                            |         var_1ch = sl;
    0x0001fbc0 str sb, [sp, 0x18]                            |         var_18h = sb;
    0x0001fbc4 str r8, [sp, 0x14]                            |         var_14h = r8;
    0x0001fbc8 str r7, [sp, 0x10]                            |         var_10h = r7;
    0x0001fbcc str r4, [sp, 0xc]                             |         var_ch = r4;
    0x0001fbd0 bl 0x12354                                    |         syslog ();
    0x0001fbd4 b 0x1fdd0                                     |         goto label_7;
                                                             | label_22:
    0x0001fbd8 ldr r3, [sp, 0x20]                            |         r3 = var_20h;
    0x0001fbdc cmp r3, 0                                     |         
                                                             |         if (r3 <= 0) {
    0x0001fbe0 strgt r3, [sp]                                |             *(sp) = r3;
                                                             |         }
                                                             |         if (r3 <= 0) {
    0x0001fbe4 ldrgt r3, [pc, 0x520]                         |             r3 = *((pc + 0x520));
                                                             |         }
    0x0001fbe8 bgt 0x1fa00                                   |         
                                                             |     } while (r3 > 0);
    0x0001fbec ldr r3, [sp, 0x20]                            |     r3 = var_20h;
    0x0001fbf0 mov r1, 0x18                                  |     r1 = 0x18;
    0x0001fbf4 rsb r2, r3, 0                                 |     r2 = r3 - ;
    0x0001fbf8 ldr r3, [pc, 0x4fc]                           |     
    0x0001fbfc add r0, sp, 0x48                              |     r0 += var_48h;
    0x0001fc00 ldr r3, [r3, r2, lsl 2]                       |     r3 = *(0x200f8);
    0x0001fc04 ldr r2, [pc, 0x504]                           |     r2 = *(0x2010c);
    0x0001fc08 bl 0x1a9d0                                    |     fcn_0001a9d0 ();
    0x0001fc0c b 0x1fa10                                     |     goto label_1;
                                                             | label_23:
    0x0001fc10 add sl, r5, 0x2000                            |     sl = r5 + 0x2000;
    0x0001fc14 ldr sb, [sl, 0x38]                            |     sb = *((sl + 0x38));
                                                             | label_3:
    0x0001fc18 cmp sb, 0                                     |     
                                                             |     if (sb == 0) {
    0x0001fc1c beq 0x1fa90                                   |         goto label_2;
                                                             |     }
    0x0001fc20 mov r1, r7                                    |     r1 = r7;
    0x0001fc24 add r0, sb, 4                                 |     r0 = sb + 4;
    0x0001fc28 bl 0x20c44                                    |     r0 = fcn_00020c44 (r0, r1);
    0x0001fc2c cmp r0, 0                                     |     
                                                             |     if (r0 >= 0) {
    0x0001fc30 bge 0x1fca0                                   |         goto label_29;
                                                             |     }
    0x0001fc34 ldr fp, [sb, 0x10]                            |     fp = *((sb + 0x10));
    0x0001fc38 cmp fp, 0                                     |     
                                                             |     if (fp == 0) {
    0x0001fc3c ldrne r3, [sb, 0xc]                           |         r3 = *((sb + 0xc));
                                                             |     }
                                                             |     if (fp == 0) {
    0x0001fc40 strne r3, [fp, 0xc]                           |         *(arg_ch) = r3;
                                                             |     }
                                                             |     if (fp != 0) {
    0x0001fc44 bne 0x1fc6c                                   |         goto label_30;
                                                             |     }
    0x0001fc48 ldr r3, [sl, 0x3c]                            |     r3 = *((sl + 0x3c));
    0x0001fc4c cmp r3, sb                                    |     
                                                             |     if (r3 == sb) {
    0x0001fc50 beq 0x1fc64                                   |         goto label_31;
                                                             |     }
    0x0001fc54 ldr r3, [pc, 0x4b8]                           |     r3 = *(0x20110);
                                                             |     do {
    0x0001fc58 mov r2, 2                                     |         r2 = 2;
    0x0001fc5c ldr r1, [pc, 0x4b4]                           |         r1 = "(lctx->essages).tail == (message)";
    0x0001fc60 b 0x1f7b0                                     |         goto label_0;
                                                             | label_31:
    0x0001fc64 ldr r3, [sb, 0xc]                             |         r3 = *((sb + 0xc));
    0x0001fc68 str r3, [sl, 0x3c]                            |         *((sl + 0x3c)) = r3;
                                                             | label_30:
    0x0001fc6c ldr r3, [sb, 0xc]                             |         r3 = *((sb + 0xc));
    0x0001fc70 cmp r3, 0                                     |         
                                                             |         if (r3 == 0) {
    0x0001fc74 strne fp, [r3, 0x10]                          |             *((r3 + 0x10)) = fp;
                                                             |         }
                                                             |         if (r3 != 0) {
    0x0001fc78 bne 0x1fc90                                   |             goto label_32;
                                                             |         }
    0x0001fc7c ldr r3, [sl, 0x38]                            |         r3 = *((sl + 0x38));
    0x0001fc80 cmp r3, sb                                    |         
                                                             |         if (r3 == sb) {
    0x0001fc84 ldrne r3, [pc, 0x490]                         |             r3 = "(lctx->essages).head == (message)";
                                                             |         }
    0x0001fc88 bne 0x1fc58                                   |         
                                                             |     } while (r3 != sb);
    0x0001fc8c str fp, [sl, 0x38]                            |     *((sl + 0x38)) = fp;
                                                             | label_32:
    0x0001fc90 mov r0, sb                                    |     r0 = sb;
    0x0001fc94 bl 0x1242c                                    |     free (r0);
                                                             |     do {
    0x0001fc98 mov sb, fp                                    |         sb = fp;
    0x0001fc9c b 0x1fc18                                     |         goto label_3;
                                                             | label_29:
    0x0001fca0 ldr r1, [sb]                                  |         r1 = *(sb);
    0x0001fca4 mov r0, r8                                    |         r0 = r8;
    0x0001fca8 bl 0x123fc                                    |         r0 = strcmp (r0, r1);
    0x0001fcac cmp r0, 0                                     |         
                                                             |         if (r0 == 0) {
    0x0001fcb0 bne 0x1fcdc                                   |             
    0x0001fcb4 ldr r0, [sp, 0x30]                            |             r0 = var_30h;
    0x0001fcb8 bl 0x123cc                                    |             r0 = pthread_mutex_unlock ();
    0x0001fcbc cmp r0, 0                                     |             
                                                             |             if (r0 != 0) {
    0x0001fcc0 beq 0x1fcd4                                   |                 
    0x0001fcc4 ldr r2, [pc, 0x454]                           |                 r2 = "(lctx->essages).head == (message)";
    0x0001fcc8 ldr r1, [pc, 0x454]                           |                 r1 = "((pthread_mutex_unlock(((&lctx->lock))) == 0) ? 0 : 34) == 0";
                                                             | label_13:
    0x0001fccc ldr r0, [pc, 0x3c4]                           |                 r0 = "lctx____void__0______lctx______void__0_______const_isc__magic_t___lctx____magic_____L_____24___c_____16___t_____8___x_____";
    0x0001fcd0 bl 0x1dfdc                                    |                 fcn_0001dfdc ("lctx____void__0______lctx______void__0_______const_isc__magic_t___lctx____magic_____L_____24___c_____16___t_____8___x_____", "((pthread_mutex_unlock(((&lctx->lock))) == 0) ? 0 : 34) == 0");
                                                             |             }
                                                             | label_12:
    0x0001fcd4 add sp, sp, 0x174                             |             
    0x0001fcd8 pop {r4, r5, r6, r7, r8, sb, sl, fp, pc}      |             
                                                             |         }
    0x0001fcdc ldr fp, [sb, 0x10]                            |         fp = *((sb + 0x10));
    0x0001fce0 b 0x1fc98                                     |         
                                                             |     } while (1);
                                                             | label_24:
    0x0001fce4 add r0, r7, 0x14                              |     r0 = r7 + 0x14;
    0x0001fce8 mov sl, r7                                    |     sl = r7;
    0x0001fcec str r0, [sl], 4                               |     *(sl) = r0;
                                                             |     sl += 4;
    0x0001fcf0 add r2, sb, 1                                 |     r2 = sb + 1;
    0x0001fcf4 mov r1, r8                                    |     r1 = r8;
    0x0001fcf8 bl 0x11f4c                                    |     strlcpy (r0, r1, r2);
    0x0001fcfc mov r0, sl                                    |     r0 = sl;
    0x0001fd00 bl 0x20a68                                    |     r0 = fcn_00020a68 (r0);
    0x0001fd04 cmp r0, 0                                     |     
                                                             |     if (r0 != 0) {
    0x0001fd08 beq 0x1fd1c                                   |         
    0x0001fd0c ldr r2, [pc, 0x414]                           |         r2 = *(0x20124);
    0x0001fd10 ldr r1, [pc, 0x414]                           |         r1 = "isc_time_now((&new->time)) == 0";
    0x0001fd14 ldr r0, [pc, 0x37c]                           |         r0 = "lctx____void__0______lctx______void__0_______const_isc__magic_t___lctx____magic_____L_____24___c_____16___t_____8___x_____";
    0x0001fd18 bl 0x1dfdc                                    |         fcn_0001dfdc ("lctx____void__0______lctx______void__0_______const_isc__magic_t___lctx____magic_____L_____24___c_____16___t_____8___x_____", "isc_time_now((&new->time)) == 0");
                                                             |     }
    0x0001fd1c add r3, r5, 0x2000                            |     r3 = r5 + 0x2000;
    0x0001fd20 ldr r2, [r3, 0x3c]                            |     r2 = *((r3 + 0x3c));
    0x0001fd24 cmp r2, 0                                     |     
                                                             |     if (r2 == 0) {
    0x0001fd28 strne r7, [r2, 0x10]                          |         *((r2 + 0x10)) = r7;
                                                             |     }
                                                             |     if (r2 != 0) {
    0x0001fd2c streq r7, [r3, 0x38]                          |         *((r3 + 0x38)) = r7;
                                                             |     }
    0x0001fd30 str r2, [r7, 0xc]                             |     *((r7 + 0xc)) = r2;
    0x0001fd34 mov r2, 0                                     |     r2 = 0;
    0x0001fd38 str r2, [r7, 0x10]                            |     *((r7 + 0x10)) = r2;
    0x0001fd3c str r7, [r3, 0x3c]                            |     *((r3 + 0x3c)) = r7;
    0x0001fd40 b 0x1fab8                                     |     goto label_4;
                                                             | label_26:
    0x0001fd44 ldr r3, [r4, 0x28]                            |     r3 = *((r4 + 0x28));
    0x0001fd48 cmp r3, 0                                     |     
                                                             |     if (r3 == 0) {
    0x0001fd4c beq 0x1fd70                                   |         goto label_33;
                                                             |     }
    0x0001fd50 ldr r3, [r4, 0x18]                            |     r3 = *((r4 + 0x18));
    0x0001fd54 cmn r3, 2                                     |     
    0x0001fd58 beq 0x1fd98                                   |     
                                                             |     while (r3 == 2) {
                                                             | label_5:
    0x0001fd5c ldr r0, [r4, 0x10]                            |         r0 = *((r4 + 0x10));
    0x0001fd60 bl 0x121b0                                    |         fclose (r0);
    0x0001fd64 mov r3, 0                                     |         r3 = 0;
    0x0001fd68 str r3, [r4, 0x10]                            |         *((r4 + 0x10)) = r3;
    0x0001fd6c str r3, [r4, 0x28]                            |         *((r4 + 0x28)) = r3;
                                                             | label_33:
    0x0001fd70 ldr r7, [r4, 0x10]                            |         r7 = *((r4 + 0x10));
    0x0001fd74 cmp r7, 0                                     |         
                                                             |         if (r7 != 0) {
    0x0001fd78 bne 0x1ff74                                   |             goto label_27;
                                                             |         }
    0x0001fd7c ldr r3, [r4, 4]                               |         r3 = *((r4 + 4));
    0x0001fd80 cmp r3, 3                                     |         
                                                             |         if (r3 == 3) {
    0x0001fd84 beq 0x1fddc                                   |             goto label_34;
                                                             |         }
    0x0001fd88 ldr r3, [pc, 0x3a0]                           |         r3 = *(0x2012c);
    0x0001fd8c mov r2, r7                                    |         r2 = r7;
    0x0001fd90 ldr r1, [pc, 0x39c]                           |         r1 = "channel->type == 3";
    0x0001fd94 b 0x1f7b0                                     |         goto label_0;
    0x0001fd98 add r1, sp, 0xa0                              |         r1 += var_a0h;
    0x0001fd9c ldr r0, [r4, 0x14]                            |         r0 = *((r4 + 0x14));
    0x0001fda0 bl 0x12168                                    |         r0 = stat64 ();
    0x0001fda4 cmp r0, 0                                     |         
                                                             |         if (r0 == 0) {
    0x0001fda8 beq 0x1fdbc                                   |             goto label_35;
                                                             |         }
    0x0001fdac bl 0x11f1c                                    |         r0 = errno_location ();
    0x0001fdb0 ldr r3, [r0]                                  |         r3 = *(r0);
    0x0001fdb4 cmp r3, 2                                     |         
    0x0001fdb8 beq 0x1fd5c                                   |         
                                                             |     }
                                                             | label_35:
    0x0001fdbc ldrd r2, r3, [r4, 0x20]                       |     __asm ("ldrd r2, r3, [r4, 0x20]");
    0x0001fdc0 ldrd r0, r1, [sp, 0xd0]                       |     __asm ("ldrd r0, r1, [var_d0h]");
    0x0001fdc4 cmp r0, r2                                    |     
    0x0001fdc8 sbcs r3, r1, r3                               |     __asm ("sbcs r3, r1, r3");
                                                             |     if (r0 < r2) {
    0x0001fdcc blt 0x1fd5c                                   |         goto label_5;
                                                             |     }
                                                             |     do {
                                                             | label_7:
    0x0001fdd0 mov r3, 1                                     |         r3 = 1;
                                                             | label_11:
    0x0001fdd4 ldr r0, [sp, 0x3c]                            |         r0 = var_3ch;
    0x0001fdd8 b 0x1f8ec                                     |         goto label_6;
                                                             | label_34:
    0x0001fddc ldr r8, [r4, 0x14]                            |         r8 = *((r4 + 0x14));
    0x0001fde0 cmp r8, 0                                     |         
                                                             |         if (r8 != 0) {
    0x0001fde4 beq 0x1fdf4                                   |             
    0x0001fde8 ldrb r3, [r8]                                 |             r3 = *(r8);
    0x0001fdec cmp r3, 0                                     |             
                                                             |             if (r3 != 0) {
    0x0001fdf0 bne 0x1fe04                                   |                 goto label_36;
                                                             |             }
                                                             |         }
    0x0001fdf4 ldr r3, [pc, 0x33c]                           |         r3 = *(0x20134);
    0x0001fdf8 mov r2, 0                                     |         r2 = 0;
    0x0001fdfc ldr r1, [pc, 0x338]                           |         r1 = "path != ((void *)0) && *path != '\\0';
    0x0001fe00 b 0x1f7b0                                     |         goto label_0;
                                                             | label_36:
    0x0001fe04 add r1, sp, 0x108                             |         r1 += var_108h;
    0x0001fe08 mov r0, r8                                    |         r0 = r8;
    0x0001fe0c bl 0x12168                                    |         r0 = stat64 ();
    0x0001fe10 subs ip, r0, 0                                |         
                                                             |         if (ip != r0) {
    0x0001fe14 bne 0x1ff24                                   |             goto label_37;
                                                             |         }
    0x0001fe18 ldr r7, [sp, 0x118]                           |         r7 = var_118h;
    0x0001fe1c ldrd r2, r3, [r4, 0x20]                       |         __asm ("ldrd r2, r3, [r4, 0x20]");
    0x0001fe20 and r7, r7, 0xf000                            |         r7 &= 0xf000;
    0x0001fe24 sub r7, r7, 0x8000                            |         r7 -= 0x8000;
    0x0001fe28 orrs r1, r2, r3                               |         r1 = r2 | r3;
    0x0001fe2c clz r7, r7                                    |         r7 &= r7;
    0x0001fe30 lsr r7, r7, 5                                 |         r7 >>= 5;
                                                             |         if (r1 != r2) {
    0x0001fe34 bne 0x1fef8                                   |             goto label_38;
                                                             |         }
    0x0001fe38 ldr r3, [r4, 0x18]                            |         r3 = *((r4 + 0x18));
    0x0001fe3c mov r0, ip                                    |         r0 = ip;
    0x0001fe40 cmn r3, 2                                     |         
                                                             |         if (r3 == 2) {
    0x0001fe44 beq 0x1ff1c                                   |             goto label_9;
                                                             |         }
                                                             | label_8:
    0x0001fe48 cmp r0, 0                                     |         
                                                             |         if (r0 != 0) {
    0x0001fe4c moveq r0, r7                                  |             r0 = r7;
                                                             |         }
                                                             |         if (r0 == 0) {
    0x0001fe50 movne r0, 0                                   |             r0 = 0;
                                                             |         }
    0x0001fe54 cmp r0, 0                                     |         
                                                             |         if (r0 == 0) {
    0x0001fe58 beq 0x1ff48                                   |             goto label_39;
                                                             |         }
    0x0001fe5c ldr r3, [r4, 0x18]                            |         r3 = *((r4 + 0x18));
    0x0001fe60 cmn r3, 2                                     |         
                                                             |         if (r3 != 2) {
    0x0001fe64 moveq r7, 0x3a                                |             r7 = 0x3a;
                                                             |         }
                                                             |         if (r3 != 2) {
    0x0001fe68 beq 0x1feb0                                   |             
    0x0001fe6c mov r0, r4                                    |             r0 = r4;
    0x0001fe70 bl 0x1e244                                    |             r0 = fcn_0001e244 (r0, r1, r2, r3);
    0x0001fe74 subs r7, r0, 0                                |             r7 = r0 - 0;
                                                             |             if (r7 == r0) {
    0x0001fe78 beq 0x1ff48                                   |                 goto label_39;
                                                             |             }
    0x0001fe7c ldr r3, [r4, 0xc]                             |             r3 = *((r4 + 0xc));
    0x0001fe80 tst r3, 0x8000                                |             
                                                             |             if ((r3 & 0x8000) != 0) {
    0x0001fe84 bne 0x1feb0                                   |                 goto label_10;
                                                             |             }
    0x0001fe88 ldr r8, [r4, 0x14]                            |             r8 = *((r4 + 0x14));
    0x0001fe8c bl 0x20560                                    |             fcn_00020560 (r0);
    0x0001fe90 ldr r1, [pc, 0x2a8]                           |             r1 = *(0x2013c);
    0x0001fe94 mov r2, r8                                    |             r2 = r8;
    0x0001fe98 mov r3, r0                                    |             r3 = r0;
    0x0001fe9c mov r0, 3                                     |             r0 = 3;
    0x0001fea0 bl 0x12354                                    |             syslog ();
    0x0001fea4 ldr r3, [r4, 0xc]                             |             r3 = *((r4 + 0xc));
    0x0001fea8 orr r3, r3, 0x8000                            |             r3 |= 0x8000;
    0x0001feac str r3, [r4, 0xc]                             |             *((r4 + 0xc)) = r3;
                                                             |         }
                                                             | label_10:
    0x0001feb0 cmp r7, 0                                     |         
    0x0001feb4 cmpne r7, 0x3a                                |         __asm ("cmpne r7, 0x3a");
                                                             |         if (r7 == 0) {
    0x0001feb8 beq 0x1ff60                                   |             goto label_40;
                                                             |         }
    0x0001febc ldr r3, [r4, 0xc]                             |         r3 = *((r4 + 0xc));
    0x0001fec0 tst r3, 0x8000                                |         
    0x0001fec4 bne 0x1fdd0                                   |         
                                                             |     } while ((r3 & 0x8000) != 0);
    0x0001fec8 mov r0, r7                                    |     r0 = r7;
    0x0001fecc ldr r8, [r4, 0x14]                            |     r8 = *((r4 + 0x14));
    0x0001fed0 bl 0x20560                                    |     fcn_00020560 (r0);
    0x0001fed4 ldr r1, [pc, 0x268]                           |     r1 = "isc_log_open:_roll_log__s_failed:__s";
    0x0001fed8 mov r2, r8                                    |     r2 = r8;
    0x0001fedc mov r3, r0                                    |     r3 = r0;
    0x0001fee0 mov r0, 3                                     |     r0 = 3;
    0x0001fee4 bl 0x12354                                    |     syslog ();
    0x0001fee8 ldr r3, [r4, 0xc]                             |     r3 = *((r4 + 0xc));
    0x0001feec orr r3, r3, 0x8000                            |     r3 |= 0x8000;
    0x0001fef0 str r3, [r4, 0xc]                             |     *((r4 + 0xc)) = r3;
    0x0001fef4 b 0x1fdd0                                     |     goto label_7;
                                                             | label_38:
    0x0001fef8 cmp r2, 1                                     |     
    0x0001fefc sbcs r1, r3, 0                                |     __asm ("sbcs r1, r3, 0");
                                                             |     if (r2 < 1) {
    0x0001ff00 blt 0x1ff40                                   |         goto label_41;
                                                             |     }
    0x0001ff04 add r1, sp, 0x138                             |     r1 += var_138h;
    0x0001ff08 ldrd r0, r1, [r1]                             |     __asm ("ldrd r0, r1, [r1]");
    0x0001ff0c cmp r0, r2                                    |     
    0x0001ff10 sbcs r3, r1, r3                               |     __asm ("sbcs r3, r1, r3");
    0x0001ff14 mov r0, ip                                    |     r0 = ip;
                                                             |     if (r0 >= r2) {
    0x0001ff18 bge 0x1fe48                                   |         goto label_8;
                                                             |     }
                                                             |     do {
                                                             | label_9:
    0x0001ff1c mov r7, r0                                    |         r7 = r0;
    0x0001ff20 b 0x1fe48                                     |         goto label_8;
                                                             | label_37:
    0x0001ff24 bl 0x11f1c                                    |         r0 = errno_location ();
    0x0001ff28 ldr r3, [r0]                                  |         r3 = *(r0);
    0x0001ff2c cmp r3, 2                                     |         
                                                             |         if (r3 != 2) {
    0x0001ff30 moveq r0, r7                                  |             r0 = r7;
                                                             |         }
    0x0001ff34 beq 0x1ff1c                                   |         
                                                             |     } while (r3 == 2);
    0x0001ff38 mov r0, 0x1e                                  |     r0 = 0x1e;
    0x0001ff3c b 0x1fe48                                     |     goto label_8;
                                                             | label_41:
    0x0001ff40 mov r0, ip                                    |     r0 = ip;
    0x0001ff44 b 0x1ff1c                                     |     goto label_9;
                                                             | label_39:
    0x0001ff48 add r2, r4, 0x10                              |     r2 = r4 + 0x10;
    0x0001ff4c ldr r1, [pc, 0x1f4]                           |     r1 = "isc_log_open '%s' failed: %s";
    0x0001ff50 mov r0, r8                                    |     r0 = r8;
    0x0001ff54 bl 0x20674                                    |     r0 = fcn_00020674 ();
    0x0001ff58 mov r7, r0                                    |     r7 = r0;
    0x0001ff5c b 0x1feb0                                     |     goto label_10;
                                                             | label_40:
    0x0001ff60 cmp r7, 0                                     |     
                                                             |     if (r7 != 0) {
    0x0001ff64 bne 0x1fdd0                                   |         goto label_7;
                                                             |     }
    0x0001ff68 ldr r3, [r4, 0xc]                             |     r3 = *((r4 + 0xc));
    0x0001ff6c bic r3, r3, 0x8000                            |     r3 = BIT_MASK (r3, 0x8000);
    0x0001ff70 str r3, [r4, 0xc]                             |     *((r4 + 0xc)) = r3;
                                                             | label_27:
    0x0001ff74 cmp sl, 0                                     |     
                                                             |     if (sl == 0) {
    0x0001ff78 addne r2, sp, 0x60                            |         r2 += var_60h;
                                                             |     }
                                                             |     if (sl == 0) {
    0x0001ff7c ldrne r3, [pc, 0x17c]                         |         r3 = *((pc + 0x17c));
                                                             |     }
                                                             |     if (sl != 0) {
    0x0001ff80 moveq r2, r6                                  |         r2 = r6;
                                                             |     }
                                                             |     if (sl != 0) {
    0x0001ff84 moveq r3, r6                                  |         r3 = r6;
                                                             |     }
    0x0001ff88 cmp sb, 0                                     |     
                                                             |     if (sb == 0) {
    0x0001ff8c ldrne r1, [sp, 0x24]                          |         r1 = var_24h;
                                                             |     }
                                                             |     if (sb == 0) {
    0x0001ff90 ldrne ip, [pc, 0x16c]                         |         ip = ":_";
                                                             |     }
                                                             |     if (sb == 0) {
    0x0001ff94 ldrne r1, [r1, 0x20]                          |         r1 = *((r1 + 0x20));
                                                             |     }
                                                             |     if (sb != 0) {
    0x0001ff98 moveq ip, r6                                  |         
                                                             |     }
                                                             |     if (sb != 0) {
    0x0001ff9c moveq r1, r6                                  |         r1 = r6;
                                                             |     }
    0x0001ffa0 cmp fp, 0                                     |     
    0x0001ffa4 ldr r8, [sp, 0x34]                            |     r8 = var_34h;
                                                             |     if (fp == 0) {
    0x0001ffa8 ldrne lr, [sp, 0x28]                          |         lr = var_28h;
                                                             |     }
                                                             |     if (fp != 0) {
    0x0001ffac moveq lr, r6                                  |         lr = r6;
                                                             |     }
                                                             |     if (fp == 0) {
    0x0001ffb0 ldrne lr, [lr]                                |         
                                                             |     }
                                                             |     if (fp == 0) {
    0x0001ffb4 ldrne r7, [pc, 0x148]                         |         r7 = ":_";
                                                             |     }
                                                             |     if (fp != 0) {
    0x0001ffb8 moveq r7, r6                                  |         r7 = r6;
                                                             |     }
    0x0001ffbc cmp r8, 0                                     |     
                                                             |     if (r8 == 0) {
    0x0001ffc0 ldrne r8, [sp, 0x2c]                          |         r8 = var_2ch;
                                                             |     }
    0x0001ffc4 ldr sl, [sp, 0x38]                            |     sl = var_38h;
                                                             |     if (r8 == 0) {
    0x0001ffc8 ldrne r8, [r8]                                |         r8 = *(r8);
                                                             |     }
                                                             |     if (r8 == 0) {
    0x0001ffcc ldrne sb, [pc, 0x130]                         |         sb = ":_";
                                                             |     }
                                                             |     if (r8 != 0) {
    0x0001ffd0 moveq r8, r6                                  |         r8 = r6;
                                                             |     }
                                                             |     if (r8 != 0) {
    0x0001ffd4 moveq sb, r6                                  |         sb = r6;
                                                             |     }
    0x0001ffd8 cmp sl, 0                                     |     
                                                             |     if (sl == 0) {
    0x0001ffdc addne sl, sp, 0x48                            |         sl += var_48h;
                                                             |     }
                                                             |     if (sl != 0) {
    0x0001ffe0 moveq sl, r6                                  |         sl = r6;
                                                             |     }
    0x0001ffe4 add fp, r5, 0x38                              |     
    0x0001ffe8 ldr r0, [r4, 0x10]                            |     r0 = *((r4 + 0x10));
    0x0001ffec stm sp, {r1, ip, lr}                          |     *(sp) = r1;
                                                             |     *((sp + 4)) = ip;
                                                             |     *((sp + 8)) = lr;
    0x0001fff0 ldr r1, [pc, 0x154]                           |     r1 = *(0x20148);
    0x0001fff4 str fp, [sp, 0x1c]                            |     var_1ch = fp;
    0x0001fff8 str sl, [sp, 0x18]                            |     var_18h = sl;
    0x0001fffc str sb, [sp, 0x14]                            |     var_14h = sb;
    0x00020000 str r8, [sp, 0x10]                            |     var_10h = r8;
    0x00020004 str r7, [sp, 0xc]                             |     var_ch = r7;
    0x00020008 bl 0x1230c                                    |     fprintf (r0, r1, r2, r3)
    0x0002000c ldr r0, [r4, 0x10]                            |     r0 = *((r4 + 0x10));
    0x00020010 bl 0x122b8                                    |     fflush (r0);
    0x00020014 ldrd r2, r3, [r4, 0x20]                       |     __asm ("ldrd r2, r3, [r4, 0x20]");
    0x00020018 cmp r2, 1                                     |     
    0x0002001c sbcs r3, r3, 0                                |     __asm ("sbcs r3, r3, 0");
                                                             |     if (r2 < 1) {
    0x00020020 blt 0x1fdd0                                   |         goto label_7;
                                                             |     }
    0x00020024 ldr r3, [r4, 4]                               |     r3 = *((r4 + 4));
    0x00020028 cmp r3, 3                                     |     
                                                             |     if (r3 == 3) {
    0x0002002c ldrne r3, [pc, 0xfc]                          |         r3 = "channel->type == 3";
                                                             |     }
                                                             |     if (r3 == 3) {
    0x00020030 movne r2, 2                                   |         r2 = 2;
                                                             |     }
                                                             |     if (r3 != 3) {
    0x00020034 ldrne r1, [pc, 0x114]                         |         r1 = *(0x00020150);
                                                             |         goto label_42;
                                                             |     }
                                                             |     if (r3 != 3) {
                                                             | label_42:
    0x00020038 bne 0x1f7b0                                   |         goto label_0;
                                                             |     }
    0x0002003c ldr r0, [r4, 0x10]                            |     r0 = *((r4 + 0x10));
    0x00020040 bl 0x121ec                                    |     fileno (r0);
    0x00020044 add r1, sp, 0xa0                              |     r1 += var_a0h;
    0x00020048 bl 0x11fd0                                    |     r0 = fstat64 ();
    0x0002004c cmp r0, 0                                     |     
                                                             |     if (r0 < 0) {
    0x00020050 blt 0x1fdd0                                   |         goto label_7;
                                                             |     }
    0x00020054 ldrd r2, r3, [sp, 0xd0]                       |     __asm ("ldrd r2, r3, [var_d0h]");
    0x00020058 ldrd r0, r1, [r4, 0x20]                       |     __asm ("ldrd r0, r1, [r4, 0x20]");
    0x0002005c cmp r0, r2                                    |     
    0x00020060 sbcs r3, r1, r3                               |     __asm ("sbcs r3, r1, r3");
                                                             |     if (r0 >= r2) {
    0x00020064 movlt r3, 1                                   |         r3 = 1;
                                                             |     }
                                                             |     if (r0 < r2) {
    0x00020068 strlt r3, [r4, 0x28]                          |         *((r4 + 0x28)) = r3;
                                                             |         goto label_43;
                                                             |     }
                                                             |     if (r0 < r2) {
                                                             | label_43:
    0x0002006c blt 0x1fdd4                                   |         goto label_11;
                                                             |     }
    0x00020070 b 0x1fdd0                                     |     goto label_7;
                                                             | label_20:
    0x00020074 ldr r0, [sp, 0x30]                            |     r0 = var_30h;
    0x00020078 bl 0x123cc                                    |     r0 = pthread_mutex_unlock ();
    0x0002007c cmp r0, 0                                     |     
                                                             |     if (r0 == 0) {
    0x00020080 beq 0x1fcd4                                   |         goto label_12;
                                                             |     }
    0x00020084 ldr r2, [pc, 0x94]                            |     r2 = "(lctx->essages).head == (message)";
    0x00020088 ldr r1, [pc, 0xc4]                            |     r1 = *(0x20150);
    0x0002008c b 0x1fccc                                     |     goto label_13;
                                                             | }
    ; assembly                                               | /* r2dec pseudo code output */
                                                             | /* /logs/firmware/unblob_extracted/firmware_extract/56048-12514271.gzip_extract/gzip.uncompressed_extract/5243916-15068666.gzip_extract/gzip.uncompressed_extract/usr/bin/ntpdate @ 0x124e0 */
                                                             | #include <stdint.h>
                                                             |  
    ; (fcn) main ()                                          | int32_t main (char ** envp, int32_t arg_4h, int32_t arg_8h, int32_t arg_14h, int32_t arg_18h, int32_t arg_1ch, int32_t arg_20h, int32_t arg_24h, int32_t arg_28h, int32_t arg_2ch, int32_t arg_30h, int32_t arg_34h, int32_t argc, char ** argv) {
                                                             |     int32_t var_0h;
                                                             |     int32_t var_4h;
                                                             |     FILE * stream;
                                                             |     void * s1;
                                                             |     int32_t var_1ch;
                                                             |     int32_t var_20h;
                                                             |     int32_t var_24h;
                                                             |     int32_t var_28h;
                                                             |     int32_t var_2ch;
                                                             |     char * dest;
                                                             |     int32_t var_38h;
                                                             |     int32_t var_3ch;
                                                             |     int32_t var_3eh;
                                                             |     struct sockaddr* address;
                                                             |     int32_t var_1h_3;
                                                             |     int32_t var_44h;
                                                             |     int32_t var_1h_2;
                                                             |     int32_t var_4h_2;
                                                             |     int32_t var_64h;
                                                             |     int32_t var_1h;
                                                             |     void * s;
                                                             |     int32_t var_6ch;
                                                             |     int32_t var_70h;
                                                             |     int32_t var_74h;
                                                             |     int32_t var_90h;
                                                             |     int32_t var_0h_2;
                                                             |     r0 = argc;
                                                             |     r1 = argv;
                                                             |     /* [12] -r-x section size 69584 named .text */
    0x000124e0 b 0x12ac0                                     |     
    0x00012ac0 push {r4, r5, r6, r7, r8, sb, sl, fp, lr}     |     
    0x00012ac4 ldr r8, [pc, 0xeb0]                           |     r8 = *(0x13978);
    0x00012ac8 sub sp, sp, 0x94                              |     
    0x00012acc mov r6, r1                                    |     r6 = r1;
    0x00012ad0 mov sb, r0                                    |     sb = r0;
    0x00012ad4 bl 0x170f4                                    |     fcn_000170f4 ();
    0x00012ad8 ldr r3, [pc, 0xea0]                           |     
    0x00012adc ldr r7, [pc, 0xea0]                           |     r7 = *(0x13980);
    0x00012ae0 ldr r3, [r3]                                  |     r3 = *(0x1397c);
    0x00012ae4 ldr sl, [pc, 0xe9c]                           |     sl = "46a:bBde:k:o:p:qst:uv";
    0x00012ae8 cmp r3, 0                                     |     
                                                             |     if (r3 != 0) {
    0x00012aec ldreq r3, [pc, 0xe98]                         |         r3 = *(0x0001398c);
                                                             |     }
                                                             |     if (r3 != 0) {
    0x00012af0 moveq r2, 2                                   |         r2 = 2;
                                                             |     }
    0x00012af4 ldr r5, [pc, 0xe94]                           |     r5 = *(0x1398c);
    0x00012af8 mov r4, 0                                     |     r4 = 0;
                                                             |     if (r3 != 0) {
    0x00012afc streq r2, [r3]                                |         *(r3) = r2;
                                                             |     }
    0x00012b00 ldr r3, [r6]                                  |     r3 = *(r6);
    0x00012b04 str r4, [r7]                                  |     *(r7) = r4;
    0x00012b08 str r3, [r8]                                  |     *(r8) = r3;
                                                             |     do {
                                                             | label_0:
    0x00012b0c mov r2, sl                                    |         r2 = sl;
    0x00012b10 mov r1, r6                                    |         r1 = r6;
    0x00012b14 mov r0, sb                                    |         r0 = sb;
    0x00012b18 bl 0x16df4                                    |         r0 = fcn_00016df4 (r0, r1);
    0x00012b1c cmn r0, 1                                     |         
                                                             |         if (r0 == 1) {
    0x00012b20 bne 0x12b48                                   |             
    0x00012b24 cmp r4, 0                                     |             
                                                             |             if (r4 == 0) {
    0x00012b28 beq 0x12d88                                   |                 goto label_45;
                                                             |             }
    0x00012b2c ldr r3, [pc, 0xe60]                           |             r3 = *(0x13990);
    0x00012b30 ldr r2, [r8]                                  |             r2 = *(r8);
    0x00012b34 ldr r1, [pc, 0xe5c]                           |             r1 = stderr;
    0x00012b38 ldr r0, [r3]                                  |             r0 = *(0x13990);
    0x00012b3c bl 0x1230c                                    |             fprintf (r0, r1, r2, r3)
    0x00012b40 mov r0, 2                                     |             r0 = 2;
                                                             | label_3:
    0x00012b44 bl 0x123b4                                    |             r0 = exit (r0);
                                                             |         }
    0x00012b48 cmp r0, 0x65                                  |         
                                                             |         if (r0 == 0x65) {
    0x00012b4c beq 0x12c7c                                   |             goto label_46;
                                                             |         }
                                                             |         if (r0 > 0x65) {
    0x00012b50 bgt 0x12bbc                                   |             goto label_47;
                                                             |         }
    0x00012b54 cmp r0, 0x42                                  |         
                                                             |         if (r0 == 0x42) {
    0x00012b58 beq 0x12c4c                                   |             goto label_48;
                                                             |         }
                                                             |         if (r0 > 0x42) {
    0x00012b5c bgt 0x12b88                                   |             goto label_49;
                                                             |         }
    0x00012b60 cmp r0, 0x36                                  |         
                                                             |         if (r0 == 0x36) {
    0x00012b64 beq 0x12c24                                   |             goto label_50;
                                                             |         }
    0x00012b68 cmp r0, 0x3f                                  |         
                                                             |         if (r0 == 0x3f) {
    0x00012b6c beq 0x12cb4                                   |             goto label_51;
                                                             |         }
    0x00012b70 cmp r0, 0x34                                  |         
    0x00012b74 bne 0x12b0c                                   |         
                                                             |     } while (r0 != 0x34);
    0x00012b78 ldr r3, [pc, 0xe0c]                           |     r3 = "46a:bBde:k:o:p:qst:uv";
    0x00012b7c mov r2, 2                                     |     r2 = 2;
                                                             | label_1:
    0x00012b80 str r2, [r3]                                  |     *(r3) = r2;
    0x00012b84 b 0x12b0c                                     |     goto label_0;
                                                             | label_49:
    0x00012b88 cmp r0, 0x62                                  |     
                                                             |     if (r0 == 0x62) {
    0x00012b8c beq 0x12c30                                   |         goto label_52;
                                                             |     }
    0x00012b90 cmp r0, 0x64                                  |     
                                                             |     if (r0 == 0x64) {
    0x00012b94 beq 0x12c68                                   |         goto label_53;
                                                             |     }
    0x00012b98 cmp r0, 0x61                                  |     
                                                             |     if (r0 != 0x61) {
    0x00012b9c bne 0x12b0c                                   |         goto label_0;
                                                             |     }
    0x00012ba0 ldr r0, [r5]                                  |     r0 = *(r5);
    0x00012ba4 bl 0x12438                                    |     atoi (r0);
    0x00012ba8 ldr r3, [pc, 0xefc]                           |     r3 = "_s:_Server_dropped:_Server_is_untrusted";
    0x00012bac mov r2, 1                                     |     r2 = 1;
    0x00012bb0 str r2, [r3, 4]                               |     *((r3 + 4)) = r2;
    0x00012bb4 str r0, [r3, 8]                               |     *((r3 + 8)) = r0;
    0x00012bb8 b 0x12b0c                                     |     goto label_0;
                                                             | label_47:
    0x00012bbc cmp r0, 0x71                                  |     
                                                             |     if (r0 == 0x71) {
    0x00012bc0 beq 0x12d08                                   |         goto label_54;
                                                             |     }
                                                             |     if (r0 > 0x71) {
    0x00012bc4 bgt 0x12bec                                   |         goto label_55;
                                                             |     }
    0x00012bc8 cmp r0, 0x6f                                  |     
                                                             |     if (r0 == 0x6f) {
    0x00012bcc beq 0x12cc8                                   |         goto label_56;
                                                             |     }
                                                             |     if (r0 > 0x6f) {
    0x00012bd0 bgt 0x12cdc                                   |         goto label_57;
                                                             |     }
    0x00012bd4 cmp r0, 0x6b                                  |     
                                                             |     if (r0 != 0x6b) {
    0x00012bd8 ldreq r2, [r5]                                |         r2 = *(r5);
                                                             |     }
                                                             |     if (r0 == 0x6b) {
    0x00012bdc ldreq r3, [pc, 0xdb8]                         |         r3 = *(0x0001399c);
                                                             |         goto label_58;
                                                             |     }
                                                             |     if (r0 != 0x6b) {
                                                             | label_58:
    0x00012be0 bne 0x12b0c                                   |         goto label_0;
                                                             |     }
                                                             |     do {
    0x00012be4 str r2, [r3, 0xc]                             |         *((r3 + 0xc)) = r2;
    0x00012be8 b 0x12b0c                                     |         goto label_0;
                                                             | label_55:
    0x00012bec cmp r0, 0x74                                  |         
                                                             |         if (r0 == 0x74) {
    0x00012bf0 beq 0x12d18                                   |             goto label_59;
                                                             |         }
                                                             |         if (r0 <= 0x74) {
    0x00012bf4 bgt 0x12c08                                   |             
    0x00012bf8 cmp r0, 0x73                                  |             
                                                             |             if (r0 != 0x73) {
    0x00012bfc moveq r3, 1                                   |                 r3 = 1;
                                                             |             }
                                                             |             if (r0 != 0x73) {
    0x00012c00 streq r3, [r7]                                |                 *(r7) = r3;
                                                             |             }
    0x00012c04 b 0x12b0c                                     |             goto label_0;
                                                             |         }
    0x00012c08 cmp r0, 0x75                                  |         
                                                             |         if (r0 == 0x75) {
    0x00012c0c beq 0x12d78                                   |             goto label_60;
                                                             |         }
    0x00012c10 cmp r0, 0x76                                  |         
                                                             |         if (r0 != 0x76) {
    0x00012c14 ldreq r3, [pc, 0xe90]                         |             r3 = *(0x00013aac);
                                                             |         }
                                                             |         if (r0 != 0x76) {
    0x00012c18 moveq r2, 1                                   |             r2 = 1;
                                                             |         }
                                                             |         if (r0 != 0x76) {
    0x00012c1c streq r2, [r3, 0x28]                          |             *((r3 + 0x28)) = r2;
                                                             |         }
    0x00012c20 b 0x12b0c                                     |         goto label_0;
                                                             | label_50:
    0x00012c24 ldr r3, [pc, 0xd60]                           |         r3 = "46a:bBde:k:o:p:qst:uv";
    0x00012c28 mov r2, 0xa                                   |         r2 = 0xa;
    0x00012c2c b 0x12b80                                     |         goto label_1;
                                                             | label_52:
    0x00012c30 ldr r3, [pc, 0xe74]                           |         r3 = "_s:_Server_dropped:_Server_is_untrusted";
    0x00012c34 ldr r2, [r3, 0x1c]                            |         r2 = "refid___s___root_delay__s__root_dispersion__s";
    0x00012c38 add r2, r2, 1                                 |         r2++;
    0x00012c3c str r2, [r3, 0x1c]                            |         *((r3 + 0x1c)) = r2;
    0x00012c40 mov r2, 0                                     |         r2 = 0;
    0x00012c44 str r2, [r3, 0x20]                            |         *((r3 + 0x20)) = r2;
    0x00012c48 b 0x12b0c                                     |         goto label_0;
                                                             | label_48:
    0x00012c4c ldr r3, [pc, 0xe58]                           |         r3 = "_s:_Server_dropped:_Server_is_untrusted";
    0x00012c50 ldr r2, [r3, 0x20]                            |         r2 = "transmitted %d, in filter %d\n";
    0x00012c54 add r2, r2, 1                                 |         r2++;
    0x00012c58 str r2, [r3, 0x20]                            |         *((r3 + 0x20)) = r2;
    0x00012c5c mov r2, 0                                     |         r2 = 0;
    0x00012c60 str r2, [r3, 0x1c]                            |         *((r3 + 0x1c)) = r2;
    0x00012c64 b 0x12b0c                                     |         goto label_0;
                                                             | label_53:
    0x00012c68 ldr r2, [pc, 0xe8c]                           |         r2 = *(0x13af8);
    0x00012c6c ldr r3, [r2]                                  |         r3 = *(0x13af8);
    0x00012c70 add r3, r3, 1                                 |         r3++;
    0x00012c74 str r3, [r2]                                  |         *(r2) = r3;
    0x00012c78 b 0x12b0c                                     |         goto label_0;
                                                             | label_46:
    0x00012c7c add r1, sp, 0x38                              |         r1 += var_38h;
    0x00012c80 ldr r0, [r5]                                  |         r0 = *(r5);
    0x00012c84 bl 0x15350                                    |         r0 = fcn_00015350 (r0, r1, r2);
    0x00012c88 cmp r0, 0                                     |         
                                                             |         if (r0 != 0) {
    0x00012c8c beq 0x12c9c                                   |             
    0x00012c90 ldr r3, [sp, 0x38]                            |             r3 = var_38h;
    0x00012c94 cmp r3, 0                                     |             
                                                             |             if (r3 == 0) {
    0x00012c98 beq 0x12cbc                                   |                 goto label_61;
                                                             |             }
                                                             |         }
    0x00012c9c ldr r3, [r5]                                  |         r3 = *(r5);
    0x00012ca0 ldr r2, [r8]                                  |         r2 = *(r8);
    0x00012ca4 ldr r1, [pc, 0xcf4]                           |         r1 = *(0x1399c);
                                                             | label_2:
    0x00012ca8 ldr r0, [pc, 0xce4]                           |         
    0x00012cac ldr r0, [r0]                                  |         r0 = *(0x13990);
    0x00012cb0 bl 0x1230c                                    |         fprintf (r0, r1, r2, r3)
                                                             | label_51:
    0x00012cb4 add r4, r4, 1                                 |         r4++;
    0x00012cb8 b 0x12b0c                                     |         goto label_0;
                                                             | label_61:
    0x00012cbc ldr r3, [pc, 0xde8]                           |         r3 = "_s:_Server_dropped:_Server_is_untrusted";
    0x00012cc0 ldr r2, [sp, 0x3c]                            |         r2 = var_3ch;
    0x00012cc4 b 0x12be4                                     |         
                                                             |     } while (1);
                                                             | label_56:
    0x00012cc8 ldr r0, [r5]                                  |     r0 = *(r5);
    0x00012ccc bl 0x12438                                    |     atoi (r0);
    0x00012cd0 ldr r3, [pc, 0xcc4]                           |     r3 = "usage: %s [-46bBdqsuv] [-a key#] [-e delay] [-k file] [-p samples] [-o version#] [-t timeo] server ...\n";
    0x00012cd4 str r0, [r3]                                  |     *(r3) = r0;
    0x00012cd8 b 0x12b0c                                     |     goto label_0;
                                                             | label_57:
    0x00012cdc ldr r0, [r5]                                  |     r0 = *(r5);
    0x00012ce0 bl 0x12438                                    |     r0 = atoi (r0);
    0x00012ce4 sub r2, r0, 1                                 |     r2 = r0 - 1;
    0x00012ce8 cmp r2, 7                                     |     
                                                             |     if (r2 > 7) {
    0x00012cec ldrls r2, [pc, 0xdb8]                         |         r2 = *(0x00013aac);
                                                             |     }
    0x00012cf0 mov r3, r0                                    |     r3 = r0;
                                                             |     if (r2 <= 7) {
    0x00012cf4 ldrhi r2, [r8]                                |         r2 = *(r8);
                                                             |     }
                                                             |     if (r2 <= 7) {
    0x00012cf8 ldrhi r1, [pc, 0xca4]                         |         r1 = "_s:_number_of_samples___d__is_invalid";
                                                             |     }
                                                             |     if (r2 <= 7) {
    0x00012cfc strls r0, [r2, 0x14]                          |         *((r2 + 0x14)) = r0;
                                                             |         goto label_62;
                                                             |     }
                                                             |     if (r2 < 7) {
                                                             | label_62:
    0x00012d00 bls 0x12b0c                                   |         goto label_0;
                                                             |     }
    0x00012d04 b 0x12ca8                                     |     goto label_2;
                                                             | label_54:
    0x00012d08 ldr r3, [pc, 0xd9c]                           |     r3 = "_s:_Server_dropped:_Server_is_untrusted";
    0x00012d0c mov r2, 1                                     |     r2 = 1;
    0x00012d10 str r2, [r3, 0x24]                            |     *((r3 + 0x24)) = r2;
    0x00012d14 b 0x12b0c                                     |     goto label_0;
                                                             | label_59:
    0x00012d18 add r1, sp, 0x38                              |     r1 += var_38h;
    0x00012d1c ldr r0, [r5]                                  |     r0 = *(r5);
    0x00012d20 bl 0x15350                                    |     r0 = fcn_00015350 (r0, r1, r2);
    0x00012d24 cmp r0, 0                                     |     
                                                             |     if (r0 != 0) {
    0x00012d28 ldreq r3, [r5]                                |         r3 = *(r5);
                                                             |     }
                                                             |     if (r0 != 0) {
    0x00012d2c ldreq r2, [r8]                                |         r2 = *(r8);
                                                             |     }
                                                             |     if (r0 == 0) {
    0x00012d30 ldreq r1, [pc, 0xc70]                         |         r1 = "%s: timeout %s is undecodeable\n";
                                                             |         goto label_63;
                                                             |     }
                                                             |     if (r0 == 0) {
                                                             | label_63:
    0x00012d34 beq 0x12ca8                                   |         goto label_2;
                                                             |     }
    0x00012d38 ldr r1, [sp, 0x38]                            |     r1 = var_38h;
    0x00012d3c ldr r3, [pc, 0xc68]                           |     r3 = "%s: timeout %s is undecodeable\n";
    0x00012d40 add r2, r1, 0xff00                            |     r2 = r1 + 0xff00;
    0x00012d44 add r2, r2, 0xff                              |     r2 += 0xff;
    0x00012d48 cmp r2, r3                                    |     
    0x00012d4c ldrhls r3, [sp, 0x3e]                         |     __asm ("ldrhls r3, [var_3eh]");
                                                             |     if (r2 <= r3) {
    0x00012d50 movhi r3, 0x8000                              |         r3 = 0x8000;
                                                             |     }
                                                             |     if (r2 > r3) {
    0x00012d54 orrls r3, r3, r1, lsl 16                      |         r3 |= (r1 << 16);
                                                             |     }
                                                             |     if (r2 > r3) {
    0x00012d58 addls r3, r3, r3, lsl 2                       |         r3 += (r3 << 2);
                                                             |     }
                                                             |     if (r2 > r3) {
    0x00012d5c addls r3, r3, 0x8000                          |         r3 += 0x8000;
                                                             |     }
                                                             |     if (r2 > r3) {
    0x00012d60 lsrls r3, r3, 0x10                            |         r3 >>= 0x10;
                                                             |     }
    0x00012d64 ldr r2, [pc, 0xc30]                           |     r2 = "usage: %s [-46bBdqsuv] [-a key#] [-e delay] [-k file] [-p samples] [-o version#] [-t timeo] server ...\n";
    0x00012d68 cmp r3, 5                                     |     
                                                             |     if (r3 >= 5) {
    0x00012d6c movlo r3, 5                                   |         r3 = 5;
                                                             |     }
    0x00012d70 str r3, [r2, 4]                               |     *((r2 + 4)) = r3;
    0x00012d74 b 0x12b0c                                     |     goto label_0;
                                                             | label_60:
    0x00012d78 ldr r3, [pc, 0xd2c]                           |     r3 = "_s:_Server_dropped:_Server_is_untrusted";
    0x00012d7c mov r2, 1                                     |     r2 = 1;
    0x00012d80 str r2, [r3, 0x2c]                            |     *((r3 + 0x2c)) = r2;
    0x00012d84 b 0x12b0c                                     |     goto label_0;
                                                             | label_45:
    0x00012d88 ldr r3, [pc, 0xd1c]                           |     r3 = "_s:_Server_dropped:_Server_is_untrusted";
    0x00012d8c ldr r2, [r3, 0x14]                            |     r2 = "stratum %d, precision %d, leap %c%c, trust %03o\n";
    0x00012d90 mov fp, r3                                    |     
    0x00012d94 cmp r2, 0                                     |     
                                                             |     if (r2 == 0) {
    0x00012d98 bne 0x12db0                                   |         
    0x00012d9c ldr r3, [r3, 0x24]                            |         r3 = *((r3 + 0x24));
    0x00012da0 cmp r3, 0                                     |         
                                                             |         if (r3 != 0) {
    0x00012da4 moveq r3, 4                                   |             r3 = 4;
                                                             |         }
                                                             |         if (r3 == 0) {
    0x00012da8 movne r3, 1                                   |             r3 = 1;
                                                             |         }
    0x00012dac str r3, [fp, 0x14]                            |         *(arg_14h) = r3;
                                                             |     }
    0x00012db0 ldr r5, [pc, 0xd44]                           |     r5 = *(0x13af8);
    0x00012db4 ldr r3, [r5]                                  |     r3 = *(0x13af8);
    0x00012db8 cmp r3, 0                                     |     
                                                             |     if (r3 == 0) {
    0x00012dbc bne 0x12dcc                                   |         
    0x00012dc0 ldr r3, [fp, 0x24]                            |         r3 = *(arg_24h);
    0x00012dc4 cmp r3, 0                                     |         
                                                             |         if (r3 == 0) {
    0x00012dc8 beq 0x12de4                                   |             goto label_64;
                                                             |         }
                                                             |     }
    0x00012dcc ldr r0, [pc, 0xcdc]                           |     
    0x00012dd0 mov r3, 0x1000                                |     r3 = 0x1000;
    0x00012dd4 mov r2, 1                                     |     r2 = 1;
    0x00012dd8 ldr r1, [pc, 0xbd0]                           |     r1 = *(0x139ac);
    0x00012ddc ldr r0, [r0]                                  |     r0 = *(0x13aac);
    0x00012de0 bl 0x121f8                                    |     setvbuf (r0, r1, r2, r3);
                                                             | label_64:
    0x00012de4 ldr r3, [r7]                                  |     r3 = *(r7);
    0x00012de8 cmp r3, 0                                     |     
                                                             |     if (r3 != 0) {
    0x00012dec beq 0x12e14                                   |         
    0x00012df0 ldr r0, [pc, 0xbbc]                           |         r0 = *(0x139b0);
    0x00012df4 mov r2, 0x18                                  |         r2 = 0x18;
    0x00012df8 mov r1, 9                                     |         r1 = 9;
    0x00012dfc bl 0x11ff4                                    |         openlog ();
    0x00012e00 ldr r3, [r5]                                  |         r3 = *(r5);
    0x00012e04 cmp r3, 0                                     |         
                                                             |         if (r3 == 0) {
    0x00012e08 movne r0, 0xff                                |             r0 = 0xff;
                                                             |         }
                                                             |         if (r3 != 0) {
    0x00012e0c moveq r0, 0x7f                                |             r0 = 0x7f;
                                                             |         }
    0x00012e10 bl 0x124d4                                    |         setlogmask ();
                                                             |     }
    0x00012e14 ldr r3, [r5]                                  |     r3 = *(r5);
    0x00012e18 cmp r3, 0                                     |     
                                                             |     if (r3 == 0) {
    0x00012e1c bne 0x12e2c                                   |         
    0x00012e20 ldr r3, [fp, 0x28]                            |         r3 = *(arg_28h);
    0x00012e24 cmp r3, 0                                     |         
                                                             |         if (r3 == 0) {
    0x00012e28 beq 0x12e40                                   |             goto label_65;
                                                             |         }
                                                             |     }
    0x00012e2c ldr r3, [pc, 0xb84]                           |     r3 = "ntpdate";
    0x00012e30 ldr r1, [pc, 0xb84]                           |     r1 = "ntpdate_4.2.8p13_1.3847_o_Mon_Nov__7_18:57:49_UTC_2022__1_";
    0x00012e34 ldr r2, [r3]                                  |     r2 = "ntpdate";
    0x00012e38 mov r0, 5                                     |     r0 = 5;
    0x00012e3c bl 0x1776c                                    |     fcn_0001776c (r0);
                                                             | label_65:
    0x00012e40 ldr r8, [pc, 0xb44]                           |     r8 = "46a:bBde:k:o:p:qst:uv";
    0x00012e44 ldr sl, [pc, 0xb74]                           |     sl = *(0x000139c0);
    0x00012e48 b 0x12f38                                     |     
                                                             |     while (r3 < sb) {
    0x00012e4c mov r2, 5                                     |         r2 = 5;
    0x00012e50 ldr r1, [pc, 0xb6c]                           |         r1 = *(0x139c0);
    0x00012e54 add r0, sp, 0x30                              |         r0 += dest;
    0x00012e58 ldr r7, [r6, r3, lsl 2]                       |         offset_0 = r3 << 2;
                                                             |         r7 = *((r6 + offset_0));
    0x00012e5c bl 0x11f4c                                    |         strlcpy (r0, r1, r2);
    0x00012e60 mov r2, 0x20                                  |         r2 = 0x20;
    0x00012e64 mov r1, 0                                     |         r1 = 0;
    0x00012e68 add r0, sp, 0x68                              |         r0 += s;
    0x00012e6c bl 0x122c4                                    |         memset (r0, r1, r2);
    0x00012e70 ldr r3, [r8]                                  |         r3 = *(r8);
    0x00012e74 add r2, sp, 0x68                              |         r2 += s;
    0x00012e78 str r3, [sp, 0x6c]                            |         var_6ch = r3;
    0x00012e7c mov r3, 2                                     |         r3 = 2;
    0x00012e80 str r3, [sp, 0x70]                            |         var_70h = r3;
    0x00012e84 add r1, sp, 0x30                              |         r1 += dest;
    0x00012e88 add r3, sp, 0x2c                              |         r3 += var_2ch;
    0x00012e8c mov r0, r7                                    |         r0 = r7;
    0x00012e90 bl 0x124a4                                    |         r0 = getaddrinfo ();
    0x00012e94 subs r4, r0, 0                                |         r4 = r0 - 0;
                                                             |         if (r4 == r0) {
    0x00012e98 beq 0x12fb4                                   |             goto label_66;
                                                             |         }
    0x00012e9c ldr r3, [pc, 0xaf0]                           |         
    0x00012ea0 ldr r3, [r3]                                  |         r3 = *(0x13990);
    0x00012ea4 str r3, [sp, 0x14]                            |         stream = r3;
    0x00012ea8 add r3, r4, 4                                 |         r3 = r4 + 4;
    0x00012eac cmp r3, 1                                     |         
                                                             |         if (r3 <= 1) {
    0x00012eb0 bhi 0x12ef0                                   |             
    0x00012eb4 bl 0x12258                                    |             gai_strerror ();
    0x00012eb8 mov r3, r4                                    |             r3 = r4;
    0x00012ebc ldr r1, [pc, 0xb04]                           |             r1 = *(0x139c4);
    0x00012ec0 mov r2, r0                                    |             r2 = r0;
    0x00012ec4 ldr r0, [sp, 0x14]                            |             r0 = stream;
    0x00012ec8 bl 0x1230c                                    |             fprintf (r0, r1, r2, r3)
    0x00012ecc mov r0, r4                                    |             r0 = r4;
    0x00012ed0 bl 0x12258                                    |             gai_strerror ();
    0x00012ed4 mov r3, r4                                    |             r3 = r4;
    0x00012ed8 ldr r1, [pc, 0xaec]                           |             r1 = "Exiting, name server cannot be used: %s (%d)";
    0x00012edc mov r2, r0                                    |             r2 = r0;
    0x00012ee0 mov r0, 3                                     |             r0 = 3;
    0x00012ee4 bl 0x1776c                                    |             fcn_0001776c (r0);
                                                             | label_4:
    0x00012ee8 mov r0, 1                                     |             r0 = 1;
    0x00012eec b 0x12b44                                     |             goto label_3;
                                                             |         }
    0x00012ef0 bl 0x12258                                    |         gai_strerror ();
    0x00012ef4 mov r2, r7                                    |         r2 = r7;
    0x00012ef8 ldr r1, [pc, 0xad0]                           |         r1 = "name_server_cannot_be_used:__s___d_";
    0x00012efc str r4, [sp]                                  |         *(sp) = r4;
    0x00012f00 mov r3, r0                                    |         r3 = r0;
    0x00012f04 ldr r0, [sp, 0x14]                            |         r0 = stream;
    0x00012f08 bl 0x1230c                                    |         fprintf (r0, "name_server_cannot_be_used:__s___d_", r2, r3, r4)
    0x00012f0c mov r0, r4                                    |         r0 = r4;
    0x00012f10 bl 0x12258                                    |         gai_strerror ();
    0x00012f14 str r4, [sp]                                  |         *(sp) = r4;
    0x00012f18 mov r2, r7                                    |         r2 = r7;
    0x00012f1c ldr r1, [pc, 0xab0]                           |         r1 = "Error_resolving__s:__s___d_";
    0x00012f20 mov r3, r0                                    |         r3 = r0;
    0x00012f24 mov r0, 3                                     |         r0 = 3;
    0x00012f28 bl 0x1776c                                    |         fcn_0001776c (r0);
                                                             | label_5:
    0x00012f2c ldr r3, [sl]                                  |         r3 = *(sl);
    0x00012f30 add r3, r3, 1                                 |         r3++;
    0x00012f34 str r3, [sl]                                  |         *(sl) = r3;
    0x00012f38 ldr r3, [pc, 0xa80]                           |         
    0x00012f3c ldr r3, [r3]                                  |         r3 = "_s";
    0x00012f40 cmp r3, sb                                    |         
    0x00012f44 blt 0x12e4c                                   |         
                                                             |     }
    0x00012f48 ldr r3, [fp, 0x30]                            |     r3 = *(arg_30h);
    0x00012f4c cmp r3, 0                                     |     
                                                             |     if (r3 != 0) {
    0x00012f50 ldreq r1, [pc, 0xa80]                         |         r1 = "no servers can be used, exiting";
                                                             |     }
                                                             |     if (r3 == 0) {
    0x00012f54 beq 0x132cc                                   |         goto label_8;
                                                             |     }
    0x00012f58 ldr r3, [fp, 4]                               |     r3 = *(arg_4h);
    0x00012f5c cmp r3, 0                                     |     
                                                             |     if (r3 == 0) {
    0x00012f60 beq 0x130c4                                   |         goto label_67;
                                                             |     }
    0x00012f64 ldr r4, [pc, 0xa30]                           |     r4 = "usage: %s [-46bBdqsuv] [-a key#] [-e delay] [-k file] [-p samples] [-o version#] [-t timeo] server ...\n";
    0x00012f68 bl 0x15850                                    |     fcn_00015850 ();
    0x00012f6c ldr r0, [r4, 0xc]                             |     r0 = "_s:_number_of_samples___d__is_invalid";
    0x00012f70 bl 0x162b8                                    |     r0 = fcn_000162b8 ("_s:_number_of_samples___d__is_invalid");
    0x00012f74 cmp r0, 0                                     |     
                                                             |     if (r0 != 0) {
    0x00012f78 ldreq r2, [r4, 0xc]                           |         r2 = *((r4 + 0xc));
                                                             |     }
                                                             |     if (r0 != 0) {
    0x00012f7c ldreq r1, [pc, 0xa58]                         |         r1 = "no key file <%s>, exiting";
                                                             |     }
                                                             |     if (r0 != 0) {
    0x00012f80 beq 0x12fa8                                   |         
    0x00012f84 mov r1, 1                                     |         r1 = 1;
    0x00012f88 ldr r0, [fp, 8]                               |         r0 = *(arg_8h);
    0x00012f8c bl 0x15cb4                                    |         fcn_00015cb4 (r0);
    0x00012f90 ldr r0, [fp, 8]                               |         r0 = *(arg_8h);
    0x00012f94 bl 0x15d68                                    |         r0 = fcn_00015d68 (r0);
    0x00012f98 cmp r0, 0                                     |         
                                                             |         if (r0 != 0) {
    0x00012f9c bne 0x130c4                                   |             goto label_67;
                                                             |         }
    0x00012fa0 ldr r2, [fp, 8]                               |         r2 = *(arg_8h);
    0x00012fa4 ldr r1, [pc, 0xa34]                           |         r1 = "no key file <%s>, exiting";
                                                             |     }
    0x00012fa8 mov r0, 3                                     |     r0 = 3;
    0x00012fac bl 0x1776c                                    |     fcn_0001776c (r0);
    0x00012fb0 b 0x12ee8                                     |     goto label_4;
                                                             | label_66:
    0x00012fb4 ldr r4, [sp, 0x2c]                            |     r4 = var_2ch;
                                                             |     do {
    0x00012fb8 cmp r4, 0                                     |         
                                                             |         if (r4 == 0) {
    0x00012fbc bne 0x12fcc                                   |             
    0x00012fc0 ldr r0, [sp, 0x2c]                            |             r0 = var_2ch;
    0x00012fc4 bl 0x12018                                    |             freeaddrinfo ();
    0x00012fc8 b 0x12f2c                                     |             goto label_5;
                                                             |         }
    0x00012fcc mov r2, 0x1c                                  |         r2 = 0x1c;
    0x00012fd0 mov r1, 0                                     |         r1 = 0;
    0x00012fd4 add r0, sp, 0x40                              |         r0 += address;
    0x00012fd8 bl 0x122c4                                    |         memset (r0, r1, r2);
    0x00012fdc ldr r2, [r4, 0x10]                            |         r2 = *((r4 + 0x10));
    0x00012fe0 cmp r2, 0x1c                                  |         
                                                             |         if (r2 >= 0x1c) {
    0x00012fe4 bls 0x12ffc                                   |             
    0x00012fe8 ldr r3, [pc, 0x9f4]                           |             r3 = "authentication key %lu unknown";
    0x00012fec ldr r1, [pc, 0x9f4]                           |             r1 = "ptr->ai_addrlen <= sizeof(addr)";
    0x00012ff0 mov r2, 2                                     |             r2 = 2;
                                                             | label_9:
    0x00012ff4 ldr r0, [pc, 0x9f0]                           |             r0 = *(0x139e8);
    0x00012ff8 bl 0x1b5ac                                    |             fcn_0001b5ac ();
                                                             |         }
    0x00012ffc ldr r1, [r4, 0x14]                            |         r1 = *((r4 + 0x14));
    0x00013000 add r0, sp, 0x40                              |         r0 += address;
    0x00013004 bl 0x11f64                                    |         memcpy (r0, r1, r2);
    0x00013008 mov r2, 0                                     |         r2 = 0;
    0x0001300c mov r1, 2                                     |         r1 = 2;
    0x00013010 ldrh r0, [sp, 0x40]                           |         r0 = address;
    0x00013014 bl 0x12378                                    |         r0 = socket (r0, r1, r2);
    0x00013018 cmn r0, 1                                     |         
    0x0001301c mov r7, r0                                    |         r7 = r0;
                                                             |         if (r0 != 1) {
    0x00013020 beq 0x1304c                                   |             
    0x00013024 ldrh r3, [sp, 0x40]                           |             r3 = address;
    0x00013028 add r1, sp, 0x40                              |             r1 += address;
    0x0001302c cmp r3, 2                                     |             
                                                             |             if (r3 == 2) {
    0x00013030 movne r2, 0x1c                                |                 r2 = 0x1c;
                                                             |             }
                                                             |             if (r3 != 2) {
    0x00013034 moveq r2, 0x10                                |                 r2 = 0x10;
                                                             |             }
    0x00013038 bl 0x11f70                                    |             r0 = connect (r0, r1, r2);
    0x0001303c subs r2, r0, 0                                |             r2 = r0 - 0;
                                                             |             if (r2 == r0) {
    0x00013040 beq 0x13054                                   |                 goto label_68;
                                                             |             }
    0x00013044 mov r0, r7                                    |             r0 = r7;
    0x00013048 bl 0x12234                                    |             close (r0);
                                                             |         }
                                                             | label_6:
    0x0001304c ldr r4, [r4, 0x1c]                            |         r4 = *((r4 + 0x1c));
    0x00013050 b 0x12fb8                                     |         
                                                             |     } while (1);
                                                             | label_68:
    0x00013054 mov r0, r7                                    |     r0 = r7;
    0x00013058 str r2, [sp, 0x14]                            |     stream = r2;
    0x0001305c bl 0x12234                                    |     close (r0);
    0x00013060 ldr r2, [sp, 0x14]                            |     r2 = stream;
    0x00013064 mov r3, 1                                     |     r3 = 1;
    0x00013068 mov r1, 0x110                                 |     r1 = 0x110;
    0x0001306c mov r0, r2                                    |     r0 = r2;
    0x00013070 bl 0x16c28                                    |     fcn_00016c28 (r0, r1);
    0x00013074 ldr r2, [r4, 0x10]                            |     r2 = *((r4 + 0x10));
    0x00013078 ldr r1, [r4, 0x14]                            |     r1 = *((r4 + 0x14));
    0x0001307c mov r7, r0                                    |     r7 = r0;
    0x00013080 add r0, r0, 4                                 |     r0 += 4;
    0x00013084 bl 0x11f64                                    |     memcpy (r0, r1, r2);
    0x00013088 ldr r3, [fp, 0x30]                            |     r3 = *(arg_30h);
    0x0001308c ldr r2, [pc, 0x95c]                           |     r2 = "ntpdate.c";
    0x00013090 add r3, r3, 1                                 |     r3++;
    0x00013094 str r3, [fp, 0x30]                            |     *(arg_30h) = r3;
    0x00013098 str r3, [r7, 0x3c]                            |     *((r7 + 0x3c)) = r3;
    0x0001309c ldr r3, [r2]                                  |     r3 = "ntpdate.c";
    0x000130a0 cmp r3, 0                                     |     
                                                             |     if (r3 == 0) {
    0x000130a4 streq r7, [r2]                                |         *(r2) = r7;
                                                             |         goto label_69;
                                                             |     }
                                                             |     if (r3 == 0) {
                                                             | label_69:
    0x000130a8 beq 0x1304c                                   |         goto label_6;
                                                             |     }
                                                             | label_7:
    0x000130ac ldr r2, [r3]                                  |     r2 = *(r3);
    0x000130b0 cmp r2, 0                                     |     
                                                             |     if (r2 == 0) {
    0x000130b4 streq r7, [r3]                                |         *(r3) = r7;
                                                             |         goto label_70;
                                                             |     }
                                                             |     if (r2 == 0) {
                                                             | label_70:
    0x000130b8 beq 0x1304c                                   |         goto label_6;
                                                             |     }
    0x000130bc mov r3, r2                                    |     r3 = r2;
    0x000130c0 b 0x130ac                                     |     goto label_7;
                                                             | label_67:
    0x000130c4 ldr r5, [r5]                                  |     r5 = *(r5);
    0x000130c8 mov r3, 1                                     |     r3 = 1;
    0x000130cc cmp r5, 0                                     |     
    0x000130d0 str r3, [sp, 0x2c]                            |     var_2ch = r3;
                                                             |     if (r5 == 0) {
    0x000130d4 movne r5, 0                                   |         r5 = 0;
                                                             |     }
                                                             |     if (r5 == 0) {
    0x000130d8 bne 0x130f0                                   |         
    0x000130dc ldr r3, [fp, 0x24]                            |         r3 = *(arg_24h);
    0x000130e0 cmp r3, 0                                     |         
                                                             |         if (r3 != 0) {
    0x000130e4 ldreq r5, [fp, 0x2c]                          |             r5 = *(arg_2ch);
                                                             |         }
    0x000130e8 clzeq r5, r5                                  |         __asm ("clzeq r5, r5");
                                                             |         if (r3 == 0) {
    0x000130ec lsreq r5, r5, 5                               |             r5 >>= 5;
                                                             |             goto label_71;
                                                             |         }
                                                             |     }
                                                             | label_71:
    0x000130f0 ldr r0, [fp, 0x30]                            |     r0 = *(arg_30h);
    0x000130f4 mov r4, 1                                     |     r4 = 1;
    0x000130f8 add r0, r0, 2                                 |     r0 += 2;
    0x000130fc bl 0x19168                                    |     fcn_00019168 (r0);
    0x00013100 mov r2, 5                                     |     r2 = 5;
    0x00013104 ldr r1, [pc, 0x8b8]                           |     r1 = *(0x139c0);
    0x00013108 add r0, sp, 0x30                              |     r0 += dest;
    0x0001310c bl 0x11f4c                                    |     strlcpy (r0, r1, r2);
    0x00013110 mov r2, 0x20                                  |     r2 = 0x20;
    0x00013114 mov r1, 0                                     |     r1 = 0;
    0x00013118 add r0, sp, 0x68                              |     r0 += s;
    0x0001311c bl 0x122c4                                    |     memset (r0, r1, r2);
    0x00013120 ldr r3, [r8]                                  |     r3 = *(r8);
    0x00013124 add r1, sp, 0x30                              |     r1 += dest;
    0x00013128 str r3, [sp, 0x6c]                            |     var_6ch = r3;
    0x0001312c mov r3, 2                                     |     r3 = 2;
    0x00013130 str r3, [sp, 0x70]                            |     var_70h = r3;
    0x00013134 add r2, sp, 0x68                              |     r2 += s;
    0x00013138 add r3, sp, 0x28                              |     r3 += var_28h;
    0x0001313c mov r0, 0                                     |     r0 = 0;
    0x00013140 str r4, [sp, 0x68]                            |     s = r4;
    0x00013144 bl 0x124a4                                    |     r0 = getaddrinfo ();
    0x00013148 cmp r0, 0                                     |     
                                                             |     if (r0 == 0) {
    0x0001314c ldrne r1, [pc, 0x8a0]                         |         r1 = "getaddrinfo() failed: %m";
                                                             |     }
                                                             |     if (r0 != 0) {
    0x00013150 bne 0x132cc                                   |         goto label_8;
                                                             |     }
    0x00013154 ldr r4, [pc, 0x89c]                           |     r4 = "getaddrinfo() failed: %m";
    0x00013158 ldr r7, [sp, 0x28]                            |     r7 = var_28h;
    0x0001315c ldr r6, [pc, 0x898]                           |     r6 = *(0x139f8);
    0x00013160 ldr r8, [pc, 0x898]                           |     r8 = *(0x139fc);
    0x00013164 str r0, [r4]                                  |     *(r4) = r0;
                                                             | label_10:
    0x00013168 ldr sb, [r4]                                  |     sb = *(r4);
    0x0001316c cmp sb, 1                                     |     
                                                             |     if (sb <= 1) {
    0x00013170 bgt 0x13180                                   |         
    0x00013174 ldr r3, [sp, 0x28]                            |         r3 = var_28h;
    0x00013178 cmp r3, 0                                     |         
                                                             |         if (r3 != 0) {
    0x0001317c bne 0x13294                                   |             goto label_72;
                                                             |         }
                                                             |     }
    0x00013180 mov r4, 0                                     |     r4 = 0;
    0x00013184 mov r0, r7                                    |     r0 = r7;
    0x00013188 bl 0x12018                                    |     freeaddrinfo ();
    0x0001318c ldr r2, [pc, 0x870]                           |     r2 = *(0x13a00);
    0x00013190 mov r1, r4                                    |     r1 = r4;
    0x00013194 mov r0, r4                                    |     r0 = r4;
    0x00013198 str r4, [fp]                                  |     *(fp) = r4;
    0x0001319c str r4, [fp]                                  |     *(fp) = r4;
    0x000131a0 bl 0x1224c                                    |     r0 = timer_create ();
    0x000131a4 cmn r0, 1                                     |     
                                                             |     if (r0 != 1) {
    0x000131a8 bne 0x13414                                   |         goto label_73;
                                                             |     }
    0x000131ac ldr r3, [pc, 0x7e0]                           |     r3 = *(0x13990);
    0x000131b0 ldr r0, [pc, 0x850]                           |     r0 = *(0x13a04);
    0x000131b4 ldr r1, [r3]                                  |     r1 = *(0x13990);
    0x000131b8 bl 0x12294                                    |     fputs (r0, r1);
                                                             | label_11:
    0x000131bc mov r1, 0                                     |     r1 = 0;
    0x000131c0 mvn r2, 0xb                                   |     r2 = ~0xb;
    0x000131c4 mov r0, r1                                    |     r0 = r1;
    0x000131c8 bl 0x1221c                                    |     setpriority ();
    0x000131cc ldr r6, [pc, 0x928]                           |     r6 = *(0x13af8);
    0x000131d0 ldr r3, [pc, 0x7c4]                           |     r3 = "usage: %s [-46bBdqsuv] [-a key#] [-e delay] [-k file] [-p samples] [-o version#] [-t timeo] server ...\n";
    0x000131d4 mov r2, 0                                     |     r2 = 0;
    0x000131d8 str r2, [r3, 8]                               |     *((r3 + 8)) = r2;
    0x000131dc str r3, [sp, 0x24]                            |     var_24h = r3;
                                                             | label_12:
    0x000131e0 ldr r2, [fp, 0x18]                            |     r2 = *(arg_18h);
    0x000131e4 ldr r3, [fp, 0x30]                            |     r3 = *(arg_30h);
    0x000131e8 cmp r2, r3                                    |     
                                                             |     if (r2 < r3) {
    0x000131ec blt 0x13450                                   |         goto label_74;
                                                             |     }
    0x000131f0 ldr sl, [pc, 0x7f8]                           |     sl = *(0x000139f0);
    0x000131f4 add ip, sp, 0x68                              |     
    0x000131f8 ldr r3, [sl]                                  |     r3 = *(sl);
    0x000131fc mov r7, 0x400000                              |     r7 = 0x400000;
                                                             | label_21:
    0x00013200 cmp r3, 0                                     |     
                                                             |     if (r3 != 0) {
    0x00013204 bne 0x13ca4                                   |         goto label_75;
                                                             |     }
    0x00013208 ldr r4, [sl]                                  |     r4 = *(sl);
    0x0001320c ldr r6, [pc, 0x8e8]                           |     r6 = *(0x13af8);
    0x00013210 ldr r7, [pc, 0x7f4]                           |     r7 = "init_alarm(): timer_create (...) FAILED\n";
    0x00013214 mov r5, r3                                    |     r5 = r3;
                                                             | label_26:
    0x00013218 cmp r4, 0                                     |     
    0x0001321c ldr r2, [r6]                                  |     r2 = *(r6);
                                                             |     if (r4 != 0) {
    0x00013220 bne 0x13e18                                   |         goto label_76;
                                                             |     }
    0x00013224 add ip, sp, 0x40                              |     
    0x00013228 mov r3, ip                                    |     r3 = ip;
    0x0001322c mov r0, 1                                     |     r0 = 1;
    0x00013230 mov r1, r4                                    |     r1 = r4;
    0x00013234 mov r7, ip                                    |     r7 = ip;
                                                             | label_31:
    0x00013238 cmp r5, r0                                    |     
                                                             |     if (r5 > r0) {
    0x0001323c bhi 0x14010                                   |         goto label_77;
                                                             |     }
    0x00013240 cmp r5, 0                                     |     
                                                             |     if (r5 != 0) {
    0x00013244 beq 0x1325c                                   |         
    0x00013248 mov r0, r5                                    |         r0 = r5;
                                                             | label_30:
    0x0001324c cmp r0, 1                                     |         
                                                             |         if (r0 == 1) {
    0x00013250 movne r3, 1                                   |             r3 = 1;
                                                             |         }
                                                             |         if (r0 != 1) {
    0x00013254 bne 0x1407c                                   |             goto label_78;
                                                             |         }
                                                             | label_33:
    0x00013258 ldr r4, [sp, 0x40]                            |         r4 = address;
                                                             |     }
    0x0001325c cmp r2, 0                                     |     
                                                             |     if (r2 != 0) {
    0x00013260 bne 0x141a4                                   |         goto label_79;
                                                             |     }
    0x00013264 ldr r3, [fp, 0x24]                            |     r3 = *(arg_24h);
    0x00013268 cmp r3, 0                                     |     
                                                             |     if (r3 != 0) {
    0x0001326c bne 0x141ac                                   |         goto label_80;
                                                             |     }
                                                             | label_38:
    0x00013270 cmp r4, 0                                     |     
                                                             |     if (r4 != 0) {
    0x00013274 bne 0x14504                                   |         goto label_81;
                                                             |     }
    0x00013278 ldr r1, [pc, 0x790]                           |     r1 = *(0x13a0c);
    0x0001327c mov r0, 3                                     |     r0 = 3;
    0x00013280 bl 0x1776c                                    |     fcn_0001776c (r0);
    0x00013284 mov r5, 1                                     |     r5 = 1;
                                                             | label_43:
    0x00013288 mov r0, r5                                    |     r0 = r5;
    0x0001328c add sp, sp, 0x94                              |     
    0x00013290 pop {r4, r5, r6, r7, r8, sb, sl, fp, pc}      |     
                                                             | label_72:
    0x00013294 ldmib r3, {r0, r1, r2}                        |     __asm ("ldmib r3, {r0, r1, r2}");
    0x00013298 bl 0x12378                                    |     socket (r0, r1, r2);
    0x0001329c ldr r3, [r4]                                  |     r3 = *(r4);
    0x000132a0 str r0, [r6, sb, lsl 2]                       |     offset_1 = sb << 2;
                                                             |     *((r6 + offset_1)) = r0;
    0x000132a4 ldr r0, [r6, r3, lsl 2]                       |     offset_2 = r3 << 2;
                                                             |     r0 = *((r6 + offset_2));
    0x000132a8 cmn r0, 1                                     |     
                                                             |     if (r0 != 1) {
    0x000132ac bne 0x132d8                                   |         goto label_82;
                                                             |     }
    0x000132b0 bl 0x11f1c                                    |     r0 = errno_location ();
    0x000132b4 ldr r3, [r0]                                  |     r3 = *(r0);
    0x000132b8 sub r2, r3, 0x60                              |     r2 = r3 - 0x60;
    0x000132bc cmp r3, 0x5d                                  |     
    0x000132c0 cmpne r2, 1                                   |     __asm ("cmpne r2, 1");
                                                             |     if (r3 < 0x5d) {
    0x000132c4 bls 0x13404                                   |         goto label_83;
                                                             |     }
    0x000132c8 ldr r1, [pc, 0x744]                           |     r1 = "no_server_suitable_for_synchronization_found";
                                                             |     do {
                                                             | label_8:
    0x000132cc mov r0, 3                                     |         r0 = 3;
    0x000132d0 bl 0x1776c                                    |         fcn_0001776c (r0);
    0x000132d4 b 0x12ee8                                     |         goto label_4;
                                                             | label_82:
    0x000132d8 mov sb, 4                                     |         sb = 4;
    0x000132dc str sb, [sp]                                  |         *(sp) = sb;
    0x000132e0 add r3, sp, 0x2c                              |         r3 += var_2ch;
    0x000132e4 mov r2, 2                                     |         r2 = 2;
    0x000132e8 mov r1, 1                                     |         r1 = 1;
    0x000132ec bl 0x121bc                                    |         r0 = setsockopt ();
    0x000132f0 cmp r0, 0                                     |         
                                                             |         if (r0 >= 0) {
    0x000132f4 ldrlt r1, [pc, 0x71c]                         |             r1 = "setsockopt() SO_REUSEADDR failed: %m";
                                                             |         }
    0x000132f8 blt 0x132cc                                   |         
                                                             |     } while (r0 < 0);
    0x000132fc ldr r3, [sp, 0x28]                            |     r3 = var_28h;
    0x00013300 ldr r3, [r3, 4]                               |     r3 = *((r3 + 4));
    0x00013304 cmp r3, 0xa                                   |     
                                                             |     if (r3 != 0xa) {
    0x00013308 bne 0x13334                                   |         goto label_84;
                                                             |     }
    0x0001330c ldr r0, [r4]                                  |     r0 = *(r4);
    0x00013310 add r3, sp, 0x2c                              |     r3 += var_2ch;
    0x00013314 str sb, [sp]                                  |     *(sp) = sb;
    0x00013318 mov r2, 0x1a                                  |     r2 = 0x1a;
    0x0001331c mov r1, 0x29                                  |     r1 = 0x29;
    0x00013320 ldr r0, [r6, r0, lsl 2]                       |     offset_3 = r0 << 2;
                                                             |     r0 = *((r6 + offset_3));
    0x00013324 bl 0x121bc                                    |     r0 = setsockopt ();
    0x00013328 cmp r0, 0                                     |     
                                                             |     if (r0 < 0) {
    0x0001332c ldrlt r1, [pc, 0x6e8]                         |         r1 = "setsockopt() IPV6_V6ONLY failed: %m";
                                                             |         goto label_85;
                                                             |     }
                                                             |     if (r0 < 0) {
                                                             | label_85:
    0x00013330 blt 0x132cc                                   |         goto label_8;
                                                             |     }
                                                             | label_84:
    0x00013334 ldr r2, [sp, 0x28]                            |     r2 = var_28h;
    0x00013338 ldr r3, [r4]                                  |     r3 = *(r4);
    0x0001333c ldr r2, [r2, 4]                               |     r2 = *((r2 + 4));
    0x00013340 cmp r5, 0                                     |     
    0x00013344 str r2, [r8, r3, lsl 2]                       |     offset_4 = r3 << 2;
                                                             |     *((r8 + offset_4)) = r2;
                                                             |     if (r5 == 0) {
    0x00013348 beq 0x133c4                                   |         goto label_86;
                                                             |     }
    0x0001334c mov r2, 0x1c                                  |     r2 = 0x1c;
    0x00013350 mov r1, 0                                     |     r1 = 0;
    0x00013354 add r0, sp, 0x40                              |     r0 += address;
    0x00013358 bl 0x122c4                                    |     memset (r0, r1, r2);
    0x0001335c ldr r3, [sp, 0x28]                            |     r3 = var_28h;
    0x00013360 ldr r2, [r3, 0x10]                            |     r2 = *((r3 + 0x10));
    0x00013364 cmp r2, 0x1c                                  |     
                                                             |     if (r2 <= 0x1c) {
    0x00013368 ldrhi r3, [pc, 0x6b0]                         |         r3 = "res__ai_addrlen___sizeof_addr_";
                                                             |     }
                                                             |     if (r2 <= 0x1c) {
    0x0001336c movhi r2, 2                                   |         r2 = 2;
                                                             |     }
                                                             |     if (r2 > 0x1c) {
    0x00013370 ldrhi r1, [pc, 0x6ac]                         |         r1 = *(0x00013a24);
                                                             |         goto label_87;
                                                             |     }
                                                             |     if (r2 > 0x1c) {
                                                             | label_87:
    0x00013374 bhi 0x12ff4                                   |         goto label_9;
                                                             |     }
    0x00013378 ldr r1, [r3, 0x14]                            |     r1 = *((r3 + 0x14));
    0x0001337c add r0, sp, 0x40                              |     r0 += address;
    0x00013380 bl 0x11f64                                    |     memcpy (r0, r1, r2);
    0x00013384 ldrh r2, [sp, 0x40]                           |     r2 = address;
    0x00013388 ldr r3, [r4]                                  |     r3 = *(r4);
    0x0001338c cmp r2, 2                                     |     
                                                             |     if (r2 == 2) {
    0x00013390 movne r2, 0x1c                                |         r2 = 0x1c;
                                                             |     }
                                                             |     if (r2 != 2) {
    0x00013394 moveq r2, 0x10                                |         r2 = 0x10;
                                                             |     }
    0x00013398 add r1, sp, 0x40                              |     r1 += address;
    0x0001339c ldr r0, [r6, r3, lsl 2]                       |     offset_5 = r3 << 2;
                                                             |     r0 = *((r6 + offset_5));
    0x000133a0 bl 0x11ed4                                    |     r0 = bind (r0, r1, r2);
    0x000133a4 cmp r0, 0                                     |     
                                                             |     if (r0 < 0) {
    0x000133a8 bge 0x133c4                                   |         
    0x000133ac bl 0x11f1c                                    |         r0 = errno_location ();
    0x000133b0 ldr r3, [r0]                                  |         r3 = *(r0);
    0x000133b4 cmp r3, 0x62                                  |         
                                                             |         if (r3 != 0x62) {
    0x000133b8 ldreq r1, [pc, 0x668]                         |             r1 = "the NTP socket is in use, exiting";
                                                             |         }
                                                             |         if (r3 == 0x62) {
    0x000133bc ldrne r1, [pc, 0x668]                         |             r1 = "bind___fails:__m";
                                                             |         }
    0x000133c0 b 0x132cc                                     |         goto label_8;
                                                             |     }
                                                             | label_86:
    0x000133c4 ldr r2, [r4]                                  |     r2 = *(r4);
    0x000133c8 ldr r3, [pc, 0x660]                           |     r3 = "bind___fails:__m";
    0x000133cc ldr r0, [r6, r2, lsl 2]                       |     offset_6 = r2 << 2;
                                                             |     r0 = *((r6 + offset_6));
    0x000133d0 mov sb, 1                                     |     sb = 1;
    0x000133d4 str r0, [r3, r2, lsl 3]                       |     offset_7 = r2 << 3;
                                                             |     *((r3 + offset_7)) = r0;
    0x000133d8 add r3, r3, r2, lsl 3                         |     r3 += (r2 << 3);
    0x000133dc strh sb, [r3, 4]                              |     *((r3 + 4)) = sb;
    0x000133e0 mov r2, 0x800                                 |     r2 = 0x800;
    0x000133e4 mov r1, 4                                     |     r1 = 4;
    0x000133e8 bl 0x11f34                                    |     r0 = fcntl64 ();
    0x000133ec cmp r0, 0                                     |     
                                                             |     if (r0 < 0) {
    0x000133f0 ldrlt r1, [pc, 0x63c]                         |         r1 = "fcntl(FNDELAY|FASYNC) fails: %m";
                                                             |         goto label_88;
                                                             |     }
                                                             |     if (r0 < 0) {
                                                             | label_88:
    0x000133f4 blt 0x132cc                                   |         goto label_8;
                                                             |     }
    0x000133f8 ldr r3, [r4]                                  |     r3 = *(r4);
    0x000133fc add r3, r3, 1                                 |     r3++;
    0x00013400 str r3, [r4]                                  |     *(r4) = r3;
                                                             | label_83:
    0x00013404 ldr r3, [sp, 0x28]                            |     r3 = var_28h;
    0x00013408 ldr r3, [r3, 0x1c]                            |     r3 = *((r3 + 0x1c));
    0x0001340c str r3, [sp, 0x28]                            |     var_28h = r3;
    0x00013410 b 0x13168                                     |     goto label_10;
                                                             | label_73:
    0x00013414 ldr r1, [pc, 0x61c]                           |     r1 = "fcntl(FNDELAY|FASYNC) fails: %m";
    0x00013418 mov r0, 0xe                                   |     r0 = 0xe;
    0x0001341c bl 0x1b398                                    |     fcn_0001b398 (r0, "fcntl(FNDELAY|FASYNC) fails: %m");
    0x00013420 ldr r3, [pc, 0x614]                           |     r3 = *(0x13a38);
    0x00013424 add r2, sp, 0x68                              |     r2 += s;
    0x00013428 str r3, [sp, 0x6c]                            |     var_6ch = r3;
    0x0001342c ldr r3, [pc, 0x60c]                           |     r3 = *(0x13a3c);
    0x00013430 mov r1, r4                                    |     r1 = r4;
    0x00013434 str r3, [sp, 0x74]                            |     var_74h = r3;
    0x00013438 ldr r0, [fp, 0x34]                            |     r0 = *(arg_34h);
    0x0001343c mov r3, r4                                    |     r3 = r4;
    0x00013440 str r4, [sp, 0x68]                            |     s = r4;
    0x00013444 str r4, [sp, 0x70]                            |     var_70h = r4;
    0x00013448 bl 0x11ea4                                    |     timer_settime ();
    0x0001344c b 0x131bc                                     |     goto label_11;
                                                             | label_74:
    0x00013450 ldr r3, [fp]                                  |     r3 = *(fp);
    0x00013454 cmp r3, 0                                     |     
                                                             |     if (r3 == 0) {
    0x00013458 movne r3, 0                                   |         r3 = 0;
                                                             |     }
                                                             |     if (r3 == 0) {
    0x0001345c strne r3, [fp]                                |         *(fp) = r3;
                                                             |     }
                                                             |     if (r3 == 0) {
    0x00013460 movne r3, 1                                   |         r3 = 1;
                                                             |     }
    0x00013464 str r3, [sp, 0x14]                            |     stream = r3;
    0x00013468 bl 0x19138                                    |     fcn_00019138 ();
    0x0001346c ldr r3, [sp, 0x14]                            |     r3 = stream;
    0x00013470 orrs r4, r0, r3                               |     r4 = r0 | r3;
                                                             |     if (r4 == r0) {
    0x00013474 bne 0x134c0                                   |         
    0x00013478 ldr r3, [sp, 0x24]                            |         r3 = var_24h;
    0x0001347c mov r1, 0x3e8                                 |         r1 = 0x3e8;
    0x00013480 ldr r3, [r3, 0x10]                            |         r3 = *((r3 + 0x10));
    0x00013484 ldr r0, [pc, 0x5a4]                           |         r0 = "bind___fails:__m";
    0x00013488 mul r2, r3, r1                                |         r2 = r3 * r1;
    0x0001348c ldr r3, [pc, 0x564]                           |         r3 = "getaddrinfo() failed: %m";
    0x00013490 ldr r1, [r3]                                  |         r1 = "getaddrinfo() failed: %m";
    0x00013494 bl 0x11eb0                                    |         r0 = poll ();
    0x00013498 subs r5, r0, 0                                |         r5 = r0 - 0;
                                                             |         if (r5 <= r0) {
    0x0001349c ble 0x134e4                                   |             goto label_89;
                                                             |         }
    0x000134a0 bl 0x12978                                    |         fcn_00012978 ();
                                                             | label_13:
    0x000134a4 ldr r3, [fp]                                  |         r3 = *(fp);
    0x000134a8 cmp r3, 0                                     |         
                                                             |         if (r3 == 0) {
    0x000134ac movne r3, 0                                   |             r3 = 0;
                                                             |         }
                                                             |         if (r3 == 0) {
    0x000134b0 movne r4, 1                                   |             r4 = 1;
                                                             |         }
                                                             |         if (r3 == 0) {
    0x000134b4 strne r3, [fp]                                |             *(fp) = r3;
                                                             |         }
    0x000134b8 bl 0x19138                                    |         fcn_00019138 ();
    0x000134bc str r4, [sp, 0x14]                            |         stream = r4;
                                                             |     }
                                                             | label_14:
    0x000134c0 bl 0x19310                                    |     r0 = fcn_00019310 ();
    0x000134c4 cmp r0, 0                                     |     
    0x000134c8 mov r4, r0                                    |     r4 = r0;
                                                             |     if (r0 != 0) {
    0x000134cc bne 0x13528                                   |         goto label_90;
                                                             |     }
    0x000134d0 ldr r3, [sp, 0x14]                            |     r3 = stream;
    0x000134d4 cmp r3, 0                                     |     
                                                             |     if (r3 == 0) {
    0x000134d8 beq 0x131e0                                   |         goto label_12;
                                                             |     }
    0x000134dc bl 0x12920                                    |     fcn_00012920 ();
    0x000134e0 b 0x131e0                                     |     goto label_12;
                                                             | label_89:
    0x000134e4 bl 0x11f1c                                    |     errno_location ();
    0x000134e8 cmn r5, 1                                     |     
    0x000134ec ldr r3, [r0]                                  |     r3 = *(r0);
                                                             |     if (r5 != 1) {
    0x000134f0 bne 0x1350c                                   |         goto label_91;
                                                             |     }
    0x000134f4 cmp r3, 4                                     |     
                                                             |     if (r3 == 4) {
    0x000134f8 beq 0x134a4                                   |         goto label_13;
                                                             |     }
    0x000134fc ldr r1, [pc, 0x540]                           |     r1 = *(0x13a40);
    0x00013500 mov r0, 3                                     |     r0 = 3;
    0x00013504 bl 0x1776c                                    |     fcn_0001776c (r0);
    0x00013508 b 0x134a4                                     |     goto label_13;
                                                             | label_91:
    0x0001350c cmp r3, 0                                     |     
                                                             |     if (r3 == 0) {
    0x00013510 beq 0x134a4                                   |         goto label_13;
                                                             |     }
    0x00013514 mov r2, r5                                    |     r2 = r5;
    0x00013518 ldr r1, [pc, 0x528]                           |     r1 = "poll___error:__m";
    0x0001351c mov r0, 7                                     |     r0 = 7;
    0x00013520 bl 0x1776c                                    |     fcn_0001776c (r0);
    0x00013524 b 0x134a4                                     |     goto label_13;
                                                             | label_90:
    0x00013528 ldr r3, [r6]                                  |     r3 = *(r6);
    0x0001352c cmp r3, 0                                     |     
                                                             |     if (r3 != 0) {
    0x00013530 beq 0x13548                                   |         
    0x00013534 add r0, r4, 4                                 |         r0 = r4 + 4;
    0x00013538 bl 0x1a9f8                                    |         r0 = fcn_0001a9f8 (r0);
    0x0001353c mov r1, r0                                    |         r1 = r0;
    0x00013540 ldr r0, [pc, 0x504]                           |         r0 = "poll__:_nfound___d__error:__m";
    0x00013544 bl 0x12474                                    |         printf ("poll__:_nfound___d__error:__m", r1);
                                                             |     }
    0x00013548 ldr r8, [r4, 0x54]                            |     r8 = *((r4 + 0x54));
    0x0001354c cmp r8, 0x30                                  |     
                                                             |     if (r8 == 0x30) {
    0x00013550 beq 0x13580                                   |         goto label_92;
                                                             |     }
    0x00013554 cmp r8, 0x2f                                  |     
                                                             |     if (r8 > 0x2f) {
    0x00013558 bgt 0x135d4                                   |         goto label_93;
                                                             |     }
    0x0001355c ldr r3, [r6]                                  |     r3 = *(r6);
    0x00013560 cmp r3, 0                                     |     
                                                             |     if (r3 == 0) {
    0x00013564 beq 0x13574                                   |         goto label_15;
                                                             |     }
    0x00013568 mov r1, r8                                    |     r1 = r8;
    0x0001356c ldr r0, [pc, 0x4dc]                           |     r0 = "receive(%s)\n";
    0x00013570 bl 0x12474                                    |     printf ("receive(%s)\n", r1);
                                                             |     do {
                                                             | label_15:
    0x00013574 mov r0, r4                                    |         r0 = r4;
    0x00013578 bl 0x19208                                    |         fcn_00019208 (r0);
    0x0001357c b 0x134c0                                     |         goto label_14;
                                                             | label_92:
    0x00013580 mov r7, 0                                     |         r7 = 0;
                                                             | label_16:
    0x00013584 ldrb r1, [r4, 0x58]                           |         r1 = *((r4 + 0x58));
    0x00013588 lsr r3, r1, 3                                 |         r3 = r1 >> 3;
    0x0001358c and r3, r3, 7                                 |         r3 &= 7;
    0x00013590 sub r3, r3, 1                                 |         r3--;
    0x00013594 cmp r3, 3                                     |         
    0x00013598 bhi 0x13574                                   |         
                                                             |     } while (r3 > 3);
    0x0001359c and r1, r1, 7                                 |     r1 &= 7;
    0x000135a0 sub r3, r1, 2                                 |     r3 = r1 - 2;
    0x000135a4 ands r0, r3, 0xfd                             |     r0 = r3 & 0xfd;
                                                             |     if (r0 == r3) {
    0x000135a8 bne 0x135b8                                   |         
    0x000135ac ldrb r3, [r4, 0x59]                           |         r3 = *((r4 + 0x59));
    0x000135b0 cmp r3, 0xf                                   |         
                                                             |         if (r3 < 0xf) {
    0x000135b4 bls 0x135dc                                   |             goto label_94;
                                                             |         }
                                                             |     }
    0x000135b8 ldr r3, [r6]                                  |     r3 = *(r6);
    0x000135bc cmp r3, 0                                     |     
                                                             |     if (r3 == 0) {
    0x000135c0 beq 0x13574                                   |         goto label_15;
                                                             |     }
    0x000135c4 ldrb r2, [r4, 0x59]                           |     r2 = *((r4 + 0x59));
    0x000135c8 ldr r0, [pc, 0x484]                           |     r0 = "receive:_packet_length__d";
    0x000135cc bl 0x12474                                    |     printf ("receive:_packet_length__d", r1, r2);
    0x000135d0 b 0x13574                                     |     goto label_15;
                                                             | label_93:
    0x000135d4 mov r7, 1                                     |     r7 = 1;
    0x000135d8 b 0x13584                                     |     goto label_16;
                                                             | label_94:
    0x000135dc ldrh r2, [r4, 6]                              |     r2 = *((r4 + 6));
    0x000135e0 lsr r3, r2, 8                                 |     r3 = r2 >> 8;
    0x000135e4 orr r3, r3, r2, lsl 8                         |     r3 |= (r2 << 8);
    0x000135e8 lsl r3, r3, 0x10                              |     r3 <<= 0x10;
    0x000135ec lsr r3, r3, 0x10                              |     r3 >>= 0x10;
    0x000135f0 cmp r3, 0x7b                                  |     
                                                             |     if (r3 == 0x7b) {
    0x000135f4 bne 0x13690                                   |         
    0x000135f8 ldr sb, [pc, 0x3f0]                           |         sb = *(0x000139f0);
    0x000135fc add r3, r4, 0xc                               |         r3 = r4 + 0xc;
    0x00013600 ldr r5, [sb]                                  |         r5 = *(sb);
    0x00013604 mov sl, r0                                    |         sl = r0;
    0x00013608 str r3, [sp, 0x18]                            |         s1 = r3;
                                                             | label_19:
    0x0001360c cmp r5, 0                                     |         
                                                             |         if (r5 != 0) {
    0x00013610 bne 0x136a8                                   |             goto label_95;
                                                             |         }
    0x00013614 cmp sl, 0                                     |         
                                                             |         if (sl == 0) {
    0x00013618 beq 0x13690                                   |             goto label_96;
                                                             |         }
    0x0001361c ldr r3, [sl, 0x3c]                            |         r3 = *((sl + 0x3c));
    0x00013620 mov r2, 0                                     |         r2 = 0;
    0x00013624 cmp r3, 0                                     |         
                                                             |         if (r3 == 0) {
    0x00013628 ldrne r3, [fp, 0x18]                          |             r3 = *(arg_18h);
                                                             |         }
                                                             |         if (r3 == 0) {
    0x0001362c strne r5, [sl, 0x3c]                          |             *((sl + 0x3c)) = r5;
                                                             |         }
                                                             |         if (r3 == 0) {
    0x00013630 addne r3, r3, 1                               |             r3++;
                                                             |         }
                                                             |         if (r3 == 0) {
    0x00013634 strne r3, [fp, 0x18]                          |             *(arg_18h) = r3;
                                                             |         }
    0x00013638 mov r1, 0x110                                 |         r1 = 0x110;
    0x0001363c mov r3, 1                                     |         r3 = 1;
    0x00013640 mov r0, r2                                    |         r0 = r2;
    0x00013644 bl 0x16c28                                    |         fcn_00016c28 (r0, r1);
    0x00013648 add lr, r4, 4                                 |         lr = r4 + 4;
    0x0001364c mov r5, r0                                    |         r5 = r0;
    0x00013650 add ip, r0, 4                                 |         
    0x00013654 ldm lr!, {r0, r1, r2, r3}                     |         r0 = *(lr!);
                                                             |         r1 = *((lr! + 4));
                                                             |         r2 = *((lr! + 8));
                                                             |         r3 = *((lr! + 12));
    0x00013658 stm ip!, {r0, r1, r2, r3}                     |         *(ip!) = r0;
                                                             |         *((ip! + 4)) = r1;
                                                             |         *((ip! + 8)) = r2;
                                                             |         *((ip! + 12)) = r3;
    0x0001365c ldr r3, [fp, 0x30]                            |         r3 = *(arg_30h);
    0x00013660 ldm lr, {r0, r1, r2}                          |         r0 = *(lr);
                                                             |         r1 = *((lr + 4));
                                                             |         r2 = *((lr + 8));
    0x00013664 add r3, r3, 1                                 |         r3++;
    0x00013668 stm ip, {r0, r1, r2}                          |         *(ip) = r0;
                                                             |         *((ip + 4)) = r1;
                                                             |         *((ip + 8)) = r2;
    0x0001366c str r3, [fp, 0x30]                            |         *(arg_30h) = r3;
    0x00013670 str r3, [r5, 0x3c]                            |         *((r5 + 0x3c)) = r3;
    0x00013674 ldr r3, [sb]                                  |         r3 = *(sb);
                                                             | label_20:
    0x00013678 ldr r2, [r3]                                  |         r2 = *(r3);
    0x0001367c cmp r2, 0                                     |         
                                                             |         if (r2 != 0) {
    0x00013680 bne 0x13774                                   |             goto label_97;
                                                             |         }
    0x00013684 str r5, [r3]                                  |         *(r3) = r5;
    0x00013688 mov r0, r5                                    |         r0 = r5;
    0x0001368c bl 0x1289c                                    |         fcn_0001289c (r0);
                                                             |     }
                                                             | label_96:
    0x00013690 ldr r3, [r6]                                  |     r3 = *(r6);
    0x00013694 cmp r3, 0                                     |     
                                                             |     if (r3 != 0) {
    0x00013698 ldrne r0, [pc, 0x3b8]                         |         r0 = "receive: server not found";
                                                             |         goto label_98;
                                                             |     }
                                                             |     if (r3 == 0) {
                                                             | label_98:
    0x0001369c beq 0x13574                                   |         goto label_15;
                                                             |     }
                                                             | label_17:
    0x000136a0 bl 0x12480                                    |     puts (r0);
    0x000136a4 b 0x13574                                     |     goto label_15;
                                                             | label_95:
    0x000136a8 ldrh r2, [r4, 4]                              |     r2 = *((r4 + 4));
    0x000136ac ldrh r3, [r5, 4]                              |     r3 = *((r5 + 4));
    0x000136b0 cmp r3, r2                                    |     
                                                             |     if (r3 != r2) {
    0x000136b4 bne 0x1376c                                   |         goto label_99;
                                                             |     }
    0x000136b8 cmp r3, 2                                     |     
                                                             |     if (r3 != 2) {
    0x000136bc bne 0x1371c                                   |         goto label_100;
                                                             |     }
    0x000136c0 ldr r0, [r5, 8]                               |     r0 = *((r5 + 8));
    0x000136c4 ldr r3, [r4, 8]                               |     r3 = *((r4 + 8));
    0x000136c8 cmp r3, r0                                    |     
                                                             |     if (r3 != r0) {
    0x000136cc bne 0x13750                                   |         goto label_101;
                                                             |     }
                                                             | label_18:
    0x000136d0 ldr r0, [r4, 0x70]                            |     r0 = *((r4 + 0x70));
    0x000136d4 bl 0x2327c                                    |     fcn_0002327c (r0);
    0x000136d8 str r0, [sp, 0x1c]                            |     var_1ch = r0;
    0x000136dc ldr r0, [r4, 0x74]                            |     r0 = *((r4 + 0x74));
    0x000136e0 bl 0x2327c                                    |     fcn_0002327c (r0);
    0x000136e4 ldr r3, [r5, 0xf4]                            |     r3 = *((r5 + 0xf4));
    0x000136e8 ldr r2, [sp, 0x1c]                            |     r2 = var_1ch;
    0x000136ec cmp r2, r3                                    |     
    0x000136f0 str r0, [sp, 0x18]                            |     s1 = r0;
                                                             |     if (r2 == r3) {
    0x000136f4 bne 0x13708                                   |         
    0x000136f8 ldr r3, [r5, 0xf8]                            |         r3 = *((r5 + 0xf8));
    0x000136fc ldr r2, [sp, 0x18]                            |         r2 = s1;
    0x00013700 cmp r2, r3                                    |         
                                                             |         if (r2 == r3) {
    0x00013704 beq 0x1377c                                   |             goto label_102;
                                                             |         }
                                                             |     }
    0x00013708 ldr r3, [r6]                                  |     r3 = *(r6);
    0x0001370c cmp r3, 0                                     |     
                                                             |     if (r3 == 0) {
    0x00013710 beq 0x13574                                   |         goto label_15;
                                                             |     }
    0x00013714 ldr r0, [pc, 0x340]                           |     r0 = "receive: server not found";
    0x00013718 b 0x136a0                                     |     goto label_17;
                                                             | label_100:
    0x0001371c mov r2, 0x10                                  |     r2 = 0x10;
    0x00013720 add r1, r5, 0xc                               |     r1 = r5 + 0xc;
    0x00013724 ldr r0, [sp, 0x18]                            |     r0 = s1;
    0x00013728 bl 0x12330                                    |     r0 = memcmp (r0, r1, r2);
    0x0001372c cmp r0, 0                                     |     
                                                             |     if (r0 != 0) {
    0x00013730 bne 0x13744                                   |         goto label_103;
                                                             |     }
    0x00013734 ldr r2, [r4, 0x1c]                            |     r2 = *((r4 + 0x1c));
    0x00013738 ldr r3, [r5, 0x1c]                            |     r3 = *((r5 + 0x1c));
    0x0001373c cmp r2, r3                                    |     
                                                             |     if (r2 == r3) {
    0x00013740 beq 0x136d0                                   |         goto label_18;
                                                             |     }
                                                             | label_103:
    0x00013744 ldrb r0, [r5, 0xc]                            |     r0 = *((r5 + 0xc));
    0x00013748 cmp r0, 0xff                                  |     
    0x0001374c b 0x1375c                                     |     goto label_104;
                                                             | label_101:
    0x00013750 bl 0x2327c                                    |     r0 = fcn_0002327c (r0);
    0x00013754 and r0, r0, 0xf0000000                        |     r0 &= 0xf0000000;
    0x00013758 cmp r0, 0xe0000000                            |     
                                                             |     if (r0 == 0xe0000000) {
                                                             | label_104:
    0x0001375c movne r0, 0                                   |         r0 = 0;
                                                             |     }
                                                             |     if (r0 != 0xe0000000) {
    0x00013760 moveq r0, 1                                   |         r0 = 1;
                                                             |     }
    0x00013764 cmp r0, 0                                     |     
                                                             |     if (r0 == 0) {
    0x00013768 movne sl, r5                                  |         sl = r5;
                                                             |     }
                                                             | label_99:
    0x0001376c ldr r5, [r5]                                  |     r5 = *(r5);
    0x00013770 b 0x1360c                                     |     goto label_19;
                                                             | label_97:
    0x00013774 mov r3, r2                                    |     r3 = r2;
    0x00013778 b 0x13678                                     |     goto label_20;
                                                             | label_102:
    0x0001377c ldr sl, [pc, 0x328]                           |     sl = *(0x00013aac);
    0x00013780 ldr r3, [sl, 4]                               |     r3 = *((sl + 4));
    0x00013784 cmp r3, 0                                     |     
                                                             |     if (r3 != 0) {
    0x00013788 moveq r7, 1                                   |         r7 = 1;
                                                             |     }
                                                             |     if (r3 != 0) {
    0x0001378c beq 0x1383c                                   |         
    0x00013790 ldr r3, [r6]                                  |         r3 = *(r6);
    0x00013794 add sb, r4, 0x58                              |         sb = r4 + 0x58;
    0x00013798 cmp r3, 3                                     |         
                                                             |         if (r3 > 3) {
    0x0001379c ble 0x137d8                                   |             
    0x000137a0 ldr r0, [r4, 0x88]                            |             r0 = *((r4 + 0x88));
    0x000137a4 bl 0x2327c                                    |             fcn_0002327c (r0);
    0x000137a8 ldr sl, [sl, 8]                               |             sl = *((sl + 8));
    0x000137ac sub r3, r8, 0x30                              |             r3 = r8 - 0x30;
    0x000137b0 mov r2, 0x30                                  |             r2 = 0x30;
    0x000137b4 mov r1, sb                                    |             r1 = sb;
    0x000137b8 str r0, [sp, 0x20]                            |             var_20h = r0;
    0x000137bc mov r0, sl                                    |             r0 = sl;
    0x000137c0 bl 0x16104                                    |             fcn_00016104 (r0, r1);
    0x000137c4 mov r2, sl                                    |             r2 = sl;
    0x000137c8 ldr r1, [sp, 0x20]                            |             r1 = var_20h;
    0x000137cc mov r3, r0                                    |             r3 = r0;
    0x000137d0 ldr r0, [pc, 0x288]                           |             r0 = "receive:_pkt.org_and_peer.xmt_differ";
    0x000137d4 bl 0x12474                                    |             printf ("receive:_pkt.org_and_peer.xmt_differ", r1, r2, r3);
                                                             |         }
    0x000137d8 cmp r7, 0                                     |         
                                                             |         if (r7 != 0) {
    0x000137dc beq 0x13818                                   |             
    0x000137e0 ldr r0, [r4, 0x88]                            |             r0 = *((r4 + 0x88));
    0x000137e4 bl 0x2327c                                    |             fcn_0002327c (r0);
    0x000137e8 ldr r3, [pc, 0x2bc]                           |             
    0x000137ec ldr r3, [r3, 8]                               |             r3 = stdout;
    0x000137f0 cmp r0, r3                                    |             
                                                             |             if (r0 == r3) {
    0x000137f4 movne r7, 0                                   |                 r7 = 0;
                                                             |             }
                                                             |             if (r0 != r3) {
    0x000137f8 bne 0x13818                                   |                 goto label_105;
                                                             |             }
    0x000137fc ldr r3, [r4, 0x54]                            |             r3 = *((r4 + 0x54));
    0x00013800 mov r2, 0x30                                  |             r2 = 0x30;
    0x00013804 sub r3, r3, 0x30                              |             r3 -= 0x30;
    0x00013808 mov r1, sb                                    |             r1 = sb;
    0x0001380c bl 0x16104                                    |             r0 = fcn_00016104 (r0, r1);
    0x00013810 adds r7, r0, 0                                |             r7 = r0 + 0;
                                                             |             if (r7 != r0) {
    0x00013814 movne r7, 1                                   |                 r7 = 1;
                                                             |                 goto label_105;
                                                             |             }
                                                             |         }
                                                             | label_105:
    0x00013818 ldr r3, [r6]                                  |         r3 = *(r6);
    0x0001381c cmp r3, 0                                     |         
                                                             |         if (r3 == 0) {
    0x00013820 beq 0x1383c                                   |             goto label_106;
                                                             |         }
    0x00013824 ldr r3, [pc, 0x238]                           |         r3 = "receive: rpkt keyid=%ld sys_authkey=%ld decrypt=%ld\n";
    0x00013828 cmp r7, 0                                     |         
    0x0001382c ldr r1, [pc, 0x234]                           |         r1 = "passed";
    0x00013830 ldr r0, [pc, 0x234]                           |         r0 = "failed";
                                                             |         if (r7 == 0) {
    0x00013834 movne r1, r3                                  |             r1 = r3;
                                                             |         }
    0x00013838 bl 0x12474                                    |         printf ("failed", "passed", r2, "receive: rpkt keyid=%ld sys_authkey=%ld decrypt=%ld\n");
                                                             |     }
                                                             | label_106:
    0x0001383c ldrb r3, [r5, 0x24]                           |     r3 = *((r5 + 0x24));
    0x00013840 cmp r7, 0                                     |     
    0x00013844 lsl r3, r3, 1                                 |     r3 <<= 1;
    0x00013848 and r3, r3, 0xff                              |     r3 &= 0xff;
                                                             |     if (r7 != 0) {
    0x0001384c orreq r3, r3, 1                               |         r3 |= 1;
                                                             |     }
    0x00013850 strb r3, [r5, 0x24]                           |     *((r5 + 0x24)) = r3;
    0x00013854 ldrb r8, [r4, 0x58]                           |     r8 = *((r4 + 0x58));
    0x00013858 ldrb r7, [r4, 0x59]                           |     r7 = *((r4 + 0x59));
    0x0001385c lsr r8, r8, 6                                 |     r8 >>= 6;
    0x00013860 cmp r8, 3                                     |     
    0x00013864 ldr sb, [pc, 0x240]                           |     sb = *(0x00013aac);
                                                             |     if (r8 == 3) {
    0x00013868 bne 0x138b8                                   |         
    0x0001386c cmp r7, 0                                     |         
                                                             |         if (r7 != 0) {
    0x00013870 bne 0x138b8                                   |             goto label_107;
                                                             |         }
    0x00013874 mov r2, 4                                     |         r2 = 4;
    0x00013878 add r1, r4, 0x64                              |         r1 = r4 + 0x64;
    0x0001387c ldr r0, [pc, 0x1ec]                           |         r0 = "receive:_authentication__s";
    0x00013880 bl 0x12330                                    |         r0 = memcmp ("receive:_authentication__s", r1, r2);
    0x00013884 subs sl, r0, 0                                |         sl = r0 - 0;
                                                             |         if (sl != r0) {
    0x00013888 bne 0x138b8                                   |             goto label_107;
                                                             |         }
    0x0001388c add r0, r4, 4                                 |         r0 = r4 + 4;
    0x00013890 bl 0x1a9f8                                    |         fcn_0001a9f8 (r0);
    0x00013894 ldr r1, [pc, 0x1d8]                           |         r1 = "RATE";
    0x00013898 mov r2, r0                                    |         r2 = r0;
    0x0001389c mov r0, r8                                    |         r0 = r8;
    0x000138a0 bl 0x1776c                                    |         fcn_0001776c (r0);
    0x000138a4 ldr r3, [sb, 0x18]                            |         r3 = *((sb + 0x18));
    0x000138a8 str sl, [r5, 0x3c]                            |         *((r5 + 0x3c)) = sl;
    0x000138ac add r3, r3, 1                                 |         r3++;
    0x000138b0 str r3, [sb, 0x18]                            |         *((sb + 0x18)) = r3;
    0x000138b4 b 0x13574                                     |         goto label_15;
                                                             |     }
                                                             | label_107:
    0x000138b8 cmp r7, 0                                     |     
                                                             |     if (r7 != 0) {
    0x000138bc moveq r7, 0x10                                |         r7 = 0x10;
                                                             |     }
    0x000138c0 strb r8, [r5, 0x21]                           |     *((r5 + 0x21)) = r8;
    0x000138c4 strb r7, [r5, 0x22]                           |     *((r5 + 0x22)) = r7;
    0x000138c8 ldrb r3, [r4, 0x5b]                           |     r3 = *((r4 + 0x5b));
    0x000138cc strb r3, [r5, 0x23]                           |     *((r5 + 0x23)) = r3;
    0x000138d0 ldr r0, [r4, 0x5c]                            |     r0 = *((r4 + 0x5c));
    0x000138d4 bl 0x2327c                                    |     fcn_0002327c (r0);
    0x000138d8 str r0, [r5, 0x28]                            |     *((r5 + 0x28)) = r0;
    0x000138dc ldr r0, [r4, 0x60]                            |     r0 = *((r4 + 0x60));
    0x000138e0 bl 0x2327c                                    |     fcn_0002327c (r0);
    0x000138e4 ldr r3, [r4, 0x64]                            |     r3 = *((r4 + 0x64));
    0x000138e8 str r3, [r5, 0x30]                            |     *((r5 + 0x30)) = r3;
    0x000138ec str r0, [r5, 0x2c]                            |     *((r5 + 0x2c)) = r0;
    0x000138f0 ldr r0, [r4, 0x68]                            |     r0 = *((r4 + 0x68));
    0x000138f4 bl 0x2327c                                    |     fcn_0002327c (r0);
    0x000138f8 str r0, [r5, 0x34]                            |     *((r5 + 0x34)) = r0;
    0x000138fc ldr r0, [r4, 0x6c]                            |     r0 = *((r4 + 0x6c));
    0x00013900 bl 0x2327c                                    |     fcn_0002327c (r0);
    0x00013904 str r0, [r5, 0x38]                            |     *((r5 + 0x38)) = r0;
    0x00013908 ldr r0, [r4, 0x78]                            |     r0 = *((r4 + 0x78));
    0x0001390c bl 0x2327c                                    |     r0 = fcn_0002327c (r0);
    0x00013910 mov r7, r0                                    |     r7 = r0;
    0x00013914 ldr r0, [r4, 0x7c]                            |     r0 = *((r4 + 0x7c));
    0x00013918 bl 0x2327c                                    |     r0 = fcn_0002327c (r0);
    0x0001391c mov r8, r0                                    |     r8 = r0;
    0x00013920 ldr r0, [r4, 0x80]                            |     r0 = *((r4 + 0x80));
    0x00013924 bl 0x2327c                                    |     fcn_0002327c (r0);
    0x00013928 str r0, [r5, 0xec]                            |     *((r5 + 0xec)) = r0;
    0x0001392c mov sl, r0                                    |     sl = r0;
    0x00013930 ldr r0, [r4, 0x84]                            |     r0 = *((r4 + 0x84));
    0x00013934 bl 0x2327c                                    |     fcn_0002327c (r0);
    0x00013938 orrs r3, r7, r8                               |     r3 = r7 | r8;
    0x0001393c str r0, [r5, 0xf0]                            |     *((r5 + 0xf0)) = r0;
                                                             |     if (r3 != r7) {
    0x00013940 beq 0x13964                                   |         
    0x00013944 cmp r7, sl                                    |         
                                                             |         if (r7 <= sl) {
    0x00013948 blo 0x13b08                                   |             goto label_108;
                                                             |         }
                                                             |         if (r7 == sl) {
    0x0001394c movne r3, 1                                   |             r3 = 1;
                                                             |         }
                                                             |         if (r7 != sl) {
    0x00013950 moveq r3, 0                                   |             r3 = 0;
                                                             |         }
    0x00013954 cmp r8, r0                                    |         
                                                             |         if (r8 <= r0) {
    0x00013958 orrhi r3, r3, 1                               |             r3 |= 1;
                                                             |         }
    0x0001395c cmp r3, 0                                     |         
                                                             |         if (r3 == 0) {
    0x00013960 beq 0x13b08                                   |             goto label_108;
                                                             |         }
                                                             |     }
    0x00013964 ldr r3, [sb, 0x10]                            |     r3 = *((sb + 0x10));
                                                             |     do {
    0x00013968 ldr r2, [pc, 0x2c]                            |         
    0x0001396c ldr r2, [r2, 4]                               |         r2 = *(0x1399c);
    0x00013970 add r3, r3, r2                                |         r3 += r2;
    0x00013974 str r3, [r5, 0x3c]                            |         *((r5 + 0x3c)) = r3;
    0x00013978 b 0x13574                                     |         goto label_15;
                                                             | label_108:
    0x00013b08 ldr r1, [r4, 0x48]                            |         r1 = *((r4 + 0x48));
    0x00013b0c ldr r2, [r4, 0x4c]                            |         r2 = *((r4 + 0x4c));
    0x00013b10 sub sl, sl, r1                                |         sl -= r1;
    0x00013b14 ldr r1, [sp, 0x1c]                            |         r1 = var_1ch;
    0x00013b18 sub r3, r0, r2                                |         r3 = r0 - r2;
    0x00013b1c sub r7, r7, r1                                |         r7 -= r1;
    0x00013b20 ldr r1, [sp, 0x18]                            |         r1 = s1;
    0x00013b24 cmp r0, r2                                    |         
                                                             |         if (r0 < r2) {
    0x00013b28 movhs r0, sl                                  |             r0 = sl;
                                                             |         }
                                                             |         if (r0 >= r2) {
    0x00013b2c sublo r0, sl, 1                               |             r0 = sl - 1;
                                                             |         }
    0x00013b30 ldr r2, [sp, 0x18]                            |         r2 = s1;
    0x00013b34 cmp r8, r1                                    |         
                                                             |         if (r8 >= r1) {
    0x00013b38 sublo r7, r7, 1                               |             r7--;
                                                             |         }
    0x00013b3c lsl r1, r0, 0x1f                              |         r1 = r0 << 0x1f;
    0x00013b40 sub r2, r8, r2                                |         r2 = r8 - r2;
    0x00013b44 orr r8, r1, r3, lsr 1                         |         r8 = r1 | (r3 >> 1);
    0x00013b48 lsl r1, r7, 0x1f                              |         r1 = r7 << 0x1f;
    0x00013b4c orr r1, r1, r2, lsr 1                         |         r1 |= (r2 >> 1);
    0x00013b50 adds r1, r8, r1                               |         r1 = r8 + r1;
    0x00013b54 and lr, r7, 0x80000000                        |         lr = r7 & 0x80000000;
                                                             |         if (r1 < r8) {
    0x00013b58 movhs sb, 1                                   |             sb = 1;
                                                             |         }
                                                             |         if (r1 >= r8) {
    0x00013b5c movlo sb, 0                                   |             sb = 0;
                                                             |         }
    0x00013b60 and ip, r0, 0x80000000                        |         
    0x00013b64 orr lr, lr, r7, lsr 1                         |         lr |= (r7 >> 1);
    0x00013b68 cmp r2, r3                                    |         
                                                             |         if (r2 >= r3) {
    0x00013b6c sublo r7, r7, 1                               |             r7--;
                                                             |         }
    0x00013b70 orr ip, ip, r0, lsr 1                         |         
    0x00013b74 sub r0, r7, r0                                |         r0 = r7 - r0;
    0x00013b78 add ip, ip, lr                                |         
    0x00013b7c cmp r0, 0x10000                               |         
    0x00013b80 add sb, sb, ip                                |         sb += ip;
    0x00013b84 mov r8, r1                                    |         r8 = r1;
    0x00013b88 sub ip, r2, r3                                |         
                                                             |         if (r0 < 0x10000) {
    0x00013b8c mvnge r7, 0x80000000                          |             r7 = ~0x80000000;
                                                             |         }
                                                             |         if (r0 < 0x10000) {
    0x00013b90 bge 0x13ba4                                   |             
    0x00013b94 cmn r0, 0x10000                               |             
                                                             |             if (r0 <= 0x10000) {
    0x00013b98 lsrgt r7, ip, 0x10                            |                 r7 = ip >> 0x10;
                                                             |             }
                                                             |             if (r0 <= 0x10000) {
    0x00013b9c orrgt r7, r7, r0, lsl 16                      |                 r7 |= (r0 << 16);
                                                             |             }
                                                             |             if (r0 <= 0x10000) {
    0x00013ba0 movle r7, 0x80000000                          |                 r7 = 0x80000000;
                                                             |                 goto label_109;
                                                             |             }
                                                             |         }
                                                             | label_109:
    0x00013ba4 ldr r3, [r6]                                  |         r3 = *(r6);
    0x00013ba8 cmp r3, 3                                     |         
                                                             |         if (r3 > 3) {
    0x00013bac ble 0x13bdc                                   |             
    0x00013bb0 mov r2, 6                                     |             r2 = 6;
    0x00013bb4 mov r0, sb                                    |             r0 = sb;
    0x00013bb8 bl 0x16bb8                                    |             fcn_00016bb8 (r0, r1);
    0x00013bbc mov r1, 5                                     |             r1 = 5;
    0x00013bc0 mov sl, r0                                    |             sl = r0;
    0x00013bc4 mov r0, r7                                    |             r0 = r7;
    0x00013bc8 bl 0x16970                                    |             fcn_00016970 (r0, r1);
    0x00013bcc mov r1, sl                                    |             r1 = sl;
    0x00013bd0 mov r2, r0                                    |             r2 = r0;
    0x00013bd4 ldr r0, [pc, -0x164]                          |             r0 = "offset: %s, delay %s\n";
    0x00013bd8 bl 0x12474                                    |             printf ("offset: %s, delay %s\n", r1, r2);
                                                             |         }
    0x00013bdc ldrsb r0, [r5, 0x23]                          |         r0 = *((r5 + 0x23));
    0x00013be0 rsb r3, r0, 0                                 |         r3 = r0 - ;
    0x00013be4 mov r0, 0x10000                               |         r0 = 0x10000;
    0x00013be8 asr r0, r0, r3                                |         r0 >>= r3;
    0x00013bec add r0, r0, 0x680                             |         r0 += 0x680;
    0x00013bf0 add r0, r0, 0xf                               |         r0 += 0xf;
    0x00013bf4 add r7, r0, r7                                |         r7 = r0 + r7;
    0x00013bf8 cmp r7, 0                                     |         
                                                             |         if (r7 > 0) {
    0x00013bfc movle r8, 0                                   |             r8 = 0;
                                                             |         }
                                                             |         if (r7 > 0) {
    0x00013c00 movle r7, r8                                  |             r7 = r8;
                                                             |         }
                                                             |         if (r7 > 0) {
    0x00013c04 movle sb, r8                                  |             sb = r8;
                                                             |         }
                                                             |         if (r7 > 0) {
    0x00013c08 ble 0x13c18                                   |             
    0x00013c0c ldr r0, [pc, -0x198]                          |             r0 = *(0x00013a7c);
    0x00013c10 cmp r7, r0                                    |             
                                                             |             if (r7 < r0) {
    0x00013c14 movlt r7, r0                                  |                 r7 = r0;
                                                             |                 goto label_110;
                                                             |             }
                                                             |         }
                                                             | label_110:
    0x00013c18 ldrh r3, [r5, 0x4a]                           |         r3 = *((r5 + 0x4a));
    0x00013c1c cmp r3, 7                                     |         
                                                             |         if (r3 <= 7) {
    0x00013c20 bhi 0x13c70                                   |             
    0x00013c24 lsl r1, r3, 3                                 |             r1 = r3 << 3;
    0x00013c28 add r1, r1, 0x6c                              |             r1 += 0x6c;
    0x00013c2c add r2, r5, r3, lsl 2                         |             r2 = r5 + (r3 << 2);
    0x00013c30 add r0, r5, r1                                |             r0 = r5 + r1;
    0x00013c34 cmp sb, 0x10000                               |             
    0x00013c38 str r7, [r2, 0x4c]                            |             *((r2 + 0x4c)) = r7;
    0x00013c3c str sb, [r5, r1]                              |             *((r5 + r1)) = sb;
    0x00013c40 str r8, [r0, 4]                               |             *((r0 + 4)) = r8;
                                                             |             if (sb < 0x10000) {
    0x00013c44 mvnge sb, 0x80000000                          |                 sb = ~0x80000000;
                                                             |             }
                                                             |             if (sb < 0x10000) {
    0x00013c48 bge 0x13c5c                                   |                 
    0x00013c4c cmn sb, 0x10000                               |                 
                                                             |                 if (sb <= 0x10000) {
    0x00013c50 lsrgt r8, r8, 0x10                            |                     r8 >>= 0x10;
                                                             |                 }
                                                             |                 if (sb <= 0x10000) {
    0x00013c54 orrgt sb, r8, sb, lsl 16                      |                     sb = r8 | (sb << 16);
                                                             |                 }
                                                             |                 if (sb <= 0x10000) {
    0x00013c58 movle sb, 0x80000000                          |                     sb = 0x80000000;
                                                             |                     goto label_111;
                                                             |                 }
                                                             |             }
                                                             | label_111:
    0x00013c5c mov r1, 0                                     |             r1 = 0;
    0x00013c60 add r3, r3, 1                                 |             r3++;
    0x00013c64 str sb, [r2, 0xac]                            |             *((r2 + 0xac)) = sb;
    0x00013c68 str r1, [r2, 0xcc]                            |             *((r2 + 0xcc)) = r1;
    0x00013c6c strh r3, [r5, 0x4a]                           |             *((r5 + 0x4a)) = r3;
                                                             |         }
    0x00013c70 ldr r3, [pc, -0x1cc]                          |         r3 = *(0x00013aac);
    0x00013c74 ldrh r1, [r5, 0x4a]                           |         r1 = *((r5 + 0x4a));
    0x00013c78 ldr r2, [r3, 0x14]                            |         r2 = *((r3 + 0x14));
    0x00013c7c cmp r1, r2                                    |         
                                                             |         if (r1 >= r2) {
    0x00013c80 blt 0x13c9c                                   |             
    0x00013c84 mov r2, 0                                     |             r2 = 0;
    0x00013c88 str r2, [r5, 0x3c]                            |             *((r5 + 0x3c)) = r2;
    0x00013c8c ldr r2, [r3, 0x18]                            |             r2 = *((r3 + 0x18));
    0x00013c90 add r2, r2, 1                                 |             r2++;
    0x00013c94 str r2, [r3, 0x18]                            |             *((r3 + 0x18)) = r2;
    0x00013c98 b 0x13574                                     |             goto label_15;
                                                             |         }
    0x00013c9c ldr r3, [r3, 0x10]                            |         r3 = *((r3 + 0x10));
    0x00013ca0 b 0x13968                                     |         
                                                             |     } while (1);
                                                             | label_75:
    0x00013ca4 ldr r2, [fp, 0x14]                            |     r2 = *(arg_14h);
    0x00013ca8 sub r1, r2, 1                                 |     r1 = r2 - 1;
    0x00013cac cmp r1, 7                                     |     
                                                             |     if (r1 <= 7) {
    0x00013cb0 ldrhi r3, [pc, -0x238]                        |         r3 = "(0 < sys_samples) && (sys_samples <= 8)";
                                                             |     }
                                                             |     if (r1 <= 7) {
    0x00013cb4 movhi r2, 2                                   |         r2 = 2;
                                                             |     }
                                                             |     if (r1 > 7) {
    0x00013cb8 ldrhi r1, [pc, -0x23c]                        |         r1 = *(0x00013a84);
                                                             |         goto label_112;
                                                             |     }
                                                             |     if (r1 > 7) {
                                                             | label_112:
    0x00013cbc bhi 0x12ff4                                   |         goto label_9;
                                                             |     }
    0x00013cc0 mov r1, 0                                     |     r1 = 0;
                                                             |     do {
    0x00013cc4 add lr, r1, 1                                 |         lr = r1 + 1;
    0x00013cc8 cmp r2, lr                                    |         
    0x00013ccc str r1, [ip, r1, lsl 2]                       |         offset_8 = r1 << 2;
                                                             |         *((ip + offset_8)) = r1;
                                                             |         if (r2 == lr) {
    0x00013cd0 bne 0x13d14                                   |             
    0x00013cd4 mov r5, ip                                    |             r5 = ip;
    0x00013cd8 mov r4, 0                                     |             r4 = 0;
                                                             | label_22:
    0x00013cdc cmp r4, r1                                    |             
                                                             |             if (r4 < r1) {
    0x00013ce0 blt 0x13d1c                                   |                 goto label_113;
                                                             |             }
    0x00013ce4 ldr r2, [sp, 0x68]                            |             r2 = s;
    0x00013ce8 add r4, r3, r2, lsl 2                         |             r4 = r3 + (r2 << 2);
    0x00013cec ldr r1, [r4, 0x4c]                            |             r1 = *((r4 + 0x4c));
    0x00013cf0 cmp r1, 0                                     |             
    0x00013cf4 str r1, [r3, 0xfc]                            |             *((r3 + 0xfc)) = r1;
                                                             |             if (r1 != 0) {
    0x00013cf8 bne 0x13d78                                   |                 goto label_114;
                                                             |             }
    0x00013cfc str r1, [r3, 0x108]                           |             *((r3 + 0x108)) = r1;
    0x00013d00 str r1, [r3, 0x104]                           |             *((r3 + 0x104)) = r1;
    0x00013d04 str r1, [r3, 0x10c]                           |             *((r3 + 0x10c)) = r1;
    0x00013d08 str r7, [r3, 0x100]                           |             *((r3 + 0x100)) = r7;
                                                             | label_24:
    0x00013d0c ldr r3, [r3]                                  |             r3 = *(r3);
    0x00013d10 b 0x13200                                     |             goto label_21;
                                                             |         }
    0x00013d14 mov r1, lr                                    |         r1 = lr;
    0x00013d18 b 0x13cc4                                     |         
                                                             |     } while (1);
                                                             | label_113:
    0x00013d1c add r4, r4, 1                                 |     r4++;
    0x00013d20 mov r0, r4                                    |     r0 = r4;
                                                             | label_23:
    0x00013d24 cmp lr, r0                                    |     
                                                             |     if (lr == r0) {
    0x00013d28 addeq r5, r5, 4                               |         r5 += var_6ch;
                                                             |         goto label_115;
                                                             |     }
                                                             |     if (lr == r0) {
                                                             | label_115:
    0x00013d2c beq 0x13cdc                                   |         goto label_22;
                                                             |     }
    0x00013d30 ldr r8, [ip, r0, lsl 2]                       |     offset_9 = r0 << 2;
                                                             |     r8 = *((ip + offset_9));
    0x00013d34 add r2, r3, r8, lsl 2                         |     r2 = r3 + (r8 << 2);
    0x00013d38 ldr r2, [r2, 0x4c]                            |     r2 = *((r2 + 0x4c));
    0x00013d3c cmp r2, 0                                     |     
                                                             |     if (r2 != 0) {
    0x00013d40 beq 0x13d70                                   |         
    0x00013d44 ldr r6, [r5]                                  |         r6 = *(r5);
    0x00013d48 add sb, r3, r6, lsl 2                         |         sb = r3 + (r6 << 2);
    0x00013d4c ldr sb, [sb, 0x4c]                            |         sb = *((sb + 0x4c));
    0x00013d50 cmp r2, sb                                    |         
                                                             |         if (r2 < sb) {
    0x00013d54 movge r2, 0                                   |             r2 = 0;
                                                             |         }
                                                             |         if (r2 >= sb) {
    0x00013d58 movlt r2, 1                                   |             r2 = 1;
                                                             |         }
    0x00013d5c cmp sb, 0                                     |         
                                                             |         if (sb != 0) {
    0x00013d60 moveq r2, 1                                   |             r2 = 1;
                                                             |         }
    0x00013d64 cmp r2, 0                                     |         
                                                             |         if (r2 == 0) {
    0x00013d68 strne r8, [r5]                                |             *(r5) = r8;
                                                             |         }
                                                             |         if (r2 != 0) {
    0x00013d6c strne r6, [ip, r0, lsl 2]                     |             offset_10 = r0 << 2;
                                                             |             *((ip + offset_10)) = r6;
                                                             |             goto label_116;
                                                             |         }
                                                             |     }
                                                             | label_116:
    0x00013d70 add r0, r0, 1                                 |     r0++;
    0x00013d74 b 0x13d24                                     |     goto label_23;
                                                             | label_114:
    0x00013d78 add r2, r3, r2, lsl 3                         |     r2 = r3 + (r2 << 3);
    0x00013d7c add r2, r2, 0x6c                              |     r2 += 0x6c;
    0x00013d80 ldm r2, {r0, r1}                              |     r0 = *(r2);
                                                             |     r1 = *((r2 + 4));
    0x00013d84 add r5, r3, 0x104                             |     r5 = r3 + 0x104;
    0x00013d88 stm r5, {r0, r1}                              |     *(r5) = r0;
                                                             |     *((r5 + 4)) = r1;
    0x00013d8c ldr r1, [pc, -0x30c]                          |     r1 = *(0x00013a88);
    0x00013d90 mov r2, r0                                    |     r2 = r0;
    0x00013d94 cmp r0, r1                                    |     
                                                             |     if (r0 <= r1) {
    0x00013d98 mvngt r2, 0x80000000                          |         r2 = ~0x80000000;
                                                             |     }
                                                             |     if (r0 <= r1) {
    0x00013d9c bgt 0x13db8                                   |         
    0x00013da0 ldr r1, [pc, -0x31c]                          |         r1 = *(0x00013a8c);
    0x00013da4 cmp r2, r1                                    |         
                                                             |         if (r2 < r1) {
    0x00013da8 ldrge r1, [r3, 0x108]                         |             r1 = *((r3 + 0x108));
                                                             |         }
                                                             |         if (r2 < r1) {
    0x00013dac lslge r2, r2, 0x10                            |             r2 <<= 0x10;
                                                             |         }
                                                             |         if (r2 < r1) {
    0x00013db0 orrge r2, r2, r1, lsr 16                      |             r2 |= (r1 >> 16);
                                                             |         }
                                                             |         if (r2 < r1) {
    0x00013db4 movlt r2, 0x80000000                          |             r2 = 0x80000000;
                                                             |             goto label_117;
                                                             |         }
                                                             |     }
                                                             | label_117:
    0x00013db8 str r2, [r3, 0x10c]                           |     *((r3 + 0x10c)) = r2;
    0x00013dbc mov r1, 1                                     |     r1 = 1;
    0x00013dc0 mov r2, 0                                     |     r2 = 0;
    0x00013dc4 str r2, [r3, 0x100]                           |     *((r3 + 0x100)) = r2;
                                                             | label_25:
    0x00013dc8 cmp lr, r1                                    |     
                                                             |     if (lr == r1) {
    0x00013dcc beq 0x13d0c                                   |         goto label_24;
                                                             |     }
    0x00013dd0 ldr r2, [ip, r1, lsl 2]                       |     offset_11 = r1 << 2;
                                                             |     r2 = *((ip + offset_11));
    0x00013dd4 add r2, r3, r2, lsl 2                         |     r2 = r3 + (r2 << 2);
    0x00013dd8 ldr r0, [r2, 0x4c]                            |     r0 = *((r2 + 0x4c));
    0x00013ddc cmp r0, 0                                     |     
                                                             |     if (r0 != 0) {
    0x00013de0 moveq r2, 0x400000                            |         r2 = 0x400000;
                                                             |     }
                                                             |     if (r0 != 0) {
    0x00013de4 beq 0x13e04                                   |         
    0x00013de8 ldr r2, [r2, 0xac]                            |         r2 = *((r2 + 0xac));
    0x00013dec ldr r0, [r4, 0xac]                            |         r0 = *((r4 + 0xac));
    0x00013df0 sub r2, r2, r0                                |         r2 -= r0;
    0x00013df4 cmp r2, 0                                     |         
    0x00013df8 rsblt r2, r2, 0                               |         __asm ("rsblt r2, r2, 0");
    0x00013dfc cmp r2, 0x400000                              |         
                                                             |         if (r2 >= 0x400000) {
    0x00013e00 movge r2, 0x400000                            |             r2 = 0x400000;
                                                             |             goto label_118;
                                                             |         }
                                                             |     }
                                                             | label_118:
    0x00013e04 ldr r0, [r3, 0x100]                           |     r0 = *((r3 + 0x100));
    0x00013e08 add r2, r0, r2, lsr r1                        |     r2 = r0 + (r2 >> r1);
    0x00013e0c add r1, r1, 1                                 |     r1++;
    0x00013e10 str r2, [r3, 0x100]                           |     *((r3 + 0x100)) = r2;
    0x00013e14 b 0x13dc8                                     |     goto label_25;
                                                             | label_76:
    0x00013e18 ldrb r1, [r4, 0x22]                           |     r1 = *((r4 + 0x22));
    0x00013e1c cmp r1, 0                                     |     
                                                             |     if (r1 != 0) {
    0x00013e20 bne 0x13e48                                   |         goto label_119;
                                                             |     }
    0x00013e24 cmp r2, 0                                     |     
                                                             |     if (r2 == 0) {
    0x00013e28 beq 0x13e40                                   |         goto label_28;
                                                             |     }
    0x00013e2c add r0, r4, 4                                 |     r0 = r4 + 4;
    0x00013e30 bl 0x1a9f8                                    |     r0 = fcn_0001a9f8 (r0);
    0x00013e34 mov r1, r0                                    |     r1 = r0;
    0x00013e38 ldr r0, [pc, -0x3b0]                          |     r0 = "%s: Server dropped: no data\n";
                                                             | label_27:
    0x00013e3c bl 0x12474                                    |     printf ("%s: Server dropped: no data\n", r1);
                                                             |     do {
                                                             | label_28:
    0x00013e40 ldr r4, [r4]                                  |         r4 = *(r4);
    0x00013e44 b 0x13218                                     |         goto label_26;
                                                             | label_119:
    0x00013e48 cmp r1, 0xf                                   |         
                                                             |         if (r1 < 0xf) {
    0x00013e4c bls 0x13e6c                                   |             goto label_120;
                                                             |         }
    0x00013e50 cmp r2, 0                                     |         
    0x00013e54 beq 0x13e40                                   |         
                                                             |     } while (r2 == 0);
    0x00013e58 add r0, r4, 4                                 |     r0 = r4 + 4;
    0x00013e5c bl 0x1a9f8                                    |     r0 = fcn_0001a9f8 (r0);
    0x00013e60 mov r1, r0                                    |     r1 = r0;
    0x00013e64 ldr r0, [pc, -0x3d8]                          |     r0 = "_s:_Server_dropped:_strata_too_high";
    0x00013e68 b 0x13e3c                                     |     goto label_27;
                                                             | label_120:
    0x00013e6c ldr r3, [r4, 0xfc]                            |     r3 = *((r4 + 0xfc));
    0x00013e70 cmp r3, 0x80000                               |     
                                                             |     if (r3 < 0x80000) {
    0x00013e74 bls 0x13e94                                   |         goto label_121;
                                                             |     }
    0x00013e78 cmp r2, 0                                     |     
                                                             |     if (r2 == 0) {
    0x00013e7c beq 0x13e40                                   |         goto label_28;
                                                             |     }
    0x00013e80 add r0, r4, 4                                 |     r0 = r4 + 4;
    0x00013e84 bl 0x1a9f8                                    |     r0 = fcn_0001a9f8 (r0);
    0x00013e88 mov r1, r0                                    |     r1 = r0;
    0x00013e8c ldr r0, [pc, -0x3fc]                          |     r0 = "%s: Server dropped: server too far away\n";
    0x00013e90 b 0x13e3c                                     |     goto label_27;
                                                             | label_121:
    0x00013e94 ldrb r3, [r4, 0x21]                           |     r3 = *((r4 + 0x21));
    0x00013e98 cmp r3, 3                                     |     
                                                             |     if (r3 != 3) {
    0x00013e9c bne 0x13ebc                                   |         goto label_122;
                                                             |     }
    0x00013ea0 cmp r2, 0                                     |     
                                                             |     if (r2 == 0) {
    0x00013ea4 beq 0x13e40                                   |         goto label_28;
                                                             |     }
    0x00013ea8 add r0, r4, 4                                 |     r0 = r4 + 4;
    0x00013eac bl 0x1a9f8                                    |     r0 = fcn_0001a9f8 (r0);
    0x00013eb0 mov r1, r0                                    |     r1 = r0;
    0x00013eb4 ldr r0, [pc, -0x420]                          |     r0 = "_s:_Server_dropped:_leap_not_in_sync";
    0x00013eb8 b 0x13e3c                                     |     goto label_27;
                                                             | label_122:
    0x00013ebc ldr r3, [r4, 0xec]                            |     r3 = *((r4 + 0xec));
    0x00013ec0 ldr r0, [r4, 0x34]                            |     r0 = *((r4 + 0x34));
    0x00013ec4 cmp r3, r0                                    |     
                                                             |     if (r3 > r0) {
    0x00013ec8 bhi 0x13efc                                   |         goto label_123;
                                                             |     }
                                                             |     if (r3 == r0) {
    0x00013ecc bne 0x13ee0                                   |         
    0x00013ed0 ldr lr, [r4, 0xf0]                            |         
    0x00013ed4 ldr ip, [r4, 0x38]                            |         ip = *((r4 + 0x38));
    0x00013ed8 cmp lr, ip                                    |         
                                                             |         if (lr >= ip) {
    0x00013edc bhs 0x13efc                                   |             goto label_123;
                                                             |         }
                                                             |     }
    0x00013ee0 cmp r2, 0                                     |     
                                                             |     if (r2 == 0) {
    0x00013ee4 beq 0x13e40                                   |         goto label_28;
                                                             |     }
    0x00013ee8 add r0, r4, 4                                 |     r0 = r4 + 4;
    0x00013eec bl 0x1a9f8                                    |     r0 = fcn_0001a9f8 (r0);
    0x00013ef0 mov r1, r0                                    |     r1 = r0;
    0x00013ef4 ldr r0, [pc, -0x45c]                          |     r0 = "_s:_Server_dropped:_server_is_very_broken";
    0x00013ef8 b 0x13e3c                                     |     goto label_27;
                                                             | label_123:
    0x00013efc sub r3, r3, r0                                |     r3 -= r0;
    0x00013f00 cmp r3, r7                                    |     
                                                             |     if (r3 < r7) {
    0x00013f04 bls 0x13f24                                   |         goto label_124;
                                                             |     }
    0x00013f08 cmp r2, 0                                     |     
                                                             |     if (r2 == 0) {
    0x00013f0c beq 0x13e40                                   |         goto label_28;
                                                             |     }
    0x00013f10 add r0, r4, 4                                 |     r0 = r4 + 4;
    0x00013f14 bl 0x1a9f8                                    |     r0 = fcn_0001a9f8 (r0);
    0x00013f18 mov r1, r0                                    |     r1 = r0;
    0x00013f1c ldr r0, [pc, -0x480]                          |     r0 = "%s: Server dropped: server has gone too long without sync\n";
    0x00013f20 b 0x13e3c                                     |     goto label_27;
                                                             | label_124:
    0x00013f24 ldrb r3, [r4, 0x24]                           |     r3 = *((r4 + 0x24));
    0x00013f28 cmp r3, 0                                     |     
                                                             |     if (r3 != 0) {
    0x00013f2c ldreq r0, [r4, 0x100]                         |         r0 = *((r4 + 0x100));
                                                             |     }
                                                             |     if (r3 != 0) {
    0x00013f30 addeq ip, sp, 0x40                            |         
                                                             |     }
                                                             |     if (r3 != 0) {
    0x00013f34 lsleq r0, r0, 1                               |         r0 <<= 1;
                                                             |     }
                                                             |     if (r3 == 0) {
    0x00013f38 beq 0x13f9c                                   |         goto label_125;
                                                             |     }
    0x00013f3c cmp r2, 0                                     |     
                                                             |     if (r2 == 0) {
    0x00013f40 beq 0x13e40                                   |         goto label_28;
                                                             |     }
    0x00013f44 add r0, r4, 4                                 |     r0 = r4 + 4;
    0x00013f48 bl 0x1a9f8                                    |     r0 = fcn_0001a9f8 (r0);
    0x00013f4c mov r1, r0                                    |     r1 = r0;
    0x00013f50 ldr r0, [pc, -0x4b0]                          |     r0 = "_s:_Server_dropped:_Server_is_untrusted";
    0x00013f54 b 0x13e3c                                     |     goto label_27;
                                                             | label_29:
    0x00013f58 ldr r2, [ip, r3, lsl 2]                       |     offset_12 = r3 << 2;
                                                             |     r2 = *((ip + offset_12));
    0x00013f5c ldrb r2, [r2, 0x22]                           |     r2 = *((r2 + 0x22));
    0x00013f60 cmp r2, r1                                    |     
                                                             |     if (r2 <= r1) {
    0x00013f64 blo 0x13f98                                   |         goto label_126;
                                                             |     }
    0x00013f68 add r2, sp, 0x68                              |     r2 += s;
                                                             |     do {
    0x00013f6c ldr lr, [ip, r3, lsl 2]                       |         
    0x00013f70 ldrb lr, [lr, 0x22]                           |         
    0x00013f74 cmp lr, r1                                    |         
                                                             |         if (lr > r1) {
    0x00013f78 bhi 0x13fb0                                   |             goto label_127;
                                                             |         }
    0x00013f7c ldr lr, [r2, r3, lsl 2]                       |         
    0x00013f80 cmp r0, lr                                    |         
                                                             |         if (r0 < lr) {
    0x00013f84 blt 0x13fb0                                   |             goto label_127;
                                                             |         }
    0x00013f88 add r3, r3, 1                                 |         r3++;
    0x00013f8c cmp r5, r3                                    |         
    0x00013f90 bhi 0x13f6c                                   |         
                                                             |     } while (r5 > r3);
    0x00013f94 b 0x13fa4                                     |     goto label_128;
                                                             | label_126:
    0x00013f98 add r3, r3, 1                                 |     r3++;
                                                             | label_125:
    0x00013f9c cmp r3, r5                                    |     
                                                             |     if (r3 != r5) {
    0x00013fa0 bne 0x13f58                                   |         goto label_29;
                                                             |     }
                                                             | label_128:
    0x00013fa4 cmp r3, 4                                     |     
                                                             |     if (r3 < 4) {
    0x00013fa8 bls 0x13fc8                                   |         goto label_129;
                                                             |     }
    0x00013fac b 0x13e40                                     |     goto label_28;
                                                             | label_127:
    0x00013fb0 cmp r3, 4                                     |     
                                                             |     if (r3 > 4) {
    0x00013fb4 movls r2, r5                                  |         r2 = r5;
                                                             |     }
                                                             |     if (r3 <= 4) {
    0x00013fb8 addls lr, sp, 0x68                            |         lr += s;
                                                             |         goto label_130;
                                                             |     }
                                                             |     if (r3 > 4) {
                                                             | label_130:
    0x00013fbc bhi 0x13e40                                   |         goto label_28;
                                                             |     }
                                                             |     do {
    0x00013fc0 cmp r2, r3                                    |         
                                                             |         if (r2 <= r3) {
    0x00013fc4 bhi 0x13fe4                                   |             
                                                             | label_129:
    0x00013fc8 add r2, sp, 0x90                              |             r2 += var_90h;
    0x00013fcc add r3, r2, r3, lsl 2                         |             r3 = r2 + (r3 << 2);
    0x00013fd0 cmp r5, 4                                     |             
    0x00013fd4 str r4, [r3, -0x50]                           |             *((r3 - 0x50)) = r4;
    0x00013fd8 str r0, [r3, -0x28]                           |             *((r3 - 0x28)) = r0;
                                                             |             if (r5 > 4) {
    0x00013fdc addls r5, r5, 1                               |                 r5++;
                                                             |             }
    0x00013fe0 b 0x13e40                                     |             goto label_28;
                                                             |         }
    0x00013fe4 cmp r2, 4                                     |         
                                                             |         if (r2 <= 4) {
    0x00013fe8 bhi 0x14008                                   |             
    0x00013fec lsl r1, r2, 2                                 |             r1 = r2 << 2;
    0x00013ff0 add r8, ip, r1                                |             r8 = ip + r1;
    0x00013ff4 add r1, lr, r1                                |             r1 = lr + r1;
    0x00013ff8 ldr r8, [r8, -4]                              |             r8 = *((r8 - 4));
    0x00013ffc ldr r1, [r1, -4]                              |             r1 = *((r1 - 4));
    0x00014000 str r8, [ip, r2, lsl 2]                       |             offset_13 = r2 << 2;
                                                             |             *((ip + offset_13)) = r8;
    0x00014004 str r1, [lr, r2, lsl 2]                       |             offset_14 = r2 << 2;
                                                             |             *((lr + offset_14)) = r1;
                                                             |         }
    0x00014008 sub r2, r2, 1                                 |         r2 -= var_1h;
    0x0001400c b 0x13fc0                                     |         
                                                             |     } while (1);
                                                             | label_77:
    0x00014010 ldr r6, [r3, 4]!                              |     r6 = var_44h;
    0x00014014 ldr lr, [r3, -4]                              |     lr = address;
    0x00014018 ldrb r6, [r6, 0x22]                           |     r6 = *((r6 + 0x22));
    0x0001401c ldrb lr, [lr, 0x22]                           |     
    0x00014020 cmp r6, lr                                    |     
                                                             |     if (r6 < lr) {
    0x00014024 bls 0x14034                                   |         goto label_131;
                                                             |     }
    0x00014028 cmp r1, 1                                     |     
                                                             |     if (r1 == 1) {
    0x0001402c beq 0x1324c                                   |         goto label_30;
                                                             |     }
    0x00014030 mov r1, 1                                     |     r1 = 1;
                                                             | label_131:
    0x00014034 add r0, r0, 1                                 |     r0++;
    0x00014038 b 0x13238                                     |     goto label_31;
                                                             |     do {
    0x0001403c ldr lr, [ip]                                  |         
    0x00014040 ldr r4, [r7, r1, lsl 2]                       |         offset_15 = r1 << 2;
                                                             |         r4 = *((r7 + offset_15));
    0x00014044 ldrb r6, [lr, 0x22]                           |         r6 = *((lr + 0x22));
    0x00014048 ldrb r5, [r4, 0x22]                           |         r5 = *((r4 + 0x22));
    0x0001404c cmp r6, r5                                    |         
                                                             |         if (r6 <= r5) {
    0x00014050 blo 0x14074                                   |             goto label_132;
                                                             |         }
    0x00014054 ldr r6, [lr, 0xfc]                            |         r6 = *((lr + 0xfc));
    0x00014058 ldr r5, [r4, 0xfc]                            |         r5 = *((r4 + 0xfc));
    0x0001405c cmp r6, r5                                    |         
                                                             |         if (r6 < r5) {
    0x00014060 strhs r4, [ip]                                |             *(ip) = r4;
                                                             |         }
                                                             |         if (r6 < r5) {
    0x00014064 strhs lr, [r7, r1, lsl 2]                     |             
                                                             |         }
    0x00014068 add r1, r1, 1                                 |         r1 += var_1h_2;
                                                             | label_35:
    0x0001406c cmp r1, r0                                    |         
    0x00014070 blo 0x1403c                                   |         
                                                             |     } while (r1 <= r0);
                                                             | label_132:
    0x00014074 add r3, r3, 1                                 |     r3 += var_1h_2;
    0x00014078 add ip, ip, 4                                 |     
                                                             | label_78:
    0x0001407c cmp r3, r0                                    |     
                                                             |     if (r3 != r0) {
    0x00014080 bne 0x1417c                                   |         goto label_133;
                                                             |     }
    0x00014084 mov r5, 0                                     |     r5 = 0;
    0x00014088 add r6, sp, 0x68                              |     r6 += s;
    0x0001408c mov r8, 0x10000                               |     r8 = 0x10000;
                                                             | label_34:
    0x00014090 add lr, sp, 0x64                              |     lr += var_64h;
    0x00014094 mov ip, 0                                     |     
                                                             | label_32:
    0x00014098 mov r0, 0                                     |     r0 = 0;
    0x0001409c str r5, [lr, 4]!                              |     *((lr += 4)) = r5;
                                                             |     do {
    0x000140a0 cmp ip, r0                                    |         
                                                             |         if (ip != r0) {
    0x000140a4 beq 0x140dc                                   |             
    0x000140a8 ldr r1, [r7, r0, lsl 2]                       |             offset_16 = r0 << 2;
                                                             |             r1 = *((r7 + offset_16));
    0x000140ac ldr r4, [r7, ip, lsl 2]                       |             offset_17 = ip << 2;
                                                             |             r4 = *((r7 + offset_17));
    0x000140b0 ldr r1, [r1, 0x10c]                           |             r1 = *((r1 + 0x10c));
    0x000140b4 ldr r4, [r4, 0x10c]                           |             r4 = *((r4 + 0x10c));
    0x000140b8 sub r1, r1, r4                                |             r1 -= r4;
    0x000140bc cmp r1, 0                                     |             
    0x000140c0 rsblt r1, r1, 0                               |             __asm ("rsblt r1, r1, 0");
    0x000140c4 mov r4, 0                                     |             r4 = 0;
                                                             | label_36:
    0x000140c8 cmp r4, r0                                    |             
                                                             |             if (r4 != r0) {
    0x000140cc bne 0x14184                                   |                 goto label_134;
                                                             |             }
    0x000140d0 ldr r4, [lr]                                  |             r4 = *(lr);
    0x000140d4 add r1, r4, r1                                |             r1 = r4 + r1;
    0x000140d8 str r1, [lr]                                  |             *(lr) = r1;
                                                             |         }
    0x000140dc add r0, r0, 1                                 |         r0++;
    0x000140e0 cmp r0, r3                                    |         
    0x000140e4 bne 0x140a0                                   |         
                                                             |     } while (r0 != r3);
    0x000140e8 add ip, ip, 1                                 |     
    0x000140ec cmp ip, r3                                    |     
                                                             |     if (ip != r3) {
    0x000140f0 bne 0x14098                                   |         goto label_32;
                                                             |     }
    0x000140f4 ldr r1, [sp, 0x40]                            |     r1 = address;
    0x000140f8 mov r0, 0                                     |     r0 = 0;
    0x000140fc ldrsb r1, [r1, 0x23]                          |     r1 = *((r1 + 0x23));
    0x00014100 mov ip, 1                                     |     
                                                             |     do {
    0x00014104 add lr, sp, 0x90                              |         lr += var_90h;
    0x00014108 add lr, lr, r0, lsl 2                         |         lr += (r0 << 2);
    0x0001410c ldr r4, [r6, ip, lsl 2]                       |         offset_18 = ip << 2;
                                                             |         r4 = *((r6 + offset_18));
    0x00014110 ldr lr, [lr, -0x28]                           |         lr = s;
    0x00014114 cmp r4, lr                                    |         
    0x00014118 ldr lr, [r7, ip, lsl 2]                       |         
                                                             |         if (r4 < lr) {
    0x0001411c movhs r0, ip                                  |             r0 = ip;
                                                             |         }
    0x00014120 ldrsb lr, [lr, 0x23]                          |         
    0x00014124 add ip, ip, 1                                 |         
    0x00014128 cmp r1, lr                                    |         
                                                             |         if (r1 < lr) {
    0x0001412c movge r1, lr                                  |             r1 = lr;
                                                             |         }
    0x00014130 cmp ip, r3                                    |         
    0x00014134 blo 0x14104                                   |         
                                                             |     } while (ip <= r3);
    0x00014138 rsb r1, r1, 0                                 |     r1 -= ;
    0x0001413c add ip, sp, 0x90                              |     
    0x00014140 asr r1, r8, r1                                |     r1 = r8 >> r1;
    0x00014144 add ip, ip, r0, lsl 2                         |     
    0x00014148 ldr ip, [ip, -0x28]                           |     ip = var_6ch;
    0x0001414c add r1, r1, 0x680                             |     r1 += 0x680;
    0x00014150 add r1, r1, 0xf                               |     r1 += 0xf;
    0x00014154 cmp ip, r1                                    |     
                                                             |     if (ip < r1) {
    0x00014158 blt 0x13258                                   |         goto label_33;
                                                             |     }
    0x0001415c add r1, r0, 1                                 |     r1 = r0 + 1;
    0x00014160 add r0, r7, r0, lsl 2                         |     r0 = r7 + (r0 << 2);
                                                             | label_37:
    0x00014164 cmp r1, r3                                    |     
                                                             |     if (r1 <= r3) {
    0x00014168 blo 0x14194                                   |         goto label_135;
                                                             |     }
    0x0001416c sub r3, r3, 1                                 |     r3 -= var_1h_3;
    0x00014170 cmp r3, 1                                     |     
                                                             |     if (r3 != 1) {
    0x00014174 bne 0x14090                                   |         goto label_34;
                                                             |     }
    0x00014178 b 0x13258                                     |     goto label_33;
                                                             | label_133:
    0x0001417c mov r1, r3                                    |     r1 = r3;
    0x00014180 b 0x1406c                                     |     goto label_35;
                                                             | label_134:
    0x00014184 asr sb, r1, 2                                 |     sb = r1 >> 2;
    0x00014188 add r1, sb, r1, asr 1                         |     r1 = sb + (r1 >> 1);
    0x0001418c add r4, r4, 1                                 |     r4++;
    0x00014190 b 0x140c8                                     |     goto label_36;
                                                             | label_135:
    0x00014194 ldr ip, [r0, 4]!                              |     ip = var_4h_2;
    0x00014198 add r1, r1, 1                                 |     r1++;
    0x0001419c str ip, [r0, -4]                              |     var_44h = ip;
    0x000141a0 b 0x14164                                     |     goto label_37;
                                                             | label_79:
    0x000141a4 mov r0, 0xa                                   |     r0 = 0xa;
    0x000141a8 bl 0x11fa0                                    |     putchar (r0);
                                                             | label_80:
    0x000141ac ldr r5, [sl]                                  |     r5 = *(sl);
    0x000141b0 ldr r8, [pc, -0x70c]                          |     r8 = *(0x00013aac);
                                                             | label_39:
    0x000141b4 cmp r5, 0                                     |     
                                                             |     if (r5 == 0) {
    0x000141b8 beq 0x13270                                   |         goto label_38;
                                                             |     }
    0x000141bc ldrb r3, [r5, 0x22]                           |     r3 = *((r5 + 0x22));
    0x000141c0 cmp r3, 0                                     |     
                                                             |     if (r3 != 0) {
    0x000141c4 beq 0x14230                                   |         
    0x000141c8 ldr r3, [pc, -0x720]                          |         r3 = obj.stdout;
    0x000141cc add r0, r5, 4                                 |         r0 = r5 + 4;
    0x000141d0 ldr r6, [r3]                                  |         r6 = *(r3);
    0x000141d4 ldr r3, [pc, -0x6e0]                          |         r3 = *(0x00013afc);
    0x000141d8 ldr r3, [r3]                                  |         r3 = *(r3);
    0x000141dc cmp r3, 0                                     |         
                                                             |         if (r3 != 0) {
    0x000141e0 bne 0x14238                                   |             goto label_136;
                                                             |         }
    0x000141e4 bl 0x1a9f8                                    |         fcn_0001a9f8 (r0);
    0x000141e8 mov r2, 6                                     |         r2 = 6;
    0x000141ec ldr r1, [r5, 0x108]                           |         r1 = *((r5 + 0x108));
    0x000141f0 ldrb sl, [r5, 0x22]                           |         sl = *((r5 + 0x22));
    0x000141f4 mov sb, r0                                    |         sb = r0;
    0x000141f8 ldr r0, [r5, 0x104]                           |         r0 = *((r5 + 0x104));
    0x000141fc bl 0x16bb8                                    |         fcn_00016bb8 (r0, r1);
    0x00014200 mov r1, 5                                     |         r1 = 5;
    0x00014204 str r0, [sp, 0x14]                            |         stream = r0;
    0x00014208 ldr r0, [r5, 0xfc]                            |         r0 = *((r5 + 0xfc));
    0x0001420c bl 0x16970                                    |         fcn_00016970 (r0, r1);
    0x00014210 ldr r3, [sp, 0x14]                            |         r3 = stream;
    0x00014214 mov r2, sb                                    |         r2 = sb;
    0x00014218 str r3, [sp]                                  |         *(sp) = r3;
    0x0001421c ldr r1, [pc, -0x770]                          |         r1 = "server %s, stratum %d, offset %s, delay %s\n";
    0x00014220 mov r3, sl                                    |         r3 = sl;
    0x00014224 str r0, [sp, 4]                               |         var_4h = r0;
    0x00014228 mov r0, r6                                    |         r0 = r6;
    0x0001422c bl 0x1230c                                    |         fprintf (r0, "server %s, stratum %d, offset %s, delay %s\n", r2, r3)
                                                             |     }
                                                             | label_40:
    0x00014230 ldr r5, [r5]                                  |     r5 = *(r5);
    0x00014234 b 0x141b4                                     |     goto label_39;
                                                             | label_136:
    0x00014238 bl 0x1a9f8                                    |     fcn_0001a9f8 (r0);
    0x0001423c ldrh r2, [r5, 6]                              |     r2 = *((r5 + 6));
    0x00014240 ldr r1, [pc, -0x790]                          |     r1 = "server %s, port %d\n";
    0x00014244 lsr r3, r2, 8                                 |     r3 = r2 >> 8;
    0x00014248 orr r3, r3, r2, lsl 8                         |     r3 |= (r2 << 8);
    0x0001424c lsl r3, r3, 0x10                              |     r3 <<= 0x10;
    0x00014250 lsr r3, r3, 0x10                              |     r3 >>= 0x10;
    0x00014254 mov r2, r0                                    |     r2 = r0;
    0x00014258 mov r0, r6                                    |     r0 = r6;
    0x0001425c bl 0x1230c                                    |     fprintf (r0, "server %s, port %d\n", r2, r3)
    0x00014260 ldrb r1, [r5, 0x21]                           |     r1 = *((r5 + 0x21));
    0x00014264 ldrb ip, [r5, 0x24]                           |     ip = *((r5 + 0x24));
    0x00014268 tst r1, 2                                     |     
                                                             |     if ((r1 & 2) != 0) {
    0x0001426c moveq r0, 0x30                                |         r0 = 0x30;
                                                             |     }
                                                             |     if ((r1 & 2) == 0) {
    0x00014270 movne r0, 0x31                                |         r0 = 0x31;
                                                             |     }
    0x00014274 tst r1, 1                                     |     
                                                             |     if ((r1 & 1) != 0) {
    0x00014278 moveq r1, 0x30                                |         r1 = 0x30;
                                                             |     }
                                                             |     if ((r1 & 1) == 0) {
    0x0001427c movne r1, 0x31                                |         r1 = 0x31;
                                                             |     }
    0x00014280 ldrsb r3, [r5, 0x23]                          |     r3 = *((r5 + 0x23));
    0x00014284 ldrb r2, [r5, 0x22]                           |     r2 = *((r5 + 0x22));
    0x00014288 stm sp, {r0, r1, ip}                          |     *(sp) = r0;
                                                             |     *((sp + 4)) = r1;
                                                             |     *((sp + 8)) = ip;
    0x0001428c ldr r1, [pc, -0x7d8]                          |     r1 = "stratum %d, precision %d, leap %c%c, trust %03o\n";
    0x00014290 mov r0, r6                                    |     r0 = r6;
    0x00014294 bl 0x1230c                                    |     fprintf (r0, r1, r2, r3)
    0x00014298 ldrb r3, [r5, 0x22]                           |     r3 = *((r5 + 0x22));
    0x0001429c sub r3, r3, 2                                 |     r3 -= 2;
    0x000142a0 cmp r3, 0xd                                   |     
                                                             |     if (r3 < 0xd) {
    0x000142a4 bls 0x144c4                                   |         goto label_137;
                                                             |     }
    0x000142a8 ldr r3, [pc, -0x7f0]                          |     r3 = obj.__ctype_b;
    0x000142ac add r0, r5, 0x30                              |     r0 = r5 + 0x30;
    0x000142b0 ldr ip, [r3]                                  |     ip = *(r3);
    0x000142b4 add sb, sp, 0x68                              |     sb += s;
    0x000142b8 mov r3, 0                                     |     r3 = 0;
                                                             |     do {
    0x000142bc ldrb r2, [r0, r3]                             |         r2 = *((r0 + r3));
    0x000142c0 cmp r2, 0                                     |         
                                                             |         if (r2 == 0) {
    0x000142c4 beq 0x142f0                                   |             goto label_138;
                                                             |         }
    0x000142c8 lsl r1, r2, 0x10                              |         r1 = r2 << 0x10;
    0x000142cc asr r1, r1, 0x10                              |         r1 >>= 0x10;
    0x000142d0 lsl r1, r1, 1                                 |         r1 <<= 1;
    0x000142d4 ldrh r1, [ip, r1]                             |         r1 = *((ip + r1));
    0x000142d8 tst r1, 0x40                                  |         
                                                             |         if ((r1 & 0x40) != 0) {
    0x000142dc moveq r2, 0x2e                                |             r2 = 0x2e;
                                                             |         }
    0x000142e0 strb r2, [sb, r3]                             |         *((sb + r3)) = r2;
    0x000142e4 add r3, r3, 1                                 |         r3++;
    0x000142e8 cmp r3, 4                                     |         
    0x000142ec bne 0x142bc                                   |         
                                                             |     } while (r3 != 4);
                                                             | label_138:
    0x000142f0 add r2, sp, 0x90                              |     r2 += var_90h;
    0x000142f4 add r3, r2, r3                                |     r3 = r2 + r3;
    0x000142f8 mov r2, 0                                     |     r2 = 0;
    0x000142fc strb r2, [r3, -0x28]                          |     s = r2;
                                                             |     do {
    0x00014300 mov r1, 6                                     |         r1 = 6;
    0x00014304 ldr r0, [r5, 0x28]                            |         r0 = *((r5 + 0x28));
    0x00014308 bl 0x16970                                    |         fcn_00016970 (r0, r1);
    0x0001430c mov r3, 0                                     |         r3 = 0;
    0x00014310 mov r1, r3                                    |         r1 = r3;
    0x00014314 mov r2, 6                                     |         r2 = 6;
    0x00014318 mov sl, r0                                    |         sl = r0;
    0x0001431c ldr r0, [r5, 0x2c]                            |         r0 = *((r5 + 0x2c));
    0x00014320 bl 0x16778                                    |         fcn_00016778 (r0, r1);
    0x00014324 mov r3, sl                                    |         r3 = sl;
    0x00014328 mov r2, sb                                    |         r2 = sb;
    0x0001432c ldr r1, [pc, -0x870]                          |         r1 = "refid___s___root_delay__s__root_dispersion__s";
    0x00014330 str r0, [sp]                                  |         *(sp) = r0;
    0x00014334 mov r0, r6                                    |         r0 = r6;
    0x00014338 bl 0x1230c                                    |         fprintf (r0, "refid___s___root_delay__s__root_dispersion__s", r2, r3)
    0x0001433c ldrh r2, [r5, 0x44]                           |         r2 = *((r5 + 0x44));
    0x00014340 ldrh r3, [r5, 0x4a]                           |         r3 = *((r5 + 0x4a));
    0x00014344 cmp r2, r3                                    |         
                                                             |         if (r2 != r3) {
    0x00014348 beq 0x14358                                   |             
    0x0001434c ldr r1, [pc, -0x88c]                          |             r1 = "transmitted %d, in filter %d\n";
    0x00014350 mov r0, r6                                    |             r0 = r6;
    0x00014354 bl 0x1230c                                    |             fprintf (r0, "transmitted %d, in filter %d\n")
                                                             |         }
    0x00014358 add r0, r5, 0x34                              |         r0 = r5 + 0x34;
    0x0001435c bl 0x190e4                                    |         fcn_000190e4 (r0);
    0x00014360 ldr r1, [pc, -0x89c]                          |         r1 = "reference time:      %s\n";
    0x00014364 mov r2, r0                                    |         r2 = r0;
    0x00014368 mov r0, r6                                    |         r0 = r6;
    0x0001436c bl 0x1230c                                    |         fprintf (r0, "reference time:      %s\n", r2)
    0x00014370 add r0, r5, 0xec                              |         r0 = r5 + 0xec;
    0x00014374 bl 0x190e4                                    |         fcn_000190e4 (r0);
    0x00014378 ldr r1, [pc, -0x8b0]                          |         r1 = "originate_timestamp:__s";
    0x0001437c mov r2, r0                                    |         r2 = r0;
    0x00014380 mov r0, r6                                    |         r0 = r6;
    0x00014384 bl 0x1230c                                    |         fprintf (r0, "originate_timestamp:__s", r2)
    0x00014388 add r0, r5, 0xf4                              |         r0 = r5 + 0xf4;
    0x0001438c bl 0x190e4                                    |         fcn_000190e4 (r0);
    0x00014390 ldr r1, [pc, -0x8c4]                          |         r1 = "transmit timestamp:  %s\n";
    0x00014394 mov r2, r0                                    |         r2 = r0;
    0x00014398 mov r0, r6                                    |         r0 = r6;
    0x0001439c bl 0x1230c                                    |         fprintf (r0, "transmit timestamp:  %s\n", r2)
    0x000143a0 ldr r3, [r8, 0x14]                            |         r3 = *((r8 + 0x14));
    0x000143a4 cmp r3, 1                                     |         
                                                             |         if (r3 > 1) {
    0x000143a8 ble 0x14468                                   |             
    0x000143ac mov r1, r6                                    |             r1 = r6;
    0x000143b0 ldr r0, [pc, -0x8e0]                          |             r0 = "filter_delay:_";
    0x000143b4 bl 0x12294                                    |             fputs ("filter_delay:_", r1);
    0x000143b8 ldr sl, [pc, -0x8d0]                          |             sl = "\n              ";
    0x000143bc mov sb, 0                                     |             sb = 0;
                                                             | label_41:
    0x000143c0 ldr r2, [r8, 0x14]                            |             r2 = *((r8 + 0x14));
    0x000143c4 cmp r2, sb                                    |             
                                                             |             if (r2 > sb) {
    0x000143c8 ldrle r2, [pc, -0x8f0]                        |                 r2 = "____";
                                                             |             }
                                                             |             if (r2 > sb) {
    0x000143cc ble 0x143e4                                   |                 
    0x000143d0 add r2, r5, sb, lsl 2                         |                 r2 = r5 + (sb << 2);
    0x000143d4 ldr r0, [r2, 0x4c]                            |                 r0 = *((r2 + 0x4c));
    0x000143d8 mov r1, 5                                     |                 r1 = 5;
    0x000143dc bl 0x16970                                    |                 r0 = fcn_00016970 (r0, r1);
    0x000143e0 mov r2, r0                                    |                 r2 = r0;
                                                             |             }
    0x000143e4 ldr r1, [pc, -0x908]                          |             r1 = " %-10.10s";
    0x000143e8 mov r0, r6                                    |             r0 = r6;
    0x000143ec add sb, sb, 1                                 |             sb++;
    0x000143f0 bl 0x1230c                                    |             fprintf (r0, " %-10.10s", r2)
    0x000143f4 cmp sb, 8                                     |             
                                                             |             if (sb != 8) {
    0x000143f8 bne 0x144d4                                   |                 goto label_139;
                                                             |             }
    0x000143fc mov r1, r6                                    |             r1 = r6;
    0x00014400 mov r0, 0xa                                   |             r0 = 0xa;
    0x00014404 bl 0x12240                                    |             fputc (r0, r1);
    0x00014408 mov r1, r6                                    |             r1 = r6;
    0x0001440c ldr r0, [pc, -0x938]                          |             r0 = "filter offset:";
    0x00014410 bl 0x12294                                    |             fputs ("filter offset:", r1);
    0x00014414 ldr sl, [pc, -0x93c]                          |             sl = "____";
    0x00014418 mov sb, 0                                     |             sb = 0;
                                                             | label_42:
    0x0001441c ldr r2, [r8, 0x14]                            |             r2 = *((r8 + 0x14));
    0x00014420 cmp r2, sb                                    |             
                                                             |             if (r2 > sb) {
    0x00014424 movle r2, sl                                  |                 r2 = sl;
                                                             |             }
                                                             |             if (r2 > sb) {
    0x00014428 ble 0x14444                                   |                 
    0x0001442c add r0, r5, sb, lsl 3                         |                 r0 = r5 + (sb << 3);
    0x00014430 mov r2, 6                                     |                 r2 = 6;
    0x00014434 ldr r1, [r0, 0x70]                            |                 r1 = *((r0 + 0x70));
    0x00014438 ldr r0, [r0, 0x6c]                            |                 r0 = *((r0 + 0x6c));
    0x0001443c bl 0x16bb8                                    |                 r0 = fcn_00016bb8 (r0, r1);
    0x00014440 mov r2, r0                                    |                 r2 = r0;
                                                             |             }
    0x00014444 ldr r1, [pc, -0x968]                          |             r1 = " %-10.10s";
    0x00014448 mov r0, r6                                    |             r0 = r6;
    0x0001444c add sb, sb, 1                                 |             sb++;
    0x00014450 bl 0x1230c                                    |             fprintf (r0, " %-10.10s", r2)
    0x00014454 cmp sb, 8                                     |             
                                                             |             if (sb != 8) {
    0x00014458 bne 0x144ec                                   |                 goto label_140;
                                                             |             }
    0x0001445c mov r1, r6                                    |             r1 = r6;
    0x00014460 mov r0, 0xa                                   |             r0 = 0xa;
    0x00014464 bl 0x12240                                    |             fputc (r0, r1);
                                                             |         }
    0x00014468 mov r1, 5                                     |         r1 = 5;
    0x0001446c ldr r0, [r5, 0xfc]                            |         r0 = *((r5 + 0xfc));
    0x00014470 bl 0x16970                                    |         fcn_00016970 (r0, r1);
    0x00014474 mov r3, 0                                     |         r3 = 0;
    0x00014478 mov r1, r3                                    |         r1 = r3;
    0x0001447c mov r2, 5                                     |         r2 = 5;
    0x00014480 mov sb, r0                                    |         sb = r0;
    0x00014484 ldr r0, [r5, 0x100]                           |         r0 = *((r5 + 0x100));
    0x00014488 bl 0x16778                                    |         fcn_00016778 (r0, r1);
    0x0001448c mov r2, sb                                    |         r2 = sb;
    0x00014490 ldr r1, [pc, -0x9b0]                          |         r1 = "delay__s__dispersion__s__";
    0x00014494 mov r3, r0                                    |         r3 = r0;
    0x00014498 mov r0, r6                                    |         r0 = r6;
    0x0001449c bl 0x1230c                                    |         fprintf (r0, "delay__s__dispersion__s__", r2, r3)
    0x000144a0 ldr r1, [r5, 0x108]                           |         r1 = *((r5 + 0x108));
    0x000144a4 mov r2, 6                                     |         r2 = 6;
    0x000144a8 ldr r0, [r5, 0x104]                           |         r0 = *((r5 + 0x104));
    0x000144ac bl 0x16bb8                                    |         fcn_00016bb8 (r0, r1);
    0x000144b0 ldr r1, [pc, -0x9cc]                          |         r1 = "offset__s";
    0x000144b4 mov r2, r0                                    |         r2 = r0;
    0x000144b8 mov r0, r6                                    |         r0 = r6;
    0x000144bc bl 0x1230c                                    |         fprintf (r0, "offset__s", r2)
    0x000144c0 b 0x14230                                     |         goto label_40;
                                                             | label_137:
    0x000144c4 ldr r0, [r5, 0x30]                            |         r0 = *((r5 + 0x30));
    0x000144c8 bl 0x18cb4                                    |         r0 = fcn_00018cb4 (r0);
    0x000144cc mov sb, r0                                    |         sb = r0;
    0x000144d0 b 0x14300                                     |         
                                                             |     } while (1);
                                                             | label_139:
    0x000144d4 cmp sb, 4                                     |     
                                                             |     if (sb != 4) {
    0x000144d8 bne 0x143c0                                   |         goto label_41;
                                                             |     }
    0x000144dc mov r1, r6                                    |     r1 = r6;
    0x000144e0 mov r0, sl                                    |     r0 = sl;
    0x000144e4 bl 0x12294                                    |     fputs (r0, r1);
    0x000144e8 b 0x143c0                                     |     goto label_41;
                                                             | label_140:
    0x000144ec cmp sb, 4                                     |     
                                                             |     if (sb != 4) {
    0x000144f0 bne 0x1441c                                   |         goto label_42;
                                                             |     }
    0x000144f4 mov r1, r6                                    |     r1 = r6;
    0x000144f8 ldr r0, [pc, -0xa10]                          |     r0 = "\n              ";
    0x000144fc bl 0x12294                                    |     fputs ("\n              ", r1);
    0x00014500 b 0x1441c                                     |     goto label_42;
                                                             | label_81:
    0x00014504 ldr r5, [fp, 0x1c]                            |     r5 = *(arg_1ch);
    0x00014508 cmp r5, 0                                     |     
                                                             |     if (r5 == 0) {
    0x0001450c bne 0x14530                                   |         
    0x00014510 ldr r3, [fp, 0x20]                            |         r3 = *(arg_20h);
    0x00014514 cmp r3, 0                                     |         
                                                             |         if (r3 != 0) {
    0x00014518 bne 0x145cc                                   |             goto label_141;
                                                             |         }
    0x0001451c ldr r3, [r4, 0x10c]                           |         r3 = *((r4 + 0x10c));
    0x00014520 cmp r3, 0                                     |         
    0x00014524 rsblt r3, r3, 0                               |         __asm ("rsblt r3, r3, 0");
    0x00014528 cmp r3, 0x8000                                |         
                                                             |         if (r3 <= 0x8000) {
    0x0001452c blo 0x145cc                                   |             goto label_141;
                                                             |         }
                                                             |     }
    0x00014530 ldr r3, [fp, 0x24]                            |     r3 = *(arg_24h);
    0x00014534 cmp r3, 0                                     |     
    0x00014538 beq 0x14574                                   |     
                                                             |     while (r3 != 0) {
                                                             | label_44:
    0x0001453c add r0, r4, 4                                 |         r0 = r4 + 4;
    0x00014540 bl 0x1a9f8                                    |         fcn_0001a9f8 (r0);
    0x00014544 mov r2, 6                                     |         r2 = 6;
    0x00014548 ldr r1, [r4, 0x108]                           |         r1 = *((r4 + 0x108));
    0x0001454c mov r5, r0                                    |         r5 = r0;
    0x00014550 ldr r0, [r4, 0x104]                           |         r0 = *((r4 + 0x104));
    0x00014554 bl 0x16bb8                                    |         fcn_00016bb8 (r0, r1);
    0x00014558 mov r2, r5                                    |         r2 = r5;
    0x0001455c ldr r1, [pc, -0xa70]                          |         r1 = "step time server %s offset %s sec";
    0x00014560 mov r5, 0                                     |         r5 = 0;
    0x00014564 mov r3, r0                                    |         r3 = r0;
    0x00014568 mov r0, 5                                     |         r0 = 5;
    0x0001456c bl 0x1776c                                    |         fcn_0001776c (r0);
    0x00014570 b 0x13288                                     |         goto label_43;
    0x00014574 ldr r3, [pc, -0xa80]                          |         r3 = *(0x00013afc);
    0x00014578 ldr r3, [r3]                                  |         r3 = *(r3);
    0x0001457c cmp r3, 0                                     |         
    0x00014580 bne 0x1453c                                   |         
                                                             |     }
    0x00014584 mov r6, r3                                    |     r6 = r3;
    0x00014588 ldr r3, [r4, 0x108]                           |     r3 = *((r4 + 0x108));
    0x0001458c ldr r5, [r4, 0x104]                           |     r5 = *((r4 + 0x104));
    0x00014590 adds r0, r6, r3                               |     r0 = r6 + r3;
    0x00014594 adc r1, r5, 0                                 |     __asm ("adc r1, r5, 0");
    0x00014598 cmp r5, 0                                     |     
                                                             |     if (r5 < 0) {
    0x0001459c bge 0x145a8                                   |         
    0x000145a0 rsbs r0, r0, 0                                |         r0 -= ;
    0x000145a4 rsc r1, r1, 0                                 |         __asm ("rsc r1, r1, 0");
                                                             |     }
    0x000145a8 bl 0x22af0                                    |     fcn_00022af0 (r0, r1);
    0x000145ac mvn r2, 0x1f                                  |     r2 = ~0x1f;
    0x000145b0 bl 0x122e8                                    |     ldexp (r0, r1);
    0x000145b4 cmp r5, 0                                     |     
                                                             |     if (r5 >= 0) {
    0x000145b8 addlt r1, r1, 0x80000000                      |         r1 += 0x80000000;
                                                             |     }
    0x000145bc bl 0x15098                                    |     r0 = fcn_00015098 (r0, r1);
    0x000145c0 subs r5, r0, 0                                |     r5 = r0 - 0;
                                                             |     if (r5 == r0) {
    0x000145c4 beq 0x13288                                   |         goto label_43;
                                                             |     }
    0x000145c8 b 0x1453c                                     |     goto label_44;
                                                             | label_141:
    0x000145cc ldr ip, [fp, 0x24]                            |     ip = *(arg_24h);
    0x000145d0 cmp ip, 0                                     |     
                                                             |     if (ip != 0) {
    0x000145d4 bne 0x146a0                                   |         goto label_142;
                                                             |     }
    0x000145d8 ldr r2, [r4, 0x104]                           |     r2 = *((r4 + 0x104));
    0x000145dc ldr r3, [r4, 0x108]                           |     r3 = *((r4 + 0x108));
    0x000145e0 cmp r2, 0                                     |     
                                                             |     if (r2 < 0) {
    0x000145e4 bge 0x145fc                                   |         
    0x000145e8 rsb r3, r3, 0                                 |         r3 -= ;
    0x000145ec mvn r2, r2                                    |         r2 = ~r2;
    0x000145f0 cmp r3, 0                                     |         
                                                             |         if (r3 != 0) {
    0x000145f4 addeq r2, r2, 1                               |             r2++;
                                                             |         }
    0x000145f8 mov ip, 1                                     |         
                                                             |     }
    0x000145fc lsl r1, r2, 0x1f                              |     r1 = r2 << 0x1f;
    0x00014600 orr r1, r1, r3, lsr 1                         |     r1 |= (r3 >> 1);
    0x00014604 lsr r0, r2, 1                                 |     r0 = r2 >> 1;
    0x00014608 cmp r1, 0x10000000                            |     
    0x0001460c cmpls r0, 0                                   |     __asm ("cmpls r0, 0");
                                                             |     if (r1 == 0x10000000) {
    0x00014610 movne r1, 0x10000000                          |         r1 = 0x10000000;
                                                             |     }
    0x00014614 adds r3, r3, r1                               |     r3 += r1;
    0x00014618 ldr lr, [pc, -0xb28]                          |     
                                                             |     if (r3 < r3) {
    0x0001461c movhs r1, 1                                   |         r1 = 1;
                                                             |     }
                                                             |     if (r3 >= r3) {
    0x00014620 movlo r1, 0                                   |         r1 = 0;
                                                             |     }
    0x00014624 add r2, r1, r2                                |     r2 = r1 + r2;
    0x00014628 mov r0, 0x80000000                            |     r0 = 0x80000000;
    0x0001462c mov r1, 0                                     |     r1 = 0;
    0x00014630 umlal r0, r1, lr, r3                          |     __asm ("umlal r0, r1, lr, r3");
    0x00014634 str r2, [sp, 0x40]                            |     address = r2;
    0x00014638 cmp r1, lr                                    |     
                                                             |     if (r1 != lr) {
    0x0001463c moveq r3, 0                                   |         r3 = 0;
                                                             |     }
                                                             |     if (r1 != lr) {
    0x00014640 addeq r2, r2, 1                               |         r2++;
                                                             |     }
    0x00014644 str r1, [sp, 0x44]                            |     var_44h = r1;
                                                             |     if (r1 != lr) {
    0x00014648 streq r2, [sp, 0x40]                          |         address = r2;
                                                             |     }
                                                             |     if (r1 != lr) {
    0x0001464c streq r3, [sp, 0x44]                          |         var_44h = r3;
                                                             |     }
    0x00014650 cmp ip, 0                                     |     
                                                             |     if (ip == 0) {
    0x00014654 ldrne r3, [sp, 0x40]                          |         r3 = address;
                                                             |     }
    0x00014658 rsbne r3, r3, 0                               |     __asm ("rsbne r3, r3, 0");
                                                             |     if (ip == 0) {
    0x0001465c strne r3, [sp, 0x40]                          |         address = r3;
                                                             |     }
                                                             |     if (ip == 0) {
    0x00014660 ldrne r3, [sp, 0x44]                          |         r3 = var_44h;
                                                             |     }
    0x00014664 rsbne r3, r3, 0                               |     __asm ("rsbne r3, r3, 0");
                                                             |     if (ip == 0) {
    0x00014668 strne r3, [sp, 0x44]                          |         var_44h = r3;
                                                             |     }
    0x0001466c ldr r3, [pc, -0xb78]                          |     r3 = *(0x00013afc);
    0x00014670 ldr r3, [r3]                                  |     r3 = *(r3);
    0x00014674 cmp r3, 0                                     |     
                                                             |     if (r3 != 0) {
    0x00014678 bne 0x146a0                                   |         goto label_142;
                                                             |     }
    0x0001467c ldr r3, [sp, 0x44]                            |     r3 = var_44h;
    0x00014680 cmp r3, 0                                     |     
                                                             |     if (r3 == 0) {
    0x00014684 beq 0x146a0                                   |         goto label_142;
                                                             |     }
    0x00014688 add r1, sp, 0x68                              |     r1 += s;
    0x0001468c mov r0, r7                                    |     r0 = r7;
    0x00014690 bl 0x124bc                                    |     r0 = adjtime ();
    0x00014694 cmp r0, 0                                     |     
                                                             |     if (r0 < 0) {
    0x00014698 ldrlt r1, [pc, -0xba0]                        |         r1 = "Can't adjust the time of day: %m";
                                                             |         goto label_143;
                                                             |     }
                                                             |     if (r0 < 0) {
                                                             | label_143:
    0x0001469c blt 0x132cc                                   |         goto label_8;
                                                             |     }
                                                             | label_142:
    0x000146a0 add r0, r4, 4                                 |     r0 = r4 + 4;
    0x000146a4 bl 0x1a9f8                                    |     fcn_0001a9f8 (r0);
    0x000146a8 ldr r1, [r4, 0x108]                           |     r1 = *((r4 + 0x108));
    0x000146ac mov r2, 6                                     |     r2 = 6;
    0x000146b0 mov r6, r0                                    |     r6 = r0;
    0x000146b4 ldr r0, [r4, 0x104]                           |     r0 = *((r4 + 0x104));
    0x000146b8 bl 0x16bb8                                    |     fcn_00016bb8 (r0, r1);
    0x000146bc mov r2, r6                                    |     r2 = r6;
    0x000146c0 ldr r1, [pc, -0xbc4]                          |     r1 = "adjust_time_server__s_offset__s_sec";
    0x000146c4 mov r3, r0                                    |     r3 = r0;
    0x000146c8 mov r0, 5                                     |     r0 = 5;
    0x000146cc bl 0x1776c                                    |     fcn_0001776c (r0);
    0x000146d0 b 0x13288                                     |     goto label_43;
                                                             | }

[*] Function fprintf used 36 times ntpdate