[*] Binary protection state of libcurl.so

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


[*] Function system tear down of libcurl.so

    ; 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/lib/libcurl.so @ 0x38b40 */
                                                                     | #include <stdint.h>
                                                                     |  
    ; (fcn) dbg.__udivmoddi4 ()                                      | void dbg_udivmoddi4 (int32_t arg_28h, uint32_t arg1, uint32_t arg2) {
                                                                     |     UDItype * rp;
                                                                     |     int32_t var_0h;
                                                                     |     int32_t var_4h;
                                                                     |     int32_t var_8h;
                                                                     |     r0 = arg1;
                                                                     |     r1 = arg2;
                                                                     |     /* UDItype __udivmoddi4(UDItype n,UDItype d,UDItype * rp); */
    0x00038b40 cmp r1, r3                                            |     
    0x00038b44 push {r0, r1, r4, r5, r6, r7, r8, sl, fp, lr}         |     
    0x00038b48 ldr r8, [sp, 0x28]                                    |     r8 = *(arg_28h);
    0x00038b4c cmpeq r0, r2                                          |     __asm ("cmpeq r0, r2");
    0x00038b50 mov sl, r0                                            |     sl = r0;
    0x00038b54 mov fp, r1                                            |     
                                                                     |     if (r1 <= r3) {
    0x00038b58 blo 0x38c8c                                           |         goto label_2;
                                                                     |     }
    0x00038b5c cmp r3, 0                                             |     
    0x00038b60 mov r0, r2                                            |     r0 = r2;
    0x00038b64 mov r1, r3                                            |     r1 = r3;
    0x00038b68 clzne r2, r3                                          |     __asm ("clzne r2, r3");
    0x00038b6c clzeq r3, r0                                          |     __asm ("clzeq r3, r0");
                                                                     |     if (r3 != 0) {
    0x00038b70 addeq r2, r3, 0x20                                    |         r2 = r3 + 0x20;
                                                                     |     }
    0x00038b74 cmp fp, 0                                             |     
    0x00038b78 clzeq r3, sl                                          |     __asm ("clzeq r3, sl");
                                                                     |     if (fp != 0) {
    0x00038b7c addeq r3, r3, 0x20                                    |         r3 += 0x20;
                                                                     |     }
    0x00038b80 clzne r3, fp                                          |     __asm ("clzne r3, fp");
    0x00038b84 sub r3, r2, r3                                        |     r3 = r2 - r3;
    0x00038b88 lsl r7, r1, r3                                        |     r7 = r1 << r3;
    0x00038b8c sub ip, r3, 0x20                                      |     
    0x00038b90 orr r7, r7, r0, lsl ip                                |     r7 |= (r0 << ip);
    0x00038b94 rsb r2, r3, 0x20                                      |     r2 = 0x20 - r3;
    0x00038b98 orr r7, r7, r0, lsr r2                                |     r7 |= (r0 >> r2);
    0x00038b9c lsl r6, r0, r3                                        |     r6 = r0 << r3;
    0x00038ba0 cmp fp, r7                                            |     
    0x00038ba4 cmpeq sl, r6                                          |     __asm ("cmpeq sl, r6");
                                                                     |     if (fp <= r7) {
    0x00038ba8 blo 0x38c70                                           |         goto label_3;
                                                                     |     }
    0x00038bac mov r1, 0                                             |     r1 = 0;
    0x00038bb0 mov r0, 0                                             |     r0 = 0;
    0x00038bb4 strd r0, r1, [sp]                                     |     __asm ("strd r0, r1, [sp]");
    0x00038bb8 ldr r1, [sp, 4]                                       |     r1 = var_4h;
    0x00038bbc mov lr, 1                                             |     lr = 1;
    0x00038bc0 orr r1, r1, lr, lsl ip                                |     r1 |= (lr << ip);
    0x00038bc4 orr r1, r1, lr, lsr r2                                |     r1 |= (lr >> r2);
    0x00038bc8 subs sl, sl, r6                                       |     sl -= r6;
    0x00038bcc str r1, [sp, 4]                                       |     var_4h = r1;
    0x00038bd0 lsl r1, lr, r3                                        |     r1 = lr << r3;
    0x00038bd4 sbc fp, fp, r7                                        |     __asm ("sbc fp, fp, r7");
    0x00038bd8 str r1, [sp]                                          |     *(sp) = r1;
                                                                     | label_0:
    0x00038bdc cmp r3, 0                                             |     
                                                                     |     if (r3 == 0) {
    0x00038be0 beq 0x38c5c                                           |         goto label_4;
                                                                     |     }
    0x00038be4 lsrs r7, r7, 1                                        |     r7 >>= 1;
    0x00038be8 rrx r6, r6                                            |     __asm ("rrx r6, r6");
    0x00038bec mov lr, r3                                            |     lr = r3;
                                                                     |     do {
    0x00038bf0 cmp fp, r7                                            |         
    0x00038bf4 cmpeq sl, r6                                          |         __asm ("cmpeq sl, r6");
                                                                     |         if (fp <= r7) {
    0x00038bf8 blo 0x38c80                                           |             goto label_5;
                                                                     |         }
    0x00038bfc subs r0, sl, r6                                       |         r0 = sl - r6;
    0x00038c00 sbc r1, fp, r7                                        |         __asm ("sbc r1, fp, r7");
    0x00038c04 adds r4, r0, r0                                       |         r4 = r0 + r0;
    0x00038c08 adc r5, r1, r1                                        |         __asm ("adc r5, r1, r1");
    0x00038c0c adds sl, r4, 1                                        |         sl = r4 + 1;
    0x00038c10 adc fp, r5, 0                                         |         __asm ("adc fp, r5, 0");
                                                                     | label_1:
    0x00038c14 subs lr, lr, 1                                        |         lr--;
    0x00038c18 bne 0x38bf0                                           |         
                                                                     |     } while (lr != lr);
    0x00038c1c lsr r1, sl, r3                                        |     r1 = sl >> r3;
    0x00038c20 ldrd r6, r7, [sp]                                     |     __asm ("ldrd r6, r7, [sp]");
    0x00038c24 orr r1, r1, fp, lsl r2                                |     r1 |= (fp << r2);
    0x00038c28 lsr r0, fp, r3                                        |     r0 = fp >> r3;
    0x00038c2c adds r6, r6, sl                                       |     r6 += sl;
    0x00038c30 orr r1, r1, fp, lsr ip                                |     r1 |= (fp >> ip);
    0x00038c34 adc r7, r7, fp                                        |     __asm ("adc r7, r7, fp");
    0x00038c38 mov fp, r0                                            |     
    0x00038c3c mov sl, r1                                            |     sl = r1;
    0x00038c40 lsl r1, fp, r3                                        |     r1 = fp << r3;
    0x00038c44 orr r1, r1, sl, lsl ip                                |     r1 |= (sl << ip);
    0x00038c48 lsl r0, sl, r3                                        |     r0 = sl << r3;
    0x00038c4c orr r1, r1, sl, lsr r2                                |     r1 |= (sl >> r2);
    0x00038c50 subs r6, r6, r0                                       |     r6 -= r0;
    0x00038c54 sbc r7, r7, r1                                        |     __asm ("sbc r7, r7, r1");
    0x00038c58 strd r6, r7, [sp]                                     |     __asm ("strd r6, r7, [sp]");
                                                                     |     do {
                                                                     | label_4:
    0x00038c5c cmp r8, 0                                             |         
    0x00038c60 strdne sl, fp, [r8]                                   |         __asm ("strdne sl, fp, [r8]");
    0x00038c64 ldrd r0, r1, [sp]                                     |         __asm ("ldrd r0, r1, [sp]");
    0x00038c68 add sp, sp, 8                                         |         
    0x00038c6c pop {r4, r5, r6, r7, r8, sl, fp, pc}                  |         
                                                                     | label_3:
    0x00038c70 mov r0, 0                                             |         r0 = 0;
    0x00038c74 mov r1, 0                                             |         r1 = 0;
    0x00038c78 strd r0, r1, [sp]                                     |         __asm ("strd r0, r1, [sp]");
    0x00038c7c b 0x38bdc                                             |         goto label_0;
                                                                     | label_5:
    0x00038c80 adds sl, sl, sl                                       |         sl += sl;
    0x00038c84 adc fp, fp, fp                                        |         __asm ("adc fp, fp, fp");
    0x00038c88 b 0x38c14                                             |         goto label_1;
                                                                     | label_2:
    0x00038c8c mov r2, 0                                             |         r2 = 0;
    0x00038c90 mov r3, 0                                             |         r3 = 0;
    0x00038c94 strd r2, r3, [sp]                                     |         __asm ("strd r2, r3, [sp]");
    0x00038c98 b 0x38c5c                                             |         
                                                                     |     } 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/lib/libcurl.so @ 0x25390 */
                                                                 | #include <stdint.h>
                                                                 |  
    ; (fcn) sym.Curl_HMAC_init ()                                | void Curl_HMAC_init (int32_t arg1, int32_t arg2) {
                                                                 |     int32_t var_7h;
                                                                 |     int32_t var_ch;
                                                                 |     r0 = arg1;
                                                                 |     r1 = arg2;
    0x00025390 push {r0, r1, r2, r4, r5, r6, r7, r8, sb, lr}     |     
    0x00025394 ldr r3, [r0, 0xc]                                 |     r3 = *((r0 + 0xc));
    0x00025398 mov r7, r2                                        |     r7 = r2;
    0x0002539c ldr r2, [pc, 0x14c]                               |     
    0x000253a0 mov r6, r1                                        |     r6 = r1;
    0x000253a4 ldr r1, [pc, 0x148]                               |     r1 = $d;
    0x000253a8 add r2, pc, r2                                    |     r2 = pc + r2;
    0x000253ac mov r4, r0                                        |     r4 = r0;
    0x000253b0 ldr r0, [r0, 0x14]                                |     r0 = *((r0 + 0x14));
    0x000253b4 ldr r2, [r2, r1]                                  |     
    0x000253b8 add r3, r3, 6                                     |     r3 += 6;
    0x000253bc ldr r2, [r2]                                      |     r2 = *(0x254ec);
    0x000253c0 add r0, r0, r3, lsl 1                             |     r0 += (r3 << 1);
    0x000253c4 blx r2                                            |     r0 = uint32_t (*r2)(uint32_t, uint32_t, uint32_t, uint32_t) (r0, r1, r2, r3);
    0x000253c8 subs r5, r0, 0                                    |     r5 = r0 - 0;
                                                                 |     if (r5 == r0) {
    0x000253cc beq 0x25470                                       |         goto label_1;
                                                                 |     }
    0x000253d0 ldr r3, [r4, 0xc]                                 |     r3 = *((r4 + 0xc));
    0x000253d4 ldr r2, [r4, 0x10]                                |     r2 = *((r4 + 0x10));
    0x000253d8 mov r0, r5                                        |     r0 = r5;
    0x000253dc str r4, [r0], 0xc                                 |     *(r0) = r4;
                                                                 |     r0 += 0xc;
    0x000253e0 cmp r2, r7                                        |     
    0x000253e4 add r3, r0, r3                                    |     r3 = r0 + r3;
    0x000253e8 str r3, [r5, 8]                                   |     *((r5 + 8)) = r3;
    0x000253ec str r0, [r5, 4]                                   |     *((r5 + 4)) = r0;
    0x000253f0 ldr r3, [r4]                                      |     r3 = *(r4);
                                                                 |     if (r2 < r7) {
    0x000253f4 bhs 0x25430                                       |         
    0x000253f8 blx r3                                            |         uint32_t (*r3)(uint32_t) (r0);
    0x000253fc mov r2, r7                                        |         r2 = r7;
    0x00025400 mov r1, r6                                        |         r1 = r6;
    0x00025404 ldr r3, [r4, 4]                                   |         r3 = *((r4 + 4));
    0x00025408 ldr r0, [r5, 4]                                   |         r0 = *((r5 + 4));
    0x0002540c blx r3                                            |         uint32_t (*r3)(uint32_t, uint32_t, uint32_t, uint32_t) (r0, r1, r2, r3);
    0x00025410 ldr r3, [r4, 0xc]                                 |         r3 = *((r4 + 0xc));
    0x00025414 ldr r6, [r5, 8]                                   |         r6 = *((r5 + 8));
    0x00025418 ldr r1, [r5, 4]                                   |         r1 = *((r5 + 4));
    0x0002541c add r6, r6, r3                                    |         r6 += r3;
    0x00025420 mov r0, r6                                        |         r0 = r6;
    0x00025424 ldr r3, [r4, 8]                                   |         r3 = *((r4 + 8));
    0x00025428 blx r3                                            |         uint32_t (*r3)(uint32_t, uint32_t, uint32_t) (r0, r1, r3);
    0x0002542c ldr r7, [r4, 0x14]                                |         r7 = *((r4 + 0x14));
                                                                 |     }
    0x00025430 ldr r3, [r4]                                      |     r3 = *(r4);
    0x00025434 ldr r0, [r5, 4]                                   |     r0 = *((r5 + 4));
    0x00025438 blx r3                                            |     uint32_t (*r3)(uint32_t, uint32_t) (r0, r3);
    0x0002543c ldr r3, [r4]                                      |     r3 = *(r4);
    0x00025440 ldr r0, [r5, 8]                                   |     r0 = *((r5 + 8));
    0x00025444 blx r3                                            |     uint32_t (*r3)(uint32_t, uint32_t) (r0, r3);
    0x00025448 add sb, r6, r7                                    |     sb = r6 + r7;
    0x0002544c add r8, sp, 7                                     |     r8 += var_7h;
                                                                 |     do {
    0x00025450 cmp r6, sb                                        |         
                                                                 |         if (r6 == sb) {
    0x00025454 bne 0x2547c                                       |             
    0x00025458 ldr r6, [pc, 0x98]                                |             r6 = *(0x254f4);
    0x0002545c add r6, pc, r6                                    |             r6 = pc + r6;
    0x00025460 add r8, r6, 1                                     |             r8 = r6 + 1;
                                                                 | label_0:
    0x00025464 ldr r3, [r4, 0x10]                                |             r3 = *((r4 + 0x10));
    0x00025468 cmp r3, r7                                        |             
                                                                 |             if (r3 > r7) {
    0x0002546c bhi 0x254c0                                       |                 goto label_2;
                                                                 |             }
                                                                 | label_1:
    0x00025470 mov r0, r5                                        |             r0 = r5;
    0x00025474 add sp, sp, 0xc                                   |             
    0x00025478 pop {r4, r5, r6, r7, r8, sb, pc}                  |             
                                                                 |         }
    0x0002547c ldrb r3, [r6]                                     |         r3 = *(r6);
    0x00025480 mov r1, r8                                        |         r1 = r8;
    0x00025484 eor r3, r3, 0x36                                  |         r3 ^= 0x36;
    0x00025488 strb r3, [sp, 7]                                  |         var_7h = r3;
    0x0002548c ldr r0, [r5, 4]                                   |         r0 = *((r5 + 4));
    0x00025490 ldr r3, [r4, 4]                                   |         r3 = *((r4 + 4));
    0x00025494 mov r2, 1                                         |         r2 = 1;
    0x00025498 blx r3                                            |         uint32_t (*r3)(uint32_t, uint32_t, uint32_t, uint32_t) (r0, r1, r2, r3);
    0x0002549c ldrb r3, [r6], 1                                  |         r3 = *(r6);
                                                                 |         r6++;
    0x000254a0 mov r2, 1                                         |         r2 = 1;
    0x000254a4 eor r3, r3, 0x5c                                  |         r3 ^= 0x5c;
    0x000254a8 strb r3, [sp, 7]                                  |         var_7h = r3;
    0x000254ac mov r1, r8                                        |         r1 = r8;
    0x000254b0 ldr r3, [r4, 4]                                   |         r3 = *((r4 + 4));
    0x000254b4 ldr r0, [r5, 8]                                   |         r0 = *((r5 + 8));
    0x000254b8 blx r3                                            |         uint32_t (*r3)(uint32_t, uint32_t, uint32_t, uint32_t) (r0, r1, r2, r3);
    0x000254bc b 0x25450                                         |         
                                                                 |     } while (1);
                                                                 | label_2:
    0x000254c0 ldr r3, [r4, 4]                                   |     r3 = *((r4 + 4));
    0x000254c4 mov r2, 1                                         |     r2 = 1;
    0x000254c8 mov r1, r6                                        |     r1 = r6;
    0x000254cc ldr r0, [r5, 4]                                   |     r0 = *((r5 + 4));
    0x000254d0 blx r3                                            |     uint32_t (*r3)(uint32_t, uint32_t, uint32_t, uint32_t) (r0, r1, r2, r3);
    0x000254d4 ldr r3, [r4, 4]                                   |     r3 = *((r4 + 4));
    0x000254d8 mov r2, 1                                         |     r2 = 1;
    0x000254dc mov r1, r8                                        |     r1 = r8;
    0x000254e0 ldr r0, [r5, 8]                                   |     r0 = *((r5 + 8));
    0x000254e4 blx r3                                            |     uint32_t (*r3)(uint32_t, uint32_t, uint32_t, uint32_t) (r0, r1, r2, r3);
    0x000254e8 add r7, r7, 1                                     |     r7++;
    0x000254ec b 0x25464                                         |     goto label_0;
                                                                 | }
    ; 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/lib/libcurl.so @ 0x23ab4 */
                                                             | #include <stdint.h>
                                                             |  
    ; (fcn) sym.Curl_SOCKS4 ()                               | void Curl_SOCKS4 (int32_t arg_190h, int32_t arg1, int32_t arg2) {
                                                             |     int32_t var_0h;
                                                             |     int32_t var_4h;
                                                             |     int32_t var_8h;
                                                             |     int32_t var_ch;
                                                             |     int32_t var_10h;
                                                             |     int32_t var_14h;
                                                             |     int32_t var_1ch;
                                                             |     int32_t var_20h;
                                                             |     int32_t var_60h;
                                                             |     int32_t var_61h;
                                                             |     int32_t var_62h;
                                                             |     int32_t var_63h;
                                                             |     int32_t var_64h;
                                                             |     int32_t var_65h;
                                                             |     int32_t var_66h;
                                                             |     int32_t var_67h;
                                                             |     char * s1;
                                                             |     int32_t var_9h;
                                                             |     int32_t var_0h_2;
                                                             |     int32_t var_16ch;
                                                             |     r0 = arg1;
                                                             |     r1 = arg2;
    0x00023ab4 push {r4, r5, r6, r7, r8, sb, sl, fp, lr}     |     
    0x00023ab8 sub sp, sp, 0x16c                             |     
    0x00023abc ldr r5, [sp, 0x190]                           |     r5 = *(arg_190h);
    0x00023ac0 mov sb, r2                                    |     sb = r2;
    0x00023ac4 ldr r4, [r5]                                  |     r4 = *(r5);
    0x00023ac8 ldr r2, [r5, 0xd0]                            |     r2 = *((r5 + 0xd0));
    0x00023acc add r3, r3, 0x66                              |     r3 += 0x66;
    0x00023ad0 str r2, [sp, 0x10]                            |     var_10h = r2;
    0x00023ad4 mov sl, r0                                    |     sl = r0;
    0x00023ad8 mov r7, r1                                    |     r7 = r1;
    0x00023adc mov r2, 1                                     |     r2 = 1;
    0x00023ae0 mov r1, 0                                     |     r1 = 0;
    0x00023ae4 mov r0, r4                                    |     r0 = r4;
    0x00023ae8 ldr r8, [r5, r3, lsl 2]                       |     offset_0 = r3 << 2;
                                                             |     r8 = *((r5 + offset_0));
    0x00023aec bl 0x1b738                                    |     r0 = Curl_timeleft ();
    0x00023af0 cmp r0, 0                                     |     
                                                             |     if (r0 >= 0) {
    0x00023af4 bge 0x23b18                                   |         goto label_9;
                                                             |     }
    0x00023af8 ldr r1, [pc, 0x494]                           |     r1 = *(0x23f90);
    0x00023afc mov r0, r4                                    |     r0 = r4;
    0x00023b00 add r1, pc, r1                                |     r1 = pc + r1;
    0x00023b04 bl 0x10544                                    |     Curl_failf ();
    0x00023b08 mov sb, 0x1c                                  |     sb = 0x1c;
                                                             |     do {
                                                             | label_0:
    0x00023b0c mov r0, sb                                    |         r0 = sb;
    0x00023b10 add sp, sp, 0x16c                             |         
    0x00023b14 pop {r4, r5, r6, r7, r8, sb, sl, fp, pc}      |         
                                                             | label_9:
    0x00023b18 ldrb r3, [r5, 0x256]                          |         r3 = *((r5 + 0x256));
    0x00023b1c cmp r3, 0                                     |         
                                                             |         if (r3 != 0) {
    0x00023b20 beq 0x23b50                                   |             
    0x00023b24 ldr r3, [sp, 0x10]                            |             r3 = var_10h;
    0x00023b28 ldr r0, [r5]                                  |             r0 = *(r5);
    0x00023b2c cmp r3, 6                                     |             
                                                             |             if (r3 != 6) {
    0x00023b30 bne 0x23bf8                                   |                 goto label_10;
                                                             |             }
    0x00023b34 ldr r2, [pc, 0x45c]                           |             r2 = $d;
    0x00023b38 add r2, pc, r2                                |             r2 = pc + r2;
                                                             | label_1:
    0x00023b3c ldr r1, [pc, 0x458]                           |             r1 = *(0x23f98);
    0x00023b40 str sb, [sp]                                  |             *(sp) = sb;
    0x00023b44 mov r3, r7                                    |             r3 = r7;
    0x00023b48 add r1, pc, r1                                |             r1 = pc + r1;
    0x00023b4c bl 0x104cc                                    |             Curl_infof ();
                                                             |         }
    0x00023b50 mov r1, 0                                     |         r1 = 0;
    0x00023b54 mov r0, r8                                    |         r0 = r8;
    0x00023b58 bl 0x25118                                    |         curlx_nonblock ();
    0x00023b5c ldr r1, [pc, 0x43c]                           |         r1 = *(0x23f9c);
    0x00023b60 mov r3, sb                                    |         r3 = sb;
    0x00023b64 mov r2, r7                                    |         r2 = r7;
    0x00023b68 add r1, pc, r1                                |         r1 = pc + r1;
    0x00023b6c mov r0, r4                                    |         r0 = r4;
    0x00023b70 bl 0x104cc                                    |         Curl_infof ();
    0x00023b74 add r6, sp, 0x60                              |         r6 += var_60h;
    0x00023b78 mov r3, 0x104                                 |         r3 = 0x104;
    0x00023b7c strh r3, [r6]                                 |         *(r6) = r3;
    0x00023b80 asr r3, sb, 8                                 |         r3 = sb >> 8;
    0x00023b84 strb r3, [sp, 0x62]                           |         var_62h = r3;
    0x00023b88 ldr r3, [sp, 0x10]                            |         r3 = var_10h;
    0x00023b8c strb sb, [sp, 0x63]                           |         var_63h = sb;
    0x00023b90 cmp r3, 6                                     |         
                                                             |         if (r3 == 6) {
    0x00023b94 beq 0x23c7c                                   |             goto label_11;
                                                             |         }
    0x00023b98 add fp, sp, 0x1c                              |         
    0x00023b9c mov r2, sb                                    |         r2 = sb;
    0x00023ba0 mov r3, fp                                    |         r3 = fp;
    0x00023ba4 mov r1, r7                                    |         r1 = r7;
    0x00023ba8 mov r0, r5                                    |         r0 = r5;
    0x00023bac bl 0x74ec                                     |         r0 = Curl_resolv ();
    0x00023bb0 cmn r0, 1                                     |         
                                                             |         if (r0 != 1) {
    0x00023bb4 moveq sb, 5                                   |             sb = 5;
                                                             |         }
    0x00023bb8 beq 0x23b0c                                   |         
                                                             |     } while (r0 == 1);
    0x00023bbc cmp r0, 1                                     |     
                                                             |     if (r0 == 1) {
    0x00023bc0 bne 0x23bd0                                   |         
    0x00023bc4 mov r1, fp                                    |         r1 = fp;
    0x00023bc8 mov r0, r5                                    |         r0 = r5;
    0x00023bcc bl 0x26624                                    |         Curl_resolver_wait_resolv ();
                                                             |     }
    0x00023bd0 ldr r3, [sp, 0x1c]                            |     r3 = var_1ch;
    0x00023bd4 cmp r3, 0                                     |     
    0x00023bd8 bne 0x23c04                                   |     
                                                             |     while (sb == 0) {
                                                             | label_2:
    0x00023bdc ldr r1, [pc, 0x3c0]                           |         r1 = *(0x23fa0);
    0x00023be0 mov r2, r7                                    |         r2 = r7;
    0x00023be4 add r1, pc, r1                                |         r1 = pc + r1;
    0x00023be8 mov r0, r4                                    |         r0 = r4;
    0x00023bec bl 0x10544                                    |         Curl_failf ();
    0x00023bf0 mov sb, 6                                     |         sb = 6;
    0x00023bf4 b 0x23b0c                                     |         goto label_0;
                                                             | label_10:
    0x00023bf8 ldr r2, [pc, 0x3a8]                           |         r2 = *(0x23fa4);
    0x00023bfc add r2, pc, r2                                |         r2 = pc + r2;
    0x00023c00 b 0x23b3c                                     |         goto label_1;
    0x00023c04 ldr sb, [r3]                                  |         sb = *(r3);
    0x00023c08 cmp sb, 0                                     |         
    0x00023c0c beq 0x23bdc                                   |         
                                                             |     }
    0x00023c10 add fp, sp, 0x20                              |     
    0x00023c14 mov r2, 0x40                                  |     r2 = 0x40;
    0x00023c18 mov r1, fp                                    |     r1 = fp;
    0x00023c1c mov r0, sb                                    |     r0 = sb;
    0x00023c20 bl 0x711c                                     |     Curl_printable_address ();
    0x00023c24 ldr r3, [sb, 4]                               |     r3 = *((sb + 4));
    0x00023c28 cmp r3, 2                                     |     
                                                             |     if (r3 != 2) {
    0x00023c2c bne 0x23cb4                                   |         goto label_12;
                                                             |     }
    0x00023c30 ldr r3, [sb, 0x18]                            |     r3 = *((sb + 0x18));
    0x00023c34 ldr r1, [pc, 0x370]                           |     r1 = *(0x23fa8);
    0x00023c38 ldrb r2, [r3, 4]                              |     r2 = *((r3 + 4));
    0x00023c3c add r1, pc, r1                                |     r1 = pc + r1;
    0x00023c40 strb r2, [sp, 0x64]                           |     var_64h = r2;
    0x00023c44 ldrb r2, [r3, 5]                              |     r2 = *((r3 + 5));
    0x00023c48 mov r0, r4                                    |     r0 = r4;
    0x00023c4c strb r2, [sp, 0x65]                           |     var_65h = r2;
    0x00023c50 ldrb r2, [r3, 6]                              |     r2 = *((r3 + 6));
    0x00023c54 strb r2, [sp, 0x66]                           |     var_66h = r2;
    0x00023c58 ldrb r3, [r3, 7]                              |     r3 = *((r3 + 7));
    0x00023c5c mov r2, fp                                    |     r2 = fp;
    0x00023c60 strb r3, [sp, 0x67]                           |     var_67h = r3;
    0x00023c64 bl 0x104cc                                    |     Curl_infof ();
                                                             | label_3:
    0x00023c68 ldr r1, [sp, 0x1c]                            |     r1 = var_1ch;
    0x00023c6c mov r0, r4                                    |     r0 = r4;
    0x00023c70 bl 0x76e8                                     |     Curl_resolv_unlock ();
    0x00023c74 cmp sb, 0                                     |     
                                                             |     if (sb == 0) {
    0x00023c78 beq 0x23bdc                                   |         goto label_2;
                                                             |     }
                                                             | label_11:
    0x00023c7c mov r3, 0                                     |     r3 = 0;
    0x00023c80 cmp sl, r3                                    |     
    0x00023c84 strb r3, [sp, 0x68]                           |     s1 = r3;
                                                             |     if (sl == r3) {
    0x00023c88 beq 0x23ce0                                   |         goto label_13;
                                                             |     }
    0x00023c8c mov r0, sl                                    |     r0 = sl;
    0x00023c90 bl 0x5250                                     |     r0 = strlen (r0);
    0x00023c94 cmp r0, 0xfd                                  |     
                                                             |     if (r0 < 0xfd) {
    0x00023c98 bls 0x23cd0                                   |         goto label_14;
                                                             |     }
    0x00023c9c ldr r1, [pc, 0x30c]                           |     r1 = *(0x23fac);
    0x00023ca0 add r1, pc, r1                                |     r1 = pc + r1;
                                                             |     do {
                                                             | label_6:
    0x00023ca4 mov r0, r4                                    |         r0 = r4;
    0x00023ca8 bl 0x10544                                    |         Curl_failf ();
                                                             | label_7:
    0x00023cac mov sb, 7                                     |         sb = 7;
    0x00023cb0 b 0x23b0c                                     |         goto label_0;
                                                             | label_12:
    0x00023cb4 ldr r1, [pc, 0x2f8]                           |         r1 = *(0x23fb0);
    0x00023cb8 mov r2, fp                                    |         r2 = fp;
    0x00023cbc add r1, pc, r1                                |         r1 = pc + r1;
    0x00023cc0 mov r0, r4                                    |         r0 = r4;
    0x00023cc4 bl 0x10544                                    |         Curl_failf ();
    0x00023cc8 mov sb, 0                                     |         sb = 0;
    0x00023ccc b 0x23c68                                     |         goto label_3;
                                                             | label_14:
    0x00023cd0 add r2, r0, 1                                 |         r2 = r0 + 1;
    0x00023cd4 mov r1, sl                                    |         r1 = sl;
    0x00023cd8 add r0, sp, 0x68                              |         r0 += s1;
    0x00023cdc bl 0x4f5c                                     |         memcpy (r0, r1, r2);
                                                             | label_13:
    0x00023ce0 add r0, sp, 0x68                              |         r0 += s1;
    0x00023ce4 bl 0x5250                                     |         strlen (r0);
    0x00023ce8 ldr r3, [sp, 0x10]                            |         r3 = var_10h;
    0x00023cec cmp r3, 6                                     |         
    0x00023cf0 add sl, r0, 9                                 |         sl += var_9h;
                                                             |         if (r3 == 6) {
    0x00023cf4 beq 0x23d40                                   |             goto label_15;
                                                             |         }
                                                             | label_4:
    0x00023cf8 mov fp, 0                                     |         
                                                             | label_5:
    0x00023cfc add r3, sp, 0x20                              |         r3 += var_20h;
    0x00023d00 add sl, fp, sl                                |         sl = fp + sl;
    0x00023d04 str r3, [sp, 0x14]                            |         var_14h = r3;
    0x00023d08 str r3, [sp]                                  |         *(sp) = r3;
    0x00023d0c mov r2, r6                                    |         r2 = r6;
    0x00023d10 mov r3, sl                                    |         r3 = sl;
    0x00023d14 mov r1, r8                                    |         r1 = r8;
    0x00023d18 mov r0, r5                                    |         r0 = r5;
    0x00023d1c bl 0x10700                                    |         r0 = Curl_write_plain ();
    0x00023d20 subs sb, r0, 0                                |         sb = r0 - 0;
                                                             |         if (sb == r0) {
    0x00023d24 bne 0x23d34                                   |             
    0x00023d28 ldr r3, [sp, 0x20]                            |             r3 = var_20h;
    0x00023d2c cmp sl, r3                                    |             
                                                             |             if (sl == r3) {
    0x00023d30 beq 0x23d74                                   |                 goto label_16;
                                                             |             }
                                                             |         }
    0x00023d34 ldr r1, [pc, 0x27c]                           |         r1 = *(0x23fb4);
    0x00023d38 add r1, pc, r1                                |         r1 = pc + r1;
    0x00023d3c b 0x23ca4                                     |         
                                                             |     } while (1);
                                                             | label_15:
    0x00023d40 mov r3, 0x1000000                             |     r3 = 0x1000000;
    0x00023d44 mov r0, r7                                    |     r0 = r7;
    0x00023d48 str r3, [sp, 0x64]                            |     var_64h = r3;
    0x00023d4c bl 0x5250                                     |     strlen (r0);
    0x00023d50 ldr r3, [pc, 0x264]                           |     r3 = *(0x23fb8);
    0x00023d54 add fp, r0, 1                                 |     
    0x00023d58 add r2, sl, fp                                |     r2 = sl + fp;
    0x00023d5c cmp r2, r3                                    |     
                                                             |     if (r2 > r3) {
    0x00023d60 bgt 0x23cf8                                   |         goto label_4;
                                                             |     }
    0x00023d64 mov r1, r7                                    |     r1 = r7;
    0x00023d68 add r0, r6, sl                                |     r0 = r6 + sl;
    0x00023d6c bl 0x5c28                                     |     strcpy (r0, r1);
    0x00023d70 b 0x23cfc                                     |     goto label_5;
                                                             | label_16:
    0x00023d74 ldr r3, [sp, 0x10]                            |     r3 = var_10h;
    0x00023d78 cmp fp, 0                                     |     
    0x00023d7c cmpeq r3, 6                                   |     __asm ("cmpeq r3, 6");
                                                             |     if (fp == 0) {
    0x00023d80 bne 0x23dcc                                   |         
    0x00023d84 mov r0, r7                                    |         r0 = r7;
    0x00023d88 bl 0x5250                                     |         strlen (r0);
    0x00023d8c ldr r3, [sp, 0x14]                            |         r3 = var_14h;
    0x00023d90 mov r2, r7                                    |         r2 = r7;
    0x00023d94 str r3, [sp]                                  |         *(sp) = r3;
    0x00023d98 mov r1, r8                                    |         r1 = r8;
    0x00023d9c add sl, r0, 1                                 |         sl = r0 + 1;
    0x00023da0 mov r3, sl                                    |         r3 = sl;
    0x00023da4 mov r0, r5                                    |         r0 = r5;
    0x00023da8 bl 0x10700                                    |         r0 = Curl_write_plain ();
    0x00023dac cmp r0, 0                                     |         
                                                             |         if (r0 == 0) {
    0x00023db0 bne 0x23dc0                                   |             
    0x00023db4 ldr r3, [sp, 0x20]                            |             r3 = var_20h;
    0x00023db8 cmp r3, sl                                    |             
                                                             |             if (r3 == sl) {
    0x00023dbc beq 0x23dcc                                   |                 goto label_17;
                                                             |             }
                                                             |         }
    0x00023dc0 ldr r1, [pc, 0x1f8]                           |         r1 = *(0x23fbc);
    0x00023dc4 add r1, pc, r1                                |         r1 = pc + r1;
    0x00023dc8 b 0x23ca4                                     |         goto label_6;
                                                             |     }
                                                             | label_17:
    0x00023dcc add r3, sp, 0x1c                              |     r3 += var_1ch;
    0x00023dd0 str r3, [sp]                                  |     *(sp) = r3;
    0x00023dd4 mov r2, r6                                    |     r2 = r6;
    0x00023dd8 mov r3, 8                                     |     r3 = 8;
    0x00023ddc mov r1, r8                                    |     r1 = r8;
    0x00023de0 mov r0, r5                                    |     r0 = r5;
    0x00023de4 bl 0x23a00                                    |     r0 = Curl_blockread_all ();
    0x00023de8 cmp r0, 0                                     |     
                                                             |     if (r0 == 0) {
    0x00023dec bne 0x23dfc                                   |         
    0x00023df0 ldr r3, [sp, 0x1c]                            |         r3 = var_1ch;
    0x00023df4 cmp r3, 8                                     |         
                                                             |         if (r3 == 8) {
    0x00023df8 beq 0x23e08                                   |             goto label_18;
                                                             |         }
                                                             |     }
    0x00023dfc ldr r1, [pc, 0x1c0]                           |     r1 = *(0x23fc0);
    0x00023e00 add r1, pc, r1                                |     r1 = pc + r1;
    0x00023e04 b 0x23ca4                                     |     goto label_6;
                                                             | label_18:
    0x00023e08 ldrb r3, [sp, 0x60]                           |     r3 = var_60h;
    0x00023e0c cmp r3, 0                                     |     
                                                             |     if (r3 == 0) {
    0x00023e10 ldrne r1, [pc, 0x1b0]                         |         r1 = *(0x00023fc8);
                                                             |     }
                                                             |     if (r3 != 0) {
    0x00023e14 addne r1, pc, r1                              |         r1 = pc + r1;
                                                             |         goto label_19;
                                                             |     }
                                                             |     if (r3 != 0) {
                                                             | label_19:
    0x00023e18 bne 0x23ca4                                   |         goto label_6;
                                                             |     }
    0x00023e1c ldrb r1, [sp, 0x61]                           |     r1 = var_61h;
    0x00023e20 sub r3, r1, 0x5a                              |     r3 = r1 - 0x5a;
    0x00023e24 cmp r3, 3                                     |     
                                                             |     if (r3 > 3) {
                                                             |         /* switch table (4 cases) at 0x23e30 */
    0x00023e28 addls pc, pc, r3, lsl 2                       |         pc += (r3 << 2);
                                                             |     }
    0x00023e2c b 0x23f54                                     |     goto label_20;
    0x00023e30 b 0x23e40                                     |     goto label_21;
    0x00023e34 b 0x23e80                                     |     goto label_22;
    0x00023e38 b 0x23ecc                                     |     goto label_23;
    0x00023e3c b 0x23f10                                     |     goto label_24;
                                                             | label_21:
    0x00023e40 ldr r3, [sp, 0x10]                            |     r3 = var_10h;
    0x00023e44 cmp r3, 6                                     |     
                                                             |     if (r3 != 6) {
    0x00023e48 bne 0x23e74                                   |         goto label_25;
                                                             |     }
    0x00023e4c ldr r2, [pc, 0x178]                           |     r2 = *(0x23fc8);
    0x00023e50 add r2, pc, r2                                |     r2 = pc + r2;
                                                             |     do {
    0x00023e54 ldr r1, [pc, 0x174]                           |         r1 = *(0x23fcc);
    0x00023e58 mov r0, r4                                    |         r0 = r4;
    0x00023e5c add r1, pc, r1                                |         r1 = pc + r1;
    0x00023e60 bl 0x104cc                                    |         Curl_infof ();
    0x00023e64 mov r1, 1                                     |         r1 = 1;
    0x00023e68 mov r0, r8                                    |         r0 = r8;
    0x00023e6c bl 0x25118                                    |         curlx_nonblock ();
    0x00023e70 b 0x23b0c                                     |         goto label_0;
                                                             | label_25:
    0x00023e74 ldr r2, [pc, 0x158]                           |         r2 = *(0x23fd0);
    0x00023e78 add r2, pc, r2                                |         r2 = pc + r2;
    0x00023e7c b 0x23e54                                     |         
                                                             |     } while (1);
                                                             | label_22:
    0x00023e80 mov r1, 0x5b                                  |     r1 = 0x5b;
    0x00023e84 str r1, [sp, 0xc]                             |     var_ch = r1;
    0x00023e88 ldrh r0, [r6, 2]                              |     r0 = var_62h;
    0x00023e8c ldrb r3, [sp, 0x65]                           |     r3 = var_65h;
    0x00023e90 lsr r1, r0, 8                                 |     r1 = r0 >> 8;
    0x00023e94 orr r1, r1, r0, lsl 8                         |     r1 |= (r0 << 8);
    0x00023e98 lsl r1, r1, 0x10                              |     r1 <<= 0x10;
    0x00023e9c lsr r1, r1, 0x10                              |     r1 >>= 0x10;
    0x00023ea0 str r1, [sp, 8]                               |     var_8h = r1;
    0x00023ea4 ldrb r1, [sp, 0x67]                           |     r1 = var_67h;
    0x00023ea8 ldrb r2, [sp, 0x64]                           |     r2 = var_64h;
    0x00023eac str r1, [sp, 4]                               |     var_4h = r1;
    0x00023eb0 ldrb r1, [sp, 0x66]                           |     r1 = var_66h;
    0x00023eb4 str r1, [sp]                                  |     *(sp) = r1;
    0x00023eb8 ldr r1, [pc, 0x118]                           |     r1 = *(0x23fd4);
    0x00023ebc add r1, pc, r1                                |     r1 = pc + r1;
                                                             |     do {
                                                             | label_8:
    0x00023ec0 mov r0, r4                                    |         r0 = r4;
    0x00023ec4 bl 0x10544                                    |         Curl_failf ();
    0x00023ec8 b 0x23cac                                     |         goto label_7;
                                                             | label_23:
    0x00023ecc mov r1, 0x5c                                  |         r1 = 0x5c;
    0x00023ed0 str r1, [sp, 0xc]                             |         var_ch = r1;
    0x00023ed4 ldrh r0, [r6, 2]                              |         r0 = var_62h;
    0x00023ed8 ldrb r3, [sp, 0x65]                           |         r3 = var_65h;
    0x00023edc lsr r1, r0, 8                                 |         r1 = r0 >> 8;
    0x00023ee0 orr r1, r1, r0, lsl 8                         |         r1 |= (r0 << 8);
    0x00023ee4 lsl r1, r1, 0x10                              |         r1 <<= 0x10;
    0x00023ee8 lsr r1, r1, 0x10                              |         r1 >>= 0x10;
    0x00023eec str r1, [sp, 8]                               |         var_8h = r1;
    0x00023ef0 ldrb r1, [sp, 0x67]                           |         r1 = var_67h;
    0x00023ef4 ldrb r2, [sp, 0x64]                           |         r2 = var_64h;
    0x00023ef8 str r1, [sp, 4]                               |         var_4h = r1;
    0x00023efc ldrb r1, [sp, 0x66]                           |         r1 = var_66h;
    0x00023f00 str r1, [sp]                                  |         *(sp) = r1;
    0x00023f04 ldr r1, [pc, 0xd0]                            |         r1 = *(0x23fd8);
    0x00023f08 add r1, pc, r1                                |         r1 = pc + r1;
    0x00023f0c b 0x23ec0                                     |         
                                                             |     } while (1);
                                                             | label_24:
    0x00023f10 mov r1, 0x5d                                  |     r1 = 0x5d;
    0x00023f14 str r1, [sp, 0xc]                             |     var_ch = r1;
    0x00023f18 ldrh r0, [r6, 2]                              |     r0 = var_62h;
    0x00023f1c ldrb r3, [sp, 0x65]                           |     r3 = var_65h;
    0x00023f20 lsr r1, r0, 8                                 |     r1 = r0 >> 8;
    0x00023f24 orr r1, r1, r0, lsl 8                         |     r1 |= (r0 << 8);
    0x00023f28 lsl r1, r1, 0x10                              |     r1 <<= 0x10;
    0x00023f2c lsr r1, r1, 0x10                              |     r1 >>= 0x10;
    0x00023f30 str r1, [sp, 8]                               |     var_8h = r1;
    0x00023f34 ldrb r1, [sp, 0x67]                           |     r1 = var_67h;
    0x00023f38 ldrb r2, [sp, 0x64]                           |     r2 = var_64h;
    0x00023f3c str r1, [sp, 4]                               |     var_4h = r1;
    0x00023f40 ldrb r1, [sp, 0x66]                           |     r1 = var_66h;
    0x00023f44 str r1, [sp]                                  |     *(sp) = r1;
    0x00023f48 ldr r1, [pc, 0x90]                            |     r1 = *(0x23fdc);
    0x00023f4c add r1, pc, r1                                |     r1 = pc + r1;
    0x00023f50 b 0x23ec0                                     |     goto label_8;
                                                             | label_20:
    0x00023f54 str r1, [sp, 0xc]                             |     var_ch = r1;
    0x00023f58 ldrh r0, [r6, 2]                              |     r0 = var_62h;
    0x00023f5c ldrb r3, [sp, 0x65]                           |     r3 = var_65h;
    0x00023f60 lsr r1, r0, 8                                 |     r1 = r0 >> 8;
    0x00023f64 orr r1, r1, r0, lsl 8                         |     r1 |= (r0 << 8);
    0x00023f68 lsl r1, r1, 0x10                              |     r1 <<= 0x10;
    0x00023f6c lsr r1, r1, 0x10                              |     r1 >>= 0x10;
    0x00023f70 str r1, [sp, 8]                               |     var_8h = r1;
    0x00023f74 ldrb r1, [sp, 0x67]                           |     r1 = var_67h;
    0x00023f78 ldrb r2, [sp, 0x64]                           |     r2 = var_64h;
    0x00023f7c str r1, [sp, 4]                               |     var_4h = r1;
    0x00023f80 ldrb r1, [sp, 0x66]                           |     r1 = var_66h;
    0x00023f84 str r1, [sp]                                  |     *(sp) = r1;
    0x00023f88 ldr r1, [pc, 0x54]                            |     r1 = *(0x23fe0);
    0x00023f8c add r1, pc, r1                                |     r1 = pc + r1;
    0x00023f90 b 0x23ec0                                     |     goto label_8;
                                                             | }
    ; 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/lib/libcurl.so @ 0x23fe8 */
                                                             | #include <stdint.h>
                                                             |  
    ; (fcn) sym.Curl_SOCKS5 ()                               | void Curl_SOCKS5 (int32_t arg_328h, int32_t arg_32ch, int32_t arg1, char * arg2) {
                                                             |     int32_t var_0h;
                                                             |     int32_t var_4h;
                                                             |     int32_t var_8h;
                                                             |     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_44h;
                                                             |     char * s2;
                                                             |     int32_t var_4ch;
                                                             |     int32_t var_50h;
                                                             |     int32_t var_54h;
                                                             |     int32_t var_5ch;
                                                             |     int32_t var_60h;
                                                             |     int32_t var_64h;
                                                             |     int32_t var_68h;
                                                             |     int8_t var_258h;
                                                             |     int8_t var_259h;
                                                             |     int32_t var_a8h;
                                                             |     size_t size;
                                                             |     void * s1;
                                                             |     void * var_abh;
                                                             |     int32_t var_ach;
                                                             |     void * var_adh;
                                                             |     int32_t var_aeh;
                                                             |     int32_t var_afh;
                                                             |     int32_t var_b0h;
                                                             |     int32_t var_b1h;
                                                             |     int32_t var_b2h;
                                                             |     int32_t var_b3h;
                                                             |     int32_t var_b4h;
                                                             |     int32_t var_b5h;
                                                             |     int32_t var_b6h;
                                                             |     int32_t var_b7h;
                                                             |     int32_t var_b8h;
                                                             |     int32_t var_b9h;
                                                             |     int32_t var_bah;
                                                             |     int32_t var_bbh;
                                                             |     int32_t var_14h_2;
                                                             |     int32_t var_0h_3;
                                                             |     int32_t var_300h;
                                                             |     int32_t var_0h_2;
                                                             |     int32_t var_304h;
                                                             |     r0 = arg1;
                                                             |     r1 = arg2;
    0x00023fe8 push {r4, r5, r6, r7, r8, sb, sl, fp, lr}     |     
    0x00023fec sub sp, sp, 0x304                             |     
    0x00023ff0 str r3, [sp, 0x44]                            |     var_44h = r3;
    0x00023ff4 ldr r3, [sp, 0x328]                           |     r3 = *(arg_328h);
    0x00023ff8 ldr r5, [sp, 0x32c]                           |     r5 = *(arg_32ch);
    0x00023ffc add r3, r3, 0x66                              |     r3 += 0x66;
    0x00024000 mov sb, r0                                    |     sb = r0;
    0x00024004 mov r0, r2                                    |     r0 = r2;
    0x00024008 ldr r6, [r5, r3, lsl 2]                       |     offset_0 = r3 << 2;
                                                             |     r6 = *((r5 + offset_0));
    0x0002400c str r1, [sp, 0x48]                            |     s2 = r1;
    0x00024010 mov fp, r2                                    |     
    0x00024014 bl 0x5250                                     |     strlen (r0);
    0x00024018 ldrb r3, [r5, 0x256]                          |     r3 = *((r5 + 0x256));
    0x0002401c ldr r4, [r5]                                  |     r4 = *(r5);
    0x00024020 cmp r3, 0                                     |     
    0x00024024 ldr r7, [r5, 0xd0]                            |     r7 = *((r5 + 0xd0));
    0x00024028 ldr r8, [r4, 0x15c]                           |     r8 = *((r4 + 0x15c));
    0x0002402c str r0, [sp, 0x40]                            |     var_40h = r0;
                                                             |     if (r3 != 0) {
    0x00024030 beq 0x2404c                                   |         
    0x00024034 ldr r1, [pc, 0x85c]                           |         r1 = *(0x24894);
    0x00024038 ldr r3, [sp, 0x44]                            |         r3 = var_44h;
    0x0002403c mov r2, fp                                    |         r2 = fp;
    0x00024040 add r1, pc, r1                                |         r1 = pc + r1;
    0x00024044 mov r0, r4                                    |         r0 = r4;
    0x00024048 bl 0x104cc                                    |         Curl_infof ();
                                                             |     }
    0x0002404c ldr r3, [sp, 0x40]                            |     r3 = var_40h;
    0x00024050 cmp r7, 5                                     |     
    0x00024054 cmpne r3, 0xff                                |     __asm ("cmpne r3, 0xff");
                                                             |     if (r7 <= 5) {
    0x00024058 movhi r3, 1                                   |         r3 = 1;
                                                             |     }
                                                             |     if (r7 > 5) {
    0x0002405c movls r3, 0                                   |         r3 = 0;
                                                             |     }
    0x00024060 str r3, [sp, 0x4c]                            |     var_4ch = r3;
                                                             |     if (r7 > 5) {
    0x00024064 bhi 0x240b0                                   |         goto label_11;
                                                             |     }
    0x00024068 sub r3, r7, 5                                 |     r3 = r7 - 5;
    0x0002406c clz r3, r3                                    |     r3 &= r3;
    0x00024070 lsr r3, r3, 5                                 |     r3 >>= 5;
    0x00024074 str r3, [sp, 0x4c]                            |     var_4ch = r3;
                                                             |     do {
    0x00024078 mov r2, 1                                     |         r2 = 1;
    0x0002407c mov r1, 0                                     |         r1 = 0;
    0x00024080 mov r0, r4                                    |         r0 = r4;
    0x00024084 bl 0x1b738                                    |         r0 = Curl_timeleft ();
    0x00024088 subs r7, r0, 0                                |         r7 = r0 - 0;
                                                             |         if (r7 >= r0) {
    0x0002408c bge 0x240c8                                   |             goto label_12;
                                                             |         }
    0x00024090 ldr r1, [pc, 0x804]                           |         r1 = $d;
    0x00024094 mov r0, r4                                    |         r0 = r4;
    0x00024098 add r1, pc, r1                                |         r1 = pc + r1;
                                                             | label_0:
    0x0002409c bl 0x10544                                    |         Curl_failf ();
    0x000240a0 mov sb, 0x1c                                  |         sb = 0x1c;
                                                             | label_4:
    0x000240a4 mov r0, sb                                    |         r0 = sb;
    0x000240a8 add sp, sp, 0x304                             |         
    0x000240ac pop {r4, r5, r6, r7, r8, sb, sl, fp, pc}      |         
                                                             | label_11:
    0x000240b0 ldr r1, [pc, 0x7e8]                           |         r1 = *(0x2489c);
    0x000240b4 ldr r2, [sp, 0x40]                            |         r2 = var_40h;
    0x000240b8 add r1, pc, r1                                |         r1 = pc + r1;
    0x000240bc ldr r0, [r5]                                  |         r0 = *(r5);
    0x000240c0 bl 0x104cc                                    |         Curl_infof ();
    0x000240c4 b 0x24078                                     |         
                                                             |     } while (1);
                                                             | label_12:
    0x000240c8 mov r1, 1                                     |     r1 = 1;
    0x000240cc mov r0, r6                                    |     r0 = r6;
    0x000240d0 bl 0x25118                                    |     curlx_nonblock ();
    0x000240d4 mvn r1, 0                                     |     r1 = ~0;
    0x000240d8 mov r3, r7                                    |     r3 = r7;
    0x000240dc mov r2, r6                                    |     r2 = r6;
    0x000240e0 mov r0, r1                                    |     r0 = r1;
    0x000240e4 bl 0x22ea8                                    |     r0 = Curl_socket_check ();
    0x000240e8 cmn r0, 1                                     |     
                                                             |     if (r0 != 1) {
    0x000240ec bne 0x24104                                   |         goto label_13;
                                                             |     }
    0x000240f0 ldr r1, [pc, 0x7ac]                           |     r1 = *(0x248a0);
    0x000240f4 add r1, pc, r1                                |     r1 = pc + r1;
                                                             |     do {
                                                             | label_2:
    0x000240f8 ldr r0, [r5]                                  |         r0 = *(r5);
                                                             | label_1:
    0x000240fc bl 0x10544                                    |         Curl_failf ();
    0x00024100 b 0x2440c                                     |         goto label_9;
                                                             | label_13:
    0x00024104 cmp r0, 0                                     |         
                                                             |         if (r0 == 0) {
    0x00024108 bne 0x2411c                                   |             
    0x0002410c ldr r1, [pc, 0x794]                           |             r1 = *(0x248a4);
    0x00024110 add r1, pc, r1                                |             r1 = pc + r1;
                                                             | label_3:
    0x00024114 ldr r0, [r5]                                  |             r0 = *(r5);
    0x00024118 b 0x2409c                                     |             goto label_0;
                                                             |         }
    0x0002411c tst r0, 4                                     |         
                                                             |         if ((r0 & 4) == 0) {
    0x00024120 ldrne r1, [pc, 0x784]                         |             r1 = *((pc + 0x784));
                                                             |         }
                                                             |         if ((r0 & 4) == 0) {
    0x00024124 addne r1, pc, r1                              |             r1 = pc + r1;
                                                             |         }
    0x00024128 bne 0x240f8                                   |         
                                                             |     } while ((r0 & 4) != 0);
    0x0002412c bics r3, r8, 5                                |     __asm ("bics r3, r8, 5");
                                                             |     if ((r0 & 4) != 0) {
    0x00024130 beq 0x24148                                   |         
    0x00024134 ldr r1, [pc, 0x774]                           |         r1 = *(0x248ac);
    0x00024138 mov r2, r8                                    |         r2 = r8;
    0x0002413c add r1, pc, r1                                |         r1 = pc + r1;
    0x00024140 ldr r0, [r5]                                  |         r0 = *(r5);
    0x00024144 bl 0x104cc                                    |         Curl_infof ();
                                                             |     }
    0x00024148 tst r8, 1                                     |     
    0x0002414c mov r3, 5                                     |     r3 = 5;
    0x00024150 strb r3, [sp, 0xa8]                           |     var_a8h = r3;
                                                             |     if ((r8 & 1) != 0) {
    0x00024154 moveq sb, 0                                   |         sb = 0;
                                                             |     }
    0x00024158 mov r3, 0                                     |     r3 = 0;
    0x0002415c cmp sb, r3                                    |     
    0x00024160 strb r3, [sp, 0xaa]                           |     s1 = r3;
                                                             |     if (sb == r3) {
    0x00024164 movne r3, 2                                   |         r3 = 2;
                                                             |     }
                                                             |     if (sb == r3) {
    0x00024168 strbne r3, [sp, 0xab]                         |         var_abh = r3;
                                                             |     }
                                                             |     if (sb != r3) {
    0x0002416c moveq r3, 3                                   |         r3 = 3;
                                                             |     }
                                                             |     if (sb == r3) {
    0x00024170 movne r3, 4                                   |         r3 = 4;
                                                             |     }
    0x00024174 sub r3, r3, 2                                 |     r3 -= 2;
    0x00024178 mov r1, 0                                     |     r1 = 0;
    0x0002417c mov r0, r6                                    |     r0 = r6;
    0x00024180 strb r3, [sp, 0xa9]                           |     size = r3;
    0x00024184 bl 0x25118                                    |     curlx_nonblock ();
    0x00024188 ldr r1, [pc, 0x724]                           |     r1 = *(0x248b0);
    0x0002418c ldr r3, [sp, 0x44]                            |     r3 = var_44h;
    0x00024190 mov r2, fp                                    |     r2 = fp;
    0x00024194 add r1, pc, r1                                |     r1 = pc + r1;
    0x00024198 mov r0, r4                                    |     r0 = r4;
    0x0002419c bl 0x104cc                                    |     Curl_infof ();
    0x000241a0 ldrb r3, [sp, 0xa9]                           |     r3 = size;
    0x000241a4 add r2, sp, 0x60                              |     r2 += var_60h;
    0x000241a8 add r8, sp, 0xa8                              |     r8 += var_a8h;
    0x000241ac str r2, [sp]                                  |     *(sp) = r2;
    0x000241b0 add r3, r3, 2                                 |     r3 += 2;
    0x000241b4 mov r2, r8                                    |     r2 = r8;
    0x000241b8 mov r1, r6                                    |     r1 = r6;
    0x000241bc mov r0, r5                                    |     r0 = r5;
    0x000241c0 bl 0x10700                                    |     r0 = Curl_write_plain ();
    0x000241c4 cmp r0, 0                                     |     
                                                             |     if (r0 == 0) {
    0x000241c8 bne 0x241e0                                   |         
    0x000241cc ldrb r3, [sp, 0xa9]                           |         r3 = size;
    0x000241d0 ldr r2, [sp, 0x60]                            |         r2 = var_60h;
    0x000241d4 add r3, r3, 2                                 |         r3 += 2;
    0x000241d8 cmp r3, r2                                    |         
                                                             |         if (r3 == r2) {
    0x000241dc beq 0x241f0                                   |             goto label_14;
                                                             |         }
                                                             |     }
    0x000241e0 ldr r1, [pc, 0x6d0]                           |     r1 = *(0x248b4);
    0x000241e4 add r1, pc, r1                                |     r1 = pc + r1;
                                                             | label_5:
    0x000241e8 mov r0, r4                                    |     r0 = r4;
    0x000241ec b 0x240fc                                     |     goto label_1;
                                                             | label_14:
    0x000241f0 mov r1, 1                                     |     r1 = 1;
    0x000241f4 mov r0, r6                                    |     r0 = r6;
    0x000241f8 bl 0x25118                                    |     curlx_nonblock ();
    0x000241fc mvn r2, 0                                     |     r2 = ~0;
    0x00024200 mov r3, r7                                    |     r3 = r7;
    0x00024204 mov r1, r2                                    |     r1 = r2;
    0x00024208 mov r0, r6                                    |     r0 = r6;
    0x0002420c bl 0x22ea8                                    |     r0 = Curl_socket_check ();
    0x00024210 cmn r0, 1                                     |     
                                                             |     if (r0 != 1) {
    0x00024214 ldreq r1, [pc, 0x6a0]                         |         r1 = *(0x000248bc);
                                                             |     }
                                                             |     if (r0 == 1) {
    0x00024218 addeq r1, pc, r1                              |         r1 = pc + r1;
                                                             |         goto label_15;
                                                             |     }
                                                             |     if (r0 == 1) {
                                                             | label_15:
    0x0002421c beq 0x240f8                                   |         goto label_2;
                                                             |     }
    0x00024220 cmp r0, 0                                     |     
                                                             |     if (r0 != 0) {
    0x00024224 ldreq r1, [pc, 0x694]                         |         r1 = *((pc + 0x694));
                                                             |     }
                                                             |     if (r0 == 0) {
    0x00024228 addeq r1, pc, r1                              |         r1 = pc + r1;
                                                             |         goto label_16;
                                                             |     }
                                                             |     if (r0 == 0) {
                                                             | label_16:
    0x0002422c beq 0x24114                                   |         goto label_3;
                                                             |     }
    0x00024230 ands r1, r0, 4                                |     r1 = r0 & 4;
                                                             |     if (r1 != r0) {
    0x00024234 beq 0x24250                                   |         
    0x00024238 ldr r1, [pc, 0x684]                           |         r1 = *(0x248c0);
    0x0002423c ldr r0, [r5]                                  |         r0 = *(r5);
    0x00024240 add r1, pc, r1                                |         r1 = pc + r1;
    0x00024244 bl 0x10544                                    |         Curl_failf ();
    0x00024248 mov sb, 0x38                                  |         sb = 0x38;
    0x0002424c b 0x240a4                                     |         goto label_4;
                                                             |     }
    0x00024250 mov r0, r6                                    |     r0 = r6;
    0x00024254 bl 0x25118                                    |     curlx_nonblock ();
    0x00024258 add r3, sp, 0x5c                              |     r3 += var_5ch;
    0x0002425c str r3, [sp]                                  |     *(sp) = r3;
    0x00024260 mov r2, r8                                    |     r2 = r8;
    0x00024264 mov r3, 2                                     |     r3 = 2;
    0x00024268 mov r1, r6                                    |     r1 = r6;
    0x0002426c mov r0, r5                                    |     r0 = r5;
    0x00024270 bl 0x23a00                                    |     r0 = Curl_blockread_all ();
    0x00024274 cmp r0, 0                                     |     
                                                             |     if (r0 == 0) {
    0x00024278 bne 0x24288                                   |         
    0x0002427c ldr r3, [sp, 0x5c]                            |         r3 = var_5ch;
    0x00024280 cmp r3, 2                                     |         
                                                             |         if (r3 == 2) {
    0x00024284 beq 0x24294                                   |             goto label_17;
                                                             |         }
                                                             |     }
    0x00024288 ldr r1, [pc, 0x638]                           |     r1 = *(0x248c4);
    0x0002428c add r1, pc, r1                                |     r1 = pc + r1;
    0x00024290 b 0x241e8                                     |     goto label_5;
                                                             | label_17:
    0x00024294 ldrb r3, [sp, 0xa8]                           |     r3 = var_a8h;
    0x00024298 cmp r3, 5                                     |     
                                                             |     if (r3 == 5) {
    0x0002429c ldrne r1, [pc, 0x628]                         |         r1 = *((pc + 0x628));
                                                             |     }
                                                             |     if (r3 != 5) {
    0x000242a0 addne r1, pc, r1                              |         r1 = pc + r1;
                                                             |         goto label_18;
                                                             |     }
                                                             |     if (r3 != 5) {
                                                             | label_18:
    0x000242a4 bne 0x241e8                                   |         goto label_5;
                                                             |     }
    0x000242a8 ldrb r3, [sp, 0xa9]                           |     r3 = size;
    0x000242ac cmp r3, 0                                     |     
                                                             |     if (r3 == 0) {
    0x000242b0 beq 0x24464                                   |         goto label_19;
                                                             |     }
    0x000242b4 cmp r3, 2                                     |     
                                                             |     if (r3 == 2) {
    0x000242b8 bne 0x24414                                   |         
    0x000242bc ldr r2, [sp, 0x48]                            |         r2 = s2;
    0x000242c0 adds r3, sb, 0                                |         r3 = sb + 0;
                                                             |         if (r3 == sb) {
    0x000242c4 movne r3, 1                                   |             r3 = 1;
                                                             |         }
    0x000242c8 adds r2, r2, 0                                |         r2 += 0;
                                                             |         if (r2 == r2) {
    0x000242cc movne r2, 1                                   |             r2 = 1;
                                                             |         }
    0x000242d0 ands sl, r3, r2                               |         sl = r3 & r2;
    0x000242d4 str r2, [sp, 0x50]                            |         var_50h = r2;
                                                             |         if (sl != r3) {
    0x000242d8 moveq r7, sl                                  |             r7 = sl;
                                                             |         }
                                                             |         if (sl != r3) {
    0x000242dc beq 0x24300                                   |             
    0x000242e0 mov r0, sb                                    |             r0 = sb;
    0x000242e4 str r3, [sp, 0x54]                            |             var_54h = r3;
    0x000242e8 bl 0x5250                                     |             r0 = strlen (r0);
    0x000242ec mov r7, r0                                    |             r7 = r0;
    0x000242f0 ldr r0, [sp, 0x48]                            |             r0 = s2;
    0x000242f4 bl 0x5250                                     |             strlen (r0);
    0x000242f8 ldr r3, [sp, 0x54]                            |             r3 = var_54h;
    0x000242fc mov sl, r0                                    |             sl = r0;
                                                             |         }
    0x00024300 cmp r7, 0                                     |         
                                                             |         if (r7 != 0) {
    0x00024304 moveq r3, 0                                   |             r3 = 0;
                                                             |         }
    0x00024308 mov r2, 1                                     |         r2 = 1;
    0x0002430c cmp r3, 0                                     |         
    0x00024310 strb r2, [sp, 0xa8]                           |         var_a8h = r2;
    0x00024314 strb r7, [sp, 0xa9]                           |         size = r7;
    0x00024318 add r3, sp, 0xa8                              |         r3 += var_a8h;
                                                             |         if (r3 != 0) {
    0x0002431c beq 0x24338                                   |             
    0x00024320 add r0, r3, 2                                 |             r0 += s1;
    0x00024324 mov r2, r7                                    |             r2 = r7;
    0x00024328 mov r1, sb                                    |             r1 = sb;
    0x0002432c str r3, [sp, 0x54]                            |             var_54h = r3;
    0x00024330 bl 0x4f5c                                     |             memcpy (r0, r1, r2);
    0x00024334 ldr r3, [sp, 0x54]                            |             r3 = var_54h;
                                                             |         }
    0x00024338 add r2, sp, 0x300                             |         r2 += var_300h;
    0x0002433c add r2, r2, r7                                |         r2 += r7;
    0x00024340 strb sl, [r2, -0x256]                         |         s1 = sl;
    0x00024344 ldr r2, [sp, 0x50]                            |         r2 = var_50h;
    0x00024348 cmp sl, 0                                     |         
                                                             |         if (sl != 0) {
    0x0002434c moveq r2, 0                                   |             r2 = 0;
                                                             |         }
    0x00024350 cmp r2, 0                                     |         
    0x00024354 add r7, r7, 3                                 |         r7 += 3;
                                                             |         if (r2 != 0) {
    0x00024358 beq 0x2436c                                   |             
    0x0002435c mov r2, sl                                    |             r2 = sl;
    0x00024360 ldr r1, [sp, 0x48]                            |             r1 = s2;
    0x00024364 add r0, r3, r7                                |             r0 = r3 + r7;
    0x00024368 bl 0x4f5c                                     |             memcpy (r0, r1, r2);
                                                             |         }
    0x0002436c add sl, sl, r7                                |         sl += r7;
    0x00024370 add r3, sp, 0x60                              |         r3 += var_60h;
    0x00024374 add r7, sp, 0xa8                              |         r7 += var_a8h;
    0x00024378 str r3, [sp]                                  |         *(sp) = r3;
    0x0002437c mov r2, r7                                    |         r2 = r7;
    0x00024380 mov r3, sl                                    |         r3 = sl;
    0x00024384 mov r1, r6                                    |         r1 = r6;
    0x00024388 mov r0, r5                                    |         r0 = r5;
    0x0002438c bl 0x10700                                    |         r0 = Curl_write_plain ();
    0x00024390 cmp r0, 0                                     |         
                                                             |         if (r0 == 0) {
    0x00024394 bne 0x243a4                                   |             
    0x00024398 ldr r3, [sp, 0x60]                            |             r3 = var_60h;
    0x0002439c cmp r3, sl                                    |             
                                                             |             if (r3 == sl) {
    0x000243a0 beq 0x243b0                                   |                 goto label_20;
                                                             |             }
                                                             |         }
    0x000243a4 ldr r1, [pc, 0x524]                           |         r1 = *(0x248cc);
    0x000243a8 add r1, pc, r1                                |         r1 = pc + r1;
    0x000243ac b 0x241e8                                     |         goto label_5;
                                                             | label_20:
    0x000243b0 add r3, sp, 0x5c                              |         r3 += var_5ch;
    0x000243b4 str r3, [sp]                                  |         *(sp) = r3;
    0x000243b8 mov r2, r7                                    |         r2 = r7;
    0x000243bc mov r3, 2                                     |         r3 = 2;
    0x000243c0 mov r1, r6                                    |         r1 = r6;
    0x000243c4 mov r0, r5                                    |         r0 = r5;
    0x000243c8 bl 0x23a00                                    |         r0 = Curl_blockread_all ();
    0x000243cc cmp r0, 0                                     |         
                                                             |         if (r0 == 0) {
    0x000243d0 bne 0x243e0                                   |             
    0x000243d4 ldr r3, [sp, 0x5c]                            |             r3 = var_5ch;
    0x000243d8 cmp r3, 2                                     |             
                                                             |             if (r3 == 2) {
    0x000243dc beq 0x243ec                                   |                 goto label_21;
                                                             |             }
                                                             |         }
    0x000243e0 ldr r1, [pc, 0x4ec]                           |         r1 = *(0x248d0);
    0x000243e4 add r1, pc, r1                                |         r1 = pc + r1;
    0x000243e8 b 0x241e8                                     |         goto label_5;
                                                             | label_21:
    0x000243ec ldrb r3, [sp, 0xa9]                           |         r3 = size;
    0x000243f0 cmp r3, 0                                     |         
                                                             |         if (r3 == 0) {
    0x000243f4 beq 0x24464                                   |             goto label_19;
                                                             |         }
    0x000243f8 ldr r1, [pc, 0x4d8]                           |         r1 = *(0x248d4);
    0x000243fc ldrb r2, [sp, 0xa8]                           |         r2 = var_a8h;
    0x00024400 add r1, pc, r1                                |         r1 = pc + r1;
    0x00024404 mov r0, r4                                    |         r0 = r4;
    0x00024408 bl 0x10544                                    |         Curl_failf ();
                                                             | label_9:
    0x0002440c mov sb, 7                                     |         sb = 7;
    0x00024410 b 0x240a4                                     |         goto label_4;
                                                             |     }
    0x00024414 cmp r3, 1                                     |     
                                                             |     if (r3 != 1) {
    0x00024418 ldreq r1, [pc, 0x4bc]                         |         r1 = *(0x000248dc);
                                                             |     }
                                                             |     if (r3 == 1) {
    0x0002441c addeq r1, pc, r1                              |         r1 = pc + r1;
                                                             |         goto label_22;
                                                             |     }
                                                             |     if (r3 == 1) {
                                                             | label_22:
    0x00024420 beq 0x241e8                                   |         goto label_5;
                                                             |     }
    0x00024424 cmp r3, 0xff                                  |     
                                                             |     if (r3 == 0xff) {
    0x00024428 bne 0x24458                                   |         
    0x0002442c cmp sb, 0                                     |         
                                                             |         if (sb != 0) {
    0x00024430 beq 0x24440                                   |             
    0x00024434 ldrb r3, [sb]                                 |             r3 = *(sb);
    0x00024438 cmp r3, 0                                     |             
                                                             |             if (r3 != 0) {
    0x0002443c bne 0x2444c                                   |                 goto label_23;
                                                             |             }
                                                             |         }
    0x00024440 ldr r1, [pc, 0x498]                           |         r1 = *(0x248dc);
    0x00024444 add r1, pc, r1                                |         r1 = pc + r1;
    0x00024448 b 0x241e8                                     |         goto label_5;
                                                             | label_23:
    0x0002444c ldr r1, [pc, 0x490]                           |         r1 = *(0x248e0);
    0x00024450 add r1, pc, r1                                |         r1 = pc + r1;
    0x00024454 b 0x241e8                                     |         goto label_5;
                                                             |     }
    0x00024458 ldr r1, [pc, 0x488]                           |     r1 = *(0x248e4);
    0x0002445c add r1, pc, r1                                |     r1 = pc + r1;
    0x00024460 b 0x241e8                                     |     goto label_5;
                                                             | label_19:
    0x00024464 ldr r3, [pc, 0x480]                           |     r3 = *(0x248e8);
    0x00024468 add r7, sp, 0xa8                              |     r7 += var_a8h;
    0x0002446c strh r3, [r7]                                 |     *(r7) = r3;
    0x00024470 mov r3, 0                                     |     r3 = 0;
    0x00024474 strb r3, [sp, 0xaa]                           |     s1 = r3;
    0x00024478 ldr r3, [sp, 0x4c]                            |     r3 = var_4ch;
    0x0002447c cmp r3, 0                                     |     
                                                             |     if (r3 == 0) {
    0x00024480 bne 0x24508                                   |         
    0x00024484 mov r3, 3                                     |         r3 = 3;
    0x00024488 strb r3, [sp, 0xab]                           |         var_abh = r3;
    0x0002448c ldr r3, [sp, 0x40]                            |         r3 = var_40h;
    0x00024490 add r0, r7, 5                                 |         r0 += var_adh;
    0x00024494 mov r2, r3                                    |         r2 = r3;
    0x00024498 mov r1, fp                                    |         r1 = fp;
    0x0002449c strb r3, [sp, 0xac]                           |         var_ach = r3;
    0x000244a0 bl 0x4f5c                                     |         memcpy (r0, r1, r2);
    0x000244a4 ldr r3, [sp, 0x40]                            |         r3 = var_40h;
    0x000244a8 add r7, r3, 5                                 |         r7 = r3 + 5;
                                                             | label_7:
    0x000244ac ldr r2, [sp, 0x44]                            |         r2 = var_44h;
    0x000244b0 add r3, sp, 0x300                             |         r3 += var_300h;
    0x000244b4 add r3, r3, r7                                |         r3 += r7;
    0x000244b8 asr r2, r2, 8                                 |         r2 >>= 8;
    0x000244bc strb r2, [r3, -0x258]                         |         var_abh = r2;
    0x000244c0 ldr r2, [sp, 0x44]                            |         r2 = var_44h;
    0x000244c4 add r7, r7, 2                                 |         r7 += 2;
    0x000244c8 strb r2, [r3, -0x257]                         |         var_ach = r2;
    0x000244cc add r3, sp, 0x60                              |         r3 += var_60h;
    0x000244d0 str r3, [sp]                                  |         *(sp) = r3;
    0x000244d4 mov r2, r8                                    |         r2 = r8;
    0x000244d8 mov r3, r7                                    |         r3 = r7;
    0x000244dc mov r1, r6                                    |         r1 = r6;
    0x000244e0 mov r0, r5                                    |         r0 = r5;
    0x000244e4 bl 0x10700                                    |         r0 = Curl_write_plain ();
    0x000244e8 subs sb, r0, 0                                |         sb = r0 - 0;
                                                             |         if (sb == r0) {
    0x000244ec bne 0x244fc                                   |             
    0x000244f0 ldr r3, [sp, 0x60]                            |             r3 = var_60h;
    0x000244f4 cmp r3, r7                                    |             
                                                             |             if (r3 == r7) {
    0x000244f8 beq 0x24664                                   |                 goto label_24;
                                                             |             }
                                                             |         }
    0x000244fc ldr r1, [pc, 0x3ec]                           |         r1 = *(0x248ec);
    0x00024500 add r1, pc, r1                                |         r1 = pc + r1;
    0x00024504 b 0x241e8                                     |         goto label_5;
                                                             |     }
    0x00024508 add sb, sp, 0x64                              |     sb += var_64h;
    0x0002450c mov r3, sb                                    |     r3 = sb;
    0x00024510 ldr r2, [sp, 0x44]                            |     r2 = var_44h;
    0x00024514 mov r1, fp                                    |     r1 = fp;
    0x00024518 mov r0, r5                                    |     r0 = r5;
    0x0002451c bl 0x74ec                                     |     r0 = Curl_resolv ();
    0x00024520 cmn r0, 1                                     |     
                                                             |     if (r0 == 1) {
    0x00024524 beq 0x24550                                   |         goto label_25;
                                                             |     }
    0x00024528 cmp r0, 1                                     |     
    0x0002452c beq 0x24558                                   |     
                                                             |     while (sb == r0) {
    0x00024530 ldr r3, [sp, 0x64]                            |         r3 = var_64h;
    0x00024534 cmp r3, 0                                     |         
                                                             |         if (r3 != 0) {
    0x00024538 bne 0x24570                                   |             goto label_26;
                                                             |         }
                                                             | label_6:
    0x0002453c ldr r1, [pc, 0x3b0]                           |         r1 = *(0x248f0);
    0x00024540 mov r2, fp                                    |         r2 = fp;
    0x00024544 add r1, pc, r1                                |         r1 = pc + r1;
    0x00024548 mov r0, r4                                    |         r0 = r4;
    0x0002454c bl 0x10544                                    |         Curl_failf ();
                                                             | label_25:
    0x00024550 mov sb, 6                                     |         sb = 6;
    0x00024554 b 0x240a4                                     |         goto label_4;
    0x00024558 mov r1, sb                                    |         r1 = sb;
    0x0002455c mov r0, r5                                    |         r0 = r5;
    0x00024560 bl 0x26624                                    |         r0 = Curl_resolver_wait_resolv ();
    0x00024564 subs sb, r0, 0                                |         sb = r0 - 0;
    0x00024568 beq 0x24530                                   |         
                                                             |     }
    0x0002456c b 0x240a4                                     |     goto label_4;
                                                             | label_26:
    0x00024570 ldr sb, [r3]                                  |     sb = *(r3);
    0x00024574 cmp sb, 0                                     |     
                                                             |     if (sb == 0) {
    0x00024578 beq 0x2453c                                   |         goto label_6;
                                                             |     }
    0x0002457c add sl, sp, 0x68                              |     sl += var_68h;
    0x00024580 mov r2, 0x40                                  |     r2 = 0x40;
    0x00024584 mov r1, sl                                    |     r1 = sl;
    0x00024588 mov r0, sb                                    |     r0 = sb;
    0x0002458c bl 0x711c                                     |     Curl_printable_address ();
    0x00024590 ldr r3, [sb, 4]                               |     r3 = *((sb + 4));
    0x00024594 cmp r3, 2                                     |     
                                                             |     if (r3 != 2) {
    0x00024598 bne 0x245f8                                   |         goto label_27;
                                                             |     }
    0x0002459c mov r3, 1                                     |     r3 = 1;
    0x000245a0 strb r3, [sp, 0xab]                           |     var_abh = r3;
    0x000245a4 ldr r3, [sb, 0x18]                            |     r3 = *((sb + 0x18));
    0x000245a8 ldr r1, [pc, 0x348]                           |     r1 = *(0x248f4);
    0x000245ac ldrb r2, [r3, 4]                              |     r2 = *((r3 + 4));
    0x000245b0 add r1, pc, r1                                |     r1 = pc + r1;
    0x000245b4 strb r2, [sp, 0xac]                           |     var_ach = r2;
    0x000245b8 ldrb r2, [r3, 5]                              |     r2 = *((r3 + 5));
    0x000245bc mov r0, r4                                    |     r0 = r4;
    0x000245c0 strb r2, [sp, 0xad]                           |     var_adh = r2;
    0x000245c4 ldrb r2, [r3, 6]                              |     r2 = *((r3 + 6));
    0x000245c8 mov r7, 8                                     |     r7 = 8;
    0x000245cc strb r2, [sp, 0xae]                           |     var_aeh = r2;
    0x000245d0 ldrb r3, [r3, 7]                              |     r3 = *((r3 + 7));
    0x000245d4 mov r2, sl                                    |     r2 = sl;
    0x000245d8 strb r3, [sp, 0xaf]                           |     var_afh = r3;
    0x000245dc bl 0x104cc                                    |     Curl_infof ();
                                                             | label_8:
    0x000245e0 ldr r1, [sp, 0x64]                            |     r1 = var_64h;
    0x000245e4 mov r0, r4                                    |     r0 = r4;
    0x000245e8 bl 0x76e8                                     |     Curl_resolv_unlock ();
    0x000245ec cmp sb, 0                                     |     
                                                             |     if (sb != 0) {
    0x000245f0 bne 0x244ac                                   |         goto label_7;
                                                             |     }
    0x000245f4 b 0x2453c                                     |     goto label_6;
                                                             | label_27:
    0x000245f8 cmp r3, 0xa                                   |     
                                                             |     if (r3 != 0xa) {
    0x000245fc bne 0x24644                                   |         goto label_28;
                                                             |     }
    0x00024600 mov r3, 4                                     |     r3 = 4;
    0x00024604 strb r3, [sp, 0xab]                           |     var_abh = r3;
    0x00024608 ldr r3, [sb, 0x18]                            |     r3 = *((sb + 0x18));
    0x0002460c add r7, r7, 3                                 |     r7 += var_abh;
    0x00024610 add r2, r3, 7                                 |     r2 = r3 + 7;
    0x00024614 add r3, r3, 0x17                              |     r3 += 0x17;
                                                             |     do {
    0x00024618 ldrb r1, [r2, 1]!                             |         r1 = *((r2 += 1));
    0x0002461c cmp r3, r2                                    |         
    0x00024620 strb r1, [r7, 1]!                             |         *((r7 += 1)) = r1;
    0x00024624 bne 0x24618                                   |         
                                                             |     } while (r3 != r2);
    0x00024628 ldr r1, [pc, 0x2cc]                           |     r1 = *(0x248f8);
    0x0002462c mov r2, sl                                    |     r2 = sl;
    0x00024630 add r1, pc, r1                                |     r1 = pc + r1;
    0x00024634 mov r0, r4                                    |     r0 = r4;
    0x00024638 bl 0x104cc                                    |     Curl_infof ();
    0x0002463c mov r7, 0x14                                  |     r7 = 0x14;
    0x00024640 b 0x245e0                                     |     goto label_8;
                                                             | label_28:
    0x00024644 ldr r1, [pc, 0x2b4]                           |     r1 = *(0x248fc);
    0x00024648 mov r2, sl                                    |     r2 = sl;
    0x0002464c add r1, pc, r1                                |     r1 = pc + r1;
    0x00024650 mov r0, r4                                    |     r0 = r4;
    0x00024654 bl 0x10544                                    |     Curl_failf ();
    0x00024658 mov sb, 0                                     |     sb = 0;
    0x0002465c mov r7, 3                                     |     r7 = 3;
    0x00024660 b 0x245e0                                     |     goto label_8;
                                                             | label_24:
    0x00024664 add fp, sp, 0x5c                              |     
    0x00024668 str fp, [sp]                                  |     *(sp) = fp;
    0x0002466c mov r3, 0xa                                   |     r3 = 0xa;
    0x00024670 mov r2, r8                                    |     r2 = r8;
    0x00024674 mov r1, r6                                    |     r1 = r6;
    0x00024678 mov r0, r5                                    |     r0 = r5;
    0x0002467c bl 0x23a00                                    |     r0 = Curl_blockread_all ();
    0x00024680 cmp r0, 0                                     |     
                                                             |     if (r0 == 0) {
    0x00024684 bne 0x24694                                   |         
    0x00024688 ldr r7, [sp, 0x5c]                            |         r7 = var_5ch;
    0x0002468c cmp r7, 0xa                                   |         
                                                             |         if (r7 == 0xa) {
    0x00024690 beq 0x246a0                                   |             goto label_29;
                                                             |         }
                                                             |     }
    0x00024694 ldr r1, [pc, 0x268]                           |     r1 = *(0x24900);
    0x00024698 add r1, pc, r1                                |     r1 = pc + r1;
    0x0002469c b 0x241e8                                     |     goto label_5;
                                                             | label_29:
    0x000246a0 ldrb r3, [sp, 0xa8]                           |     r3 = var_a8h;
    0x000246a4 cmp r3, 5                                     |     
                                                             |     if (r3 == 5) {
    0x000246a8 ldrne r1, [pc, 0x258]                         |         r1 = *((pc + 0x258));
                                                             |     }
                                                             |     if (r3 != 5) {
    0x000246ac addne r1, pc, r1                              |         r1 = pc + r1;
                                                             |         goto label_30;
                                                             |     }
                                                             |     if (r3 != 5) {
                                                             | label_30:
    0x000246b0 bne 0x241e8                                   |         goto label_5;
                                                             |     }
    0x000246b4 ldrb r3, [sp, 0xab]                           |     r3 = var_abh;
    0x000246b8 cmp r3, 3                                     |     
                                                             |     if (r3 != 3) {
    0x000246bc bne 0x24730                                   |         goto label_31;
                                                             |     }
    0x000246c0 ldrb r7, [sp, 0xac]                           |     r7 = var_ach;
    0x000246c4 add r7, r7, 7                                 |     r7 += 7;
    0x000246c8 cmp r7, 0xa                                   |     
                                                             |     if (r7 > 0xa) {
    0x000246cc bgt 0x2473c                                   |         goto label_32;
                                                             |     }
                                                             |     do {
                                                             | label_10:
    0x000246d0 ldrb r1, [sp, 0xa9]                           |         r1 = size;
    0x000246d4 cmp r1, 0                                     |         
                                                             |         if (r1 == 0) {
    0x000246d8 beq 0x24878                                   |             goto label_33;
                                                             |         }
    0x000246dc ldrb r3, [sp, 0xab]                           |         r3 = var_abh;
    0x000246e0 cmp r3, 1                                     |         
                                                             |         if (r3 != 1) {
    0x000246e4 bne 0x24778                                   |             goto label_34;
                                                             |         }
    0x000246e8 str r1, [sp, 0xc]                             |         var_ch = r1;
    0x000246ec ldrh r0, [r8, 8]                              |         r0 = var_b0h;
    0x000246f0 ldrb r3, [sp, 0xad]                           |         r3 = var_adh;
    0x000246f4 lsr r1, r0, 8                                 |         r1 = r0 >> 8;
    0x000246f8 orr r1, r1, r0, lsl 8                         |         r1 |= (r0 << 8);
    0x000246fc lsl r1, r1, 0x10                              |         r1 <<= 0x10;
    0x00024700 lsr r1, r1, 0x10                              |         r1 >>= 0x10;
    0x00024704 str r1, [sp, 8]                               |         var_8h = r1;
    0x00024708 ldrb r1, [sp, 0xaf]                           |         r1 = var_afh;
    0x0002470c ldrb r2, [sp, 0xac]                           |         r2 = var_ach;
    0x00024710 str r1, [sp, 4]                               |         var_4h = r1;
    0x00024714 ldrb r1, [sp, 0xae]                           |         r1 = var_aeh;
    0x00024718 mov r0, r4                                    |         r0 = r4;
    0x0002471c str r1, [sp]                                  |         *(sp) = r1;
    0x00024720 ldr r1, [pc, 0x1e4]                           |         r1 = *(0x24908);
    0x00024724 add r1, pc, r1                                |         r1 = pc + r1;
    0x00024728 bl 0x10544                                    |         Curl_failf ();
    0x0002472c b 0x2440c                                     |         goto label_9;
                                                             | label_31:
    0x00024730 cmp r3, 4                                     |         
    0x00024734 bne 0x246d0                                   |         
                                                             |     } while (r3 != 4);
    0x00024738 mov r7, 0x16                                  |     r7 = 0x16;
                                                             | label_32:
    0x0002473c sub sl, r7, 0xa                               |     sl = r7 - 0xa;
    0x00024740 str fp, [sp]                                  |     *(sp) = fp;
    0x00024744 mov r3, sl                                    |     r3 = sl;
    0x00024748 add r2, r8, 0xa                               |     r2 += var_b2h;
    0x0002474c mov r1, r6                                    |     r1 = r6;
    0x00024750 mov r0, r5                                    |     r0 = r5;
    0x00024754 bl 0x23a00                                    |     r0 = Curl_blockread_all ();
    0x00024758 cmp r0, 0                                     |     
                                                             |     if (r0 != 0) {
    0x0002475c bne 0x2476c                                   |         goto label_35;
                                                             |     }
    0x00024760 ldr r3, [sp, 0x5c]                            |     r3 = var_5ch;
    0x00024764 cmp sl, r3                                    |     
                                                             |     if (sl == r3) {
    0x00024768 beq 0x246d0                                   |         goto label_10;
                                                             |     }
                                                             | label_35:
    0x0002476c ldr r1, [pc, 0x19c]                           |     r1 = *(0x2490c);
    0x00024770 add r1, pc, r1                                |     r1 = pc + r1;
    0x00024774 b 0x241e8                                     |     goto label_5;
                                                             | label_34:
    0x00024778 cmp r3, 3                                     |     
                                                             |     if (r3 == 3) {
    0x0002477c bne 0x247c8                                   |         
    0x00024780 add r3, sp, 0x300                             |         r3 += var_300h;
    0x00024784 sub r2, r7, 2                                 |         r2 = r7 - 2;
    0x00024788 add r2, r3, r2                                |         r2 = r3 + r2;
    0x0002478c mov r3, 0                                     |         r3 = 0;
    0x00024790 ldrb r1, [r2, -0x258]                         |         r1 = var_258h;
    0x00024794 strb r3, [r2, -0x258]                         |         var_258h = r3;
    0x00024798 add r3, sp, 0x300                             |         r3 += var_300h;
    0x0002479c add r7, r3, r7                                |         r7 = r3 + r7;
    0x000247a0 ldrb r3, [r7, -0x259]                         |         r3 = var_259h;
    0x000247a4 ldrb r2, [sp, 0xa9]                           |         r2 = size;
    0x000247a8 orr r3, r3, r1, lsl 8                         |         r3 |= (r1 << 8);
    0x000247ac ldr r1, [pc, 0x160]                           |         r1 = *(0x24910);
    0x000247b0 str r2, [sp]                                  |         *(sp) = r2;
    0x000247b4 add r1, pc, r1                                |         r1 = pc + r1;
    0x000247b8 add r2, r8, 5                                 |         r2 += var_adh;
    0x000247bc mov r0, r4                                    |         r0 = r4;
    0x000247c0 bl 0x10544                                    |         Curl_failf ();
    0x000247c4 b 0x2440c                                     |         goto label_9;
                                                             |     }
    0x000247c8 cmp r3, 4                                     |     
                                                             |     if (r3 != 4) {
    0x000247cc bne 0x2440c                                   |         goto label_9;
                                                             |     }
    0x000247d0 str r1, [sp, 0x3c]                            |     var_3ch = r1;
    0x000247d4 ldrh r0, [r8, 0x14]                           |     r0 = var_14h_2;
    0x000247d8 ldrb r3, [sp, 0xad]                           |     r3 = var_adh;
    0x000247dc lsr r1, r0, 8                                 |     r1 = r0 >> 8;
    0x000247e0 orr r1, r1, r0, lsl 8                         |     r1 |= (r0 << 8);
    0x000247e4 lsl r1, r1, 0x10                              |     r1 <<= 0x10;
    0x000247e8 lsr r1, r1, 0x10                              |     r1 >>= 0x10;
    0x000247ec str r1, [sp, 0x38]                            |     var_38h = r1;
    0x000247f0 ldrb r1, [sp, 0xbb]                           |     r1 = var_bbh;
    0x000247f4 ldrb r2, [sp, 0xac]                           |     r2 = var_ach;
    0x000247f8 str r1, [sp, 0x34]                            |     var_34h = r1;
    0x000247fc ldrb r1, [sp, 0xba]                           |     r1 = var_bah;
    0x00024800 mov r0, r4                                    |     r0 = r4;
    0x00024804 str r1, [sp, 0x30]                            |     var_30h = r1;
    0x00024808 ldrb r1, [sp, 0xb9]                           |     r1 = var_b9h;
    0x0002480c str r1, [sp, 0x2c]                            |     var_2ch = r1;
    0x00024810 ldrb r1, [sp, 0xb8]                           |     r1 = var_b8h;
    0x00024814 str r1, [sp, 0x28]                            |     var_28h = r1;
    0x00024818 ldrb r1, [sp, 0xb7]                           |     r1 = var_b7h;
    0x0002481c str r1, [sp, 0x24]                            |     var_24h = r1;
    0x00024820 ldrb r1, [sp, 0xb6]                           |     r1 = var_b6h;
    0x00024824 str r1, [sp, 0x20]                            |     var_20h = r1;
    0x00024828 ldrb r1, [sp, 0xb5]                           |     r1 = var_b5h;
    0x0002482c str r1, [sp, 0x1c]                            |     var_1ch = r1;
    0x00024830 ldrb r1, [sp, 0xb4]                           |     r1 = var_b4h;
    0x00024834 str r1, [sp, 0x18]                            |     var_18h = r1;
    0x00024838 ldrb r1, [sp, 0xb3]                           |     r1 = var_b3h;
    0x0002483c str r1, [sp, 0x14]                            |     var_14h = r1;
    0x00024840 ldrb r1, [sp, 0xb2]                           |     r1 = var_b2h;
    0x00024844 str r1, [sp, 0x10]                            |     var_10h = r1;
    0x00024848 ldrb r1, [sp, 0xb1]                           |     r1 = var_b1h;
    0x0002484c str r1, [sp, 0xc]                             |     var_ch = r1;
    0x00024850 ldrb r1, [sp, 0xb0]                           |     r1 = var_b0h;
    0x00024854 str r1, [sp, 8]                               |     var_8h = r1;
    0x00024858 ldrb r1, [sp, 0xaf]                           |     r1 = var_afh;
    0x0002485c str r1, [sp, 4]                               |     var_4h = r1;
    0x00024860 ldrb r1, [sp, 0xae]                           |     r1 = var_aeh;
    0x00024864 str r1, [sp]                                  |     *(sp) = r1;
    0x00024868 ldr r1, [pc, 0xa8]                            |     r1 = *(0x24914);
    0x0002486c add r1, pc, r1                                |     r1 = pc + r1;
    0x00024870 bl 0x10544                                    |     Curl_failf ();
    0x00024874 b 0x2440c                                     |     goto label_9;
                                                             | label_33:
    0x00024878 ldr r1, [pc, 0x9c]                            |     r1 = *(0x24918);
    0x0002487c mov r0, r4                                    |     r0 = r4;
    0x00024880 add r1, pc, r1                                |     r1 = pc + r1;
    0x00024884 bl 0x104cc                                    |     Curl_infof ();
    0x00024888 mov r1, 1                                     |     r1 = 1;
    0x0002488c mov r0, r6                                    |     r0 = r6;
    0x00024890 bl 0x25118                                    |     curlx_nonblock ();
    0x00024894 b 0x240a4                                     |     goto label_4;
                                                             | }
    ; 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/lib/libcurl.so @ 0xc8bc */
                                                 | #include <stdint.h>
                                                 |  
    ; (fcn) sym.Curl_add_buffer_init ()          | void Curl_add_buffer_init () {
    0x0000c8bc ldr r3, [pc, 0x18]                |     
    0x0000c8c0 ldr r2, [pc, 0x18]                |     r2 = $d;
    0x0000c8c4 add r3, pc, r3                    |     r3 = pc + r3;
    0x0000c8c8 ldr r3, [r3, r2]                  |     
    0x0000c8cc mov r1, 0xc                       |     r1 = 0xc;
    0x0000c8d0 ldr r3, [r3]                      |     r3 = *(0xc8d8);
    0x0000c8d4 mov r0, 1                         |     r0 = 1;
    0x0000c8d8 bx r3                             |     return uint32_t (*r3)() ();
                                                 | }
    ; 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/lib/libcurl.so @ 0xc8e4 */
                                                 | #include <stdint.h>
                                                 |  
    ; (fcn) sym.Curl_add_buffer_free ()          | void Curl_add_buffer_free (int32_t arg1) {
                                                 |     r0 = arg1;
    0x0000c8e4 ldr r3, [pc, 0x30]                |     r3 = *(0xc918);
    0x0000c8e8 ldr r2, [pc, 0x30]                |     r2 = $d;
    0x0000c8ec add r3, pc, r3                    |     r3 = pc + r3;
    0x0000c8f0 push {r4, r5, r6, lr}             |     
    0x0000c8f4 ldr r5, [r3, r2]                  |     r5 = *(0xc918);
    0x0000c8f8 subs r4, r0, 0                    |     r4 = r0 - 0;
    0x0000c8fc ldr r3, [r5]                      |     r3 = *(0xc918);
                                                 |     if (r4 != r0) {
    0x0000c900 beq 0xc90c                        |         
    0x0000c904 ldr r0, [r4]                      |         r0 = *(r4);
    0x0000c908 blx r3                            |         uint32_t (*r3)(uint32_t) (r0);
                                                 |     }
    0x0000c90c ldr r3, [r5]                      |     r3 = *(r5);
    0x0000c910 mov r0, r4                        |     r0 = r4;
    0x0000c914 pop {r4, r5, r6, lr}              |     
    0x0000c918 bx r3                             |     return uint32_t (*r3)() ();
                                                 | }
    ; 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/lib/libcurl.so @ 0xca20 */
                                                                 | #include <stdint.h>
                                                                 |  
    ; (fcn) sym.Curl_add_buffer_send ()                          | void Curl_add_buffer_send (int32_t arg_40h, int32_t arg1, int32_t arg2) {
                                                                 |     int32_t var_0h;
                                                                 |     int32_t var_ch;
                                                                 |     int32_t var_14h;
                                                                 |     int32_t var_1ch;
                                                                 |     r0 = arg1;
                                                                 |     r1 = arg2;
    0x0000ca20 push {r4, r5, r6, r7, r8, sb, sl, fp, lr}         |     
    0x0000ca24 sub sp, sp, 0x1c                                  |     
    0x0000ca28 mov r7, r3                                        |     r7 = r3;
    0x0000ca2c ldr r3, [sp, 0x40]                                |     r3 = *(arg_40h);
    0x0000ca30 mov sl, r0                                        |     sl = r0;
    0x0000ca34 add r3, r3, 0x66                                  |     r3 += 0x66;
    0x0000ca38 ldr r8, [r1, r3, lsl 2]                           |     offset_0 = r3 << 2;
                                                                 |     r8 = *((r1 + offset_0));
    0x0000ca3c ldr r3, [r1, 0x284]                               |     r3 = *((r1 + 0x284));
    0x0000ca40 ldr r0, [r1]                                      |     r0 = *(r1);
    0x0000ca44 ldr r3, [r3, 0x44]                                |     r3 = *((r3 + 0x44));
    0x0000ca48 mov r5, r1                                        |     r5 = r1;
    0x0000ca4c tst r3, 1                                         |     
    0x0000ca50 mov fp, r2                                        |     
    0x0000ca54 ldr r4, [r0, 0x12c]                               |     r4 = *((r0 + 0x12c));
    0x0000ca58 ldr sb, [sl]                                      |     sb = *(sl);
    0x0000ca5c ldr r6, [sl, 8]                                   |     r6 = *((sl + 8));
                                                                 |     if ((r3 & 1) == 0) {
    0x0000ca60 bne 0xca70                                        |         
    0x0000ca64 ldr r3, [r1, 0xf0]                                |         r3 = *((r1 + 0xf0));
    0x0000ca68 cmp r3, 2                                         |         
                                                                 |         if (r3 != 2) {
    0x0000ca6c bne 0xcbc4                                        |             goto label_2;
                                                                 |         }
                                                                 |     }
    0x0000ca70 ldr r3, [r5, 0x180]                               |     r3 = *((r5 + 0x180));
    0x0000ca74 cmp r3, 0x14                                      |     
                                                                 |     if (r3 == 0x14) {
    0x0000ca78 beq 0xcbc4                                        |         goto label_2;
                                                                 |     }
    0x0000ca7c cmp r6, 0x4000                                    |     
                                                                 |     if (r6 >= 0x4000) {
    0x0000ca80 movlo r3, r6                                      |         r3 = r6;
                                                                 |     }
                                                                 |     if (r6 < 0x4000) {
    0x0000ca84 movhs r3, 0x4000                                  |         r3 = 0x4000;
                                                                 |     }
    0x0000ca88 mov r2, r3                                        |     r2 = r3;
    0x0000ca8c mov r1, sb                                        |     r1 = sb;
    0x0000ca90 add r0, r0, 0x7d0                                 |     r0 += 0x7d0;
    0x0000ca94 str r3, [sp, 0xc]                                 |     var_ch = r3;
    0x0000ca98 bl 0x4f5c                                         |     memcpy (r0, r1, r2);
    0x0000ca9c ldr sb, [r5]                                      |     sb = *(r5);
    0x0000caa0 ldr r3, [sp, 0xc]                                 |     r3 = var_ch;
    0x0000caa4 add sb, sb, 0x7d0                                 |     sb += 0x7d0;
                                                                 |     do {
    0x0000caa8 add r2, sp, 0x14                                  |         r2 += var_14h;
    0x0000caac str r2, [sp]                                      |         *(sp) = r2;
    0x0000cab0 mov r1, r8                                        |         r1 = r8;
    0x0000cab4 mov r2, sb                                        |         r2 = sb;
    0x0000cab8 mov r0, r5                                        |         r0 = r5;
    0x0000cabc bl 0x10244                                        |         r0 = Curl_write ();
    0x0000cac0 subs r3, r0, 0                                    |         r3 = r0 - 0;
    0x0000cac4 str r3, [sp, 0xc]                                 |         var_ch = r3;
                                                                 |         if (r3 != r0) {
    0x0000cac8 bne 0xcbd4                                        |             goto label_1;
                                                                 |         }
    0x0000cacc ldr r0, [r5]                                      |         r0 = *(r5);
    0x0000cad0 ldr r8, [sp, 0x14]                                |         r8 = var_14h;
    0x0000cad4 ldrb r3, [r0, 0x4d8]                              |         r3 = *((r0 + 0x4d8));
    0x0000cad8 sub r7, r6, r7                                    |         r7 = r6 - r7;
    0x0000cadc cmp r7, r8                                        |         
                                                                 |         if (r7 < r8) {
    0x0000cae0 movhs r7, r8                                      |             r7 = r8;
                                                                 |         }
    0x0000cae4 cmp r3, 0                                         |         
    0x0000cae8 sub r8, r8, r7                                    |         r8 -= r7;
                                                                 |         if (r3 != 0) {
    0x0000caec beq 0xcb1c                                        |             
    0x0000caf0 mov r3, r7                                        |             r3 = r7;
    0x0000caf4 mov r2, sb                                        |             r2 = sb;
    0x0000caf8 mov r1, 2                                         |             r1 = 2;
    0x0000cafc bl 0x10424                                        |             Curl_debug ();
    0x0000cb00 cmp r8, 0                                         |             
                                                                 |             if (r8 == 0) {
    0x0000cb04 beq 0xcb1c                                        |                 goto label_3;
                                                                 |             }
    0x0000cb08 mov r3, r8                                        |             r3 = r8;
    0x0000cb0c add r2, sb, r7                                    |             r2 = sb + r7;
    0x0000cb10 mov r1, 4                                         |             r1 = 4;
    0x0000cb14 ldr r0, [r5]                                      |             r0 = *(r5);
    0x0000cb18 bl 0x10424                                        |             Curl_debug ();
                                                                 |         }
                                                                 | label_3:
    0x0000cb1c ldr r3, [fp]                                      |         r3 = *(fp);
    0x0000cb20 ldr r7, [sp, 0x14]                                |         r7 = var_14h;
    0x0000cb24 cmp r4, 0                                         |         
    0x0000cb28 add r3, r3, r7                                    |         r3 += r7;
    0x0000cb2c str r3, [fp]                                      |         *(fp) = r3;
                                                                 |         if (r4 == 0) {
    0x0000cb30 beq 0xcbe0                                        |             goto label_4;
                                                                 |         }
    0x0000cb34 ldrd r2, r3, [r4, 0x28]                           |         __asm ("ldrd r2, r3, [r4, 0x28]");
    0x0000cb38 adds r0, r2, r8                                   |         r0 = r2 + r8;
    0x0000cb3c adc r1, r3, 0                                     |         __asm ("adc r1, r3, 0");
    0x0000cb40 mov r2, r0                                        |         r2 = r0;
    0x0000cb44 mov r3, r1                                        |         r3 = r1;
    0x0000cb48 cmp r6, r7                                        |         
    0x0000cb4c strd r2, r3, [r4, 0x28]                           |         __asm ("strd r2, r3, [r4, 0x28]");
                                                                 |         if (r6 == r7) {
    0x0000cb50 beq 0xcbcc                                        |             goto label_5;
                                                                 |         }
    0x0000cb54 ldr r0, [r5]                                      |         r0 = *(r5);
    0x0000cb58 ldr ip, [sl]                                      |         ip = *(sl);
    0x0000cb5c add r0, r0, 0x4000                                |         r0 += 0x4000;
    0x0000cb60 ldr r3, [r0, 0xa20]                               |         r3 = *((r0 + 0xa20));
    0x0000cb64 add lr, r4, 0x1b0                                 |         lr = r4 + 0x1b0;
    0x0000cb68 str r3, [r4, 0x198]                               |         *((r4 + 0x198)) = r3;
    0x0000cb6c ldr r3, [r0, 0xa24]                               |         r3 = *((r0 + 0xa24));
    0x0000cb70 add ip, ip, r7                                    |         
    0x0000cb74 str r3, [r4, 0x19c]                               |         *((r4 + 0x19c)) = r3;
    0x0000cb78 ldr r3, [r4, 0x10]                                |         r3 = *((r4 + 0x10));
    0x0000cb7c sub r6, r6, r7                                    |         r6 -= r7;
    0x0000cb80 str r3, [r4, 0x1a0]                               |         *((r4 + 0x1a0)) = r3;
    0x0000cb84 ldrd r2, r3, [r4, 8]                              |         __asm ("ldrd r2, r3, [r4, 8]");
    0x0000cb88 strd r2, r3, [lr, -8]                             |         __asm ("strd r2, r3, [lr, -8]");
    0x0000cb8c ldr r3, [pc, 0x68]                                |         r3 = *(0xcbf8);
    0x0000cb90 str r5, [r0, 0xa24]                               |         *((r0 + 0xa24)) = r5;
    0x0000cb94 add r3, pc, r3                                    |         r3 = pc + r3;
    0x0000cb98 str r3, [r0, 0xa20]                               |         *((r0 + 0xa20)) = r3;
    0x0000cb9c mov r3, 0                                         |         r3 = 0;
    0x0000cba0 str r3, [r4, 0xc]                                 |         *((r4 + 0xc)) = r3;
    0x0000cba4 mov r3, 1                                         |         r3 = 1;
    0x0000cba8 str ip, [r4, 0x10]                                |         *((r4 + 0x10)) = ip;
    0x0000cbac str r6, [r4, 8]                                   |         *((r4 + 8)) = r6;
    0x0000cbb0 str sl, [r4, 0x1b4]                               |         *((r4 + 0x1b4)) = sl;
    0x0000cbb4 str r3, [r4, 0x1b0]                               |         *((r4 + 0x1b0)) = r3;
                                                                 | label_0:
    0x0000cbb8 ldr r0, [sp, 0xc]                                 |         r0 = var_ch;
    0x0000cbbc add sp, sp, 0x1c                                  |         
    0x0000cbc0 pop {r4, r5, r6, r7, r8, sb, sl, fp, pc}          |         
                                                                 | label_2:
    0x0000cbc4 mov r3, r6                                        |         r3 = r6;
    0x0000cbc8 b 0xcaa8                                          |         
                                                                 |     } while (1);
                                                                 | label_5:
    0x0000cbcc mov r3, 2                                         |     r3 = 2;
    0x0000cbd0 str r3, [r4, 0x1b0]                               |     *((r4 + 0x1b0)) = r3;
                                                                 | label_1:
    0x0000cbd4 mov r0, sl                                        |     r0 = sl;
    0x0000cbd8 bl 0xc8e4                                         |     Curl_add_buffer_free ();
    0x0000cbdc b 0xcbb8                                          |     goto label_0;
                                                                 | label_4:
    0x0000cbe0 cmp r6, r7                                        |     
                                                                 |     if (r6 == r7) {
    0x0000cbe4 movne r3, 0x37                                    |         r3 = 0x37;
                                                                 |     }
                                                                 |     if (r6 != r7) {
    0x0000cbe8 strne r3, [sp, 0xc]                               |         var_ch = r3;
                                                                 |         goto label_6;
                                                                 |     }
                                                                 |     if (r6 != r7) {
                                                                 | label_6:
    0x0000cbec bne 0xcbb8                                        |         goto label_0;
                                                                 |     }
    0x0000cbf0 mov r0, r5                                        |     r0 = r5;
    0x0000cbf4 bl 0x29400                                        |     Curl_pipeline_leave_write ();
    0x0000cbf8 b 0xcbd4                                          |     goto label_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/lib/libcurl.so @ 0xcc00 */
                                                     | #include <stdint.h>
                                                     |  
    ; (fcn) sym.Curl_add_buffer ()                   | void Curl_add_buffer (uint32_t arg1, char * arg2) {
                                                     |     r0 = arg1;
                                                     |     r1 = arg2;
    0x0000cc00 push {r4, r5, r6, r7, r8, lr}         |     
    0x0000cc04 ldr r4, [r0, 8]                       |     r4 = *((r0 + 8));
    0x0000cc08 ldr r7, [pc, 0xfc]                    |     r7 = *(0xcd08);
    0x0000cc0c mvn r3, r2                            |     r3 = ~r2;
    0x0000cc10 cmp r3, r4                            |     
    0x0000cc14 mov r5, r0                            |     r5 = r0;
    0x0000cc18 add r7, pc, r7                        |     r7 = pc + r7;
    0x0000cc1c ldr r0, [r0]                          |     r0 = *(r0);
                                                     |     if (r3 >= r4) {
    0x0000cc20 bhs 0xcc50                            |         goto label_1;
                                                     |     }
    0x0000cc24 ldr r3, [pc, 0xe4]                    |     r3 = $d;
    0x0000cc28 ldr r4, [r7, r3]                      |     r4 = *((r7 + r3));
    0x0000cc2c ldr r3, [r4]                          |     r3 = *(r4);
    0x0000cc30 blx r3                                |     uint32_t (*r3)(uint32_t) (r3);
    0x0000cc34 mov r3, 0                             |     r3 = 0;
    0x0000cc38 str r3, [r5]                          |     *(r5) = r3;
    0x0000cc3c ldr r3, [r4]                          |     r3 = *(r4);
                                                     |     do {
    0x0000cc40 mov r0, r5                            |         r0 = r5;
    0x0000cc44 blx r3                                |         uint32_t (*r3)(uint32_t, uint32_t) (r0, r3);
    0x0000cc48 mov r0, 0x1b                          |         r0 = 0x1b;
    0x0000cc4c pop {r4, r5, r6, r7, r8, pc}          |         
                                                     | label_1:
    0x0000cc50 cmp r0, 0                             |         
    0x0000cc54 mov r8, r1                            |         r8 = r1;
    0x0000cc58 mov r6, r2                            |         r6 = r2;
                                                     |         if (r0 != 0) {
    0x0000cc5c beq 0xcc74                            |             
    0x0000cc60 ldr r3, [r5, 4]                       |             r3 = *((r5 + 4));
    0x0000cc64 add r2, r4, r2                        |             r2 = r4 + r2;
    0x0000cc68 sub r3, r3, 1                         |             r3--;
    0x0000cc6c cmp r2, r3                            |             
                                                     |             if (r2 < r3) {
    0x0000cc70 bls 0xcce0                            |                 goto label_2;
                                                     |             }
                                                     |         }
    0x0000cc74 cmp r6, 0                             |         
                                                     |         if (r6 >= 0) {
    0x0000cc78 blt 0xcc98                            |             
    0x0000cc7c cmp r4, 0                             |             
                                                     |             if (r4 < 0) {
    0x0000cc80 blt 0xcc98                            |                 goto label_3;
                                                     |             }
    0x0000cc84 mvn r3, r6, lsl 1                     |             r3 = ~r6;
    0x0000cc88 cmp r3, r4, lsl 1                     |             
                                                     |             if (r3 < r4) {
    0x0000cc8c addhs r4, r4, r6                      |                 r4 += r6;
                                                     |             }
                                                     |             if (r3 < r4) {
    0x0000cc90 lslhs r4, r4, 1                       |                 r4 <<= 1;
                                                     |             }
                                                     |             if (r3 >= r4) {
    0x0000cc94 bhs 0xcc9c                            |                 goto label_4;
                                                     |             }
                                                     |         }
                                                     | label_3:
    0x0000cc98 mvn r4, 0                             |         r4 = ~0;
                                                     | label_4:
    0x0000cc9c cmp r0, 0                             |         
                                                     |         if (r0 == 0) {
    0x0000cca0 beq 0xccc4                            |             goto label_5;
                                                     |         }
    0x0000cca4 mov r1, r4                            |         r1 = r4;
    0x0000cca8 bl 0x23998                            |         r0 = Curl_saferealloc ();
                                                     | label_0:
    0x0000ccac cmp r0, 0                             |         
                                                     |         if (r0 != 0) {
    0x0000ccb0 bne 0xccdc                            |             goto label_6;
                                                     |         }
    0x0000ccb4 ldr r3, [pc, 0x54]                    |         
    0x0000ccb8 ldr r3, [r7, r3]                      |         r3 = *((r7 + r3));
    0x0000ccbc ldr r3, [r3]                          |         r3 = $d;
    0x0000ccc0 b 0xcc40                              |         
                                                     |     } while (1);
                                                     | label_5:
    0x0000ccc4 ldr r3, [pc, 0x48]                    |     
    0x0000ccc8 mov r0, r4                            |     r0 = r4;
    0x0000cccc ldr r3, [r7, r3]                      |     r3 = *((r7 + r3));
    0x0000ccd0 ldr r3, [r3]                          |     r3 = *(0xcd10);
    0x0000ccd4 blx r3                                |     uint32_t (*r3)(uint32_t, uint32_t) (r0, r3);
    0x0000ccd8 b 0xccac                              |     goto label_0;
                                                     | label_6:
    0x0000ccdc stm r5, {r0, r4}                      |     *(r5) = r0;
                                                     |     *((r5 + 4)) = r4;
                                                     | label_2:
    0x0000cce0 ldr r3, [r5, 8]                       |     r3 = *((r5 + 8));
    0x0000cce4 ldr r0, [r5]                          |     r0 = *(r5);
    0x0000cce8 mov r2, r6                            |     r2 = r6;
    0x0000ccec mov r1, r8                            |     r1 = r8;
    0x0000ccf0 add r0, r0, r3                        |     r0 += r3;
    0x0000ccf4 bl 0x4f5c                             |     memcpy (r0, r1, r2);
    0x0000ccf8 ldr r3, [r5, 8]                       |     r3 = *((r5 + 8));
    0x0000ccfc mov r0, 0                             |     r0 = 0;
    0x0000cd00 add r6, r3, r6                        |     r6 = r3 + r6;
    0x0000cd04 str r6, [r5, 8]                       |     *((r5 + 8)) = r6;
    0x0000cd08 pop {r4, r5, r6, r7, r8, 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/lib/libcurl.so @ 0xcd18 */
                                                         | #include <stdint.h>
                                                         |  
    ; (fcn) sym.Curl_add_bufferf ()                      | void Curl_add_bufferf (int32_t arg1) {
                                                         |     int32_t var_4h;
                                                         |     int32_t var_ch;
                                                         |     int32_t var_1ch;
                                                         |     int32_t var_20h;
                                                         |     r0 = arg1;
    0x0000cd18 push {r1, r2, r3}                         |     
    0x0000cd1c push {r0, r1, r2, r4, r5, r6, lr}         |     
    0x0000cd20 ldr r5, [pc, 0x7c]                        |     
    0x0000cd24 add r1, sp, 0x20                          |     r1 += var_20h;
    0x0000cd28 mov r4, r0                                |     r4 = r0;
    0x0000cd2c ldr r0, [sp, 0x1c]                        |     r0 = var_1ch;
    0x0000cd30 str r1, [sp, 4]                           |     var_4h = r1;
    0x0000cd34 bl 0x5490                                 |     fcn_00005490 ();
    0x0000cd38 ldr r3, [pc, 0x68]                        |     r3 = $d;
    0x0000cd3c add r5, pc, r5                            |     r5 = pc + r5;
    0x0000cd40 ldr r5, [r5, r3]                          |     r5 = *(0xcda0);
    0x0000cd44 subs r6, r0, 0                            |     r6 = r0 - 0;
                                                         |     if (r6 == r0) {
    0x0000cd48 beq 0xcd84                                |         goto label_0;
                                                         |     }
    0x0000cd4c bl 0x5250                                 |     strlen (r0);
    0x0000cd50 mov r1, r6                                |     r1 = r6;
    0x0000cd54 mov r2, r0                                |     r2 = r0;
    0x0000cd58 mov r0, r4                                |     r0 = r4;
    0x0000cd5c bl 0xcc00                                 |     Curl_add_buffer ();
    0x0000cd60 ldr r3, [r5]                              |     r3 = *(r5);
    0x0000cd64 mov r4, r0                                |     r4 = r0;
    0x0000cd68 mov r0, r6                                |     r0 = r6;
    0x0000cd6c blx r3                                    |     uint32_t (*r3)(uint32_t, uint32_t) (r0, r3);
                                                         |     do {
    0x0000cd70 mov r0, r4                                |         r0 = r4;
    0x0000cd74 add sp, sp, 0xc                           |         
    0x0000cd78 pop {r4, r5, r6, lr}                      |         
    0x0000cd7c add sp, sp, 0xc                           |         
    0x0000cd80 bx lr                                     |         return;
                                                         | label_0:
    0x0000cd84 ldr r0, [r4]                              |         r0 = *(r4);
    0x0000cd88 ldr r3, [r5]                              |         r3 = *(r5);
    0x0000cd8c blx r3                                    |         uint32_t (*r3)(uint32_t, uint32_t) (r0, r3);
    0x0000cd90 mov r0, r4                                |         r0 = r4;
    0x0000cd94 ldr r3, [r5]                              |         r3 = *(r5);
    0x0000cd98 blx r3                                    |         uint32_t (*r3)(uint32_t, uint32_t) (r0, r3);
    0x0000cd9c mov r4, 0x1b                              |         r4 = 0x1b;
    0x0000cda0 b 0xcd70                                  |         
                                                         |     } 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/lib/libcurl.so @ 0x208ec */
                                                         | #include <stdint.h>
                                                         |  
    ; (fcn) sym.Curl_all_content_encodings ()            | void Curl_all_content_encodings () {
    0x000208ec push {r4, r5, r6, r7, r8, sb, sl, lr}     |     
    0x000208f0 ldr r5, [pc, 0xfc]                        |     r5 = *(0x209f0);
    0x000208f4 ldr sb, [pc, 0xfc]                        |     sb = *(0x000209f8);
    0x000208f8 ldr r6, [pc, 0xfc]                        |     r6 = *(0x209f8);
    0x000208fc add r5, pc, r5                            |     r5 = pc + r5;
    0x00020900 sub r5, r5, 4                             |     r5 -= 4;
    0x00020904 mov r8, r5                                |     r8 = r5;
    0x00020908 mov r4, 0                                 |     r4 = 0;
    0x0002090c add sb, pc, sb                            |     sb = pc + sb;
    0x00020910 add r6, pc, r6                            |     r6 = pc + r6;
                                                         |     do {
                                                         | label_0:
    0x00020914 ldr r7, [r8, 4]!                          |         r7 = *((r8 += 4));
    0x00020918 cmp r7, 0                                 |         
                                                         |         if (r7 == 0) {
    0x0002091c bne 0x20944                               |             
    0x00020920 cmp r4, 0                                 |             
                                                         |             if (r4 != 0) {
    0x00020924 bne 0x2096c                               |                 goto label_3;
                                                         |             }
    0x00020928 ldr r3, [pc, 0xd0]                        |             
    0x0002092c ldr r0, [pc, 0xd0]                        |             r0 = *(0x20a00);
    0x00020930 ldr r3, [r6, r3]                          |             r3 = *((r6 + r3));
    0x00020934 add r0, pc, r0                            |             r0 = pc + r0;
    0x00020938 ldr r3, [r3]                              |             r3 = *(0x209fc);
    0x0002093c pop {r4, r5, r6, r7, r8, sb, sl, lr}      |             
    0x00020940 bx r3                                     |             return uint32_t (*r3)() ();
                                                         |         }
    0x00020944 mov r1, sb                                |         r1 = sb;
    0x00020948 ldr r0, [r7]                              |         r0 = *(r7);
    0x0002094c bl 0x19dc0                                |         r0 = Curl_strcasecompare ();
    0x00020950 cmp r0, 0                                 |         
    0x00020954 bne 0x20914                               |         
                                                         |     } while (r0 != 0);
    0x00020958 ldr r0, [r7]                              |     r0 = *(r7);
    0x0002095c bl 0x5250                                 |     strlen (r0);
    0x00020960 add r4, r4, 2                             |     r4 += 2;
    0x00020964 add r4, r0, r4                            |     r4 = r0 + r4;
    0x00020968 b 0x20914                                 |     goto label_0;
                                                         | label_3:
    0x0002096c ldr r3, [pc, 0x94]                        |     
    0x00020970 mov r0, r4                                |     r0 = r4;
    0x00020974 ldr r3, [r6, r3]                          |     r3 = *((r6 + r3));
    0x00020978 ldr r3, [r3]                              |     r3 = *(0x20a04);
    0x0002097c blx r3                                    |     r0 = uint32_t (*r3)(uint32_t, uint32_t) (r0, r3);
    0x00020980 subs r7, r0, 0                            |     r7 = r0 - 0;
                                                         |     if (r7 != r0) {
    0x00020984 bne 0x209dc                               |         goto label_4;
                                                         |     }
                                                         | label_1:
    0x00020988 mov r0, r7                                |     r0 = r7;
    0x0002098c pop {r4, r5, r6, r7, r8, sb, sl, pc}      |     
                                                         |     do {
    0x00020990 mov r1, r8                                |         r1 = r8;
    0x00020994 ldr r0, [r6]                              |         r0 = *(r6);
    0x00020998 bl 0x19dc0                                |         r0 = Curl_strcasecompare ();
    0x0002099c cmp r0, 0                                 |         
                                                         |         if (r0 == 0) {
    0x000209a0 bne 0x209c8                               |             
    0x000209a4 ldr r1, [r6]                              |             r1 = *(r6);
    0x000209a8 mov r0, r4                                |             r0 = r4;
    0x000209ac bl 0x5c28                                 |             strcpy (r0, r1);
    0x000209b0 mov r0, r4                                |             r0 = r4;
    0x000209b4 bl 0x5250                                 |             r0 = strlen (r0);
    0x000209b8 add r3, r4, r0                            |             r3 = r4 + r0;
    0x000209bc strb sb, [r4, r0]                         |             *((r4 + r0)) = sb;
    0x000209c0 add r4, r3, 2                             |             r4 = r3 + 2;
    0x000209c4 strb sl, [r3, 1]                          |             *((r3 + 1)) = sl;
                                                         |         }
                                                         | label_2:
    0x000209c8 ldr r6, [r5, 4]!                          |         r6 = *((r5 += 4));
    0x000209cc cmp r6, 0                                 |         
    0x000209d0 bne 0x20990                               |         
                                                         |     } while (r6 != 0);
    0x000209d4 strb r6, [r4, -2]                         |     *((r4 - 2)) = r6;
    0x000209d8 b 0x20988                                 |     goto label_1;
                                                         | label_4:
    0x000209dc ldr r8, [pc, 0x28]                        |     r8 = *(0x20a08);
    0x000209e0 mov r4, r7                                |     r4 = r7;
    0x000209e4 add r8, pc, r8                            |     r8 = pc + r8;
    0x000209e8 mov sb, 0x2c                              |     sb = 0x2c;
    0x000209ec mov sl, 0x20                              |     sl = 0x20;
    0x000209f0 b 0x209c8                                 |     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/lib/libcurl.so @ 0x2fa3c */
                                                 | #include <stdint.h>
                                                 |  
    ; (fcn) sym.Curl_auth_build_spn ()           | uint32_t Curl_auth_build_spn (int32_t arg1, char * arg2) {
                                                 |     r0 = arg1;
                                                 |     r1 = arg2;
    0x0002fa3c cmp r1, 0                         |     
    0x0002fa40 cmpne r2, 0                       |     __asm ("cmpne r2, 0");
    0x0002fa44 mov r3, r2                        |     r3 = r2;
                                                 |     if (r1 != 0) {
    0x0002fa48 beq 0x2fa60                       |         
    0x0002fa4c mov r2, r1                        |         r2 = r1;
    0x0002fa50 mov r1, r0                        |         r1 = r0;
    0x0002fa54 ldr r0, [pc, 0x3c]                |         r0 = *(0x2fa94);
    0x0002fa58 add r0, pc, r0                    |         r0 = pc + r0;
    0x0002fa5c b 0x5b80                          |         void (*0x5b80)() ();
                                                 |     }
    0x0002fa60 cmp r1, 0                         |     
                                                 |     if (r1 == 0) {
    0x0002fa64 beq 0x2fa7c                       |         goto label_0;
                                                 |     }
    0x0002fa68 mov r2, r1                        |     r2 = r1;
    0x0002fa6c mov r1, r0                        |     r1 = r0;
    0x0002fa70 ldr r0, [pc, 0x24]                |     r0 = $d;
    0x0002fa74 add r0, pc, r0                    |     r0 = pc + r0;
                                                 |     do {
    0x0002fa78 b 0x5b80                          |         void (*0x5b80)() ();
                                                 | label_0:
    0x0002fa7c cmp r2, 0                         |         
                                                 |         if (r2 == 0) {
    0x0002fa80 movne r1, r0                      |             r1 = r0;
                                                 |         }
                                                 |         if (r2 == 0) {
    0x0002fa84 ldrne r0, [pc, 0x14]              |             r0 = *((pc + 0x14));
                                                 |         }
                                                 |         if (r2 == 0) {
    0x0002fa88 addne r0, pc, r0                  |             r0 = pc + r0;
                                                 |         }
    0x0002fa8c bne 0x2fa78                       |         
                                                 |     } while (r2 != 0);
    0x0002fa90 mov r0, r2                        |     r0 = r2;
    0x0002fa94 bx lr                             |     return r0;
                                                 | }
    ; 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/lib/libcurl.so @ 0x3161c */
                                                             | #include <stdint.h>
                                                             |  
    ; (fcn) sym.Curl_auth_create_ntlm_type3_message ()       | void Curl_auth_create_ntlm_type3_message (int32_t arg_998h, int32_t arg_99ch, int32_t arg1, char * arg2) {
                                                             |     int32_t var_0h;
                                                             |     int32_t var_4h;
                                                             |     int32_t var_8h;
                                                             |     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_44h;
                                                             |     int32_t var_48h;
                                                             |     int32_t var_4ch;
                                                             |     int32_t var_50h;
                                                             |     int32_t var_54h;
                                                             |     int32_t var_58h;
                                                             |     int32_t var_5ch;
                                                             |     int32_t var_60h;
                                                             |     int32_t var_64h;
                                                             |     int32_t var_68h;
                                                             |     int32_t var_6ch;
                                                             |     int32_t var_70h;
                                                             |     int32_t var_74h;
                                                             |     int32_t var_78h;
                                                             |     int32_t var_7ch;
                                                             |     int32_t var_80h;
                                                             |     int32_t var_84h;
                                                             |     int32_t var_88h;
                                                             |     int32_t var_8ch;
                                                             |     int32_t var_90h;
                                                             |     int32_t var_94h;
                                                             |     int32_t var_98h;
                                                             |     int32_t var_9ch;
                                                             |     int32_t var_a0h;
                                                             |     int32_t var_a4h;
                                                             |     int32_t var_a8h;
                                                             |     int32_t var_ach;
                                                             |     int32_t var_b0h;
                                                             |     int32_t var_b4h;
                                                             |     int32_t var_b8h;
                                                             |     int32_t var_bch;
                                                             |     int32_t var_c0h;
                                                             |     int32_t var_c4h;
                                                             |     int32_t var_c8h;
                                                             |     int32_t var_cch;
                                                             |     int32_t var_d0h;
                                                             |     int32_t var_d4h;
                                                             |     int32_t var_d8h;
                                                             |     int32_t var_e4h;
                                                             |     char * var_e8h;
                                                             |     void * var_ech;
                                                             |     char * var_f0h;
                                                             |     void * var_f4h;
                                                             |     int32_t var_f8h;
                                                             |     int32_t var_fch;
                                                             |     int32_t var_104h;
                                                             |     int32_t var_108h;
                                                             |     int32_t var_10ch;
                                                             |     int32_t var_114h;
                                                             |     void * s2;
                                                             |     void * var_12ch;
                                                             |     int32_t var_13ch;
                                                             |     int32_t var_154h;
                                                             |     void * s1;
                                                             |     int32_t var_174h;
                                                             |     int32_t var_0h_2;
                                                             |     int32_t var_56ch;
                                                             |     void * s;
                                                             |     int32_t var_970h;
                                                             |     int32_t var_4h_2;
                                                             |     r0 = arg1;
                                                             |     r1 = arg2;
    0x0003161c push {r4, r5, r6, r7, r8, sb, sl, fp, lr}     |     
    0x00031620 mov r7, r3                                    |     r7 = r3;
    0x00031624 ldr r3, [pc, 0x5d4]                           |     r3 = *(0x31bfc);
    0x00031628 sub sp, sp, 0x970                             |     
    0x0003162c sub sp, sp, 4                                 |     
    0x00031630 add r3, pc, r3                                |     r3 = pc + r3;
    0x00031634 str r3, [sp, 0xf8]                            |     var_f8h = r3;
    0x00031638 mov r3, 0x18                                  |     r3 = 0x18;
    0x0003163c str r3, [sp, 0x104]                           |     var_104h = r3;
    0x00031640 ldr r3, [r7, 4]                               |     r3 = *((r7 + 4));
    0x00031644 add r4, sp, 0x570                             |     r4 += s;
    0x00031648 str r1, [sp, 0xe8]                            |     var_e8h = r1;
    0x0003164c mov r8, r0                                    |     r8 = r0;
    0x00031650 mov r1, 0                                     |     r1 = 0;
    0x00031654 mov sb, r2                                    |     sb = r2;
    0x00031658 mov r0, r4                                    |     r0 = r4;
    0x0003165c ldr r2, [pc, 0x5a0]                           |     r2 = $d;
    0x00031660 str r1, [sp, 0x108]                           |     var_108h = r1;
    0x00031664 str r3, [sp, 0xfc]                            |     var_fch = r3;
    0x00031668 str r1, [sp, 0x56c]                           |     var_56ch = r1;
    0x0003166c bl 0x576c                                     |     memset (r0, r1, r2);
    0x00031670 mov r1, 0x5c                                  |     r1 = 0x5c;
    0x00031674 ldr r0, [sp, 0xe8]                            |     r0 = var_e8h;
    0x00031678 bl 0x5b38                                     |     r0 = strchr (r0, r1);
    0x0003167c cmp r0, 0                                     |     
                                                             |     if (r0 == 0) {
    0x00031680 bne 0x31698                                   |         
    0x00031684 mov r1, 0x2f                                  |         r1 = 0x2f;
    0x00031688 ldr r0, [sp, 0xe8]                            |         r0 = var_e8h;
    0x0003168c bl 0x5b38                                     |         r0 = strchr (r0, r1);
    0x00031690 cmp r0, 0                                     |         
                                                             |         if (r0 == 0) {
    0x00031694 beq 0x317b0                                   |             goto label_5;
                                                             |         }
                                                             |     }
    0x00031698 ldr r3, [sp, 0xe8]                            |     r3 = var_e8h;
    0x0003169c sub r5, r0, r3                                |     r5 = r0 - r3;
    0x000316a0 str r3, [sp, 0xec]                            |     var_ech = r3;
    0x000316a4 add r3, r0, 1                                 |     r3 = r0 + 1;
    0x000316a8 str r3, [sp, 0xe8]                            |     var_e8h = r3;
                                                             |     do {
    0x000316ac ldr r0, [sp, 0xe8]                            |         r0 = var_e8h;
    0x000316b0 bl 0x5250                                     |         strlen (r0);
    0x000316b4 sub r3, r4, 4                                 |         r3 -= var_56ch;
    0x000316b8 ldr r1, [pc, 0x548]                           |         r1 = *(0x31c04);
    0x000316bc str r3, [sp, 0xf0]                            |         var_f0h = r3;
    0x000316c0 mov r6, r0                                    |         r6 = r0;
    0x000316c4 mov r0, r3                                    |         r0 = r3;
    0x000316c8 bl 0x25594                                    |         r0 = Curl_gethostname ();
    0x000316cc cmp r0, 0                                     |         
                                                             |         if (r0 == 0) {
    0x000316d0 beq 0x317c4                                   |             goto label_6;
                                                             |         }
    0x000316d4 ldr r1, [pc, 0x530]                           |         r1 = *(0x31c08);
    0x000316d8 mov r0, r8                                    |         r0 = r8;
    0x000316dc add r1, pc, r1                                |         r1 = pc + r1;
    0x000316e0 bl 0x104cc                                    |         Curl_infof ();
    0x000316e4 mov r3, 0                                     |         r3 = 0;
    0x000316e8 str r3, [sp, 0xe4]                            |         var_e4h = r3;
                                                             | label_0:
    0x000316ec ldr r3, [r7, 0x14]                            |         r3 = *((r7 + 0x14));
    0x000316f0 cmp r3, 0                                     |         
                                                             |         if (r3 == 0) {
    0x000316f4 beq 0x317d4                                   |             goto label_7;
                                                             |         }
    0x000316f8 add sl, sp, 0x13c                             |         sl += var_13ch;
    0x000316fc mov r2, 8                                     |         r2 = 8;
    0x00031700 mov r1, sl                                    |         r1 = sl;
    0x00031704 mov r0, r8                                    |         r0 = r8;
    0x00031708 bl 0x280e0                                    |         r0 = Curl_rand ();
    0x0003170c subs r4, r0, 0                                |         r4 = r0 - 0;
                                                             |         if (r4 == r0) {
    0x00031710 bne 0x317a0                                   |             
    0x00031714 add fp, sp, 0x154                             |             
    0x00031718 mov r2, fp                                    |             r2 = fp;
    0x0003171c mov r1, sb                                    |             r1 = sb;
    0x00031720 mov r0, r8                                    |             r0 = r8;
    0x00031724 bl 0x270b0                                    |             r0 = Curl_ntlm_core_mk_nt_hash ();
    0x00031728 subs r4, r0, 0                                |             r4 = r0 - 0;
                                                             |             if (r4 != r0) {
    0x0003172c bne 0x317a0                                   |                 goto label_1;
                                                             |             }
    0x00031730 add sb, sp, 0x16c                             |             sb += s1;
    0x00031734 str sb, [sp, 4]                               |             var_4h = sb;
    0x00031738 str fp, [sp]                                  |             *(sp) = fp;
    0x0003173c mov r3, r5                                    |             r3 = r5;
    0x00031740 ldr r2, [sp, 0xec]                            |             r2 = var_ech;
    0x00031744 mov r1, r6                                    |             r1 = r6;
    0x00031748 ldr r0, [sp, 0xe8]                            |             r0 = var_e8h;
    0x0003174c bl 0x27218                                    |             r0 = Curl_ntlm_core_mk_ntlmv2_hash ();
    0x00031750 subs r4, r0, 0                                |             r4 = r0 - 0;
                                                             |             if (r4 != r0) {
    0x00031754 bne 0x317a0                                   |                 goto label_1;
                                                             |             }
    0x00031758 add r3, sp, 0x124                             |             r3 += s2;
    0x0003175c add r2, r7, 8                                 |             r2 = r7 + 8;
    0x00031760 mov r1, sl                                    |             r1 = sl;
    0x00031764 mov r0, sb                                    |             r0 = sb;
    0x00031768 bl 0x274ac                                    |             Curl_ntlm_core_mk_lmv2_resp ();
    0x0003176c subs r4, r0, 0                                |             r4 -= s1;
                                                             |             if (r4 != s1) {
    0x00031770 bne 0x317a0                                   |                 goto label_1;
                                                             |             }
    0x00031774 add r2, sp, 0x104                             |             r2 += var_104h;
    0x00031778 add r3, sp, 0x108                             |             r3 += var_108h;
    0x0003177c str r2, [sp]                                  |             *(sp) = r2;
    0x00031780 mov r1, sl                                    |             r1 = sl;
    0x00031784 mov r2, r7                                    |             r2 = r7;
    0x00031788 mov r0, sb                                    |             r0 = sb;
    0x0003178c bl 0x2732c                                    |             Curl_ntlm_core_mk_ntlmv2_resp ();
    0x00031790 subs r4, r0, 0                                |             r4 -= s1;
                                                             |             if (r4 != s1) {
    0x00031794 ldreq r3, [sp, 0x108]                         |                 r3 = var_108h;
                                                             |             }
                                                             |             if (r4 != s1) {
    0x00031798 streq r3, [sp, 0xf4]                          |                 var_f4h = r3;
                                                             |             }
                                                             |             if (r4 == s1) {
    0x0003179c beq 0x3188c                                   |                 goto label_2;
                                                             |             }
                                                             |         }
                                                             | label_1:
    0x000317a0 mov r0, r4                                    |         r0 = r4;
    0x000317a4 add sp, sp, 0x970                             |         
    0x000317a8 add sp, sp, 4                                 |         
    0x000317ac pop {r4, r5, r6, r7, r8, sb, sl, fp, pc}      |         
                                                             | label_5:
    0x000317b0 ldr r3, [pc, 0x458]                           |         r3 = *(0x31c0c);
    0x000317b4 mov r5, r0                                    |         r5 = r0;
    0x000317b8 add r3, pc, r3                                |         r3 = pc + r3;
    0x000317bc str r3, [sp, 0xec]                            |         var_ech = r3;
    0x000317c0 b 0x316ac                                     |         
                                                             |     } while (1);
                                                             | label_6:
    0x000317c4 ldr r0, [sp, 0xf0]                            |     r0 = var_f0h;
    0x000317c8 bl 0x5250                                     |     strlen (r0);
    0x000317cc str r0, [sp, 0xe4]                            |     var_e4h = r0;
    0x000317d0 b 0x316ec                                     |     goto label_0;
                                                             | label_7:
    0x000317d4 ldr r3, [r7, 4]                               |     r3 = *((r7 + 4));
    0x000317d8 tst r3, 0x80000                               |     
                                                             |     if ((r3 & 0x80000) == 0) {
    0x000317dc beq 0x31adc                                   |         goto label_8;
                                                             |     }
    0x000317e0 add sl, sp, 0x10c                             |     sl += var_10ch;
    0x000317e4 mov r2, 8                                     |     r2 = 8;
    0x000317e8 mov r1, sl                                    |     r1 = sl;
    0x000317ec mov r0, r8                                    |     r0 = r8;
    0x000317f0 bl 0x280e0                                    |     r0 = Curl_rand ();
    0x000317f4 subs r4, r0, 0                                |     r4 = r0 - 0;
                                                             |     if (r4 != r0) {
    0x000317f8 bne 0x317a0                                   |         goto label_1;
                                                             |     }
    0x000317fc ldm sl, {r0, r1}                              |     r0 = *(sl);
                                                             |     r1 = *((sl + 4));
    0x00031800 add r2, sp, 0x124                             |     r2 += s2;
    0x00031804 stm r2, {r0, r1}                              |     *(r2) = r0;
                                                             |     *((r2 + 4)) = r1;
    0x00031808 mov r1, r4                                    |     r1 = r4;
    0x0003180c mov r2, 0x10                                  |     r2 = 0x10;
    0x00031810 add r0, sp, 0x12c                             |     r0 += var_12ch;
    0x00031814 bl 0x576c                                     |     memset (r0, r1, r2);
    0x00031818 add r4, sp, 0x16c                             |     r4 += s1;
    0x0003181c mov r2, 8                                     |     r2 = 8;
    0x00031820 add r1, r7, r2                                |     r1 = r7 + r2;
    0x00031824 mov r0, r4                                    |     r0 = r4;
    0x00031828 bl 0x4f5c                                     |     r0 = memcpy (r0, r1, r2);
    0x0003182c ldm sl, {r0, r1}                              |     r0 = *(sl);
                                                             |     r1 = *((sl + 4));
    0x00031830 add r3, sp, 0x174                             |     r3 += var_174h;
    0x00031834 stm r3, {r0, r1}                              |     *(r3) = r0;
                                                             |     *((r3 + 4)) = r1;
    0x00031838 add fp, sp, 0x114                             |     
    0x0003183c mov r3, 0x10                                  |     r3 = 0x10;
    0x00031840 mov r0, r4                                    |     r0 = r4;
    0x00031844 mov r2, fp                                    |     r2 = fp;
    0x00031848 mov r1, r3                                    |     r1 = r3;
    0x0003184c bl 0x37d14                                    |     Curl_ssl_md5sum ();
    0x00031850 subs r4, r0, 0                                |     r4 -= s1;
                                                             |     if (r4 != s1) {
    0x00031854 bne 0x317a0                                   |         goto label_1;
                                                             |     }
    0x00031858 add sl, sp, 0x154                             |     sl += var_154h;
    0x0003185c mov r2, sl                                    |     r2 = sl;
    0x00031860 mov r1, sb                                    |     r1 = sb;
    0x00031864 mov r0, r8                                    |     r0 = r8;
    0x00031868 bl 0x270b0                                    |     r0 = Curl_ntlm_core_mk_nt_hash ();
    0x0003186c subs r4, r0, 0                                |     r4 = r0 - 0;
                                                             |     if (r4 != r0) {
    0x00031870 bne 0x317a0                                   |         goto label_1;
                                                             |     }
    0x00031874 add r4, sp, 0x13c                             |     r4 += var_13ch;
    0x00031878 mov r2, r4                                    |     r2 = r4;
    0x0003187c mov r1, fp                                    |     r1 = fp;
    0x00031880 mov r0, sl                                    |     r0 = sl;
    0x00031884 bl 0x26f80                                    |     Curl_ntlm_core_lm_resp ();
    0x00031888 str r4, [sp, 0xf4]                            |     var_f4h = r4;
                                                             | label_2:
    0x0003188c ldr r3, [sp, 0xfc]                            |     r3 = var_fch;
    0x00031890 add r4, sp, 0x16c                             |     r4 += s1;
    0x00031894 ands fp, r3, 1                                |     
                                                             |     if (fp == r3) {
    0x00031898 ldrne r3, [sp, 0xe4]                          |         r3 = var_e4h;
                                                             |     }
                                                             |     if (fp == r3) {
    0x0003189c lslne r5, r5, 1                               |         r5 <<= 1;
                                                             |     }
                                                             |     if (fp == r3) {
    0x000318a0 lslne r3, r3, 1                               |         r3 <<= 1;
                                                             |     }
                                                             |     if (fp == r3) {
    0x000318a4 strne r3, [sp, 0xe4]                          |         var_e4h = r3;
                                                             |     }
    0x000318a8 ldr r3, [sp, 0x104]                           |     r3 = var_104h;
                                                             |     if (fp == r3) {
    0x000318ac lslne r6, r6, 1                               |         r6 <<= 1;
                                                             |     }
    0x000318b0 add sl, r3, 0x58                              |     sl = r3 + 0x58;
    0x000318b4 and r1, r3, 0xff                              |     r1 = r3 & 0xff;
    0x000318b8 lsr r3, r3, 8                                 |     r3 >>= 8;
    0x000318bc and r3, r3, 0xff                              |     r3 &= 0xff;
    0x000318c0 str r3, [sp, 0x30]                            |     var_30h = r3;
    0x000318c4 and r3, r5, 0xff                              |     r3 = r5 & 0xff;
    0x000318c8 str r3, [sp, 0x4c]                            |     var_4ch = r3;
    0x000318cc lsr r3, r5, 8                                 |     r3 = r5 >> 8;
    0x000318d0 and r3, r3, 0xff                              |     r3 &= 0xff;
    0x000318d4 str r3, [sp, 0x50]                            |     var_50h = r3;
    0x000318d8 and r3, r6, 0xff                              |     r3 = r6 & 0xff;
    0x000318dc str r3, [sp, 0x6c]                            |     var_6ch = r3;
    0x000318e0 ldr r3, [sp, 0xe4]                            |     r3 = var_e4h;
    0x000318e4 add r2, r5, sl                                |     r2 = r5 + sl;
    0x000318e8 and lr, r3, 0xff                              |     lr = r3 & 0xff;
    0x000318ec lsr r0, r3, 8                                 |     r0 = r3 >> 8;
    0x000318f0 ldr r3, [r7, 4]                               |     r3 = *((r7 + 4));
    0x000318f4 add ip, r6, r2                                |     
    0x000318f8 lsr sb, r3, 0x18                              |     sb = r3 >> 0x18;
    0x000318fc str sb, [sp, 0xd8]                            |     var_d8h = sb;
    0x00031900 lsr sb, r3, 0x10                              |     sb = r3 >> 0x10;
    0x00031904 and sb, sb, 0xff                              |     sb &= 0xff;
    0x00031908 str sb, [sp, 0xd4]                            |     var_d4h = sb;
    0x0003190c lsr sb, r3, 8                                 |     sb = r3 >> 8;
    0x00031910 and sb, sb, 0xff                              |     sb &= 0xff;
    0x00031914 and r0, r0, 0xff                              |     r0 &= 0xff;
    0x00031918 str sb, [sp, 0xd0]                            |     var_d0h = sb;
    0x0003191c and r3, r3, 0xff                              |     r3 &= 0xff;
    0x00031920 lsr sb, ip, 8                                 |     sb = ip >> 8;
    0x00031924 str r3, [sp, 0xcc]                            |     var_cch = r3;
    0x00031928 and sb, sb, 0xff                              |     sb &= 0xff;
    0x0003192c mov r3, 0                                     |     r3 = 0;
    0x00031930 and ip, ip, 0xff                              |     
    0x00031934 str r0, [sp, 0x98]                            |     var_98h = r0;
    0x00031938 str r0, [sp, 0x90]                            |     var_90h = r0;
    0x0003193c lsr r0, r2, 8                                 |     r0 = r2 >> 8;
    0x00031940 and r2, r2, 0xff                              |     r2 &= 0xff;
    0x00031944 str r1, [sp, 0x2c]                            |     var_2ch = r1;
    0x00031948 str r3, [sp, 0xc8]                            |     var_c8h = r3;
    0x0003194c str r3, [sp, 0xc4]                            |     var_c4h = r3;
    0x00031950 str r3, [sp, 0xc0]                            |     var_c0h = r3;
    0x00031954 str r3, [sp, 0xbc]                            |     var_bch = r3;
    0x00031958 str r3, [sp, 0xb8]                            |     var_b8h = r3;
    0x0003195c str r3, [sp, 0xb4]                            |     var_b4h = r3;
    0x00031960 str r3, [sp, 0xb0]                            |     var_b0h = r3;
    0x00031964 str r3, [sp, 0xac]                            |     var_ach = r3;
    0x00031968 str r3, [sp, 0xa8]                            |     var_a8h = r3;
    0x0003196c str r3, [sp, 0xa4]                            |     var_a4h = r3;
    0x00031970 str sb, [sp, 0xa0]                            |     var_a0h = sb;
    0x00031974 str ip, [sp, 0x9c]                            |     var_9ch = ip;
    0x00031978 str lr, [sp, 0x94]                            |     var_94h = lr;
    0x0003197c str lr, [sp, 0x8c]                            |     var_8ch = lr;
    0x00031980 str r3, [sp, 0x88]                            |     var_88h = r3;
    0x00031984 str r3, [sp, 0x84]                            |     var_84h = r3;
    0x00031988 str r2, [sp, 0x7c]                            |     var_7ch = r2;
    0x0003198c ldr r2, [sp, 0x6c]                            |     r2 = var_6ch;
    0x00031990 lsr r1, r6, 8                                 |     r1 = r6 >> 8;
    0x00031994 str r2, [sp, 0x74]                            |     var_74h = r2;
    0x00031998 lsr r2, sl, 8                                 |     r2 = sl >> 8;
    0x0003199c and r2, r2, 0xff                              |     r2 &= 0xff;
    0x000319a0 str r2, [sp, 0x60]                            |     var_60h = r2;
    0x000319a4 ldr r2, [sp, 0x50]                            |     r2 = var_50h;
    0x000319a8 and r1, r1, 0xff                              |     r1 &= 0xff;
    0x000319ac str r2, [sp, 0x58]                            |     var_58h = r2;
    0x000319b0 ldr r2, [sp, 0x4c]                            |     r2 = var_4ch;
    0x000319b4 and r0, r0, 0xff                              |     r0 &= 0xff;
    0x000319b8 str r2, [sp, 0x54]                            |     var_54h = r2;
    0x000319bc mov r2, 0x58                                  |     r2 = 0x58;
    0x000319c0 str r2, [sp, 0x3c]                            |     var_3ch = r2;
    0x000319c4 ldr r2, [sp, 0x30]                            |     r2 = var_30h;
    0x000319c8 str r0, [sp, 0x80]                            |     var_80h = r0;
    0x000319cc str r2, [sp, 0x38]                            |     var_38h = r2;
    0x000319d0 ldr r2, [sp, 0x2c]                            |     r2 = var_2ch;
    0x000319d4 str r1, [sp, 0x78]                            |     var_78h = r1;
    0x000319d8 str r2, [sp, 0x34]                            |     var_34h = r2;
    0x000319dc mov r2, 0x40                                  |     r2 = 0x40;
    0x000319e0 str r2, [sp, 0x1c]                            |     var_1ch = r2;
    0x000319e4 ldr r2, [pc, 0x228]                           |     r2 = *(0x31c10);
    0x000319e8 str r1, [sp, 0x70]                            |     var_70h = r1;
    0x000319ec and sl, sl, 0xff                              |     sl &= 0xff;
    0x000319f0 mov sb, 0x18                                  |     sb = 0x18;
    0x000319f4 add r2, pc, r2                                |     r2 = pc + r2;
    0x000319f8 mov r1, 0x400                                 |     r1 = 0x400;
    0x000319fc mov r0, r4                                    |     r0 = r4;
    0x00031a00 str r3, [sp, 0x68]                            |     var_68h = r3;
    0x00031a04 str r3, [sp, 0x64]                            |     var_64h = r3;
    0x00031a08 str sl, [sp, 0x5c]                            |     var_5ch = sl;
    0x00031a0c str r3, [sp, 0x48]                            |     var_48h = r3;
    0x00031a10 str r3, [sp, 0x44]                            |     var_44h = r3;
    0x00031a14 str r3, [sp, 0x40]                            |     var_40h = r3;
    0x00031a18 str r3, [sp, 0x28]                            |     var_28h = r3;
    0x00031a1c str r3, [sp, 0x24]                            |     var_24h = r3;
    0x00031a20 str r3, [sp, 0x20]                            |     var_20h = r3;
    0x00031a24 str r3, [sp, 0x18]                            |     var_18h = r3;
    0x00031a28 str r3, [sp, 0x10]                            |     var_10h = r3;
    0x00031a2c str r3, [sp, 8]                               |     var_8h = r3;
    0x00031a30 str r3, [sp, 4]                               |     var_4h = r3;
    0x00031a34 str sb, [sp, 0x14]                            |     var_14h = sb;
    0x00031a38 str sb, [sp, 0xc]                             |     var_ch = sb;
    0x00031a3c str r3, [sp]                                  |     *(sp) = r3;
    0x00031a40 bl 0x579c                                     |     r0 = fcn_0000579c ();
    0x00031a44 cmp r0, 0x3e8                                 |     
    0x00031a48 mov sl, r0                                    |     sl = r0;
                                                             |     if (r0 < 0x3e8) {
    0x00031a4c bhs 0x31a70                                   |         
    0x00031a50 add r3, sp, 0x970                             |         r3 += var_970h;
    0x00031a54 add r0, r3, r0                                |         r0 = r3 + r0;
    0x00031a58 sub r0, r0, 0x800                             |         r0 -= 0x800;
    0x00031a5c mov r2, sb                                    |         r2 = sb;
    0x00031a60 add r1, sp, 0x124                             |         r1 += s2;
    0x00031a64 sub r0, r0, 4                                 |         r0 -= 4;
    0x00031a68 bl 0x4f5c                                     |         memcpy (r0, r1, r2);
    0x00031a6c add sl, sl, sb                                |         sl += sb;
                                                             |     }
    0x00031a70 ldr sb, [sp, 0x104]                           |     sb = var_104h;
    0x00031a74 rsb r3, sb, 0x400                             |     r3 = 0x400 - sb;
    0x00031a78 cmp r3, sl                                    |     
                                                             |     if (r3 >= sl) {
    0x00031a7c bls 0x31a94                                   |         
    0x00031a80 add r0, r4, sl                                |         r0 = r4 + sl;
    0x00031a84 mov r2, sb                                    |         r2 = sb;
    0x00031a88 ldr r1, [sp, 0xf4]                            |         r1 = var_f4h;
    0x00031a8c bl 0x4f5c                                     |         memcpy (r0, r1, r2);
    0x00031a90 add sl, sl, sb                                |         sl += sb;
                                                             |     }
    0x00031a94 ldr r2, [sp, 0xf8]                            |     r2 = var_f8h;
    0x00031a98 ldr r3, [pc, 0x178]                           |     
    0x00031a9c ldr r0, [sp, 0x108]                           |     r0 = var_108h;
    0x00031aa0 ldr r3, [r2, r3]                              |     r3 = *((r2 + r3));
    0x00031aa4 ldr r3, [r3]                                  |     r3 = *(0x31c14);
    0x00031aa8 blx r3                                        |     uint32_t (*r3)(uint32_t, uint32_t, uint32_t) (r0, r2, r3);
    0x00031aac ldr r3, [sp, 0xe4]                            |     r3 = var_e4h;
    0x00031ab0 add r3, r3, r6                                |     r3 += r6;
    0x00031ab4 add r3, r3, r5                                |     r3 += r5;
    0x00031ab8 add r3, r3, sl                                |     r3 += sl;
    0x00031abc cmp r3, 0x400                                 |     
                                                             |     if (r3 <= 0x400) {
    0x00031ac0 blo 0x31b4c                                   |         goto label_9;
                                                             |     }
    0x00031ac4 ldr r1, [pc, 0x150]                           |     r1 = *(0x31c18);
    0x00031ac8 mov r0, r8                                    |     r0 = r8;
    0x00031acc add r1, pc, r1                                |     r1 = pc + r1;
    0x00031ad0 bl 0x10544                                    |     Curl_failf ();
    0x00031ad4 mov r4, 0x1b                                  |     r4 = 0x1b;
    0x00031ad8 b 0x317a0                                     |     goto label_1;
                                                             | label_8:
    0x00031adc add fp, sp, 0x154                             |     
    0x00031ae0 mov r2, fp                                    |     r2 = fp;
    0x00031ae4 mov r1, sb                                    |     r1 = sb;
    0x00031ae8 mov r0, r8                                    |     r0 = r8;
    0x00031aec bl 0x270b0                                    |     r0 = Curl_ntlm_core_mk_nt_hash ();
    0x00031af0 subs r4, r0, 0                                |     r4 = r0 - 0;
                                                             |     if (r4 != r0) {
    0x00031af4 bne 0x317a0                                   |         goto label_1;
                                                             |     }
    0x00031af8 add r3, r7, 8                                 |     r3 = r7 + 8;
    0x00031afc add sl, sp, 0x13c                             |     sl += var_13ch;
    0x00031b00 mov r1, r3                                    |     r1 = r3;
    0x00031b04 mov r0, fp                                    |     r0 = fp;
    0x00031b08 mov r2, sl                                    |     r2 = sl;
    0x00031b0c add fp, sp, 0x16c                             |     
    0x00031b10 str r3, [sp, 0xf4]                            |     var_f4h = r3;
    0x00031b14 bl 0x26f80                                    |     Curl_ntlm_core_lm_resp ();
    0x00031b18 mov r2, fp                                    |     r2 = fp;
    0x00031b1c mov r1, sb                                    |     r1 = sb;
    0x00031b20 mov r0, r8                                    |     r0 = r8;
    0x00031b24 bl 0x26ffc                                    |     Curl_ntlm_core_mk_lm_hash ();
    0x00031b28 ldr r3, [sp, 0xf4]                            |     r3 = var_f4h;
    0x00031b2c subs r4, r0, 0                                |     r4 = r0 - 0;
                                                             |     if (r4 != r0) {
    0x00031b30 bne 0x317a0                                   |         goto label_1;
                                                             |     }
    0x00031b34 add r2, sp, 0x124                             |     r2 += s2;
    0x00031b38 mov r1, r3                                    |     r1 = r3;
    0x00031b3c mov r0, fp                                    |     r0 = fp;
    0x00031b40 bl 0x26f80                                    |     Curl_ntlm_core_lm_resp ();
    0x00031b44 str sl, [sp, 0xf4]                            |     var_f4h = sl;
    0x00031b48 b 0x3188c                                     |     goto label_2;
                                                             | label_9:
    0x00031b4c cmp fp, 0                                     |     
    0x00031b50 add r0, r4, sl                                |     r0 = r4 + sl;
                                                             |     if (fp == 0) {
    0x00031b54 beq 0x31bd0                                   |         goto label_10;
                                                             |     }
    0x00031b58 lsr r2, r5, 1                                 |     r2 = r5 >> 1;
    0x00031b5c ldr r1, [sp, 0xec]                            |     r1 = var_ech;
    0x00031b60 bl 0x312d0                                    |     unicodecpy ();
                                                             |     do {
    0x00031b64 add r5, sl, r5                                |         r5 = sl + r5;
    0x00031b68 cmp fp, 0                                     |         
    0x00031b6c add r0, r4, r5                                |         r0 = r4 + r5;
                                                             |         if (fp == 0) {
    0x00031b70 beq 0x31be0                                   |             goto label_11;
                                                             |         }
    0x00031b74 lsr r2, r6, 1                                 |         r2 = r6 >> 1;
    0x00031b78 ldr r1, [sp, 0xe8]                            |         r1 = var_e8h;
    0x00031b7c bl 0x312d0                                    |         unicodecpy ();
                                                             | label_3:
    0x00031b80 add r5, r6, r5                                |         r5 = r6 + r5;
    0x00031b84 cmp fp, 0                                     |         
    0x00031b88 add r0, r4, r5                                |         r0 = r4 + r5;
                                                             |         if (fp == 0) {
    0x00031b8c beq 0x31bf0                                   |             goto label_12;
                                                             |         }
    0x00031b90 ldr r3, [sp, 0xe4]                            |         r3 = var_e4h;
    0x00031b94 ldr r1, [sp, 0xf0]                            |         r1 = var_f0h;
    0x00031b98 lsr r2, r3, 1                                 |         r2 = r3 >> 1;
    0x00031b9c bl 0x312d0                                    |         unicodecpy ();
                                                             | label_4:
    0x00031ba0 ldr r3, [sp, 0x99c]                           |         r3 = *(arg_99ch);
    0x00031ba4 ldr r2, [sp, 0xe4]                            |         r2 = var_e4h;
    0x00031ba8 str r3, [sp]                                  |         *(sp) = r3;
    0x00031bac mov r1, r4                                    |         r1 = r4;
    0x00031bb0 ldr r3, [sp, 0x998]                           |         r3 = *(arg_998h);
    0x00031bb4 add r2, r2, r5                                |         r2 += r5;
    0x00031bb8 mov r0, r8                                    |         r0 = r8;
    0x00031bbc bl 0x6e88                                     |         r0 = Curl_base64_encode ();
    0x00031bc0 mov r4, r0                                    |         r4 = r0;
    0x00031bc4 mov r0, r7                                    |         r0 = r7;
    0x00031bc8 bl 0x31504                                    |         Curl_auth_ntlm_cleanup ();
    0x00031bcc b 0x317a0                                     |         goto label_1;
                                                             | label_10:
    0x00031bd0 mov r2, r5                                    |         r2 = r5;
    0x00031bd4 ldr r1, [sp, 0xec]                            |         r1 = var_ech;
    0x00031bd8 bl 0x4f5c                                     |         memcpy (r0, r1, r2);
    0x00031bdc b 0x31b64                                     |         
                                                             |     } while (1);
                                                             | label_11:
    0x00031be0 mov r2, r6                                    |     r2 = r6;
    0x00031be4 ldr r1, [sp, 0xe8]                            |     r1 = var_e8h;
    0x00031be8 bl 0x4f5c                                     |     memcpy (r0, r1, r2);
    0x00031bec b 0x31b80                                     |     goto label_3;
                                                             | label_12:
    0x00031bf0 ldr r2, [sp, 0xe4]                            |     r2 = var_e4h;
    0x00031bf4 ldr r1, [sp, 0xf0]                            |     r1 = var_f0h;
    0x00031bf8 bl 0x4f5c                                     |     memcpy (r0, r1, r2);
    0x00031bfc b 0x31ba0                                     |     goto label_4;
                                                             | }
    ; 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/lib/libcurl.so @ 0x6cb8 */
                                                             | #include <stdint.h>
                                                             |  
    ; (fcn) sym.Curl_base64_decode ()                        | void Curl_base64_decode (int32_t arg_0h, int32_t arg1, size_t arg2) {
                                                             |     int32_t var_4h;
                                                             |     int32_t var_8h;
                                                             |     int32_t var_ch;
                                                             |     int32_t var_14h;
                                                             |     r0 = arg1;
                                                             |     r1 = arg2;
    0x00006cb8 mov r3, 0                                     |     r3 = 0;
    0x00006cbc push {r4, r5, r6, r7, r8, sb, sl, fp, lr}     |     
    0x00006cc0 ldr sb, [pc, 0x1b0]                           |     sb = *(0x00006e78);
    0x00006cc4 sub sp, sp, 0x14                              |     
    0x00006cc8 str r3, [r1]                                  |     *(r1) = r3;
    0x00006ccc str r3, [r2]                                  |     *(r2) = r3;
    0x00006cd0 mov r4, r0                                    |     r4 = r0;
    0x00006cd4 mov fp, r1                                    |     
    0x00006cd8 str r2, [sp, 4]                               |     var_4h = r2;
    0x00006cdc bl 0x5250                                     |     strlen (r0);
    0x00006ce0 add sb, pc, sb                                |     sb = pc + sb;
    0x00006ce4 cmp r0, 0                                     |     
                                                             |     if (r0 == 0) {
    0x00006ce8 beq 0x6e44                                    |         goto label_4;
                                                             |     }
    0x00006cec tst r0, 3                                     |     
                                                             |     if ((r0 & 3) != 0) {
    0x00006cf0 bne 0x6e44                                    |         goto label_4;
                                                             |     }
    0x00006cf4 mov r1, r4                                    |     r1 = r4;
                                                             |     do {
    0x00006cf8 sub r2, r1, r4                                |         r2 = r1 - r4;
    0x00006cfc ldrb r3, [r1], 1                              |         r3 = *(r1);
                                                             |         r1++;
    0x00006d00 cmp r3, 0x3d                                  |         
    0x00006d04 cmpne r3, 0                                   |         __asm ("cmpne r3, 0");
                                                             |         if (r3 == 0x3d) {
    0x00006d08 movne r7, 1                                   |             r7 = 1;
                                                             |         }
                                                             |         if (r3 != 0x3d) {
    0x00006d0c moveq r7, 0                                   |             r7 = 0;
                                                             |         }
    0x00006d10 bne 0x6cf8                                    |         
                                                             |     } while (r3 != 0x3d);
    0x00006d14 cmp r3, 0x3d                                  |     
                                                             |     if (r3 == 0x3d) {
    0x00006d18 bne 0x6d30                                    |         
    0x00006d1c add r3, r4, r2                                |         r3 = r4 + r2;
    0x00006d20 ldrb r3, [r3, 1]                              |         r3 = *((r3 + 1));
    0x00006d24 cmp r3, 0x3d                                  |         
                                                             |         if (r3 == 0x3d) {
    0x00006d28 movne r7, 1                                   |             r7 = 1;
                                                             |         }
                                                             |         if (r3 == 0x3d) {
    0x00006d2c moveq r7, 2                                   |             r7 = 2;
                                                             |             goto label_5;
                                                             |         }
                                                             |     }
                                                             | label_5:
    0x00006d30 add r2, r7, r2                                |     r2 = r7 + r2;
    0x00006d34 cmp r2, r0                                    |     
                                                             |     if (r2 != r0) {
    0x00006d38 bne 0x6e44                                    |         goto label_4;
                                                             |     }
    0x00006d3c lsr r5, r0, 2                                 |     r5 = r0 >> 2;
    0x00006d40 add r3, r5, r5, lsl 1                         |     r3 = r5 + (r5 << 1);
    0x00006d44 sub r7, r3, r7                                |     r7 = r3 - r7;
    0x00006d48 ldr r3, [pc, 0x12c]                           |     
    0x00006d4c add r0, r7, 1                                 |     r0 = r7 + 1;
    0x00006d50 ldr r3, [sb, r3]                              |     r3 = *((sb + r3));
    0x00006d54 ldr r3, [r3]                                  |     r3 = $d;
    0x00006d58 blx r3                                        |     r0 = uint32_t (*r3)(uint32_t, uint32_t) (r0, r3);
    0x00006d5c subs r8, r0, 0                                |     r8 = r0 - 0;
                                                             |     if (r8 != r0) {
    0x00006d60 moveq r0, 0x1b                                |         r0 = 0x1b;
                                                             |     }
                                                             |     if (r8 != r0) {
    0x00006d64 beq 0x6da4                                    |         
    0x00006d68 add r3, r4, r5, lsl 2                         |         r3 = r4 + (r5 << 2);
    0x00006d6c str r3, [sp, 8]                               |         var_8h = r3;
    0x00006d70 ldr r3, [pc, 0x108]                           |         r3 = *(0x6e7c);
    0x00006d74 mov sl, r8                                    |         sl = r8;
    0x00006d78 add r3, pc, r3                                |         r3 = pc + r3;
    0x00006d7c str r3, [sp, 0xc]                             |         var_ch = r3;
                                                             | label_3:
    0x00006d80 ldr r3, [sp, 8]                               |         r3 = var_8h;
    0x00006d84 cmp r4, r3                                    |         
                                                             |         if (r4 != r3) {
    0x00006d88 bne 0x6dac                                    |             goto label_6;
                                                             |         }
    0x00006d8c ldr r3, [sp, 4]                               |         r3 = var_4h;
    0x00006d90 mov r2, 0                                     |         r2 = 0;
    0x00006d94 mov r0, r2                                    |         r0 = r2;
    0x00006d98 strb r2, [sl]                                 |         *(sl) = r2;
    0x00006d9c str r8, [fp]                                  |         *(fp) = r8;
    0x00006da0 str r7, [r3]                                  |         *(r3) = r7;
                                                             |     }
                                                             | label_1:
    0x00006da4 add sp, sp, 0x14                              |     
    0x00006da8 pop {r4, r5, r6, r7, r8, sb, sl, fp, pc}      |     
                                                             | label_6:
    0x00006dac mov r5, 0                                     |     r5 = 0;
    0x00006db0 sub r1, r4, 1                                 |     r1 = r4 - 1;
    0x00006db4 add lr, r4, 3                                 |     lr = r4 + 3;
    0x00006db8 mov r6, r5                                    |     r6 = r5;
                                                             | label_0:
    0x00006dbc ldrb r0, [r1, 1]!                             |     r0 = *((r1 += 1));
    0x00006dc0 cmp r0, 0x3d                                  |     
                                                             |     if (r0 != 0x3d) {
    0x00006dc4 lsleq r6, r6, 6                               |         r6 <<= 6;
                                                             |     }
                                                             |     if (r0 != 0x3d) {
    0x00006dc8 addeq r5, r5, 1                               |         r5++;
                                                             |     }
                                                             |     if (r0 == 0x3d) {
    0x00006dcc beq 0x6df8                                    |         goto label_7;
                                                             |     }
    0x00006dd0 andseq r7, r7, ip, ror 31                     |     __asm ("andseq r7, r7, ip, ror 31");
    0x00006dd4 b 0x6ddc                                      |     
                                                             |     while (r0 != ip) {
    0x00006dd8 add r2, r2, 1                                 |         r2++;
    0x00006ddc ldr r3, [sp, 0xc]                             |         r3 = var_ch;
    0x00006de0 ldrb ip, [r2, r3]                             |         ip = *((r2 + r3));
    0x00006de4 cmp ip, 0                                     |         
                                                             |         if (ip == 0) {
    0x00006de8 beq 0x6e28                                    |             goto label_8;
                                                             |         }
    0x00006dec cmp r0, ip                                    |         
    0x00006df0 bne 0x6dd8                                    |         
                                                             |     }
    0x00006df4 add r6, r2, r6, lsl 6                         |     r6 = r2 + (r6 << 6);
                                                             | label_7:
    0x00006df8 cmp lr, r1                                    |     
                                                             |     if (lr != r1) {
    0x00006dfc bne 0x6dbc                                    |         goto label_0;
                                                             |     }
    0x00006e00 cmp r5, 0                                     |     
                                                             |     if (r5 != 0) {
    0x00006e04 bne 0x6e4c                                    |         goto label_9;
                                                             |     }
    0x00006e08 and r0, r6, 0xff                              |     r0 = r6 & 0xff;
    0x00006e0c bl 0x2531c                                    |     curlx_ultouc ();
    0x00006e10 strb r0, [sl, 2]                              |     *((sl + 2)) = r0;
                                                             |     do {
    0x00006e14 lsr r0, r6, 8                                 |         r0 = r6 >> 8;
    0x00006e18 and r0, r0, 0xff                              |         r0 &= 0xff;
    0x00006e1c bl 0x2531c                                    |         curlx_ultouc ();
    0x00006e20 strb r0, [sl, 1]                              |         *((sl + 1)) = r0;
    0x00006e24 b 0x6e54                                      |         goto label_10;
                                                             | label_8:
    0x00006e28 cmp r0, 0                                     |         
    0x00006e2c andseq r7, r7, ip, ror 31                     |         __asm ("andseq r7, r7, ip, ror 31");
                                                             | label_2:
    0x00006e30 ldr r3, [pc, 0x4c]                            |         
    0x00006e34 mov r0, r8                                    |         r0 = r8;
    0x00006e38 ldr r3, [sb, r3]                              |         r3 = *((sb + r3));
    0x00006e3c ldr r3, [r3]                                  |         r3 = *(0x6e80);
    0x00006e40 blx r3                                        |         uint32_t (*r3)(uint32_t, uint32_t) (r0, r3);
                                                             | label_4:
    0x00006e44 mov r0, 0x3d                                  |         r0 = 0x3d;
    0x00006e48 b 0x6da4                                      |         goto label_1;
                                                             | label_9:
    0x00006e4c cmp r5, 1                                     |         
    0x00006e50 bls 0x6e14                                    |         
                                                             |     } while (r5 < 1);
                                                             | label_10:
    0x00006e54 lsr r0, r6, 0x10                              |     r0 = r6 >> 0x10;
    0x00006e58 and r0, r0, 0xff                              |     r0 &= 0xff;
    0x00006e5c bl 0x2531c                                    |     curlx_ultouc ();
    0x00006e60 rsbs r5, r5, 3                                |     r5 = 3 - r5;
    0x00006e64 strb r0, [sl]                                 |     *(sl) = r0;
                                                             |     if (r5 == 1) {
    0x00006e68 beq 0x6e30                                    |         goto label_2;
                                                             |     }
    0x00006e6c add sl, sl, r5                                |     sl += r5;
    0x00006e70 add r4, r4, 4                                 |     r4 += 4;
    0x00006e74 b 0x6d80                                      |     goto label_3;
                                                             | }
    ; 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/lib/libcurl.so @ 0x23a00 */
                                                                     | #include <stdint.h>
                                                                     |  
    ; (fcn) sym.Curl_blockread_all ()                                | void Curl_blockread_all (int32_t arg_28h, int32_t arg1, int32_t arg2) {
                                                                     |     int32_t var_4h;
                                                                     |     int32_t var_ch;
                                                                     |     r0 = arg1;
                                                                     |     r1 = arg2;
    0x00023a00 push {r0, r1, r2, r4, r5, r6, r7, r8, sb, lr}         |     
    0x00023a04 ldr r8, [sp, 0x28]                                    |     r8 = *(arg_28h);
    0x00023a08 mov r4, 0                                             |     r4 = 0;
    0x00023a0c mov sb, r0                                            |     sb = r0;
    0x00023a10 mov r7, r1                                            |     r7 = r1;
    0x00023a14 mov r6, r2                                            |     r6 = r2;
    0x00023a18 mov r5, r3                                            |     r5 = r3;
    0x00023a1c str r4, [r8]                                          |     *(r8) = r4;
                                                                     |     do {
                                                                     | label_2:
    0x00023a20 mov r2, 1                                             |         r2 = 1;
    0x00023a24 mov r1, 0                                             |         r1 = 0;
    0x00023a28 ldr r0, [sb]                                          |         r0 = *(sb);
    0x00023a2c bl 0x1b738                                            |         r0 = Curl_timeleft ();
    0x00023a30 subs r3, r0, 0                                        |         r3 = r0 - 0;
                                                                     |         if (r3 < r0) {
    0x00023a34 blt 0x23aac                                           |             goto label_3;
                                                                     |         }
    0x00023a38 mvn r2, 0                                             |         r2 = ~0;
    0x00023a3c mov r1, r2                                            |         r1 = r2;
    0x00023a40 mov r0, r7                                            |         r0 = r7;
    0x00023a44 bl 0x22ea8                                            |         r0 = Curl_socket_check ();
    0x00023a48 cmp r0, 0                                             |         
                                                                     |         if (r0 <= 0) {
    0x00023a4c bgt 0x23a5c                                           |             
                                                                     | label_1:
    0x00023a50 mvn r0, 0                                             |             r0 = ~0;
                                                                     | label_0:
    0x00023a54 add sp, sp, 0xc                                       |             
    0x00023a58 pop {r4, r5, r6, r7, r8, sb, pc}                      |             
                                                                     |         }
    0x00023a5c add r3, sp, 4                                         |         r3 += var_4h;
    0x00023a60 mov r2, r5                                            |         r2 = r5;
    0x00023a64 mov r1, r6                                            |         r1 = r6;
    0x00023a68 mov r0, r7                                            |         r0 = r7;
    0x00023a6c bl 0x102b0                                            |         r0 = Curl_read_plain ();
    0x00023a70 cmp r0, 0x51                                          |         
    0x00023a74 beq 0x23a20                                           |         
                                                                     |     } while (r0 == 0x51);
    0x00023a78 cmp r0, 0                                             |     
                                                                     |     if (r0 != 0) {
    0x00023a7c bne 0x23a54                                           |         goto label_0;
                                                                     |     }
    0x00023a80 ldr r3, [sp, 4]                                       |     r3 = var_4h;
    0x00023a84 cmp r3, r5                                            |     
                                                                     |     if (r3 != r5) {
    0x00023a88 addeq r4, r5, r4                                      |         r4 = r5 + r4;
                                                                     |     }
                                                                     |     if (r3 == r5) {
    0x00023a8c streq r4, [r8]                                        |         *(r8) = r4;
                                                                     |         goto label_4;
                                                                     |     }
                                                                     |     if (r3 == r5) {
                                                                     | label_4:
    0x00023a90 beq 0x23a54                                           |         goto label_0;
                                                                     |     }
    0x00023a94 cmp r3, 0                                             |     
                                                                     |     if (r3 == 0) {
    0x00023a98 beq 0x23a50                                           |         goto label_1;
                                                                     |     }
    0x00023a9c sub r5, r5, r3                                        |     r5 -= r3;
    0x00023aa0 add r6, r6, r3                                        |     r6 += r3;
    0x00023aa4 add r4, r4, r3                                        |     r4 += r3;
    0x00023aa8 b 0x23a20                                             |     goto label_2;
                                                                     | label_3:
    0x00023aac mov r0, 0x1c                                          |     r0 = 0x1c;
    0x00023ab0 b 0x23a54                                             |     goto label_0;
                                                                     | }
    ; 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/lib/libcurl.so @ 0x73d8 */
                                                                 | #include <stdint.h>
                                                                 |  
    ; (fcn) sym.Curl_cache_addr ()                               | void Curl_cache_addr (void * arg1, int32_t arg2) {
                                                                 |     int32_t var_4h;
                                                                 |     int32_t var_ch;
                                                                 |     r0 = arg1;
                                                                 |     r1 = arg2;
    0x000073d8 push {r0, r1, r2, r4, r5, r6, r7, r8, sb, lr}     |     
    0x000073dc ldr r5, [pc, 0xfc]                                |     r5 = *(0x74dc);
    0x000073e0 mov r6, r3                                        |     r6 = r3;
    0x000073e4 ldrb r3, [r0, 0x64d]                              |     r3 = *((r0 + 0x64d));
    0x000073e8 add r5, pc, r5                                    |     r5 = pc + r5;
    0x000073ec cmp r3, 0                                         |     
    0x000073f0 mov r8, r0                                        |     r8 = r0;
    0x000073f4 str r1, [sp, 4]                                   |     var_4h = r1;
    0x000073f8 mov r4, r2                                        |     r4 = r2;
    0x000073fc bne 0x7424                                        |     
                                                                 |     while (r0 != 0) {
    0x00007400 mov r1, r6                                        |         r1 = r6;
    0x00007404 mov r0, r4                                        |         r0 = r4;
    0x00007408 bl 0x6edc                                         |         r0 = create_hostcache_id ();
    0x0000740c subs r6, r0, 0                                    |         r6 = r0 - 0;
                                                                 |         if (r6 != r0) {
    0x00007410 bne 0x7438                                        |             goto label_2;
                                                                 |         }
                                                                 | label_0:
    0x00007414 mov r5, 0                                         |         r5 = 0;
                                                                 | label_1:
    0x00007418 mov r0, r5                                        |         r0 = r5;
    0x0000741c add sp, sp, 0xc                                   |         
    0x00007420 pop {r4, r5, r6, r7, r8, sb, pc}                  |         
    0x00007424 add r1, sp, 4                                     |         r1 += var_4h;
    0x00007428 bl 0x7258                                         |         r0 = Curl_shuffle_addr ();
    0x0000742c cmp r0, 0                                         |         
    0x00007430 bne 0x7400                                        |         
                                                                 |     }
    0x00007434 b 0x7414                                          |     goto label_0;
                                                                 | label_2:
    0x00007438 bl 0x5250                                         |     strlen (r0);
    0x0000743c ldr r3, [pc, 0xa0]                                |     
    0x00007440 mov r1, 0xc                                       |     r1 = 0xc;
    0x00007444 ldr r3, [r5, r3]                                  |     r3 = *((r5 + r3));
    0x00007448 ldr r3, [r3]                                      |     r3 = $d;
    0x0000744c mov sb, r0                                        |     sb = r0;
    0x00007450 mov r0, 1                                         |     r0 = 1;
    0x00007454 blx r3                                            |     uint32_t (*r3)(uint32_t, uint32_t, uint32_t) (r0, r1, r3);
    0x00007458 ldr r3, [pc, 0x88]                                |     r3 = *(0x74e4);
    0x0000745c ldr r7, [r5, r3]                                  |     r7 = *((r5 + r3));
    0x00007460 subs r4, r0, 0                                    |     r4 = r0 - 0;
                                                                 |     if (r4 == r0) {
    0x00007464 bne 0x7478                                        |         
    0x00007468 ldr r3, [r7]                                      |         r3 = *(r7);
    0x0000746c mov r0, r6                                        |         r0 = r6;
    0x00007470 blx r3                                            |         uint32_t (*r3)(uint32_t, uint32_t) (r0, r3);
    0x00007474 b 0x7414                                          |         goto label_0;
                                                                 |     }
    0x00007478 ldr r3, [sp, 4]                                   |     r3 = var_4h;
    0x0000747c mov r5, 1                                         |     r5 = 1;
    0x00007480 mov r0, r4                                        |     r0 = r4;
    0x00007484 str r5, [r4, 8]                                   |     *((r4 + 8)) = r5;
    0x00007488 str r3, [r0], 4                                   |     *(r0) = r3;
                                                                 |     r0 += 4;
    0x0000748c bl 0x5544                                         |     time (r0);
    0x00007490 ldr r3, [r4, 4]                                   |     r3 = *((r4 + 4));
    0x00007494 add r2, sb, 1                                     |     r2 = sb + 1;
    0x00007498 cmp r3, 0                                         |     
                                                                 |     if (r3 != 0) {
    0x0000749c streq r5, [r4, 4]                                 |         *((r4 + 4)) = r5;
                                                                 |     }
    0x000074a0 mov r3, r4                                        |     r3 = r4;
    0x000074a4 mov r1, r6                                        |     r1 = r6;
    0x000074a8 ldr r0, [r8, 0x5c]                                |     r0 = *((r8 + 0x5c));
    0x000074ac bl 0x1ceec                                        |     r0 = Curl_hash_add ();
    0x000074b0 subs r5, r0, 0                                    |     r5 = r0 - 0;
                                                                 |     if (r5 == r0) {
    0x000074b4 ldrne r3, [r5, 8]                                 |         r3 = *((r5 + 8));
                                                                 |     }
                                                                 |     if (r5 == r0) {
    0x000074b8 addne r3, r3, 1                                   |         r3++;
                                                                 |     }
                                                                 |     if (r5 == r0) {
    0x000074bc strne r3, [r5, 8]                                 |         *((r5 + 8)) = r3;
                                                                 |     }
                                                                 |     if (r5 == r0) {
    0x000074c0 bne 0x74d0                                        |         
    0x000074c4 ldr r3, [r7]                                      |         r3 = *(r7);
    0x000074c8 mov r0, r4                                        |         r0 = r4;
    0x000074cc blx r3                                            |         uint32_t (*r3)(uint32_t, uint32_t) (r0, r3);
                                                                 |     }
    0x000074d0 ldr r3, [r7]                                      |     r3 = *(r7);
    0x000074d4 mov r0, r6                                        |     r0 = r6;
    0x000074d8 blx r3                                            |     uint32_t (*r3)(uint32_t, uint32_t) (r0, r3);
    0x000074dc b 0x7418                                          |     goto label_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/lib/libcurl.so @ 0x282ec */
                                                     | #include <stdint.h>
                                                     |  
    ; (fcn) sym.Curl_cert_hostcheck ()               | void Curl_cert_hostcheck (char * arg1, int32_t arg2) {
                                                     |     int32_t var_0h;
                                                     |     int32_t var_ch;
                                                     |     int32_t var_24h;
                                                     |     r0 = arg1;
                                                     |     r1 = arg2;
    0x000282ec push {r4, r5, r6, r7, r8, sb, lr}     |     
    0x000282f0 ldr r6, [pc, 0x1fc]                   |     r6 = *(0x284f0);
    0x000282f4 subs r3, r0, 0                        |     r3 = r0 - 0;
    0x000282f8 add r6, pc, r6                        |     r6 = pc + r6;
    0x000282fc sub sp, sp, 0x24                      |     
    0x00028300 bne 0x28314                           |     
                                                     |     while (r7 != 0) {
                                                     | label_0:
    0x00028304 mov r6, 0                             |         r6 = 0;
                                                     | label_1:
    0x00028308 mov r0, r6                            |         r0 = r6;
    0x0002830c add sp, sp, 0x24                      |         
    0x00028310 pop {r4, r5, r6, r7, r8, sb, pc}      |         
    0x00028314 ldrb r7, [r3]                         |         r7 = *(r3);
    0x00028318 clz r3, r1                            |         r3 &= r1;
    0x0002831c lsr r3, r3, 5                         |         r3 >>= 5;
    0x00028320 cmp r7, 0                             |         
                                                     |         if (r7 == 0) {
    0x00028324 movne r7, r3                          |             r7 = r3;
                                                     |         }
                                                     |         if (r7 != 0) {
    0x00028328 moveq r7, 1                           |             r7 = 1;
                                                     |         }
    0x0002832c cmp r7, 0                             |         
    0x00028330 bne 0x28304                           |         
                                                     |     }
    0x00028334 ldrb r3, [r1]                         |     r3 = *(r1);
    0x00028338 cmp r3, 0                             |     
                                                     |     if (r3 == 0) {
    0x0002833c beq 0x28304                           |         goto label_0;
                                                     |     }
    0x00028340 ldr r3, [pc, 0x1b0]                   |     r3 = $d;
    0x00028344 mov r5, r1                            |     r5 = r1;
    0x00028348 ldr r8, [r6, r3]                      |     r8 = *((r6 + r3));
    0x0002834c ldr r3, [r8]                          |     r3 = *(r8);
    0x00028350 blx r3                                |     r0 = uint32_t (*r3)(uint32_t) (r3);
    0x00028354 subs r4, r0, 0                        |     r4 = r0 - 0;
                                                     |     if (r4 == r0) {
    0x00028358 beq 0x28304                           |         goto label_0;
                                                     |     }
    0x0002835c ldr r3, [r8]                          |     r3 = *(r8);
    0x00028360 mov r0, r5                            |     r0 = r5;
    0x00028364 blx r3                                |     uint32_t (*r3)(uint32_t, uint32_t) (r0, r3);
    0x00028368 ldr r3, [pc, 0x18c]                   |     r3 = *(0x284f8);
    0x0002836c ldr r8, [r6, r3]                      |     r8 = *((r6 + r3));
    0x00028370 subs r5, r0, 0                        |     r5 = r0 - 0;
                                                     |     if (r5 != r0) {
    0x00028374 moveq r6, r5                          |         r6 = r5;
                                                     |     }
                                                     |     if (r5 == r0) {
    0x00028378 beq 0x28400                           |         goto label_5;
                                                     |     }
    0x0002837c bl 0x5250                             |     r0 = strlen (r0);
    0x00028380 sub r0, r0, 1                         |     r0--;
    0x00028384 ldrb r3, [r5, r0]                     |     r3 = *((r5 + r0));
    0x00028388 cmp r3, 0x2e                          |     
                                                     |     if (r3 != 0x2e) {
    0x0002838c strbeq r7, [r5, r0]                   |         *((r5 + r0)) = r7;
                                                     |     }
    0x00028390 mov r0, r4                            |     r0 = r4;
    0x00028394 bl 0x5250                             |     strlen (r0);
    0x00028398 mov r1, 0x2a                          |     r1 = 0x2a;
    0x0002839c sub r0, r0, 1                         |     r0--;
    0x000283a0 ldrb r3, [r4, r0]                     |     r3 = *((r4 + r0));
    0x000283a4 cmp r3, 0x2e                          |     
                                                     |     if (r3 != 0x2e) {
    0x000283a8 moveq r3, 0                           |         r3 = 0;
                                                     |     }
                                                     |     if (r3 != 0x2e) {
    0x000283ac strbeq r3, [r4, r0]                   |         *((r4 + r0)) = r3;
                                                     |     }
    0x000283b0 mov r0, r4                            |     r0 = r4;
    0x000283b4 bl 0x5b38                             |     r0 = strchr (r0, r1);
    0x000283b8 subs r7, r0, 0                        |     r7 = r0 - 0;
                                                     |     if (r7 == r0) {
    0x000283bc bne 0x283d8                           |         
                                                     | label_2:
    0x000283c0 mov r1, r5                            |         r1 = r5;
    0x000283c4 mov r0, r4                            |         r0 = r4;
    0x000283c8 bl 0x19dc0                            |         r0 = Curl_strcasecompare ();
    0x000283cc adds r6, r0, 0                        |         r6 = r0 + 0;
                                                     |         if (r6 == r0) {
    0x000283d0 movne r6, 1                           |             r6 = 1;
                                                     |         }
    0x000283d4 b 0x283f4                             |         goto label_4;
                                                     |     }
    0x000283d8 mov r2, sp                            |     r2 = sp;
    0x000283dc mov r1, r5                            |     r1 = r5;
    0x000283e0 mov r0, 2                             |     r0 = 2;
    0x000283e4 bl 0x5190                             |     r0 = inet_pton ();
    0x000283e8 cmp r0, 0                             |     
    0x000283ec ble 0x28410                           |     
                                                     |     while (r0 > 0) {
                                                     | label_3:
    0x000283f0 mov r6, 0                             |         r6 = 0;
                                                     | label_4:
    0x000283f4 ldr r3, [r8]                          |         r3 = *(r8);
    0x000283f8 mov r0, r5                            |         r0 = r5;
    0x000283fc blx r3                                |         uint32_t (*r3)(uint32_t, uint32_t) (r0, r3);
                                                     | label_5:
    0x00028400 ldr r3, [r8]                          |         r3 = *(r8);
    0x00028404 mov r0, r4                            |         r0 = r4;
    0x00028408 blx r3                                |         uint32_t (*r3)(uint32_t, uint32_t) (r0, r3);
    0x0002840c b 0x28308                             |         goto label_1;
    0x00028410 add r2, sp, 0xc                       |         r2 += var_ch;
    0x00028414 mov r1, r5                            |         r1 = r5;
    0x00028418 mov r0, 0xa                           |         r0 = 0xa;
    0x0002841c bl 0x5190                             |         r0 = inet_pton ();
    0x00028420 cmp r0, 0                             |         
    0x00028424 bgt 0x283f0                           |         
                                                     |     }
    0x00028428 mov r1, 0x2e                          |     r1 = 0x2e;
    0x0002842c mov r0, r4                            |     r0 = r4;
    0x00028430 bl 0x5b38                             |     r0 = strchr (r0, r1);
    0x00028434 subs r6, r0, 0                        |     r6 = r0 - 0;
                                                     |     if (r6 == r0) {
    0x00028438 beq 0x283c0                           |         goto label_2;
                                                     |     }
    0x0002843c mov r1, 0x2e                          |     r1 = 0x2e;
    0x00028440 add r0, r6, 1                         |     r0 = r6 + 1;
    0x00028444 bl 0x5b38                             |     strchr (r0, r1);
    0x00028448 cmp r7, r6                            |     
                                                     |     if (r7 > r6) {
    0x0002844c movls r3, 0                           |         r3 = 0;
                                                     |     }
                                                     |     if (r7 <= r6) {
    0x00028450 movhi r3, 1                           |         r3 = 1;
                                                     |     }
    0x00028454 cmp r0, 0                             |     
                                                     |     if (r0 == 0) {
    0x00028458 movne r0, r3                          |         r0 = r3;
                                                     |     }
                                                     |     if (r0 != 0) {
    0x0002845c moveq r0, 1                           |         r0 = 1;
                                                     |     }
    0x00028460 cmp r0, 0                             |     
                                                     |     if (r0 != 0) {
    0x00028464 bne 0x283c0                           |         goto label_2;
                                                     |     }
    0x00028468 ldr r1, [pc, 0x90]                    |     r1 = *(0x284fc);
    0x0002846c mov r2, 4                             |     r2 = 4;
    0x00028470 add r1, pc, r1                        |     r1 = pc + r1;
    0x00028474 mov r0, r4                            |     r0 = r4;
    0x00028478 bl 0x19e40                            |     r0 = Curl_strncasecompare ();
    0x0002847c cmp r0, 0                             |     
                                                     |     if (r0 != 0) {
    0x00028480 bne 0x283c0                           |         goto label_2;
                                                     |     }
    0x00028484 mov r1, 0x2e                          |     r1 = 0x2e;
    0x00028488 mov r0, r5                            |     r0 = r5;
    0x0002848c bl 0x5b38                             |     r0 = strchr (r0, r1);
    0x00028490 subs sb, r0, 0                        |     sb = r0 - 0;
                                                     |     if (sb == r0) {
    0x00028494 beq 0x283f0                           |         goto label_3;
                                                     |     }
    0x00028498 mov r1, sb                            |     r1 = sb;
    0x0002849c mov r0, r6                            |     r0 = r6;
    0x000284a0 bl 0x19dc0                            |     r0 = Curl_strcasecompare ();
    0x000284a4 cmp r0, 0                             |     
                                                     |     if (r0 == 0) {
    0x000284a8 beq 0x283f0                           |         goto label_3;
                                                     |     }
    0x000284ac sub r3, sb, r5                        |     r3 = sb - r5;
    0x000284b0 sub r2, r6, r4                        |     r2 = r6 - r4;
    0x000284b4 cmp r3, r2                            |     
                                                     |     if (r3 < r2) {
    0x000284b8 blt 0x283f0                           |         goto label_3;
                                                     |     }
    0x000284bc sub r2, r7, r4                        |     r2 = r7 - r4;
    0x000284c0 mov r1, r5                            |     r1 = r5;
    0x000284c4 mov r0, r4                            |     r0 = r4;
    0x000284c8 bl 0x19e40                            |     r0 = Curl_strncasecompare ();
    0x000284cc cmp r0, 0                             |     
                                                     |     if (r0 == 0) {
    0x000284d0 beq 0x283f0                           |         goto label_3;
                                                     |     }
    0x000284d4 add r0, r7, 1                         |     r0 = r7 + 1;
    0x000284d8 sub r2, r6, r0                        |     r2 = r6 - r0;
    0x000284dc sub r1, sb, r2                        |     r1 = sb - r2;
    0x000284e0 bl 0x19e40                            |     r0 = Curl_strncasecompare ();
    0x000284e4 cmp r0, 0                             |     
                                                     |     if (r0 == 0) {
    0x000284e8 beq 0x283f0                           |         goto label_3;
                                                     |     }
    0x000284ec mov r6, 1                             |     r6 = 1;
    0x000284f0 b 0x283f4                             |     goto label_4;
                                                     | }
    ; 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/lib/libcurl.so @ 0x107cc */
                                                             | #include <stdint.h>
                                                             |  
    ; (fcn) sym.Curl_client_write ()                         | void Curl_client_write () {
                                                             |     int32_t var_0h;
                                                             |     int32_t var_4h;
                                                             |     void * s2;
                                                             |     int32_t var_ch;
    0x000107cc push {r4, r5, r6, r7, r8, sb, sl, fp, lr}     |     
    0x000107d0 subs r4, r3, 0                                |     r4 = r3 - 0;
    0x000107d4 sub sp, sp, 0x14                              |     
    0x000107d8 stm sp, {r0, r1}                              |     *(sp) = r0;
                                                             |     *((sp + 4)) = r1;
    0x000107dc mov r6, r2                                    |     r6 = r2;
                                                             |     if (r4 == r3) {
    0x000107e0 bne 0x107f0                                   |         
    0x000107e4 mov r0, r2                                    |         r0 = r2;
    0x000107e8 bl 0x5250                                     |         r0 = strlen (r0);
    0x000107ec mov r4, r0                                    |         r4 = r0;
                                                             |     }
    0x000107f0 ldr r3, [sp, 4]                               |     r3 = var_4h;
    0x000107f4 ands sb, r3, 1                                |     sb = r3 & 1;
                                                             |     if (sb != r3) {
    0x000107f8 beq 0x108a0                                   |         
    0x000107fc ldr r3, [sp]                                  |         r3 = *(sp);
    0x00010800 ldr r3, [r3, 0x284]                           |         r3 = *((r3 + 0x284));
    0x00010804 ldr r3, [r3, 0x40]                            |         r3 = *((r3 + 0x40));
    0x00010808 tst r3, 0xc                                   |         
                                                             |         if ((r3 & 0xc) == 0) {
    0x0001080c beq 0x108a0                                   |             goto label_0;
                                                             |         }
    0x00010810 ldr r3, [sp]                                  |         r3 = *(sp);
    0x00010814 ldrb r3, [r3, 0x4b0]                          |         r3 = *((r3 + 0x4b0));
    0x00010818 cmp r3, 0x41                                  |         
                                                             |         if (r3 != 0x41) {
    0x0001081c bne 0x108a0                                   |             goto label_0;
                                                             |         }
    0x00010820 cmp r4, 0                                     |         
    0x00010824 cmpne r6, 0                                   |         __asm ("cmpne r6, 0");
                                                             |         if (r4 == 0) {
    0x00010828 beq 0x108a0                                   |             goto label_0;
                                                             |         }
    0x0001082c ldr r3, [sp]                                  |         r3 = *(sp);
    0x00010830 ldr sl, [r3]                                  |         sl = *(r3);
    0x00010834 add r8, sl, 0x4000                            |         r8 = sl + 0x4000;
    0x00010838 ldrb r3, [r8, 0x9de]                          |         r3 = *((r8 + 0x9de));
    0x0001083c cmp r3, 0                                     |         
                                                             |         if (r3 != 0) {
    0x00010840 beq 0x10888                                   |             
    0x00010844 ldrb r3, [r6]                                 |             r3 = *(r6);
    0x00010848 cmp r3, 0xa                                   |             
                                                             |             if (r3 == 0xa) {
    0x0001084c bne 0x10880                                   |                 
    0x00010850 sub r4, r4, 1                                 |                 r4--;
    0x00010854 mov r2, r4                                    |                 r2 = r4;
    0x00010858 add r1, r6, 1                                 |                 r1 = r6 + 1;
    0x0001085c mov r0, r6                                    |                 r0 = r6;
    0x00010860 bl 0x5448                                     |                 memmove (r0, r1, r2);
    0x00010864 add ip, sl, 0x4900                            |                 
    0x00010868 ldrd r2, r3, [ip, 0xe0]                       |                 __asm ("ldrd r2, r3, [ip, 0xe0]");
    0x0001086c adds r0, r2, 1                                |                 r0 = r2 + 1;
    0x00010870 adc r1, r3, 0                                 |                 __asm ("adc r1, r3, 0");
    0x00010874 mov r2, r0                                    |                 r2 = r0;
    0x00010878 mov r3, r1                                    |                 r3 = r1;
    0x0001087c strd r2, r3, [ip, 0xe0]                       |                 __asm ("strd r2, r3, [ip, 0xe0]");
                                                             |             }
    0x00010880 mov r3, 0                                     |             r3 = 0;
    0x00010884 strb r3, [r8, 0x9de]                          |             *((r8 + 0x9de)) = r3;
                                                             |         }
    0x00010888 mov r2, r4                                    |         r2 = r4;
    0x0001088c mov r1, 0xd                                   |         r1 = 0xd;
    0x00010890 mov r0, r6                                    |         r0 = r6;
    0x00010894 bl 0x58f8                                     |         r0 = memchr (r0, r1, r2);
    0x00010898 subs r7, r0, 0                                |         r7 = r0 - 0;
                                                             |         if (r7 != r0) {
    0x0001089c bne 0x1095c                                   |             goto label_7;
                                                             |         }
                                                             |     }
                                                             | label_0:
    0x000108a0 cmp r4, 0                                     |     
                                                             |     if (r4 != 0) {
    0x000108a4 bne 0x10980                                   |         goto label_8;
                                                             |     }
                                                             | label_4:
    0x000108a8 mov r0, 0                                     |     r0 = 0;
                                                             | label_3:
    0x000108ac add sp, sp, 0x14                              |     
    0x000108b0 pop {r4, r5, r6, r7, r8, sb, sl, fp, pc}      |     
                                                             |     do {
    0x000108b4 mov r2, 2                                     |         r2 = 2;
    0x000108b8 ldr r1, [sp, 8]                               |         r1 = s2;
    0x000108bc mov r0, r7                                    |         r0 = r7;
    0x000108c0 str ip, [sp, 0xc]                             |         var_ch = ip;
    0x000108c4 bl 0x5820                                     |         memcmp (r0, r1, r2);
    0x000108c8 ldr ip, [sp, 0xc]                             |         ip = var_ch;
    0x000108cc cmp r0, 0                                     |         
                                                             |         if (r0 != 0) {
    0x000108d0 bne 0x10948                                   |             goto label_9;
                                                             |         }
    0x000108d4 ldrb r2, [r7, 1]                              |         r2 = *((r7 + 1));
    0x000108d8 add r7, r7, 1                                 |         r7++;
    0x000108dc strb r2, [r5]                                 |         *(r5) = r2;
    0x000108e0 ldrd r0, r1, [sl, 0xe0]                       |         __asm ("ldrd r0, r1, [sl, 0xe0]");
    0x000108e4 adds r2, r0, 1                                |         r2 = r0 + 1;
    0x000108e8 adc r3, r1, 0                                 |         __asm ("adc r3, r1, 0");
    0x000108ec mov r0, r2                                    |         r0 = r2;
    0x000108f0 mov r1, r3                                    |         r1 = r3;
    0x000108f4 strd r0, r1, [sl, 0xe0]                       |         __asm ("strd r0, r1, [sl, 0xe0]");
                                                             | label_1:
    0x000108f8 add r5, r5, 1                                 |         r5++;
    0x000108fc add r7, r7, 1                                 |         r7++;
                                                             | label_2:
    0x00010900 cmp r7, ip                                    |         
    0x00010904 blo 0x108b4                                   |         
                                                             |     } while (r7 <= ip);
    0x00010908 add r4, r6, r4                                |     r4 = r6 + r4;
    0x0001090c cmp r7, r4                                    |     
                                                             |     if (r7 < r4) {
    0x00010910 bhs 0x10934                                   |         
    0x00010914 ldrb r3, [r7]                                 |         r3 = *(r7);
    0x00010918 add r5, r5, 1                                 |         r5++;
    0x0001091c cmp r3, 0xd                                   |         
                                                             |         if (r3 != 0xd) {
    0x00010920 moveq r3, 0xa                                 |             r3 = 0xa;
                                                             |         }
                                                             |         if (r3 != 0xd) {
    0x00010924 strbeq r3, [r5, -1]                           |             *((r5 - 1)) = r3;
                                                             |         }
                                                             |         if (r3 == 0xd) {
    0x00010928 strbne r3, [r5, -1]                           |             *((r5 - 1)) = r3;
                                                             |         }
                                                             |         if (r3 != 0xd) {
    0x0001092c moveq r3, 1                                   |             r3 = 1;
                                                             |         }
                                                             |         if (r3 == 0xd) {
    0x00010930 strbeq r3, [r8, 0x9de]                        |             *((r8 + 0x9de)) = r3;
                                                             |             goto label_10;
                                                             |         }
                                                             |     }
                                                             | label_10:
    0x00010934 cmp r4, r5                                    |     
                                                             |     if (r4 <= r5) {
    0x00010938 movhi r3, 0                                   |         r3 = 0;
                                                             |     }
                                                             |     if (r4 <= r5) {
    0x0001093c strbhi r3, [r5]                               |         *(r5) = r3;
                                                             |     }
    0x00010940 sub r4, r5, r6                                |     r4 = r5 - r6;
    0x00010944 b 0x108a0                                     |     goto label_0;
                                                             | label_9:
    0x00010948 ldrb r2, [r7]                                 |     r2 = *(r7);
    0x0001094c cmp r2, 0xd                                   |     
                                                             |     if (r2 != 0xd) {
    0x00010950 strbeq fp, [r5]                               |         *(r5) = fp;
                                                             |     }
                                                             |     if (r2 == 0xd) {
    0x00010954 strbne r2, [r5]                               |         *(r5) = r2;
                                                             |     }
    0x00010958 b 0x108f8                                     |     goto label_1;
                                                             | label_7:
    0x0001095c ldr r2, [pc, 0x174]                           |     r2 = *(0x10ad4);
    0x00010960 sub r3, r4, 1                                 |     r3 = r4 - 1;
    0x00010964 add r2, pc, r2                                |     r2 = pc + r2;
    0x00010968 mov r5, r7                                    |     r5 = r7;
    0x0001096c add ip, r6, r3                                |     
    0x00010970 str r2, [sp, 8]                               |     s2 = r2;
    0x00010974 mov fp, 0xa                                   |     
    0x00010978 add sl, sl, 0x4900                            |     sl += 0x4900;
    0x0001097c b 0x10900                                     |     goto label_2;
                                                             | label_8:
    0x00010980 ldr r3, [sp]                                  |     r3 = *(sp);
    0x00010984 ldr r5, [r3]                                  |     r5 = *(r3);
    0x00010988 ldr r3, [r5, 0x110]                           |     r3 = *((r5 + 0x110));
    0x0001098c tst r3, 0x10                                  |     
                                                             |     if ((r3 & 0x10) == 0) {
    0x00010990 movne r3, r4                                  |         r3 = r4;
                                                             |     }
                                                             |     if ((r3 & 0x10) == 0) {
    0x00010994 movne r2, r6                                  |         r2 = r6;
                                                             |     }
                                                             |     if ((r3 & 0x10) != 0) {
    0x00010998 bne 0x10a34                                   |         goto label_11;
                                                             |     }
    0x0001099c ldr r3, [sp, 4]                               |     r3 = var_4h;
    0x000109a0 cmp sb, 0                                     |     
                                                             |     if (sb == 0) {
    0x000109a4 ldrne sb, [r5, 0x188]                         |         sb = *((r5 + 0x188));
                                                             |     }
    0x000109a8 ands r8, r3, 2                                |     r8 = r3 & 2;
                                                             |     if (r8 != r3) {
    0x000109ac beq 0x109c8                                   |         
    0x000109b0 ldr r8, [r5, 0x18c]                           |         r8 = *((r5 + 0x18c));
    0x000109b4 cmp r8, 0                                     |         
                                                             |         if (r8 != 0) {
    0x000109b8 bne 0x109c8                                   |             goto label_12;
                                                             |         }
    0x000109bc ldr r3, [r5, 0x148]                           |         r3 = *((r5 + 0x148));
    0x000109c0 cmp r3, 0                                     |         
                                                             |         if (r3 != 0) {
    0x000109c4 ldrne r8, [r5, 0x188]                         |             r8 = *((r5 + 0x188));
                                                             |             goto label_12;
                                                             |         }
                                                             |     }
                                                             | label_12:
    0x000109c8 mov fp, r6                                    |     
    0x000109cc mov r7, r4                                    |     r7 = r4;
                                                             |     do {
    0x000109d0 cmp r7, 0x4000                                |         
                                                             |         if (r7 >= 0x4000) {
    0x000109d4 movlo sl, r7                                  |             sl = r7;
                                                             |         }
                                                             |         if (r7 < 0x4000) {
    0x000109d8 movhs sl, 0x4000                              |             sl = 0x4000;
                                                             |         }
    0x000109dc cmp sb, 0                                     |         
                                                             |         if (sb != 0) {
    0x000109e0 beq 0x10a6c                                   |             
    0x000109e4 mov r2, sl                                    |             r2 = sl;
    0x000109e8 ldr r3, [r5, 0x140]                           |             r3 = *((r5 + 0x140));
    0x000109ec mov r1, 1                                     |             r1 = 1;
    0x000109f0 mov r0, fp                                    |             r0 = fp;
    0x000109f4 blx sb                                        |             r0 = sb (r0, r1, r2, r3);
    0x000109f8 cmp r0, 0x10000001                            |             
    0x000109fc mov r2, r0                                    |             r2 = r0;
                                                             |             if (r0 == 0x10000001) {
    0x00010a00 bne 0x10a48                                   |                 
    0x00010a04 ldr r3, [sp]                                  |                 r3 = *(sp);
    0x00010a08 ldr r3, [r3, 0x284]                           |                 r3 = *((r3 + 0x284));
    0x00010a0c ldr r3, [r3, 0x44]                            |                 r3 = *((r3 + 0x44));
    0x00010a10 tst r3, 0x10                                  |                 
                                                             |                 if ((r3 & 0x10) != 0) {
    0x00010a14 moveq r3, r7                                  |                     r3 = r7;
                                                             |                 }
                                                             |                 if ((r3 & 0x10) != 0) {
    0x00010a18 moveq r2, fp                                  |                     r2 = fp;
                                                             |                 }
                                                             |                 if ((r3 & 0x10) != 0) {
    0x00010a1c beq 0x10a34                                   |                     
    0x00010a20 ldr r1, [pc, 0xb4]                            |                     r1 = $d;
    0x00010a24 add r1, pc, r1                                |                     r1 = pc + r1;
                                                             | label_6:
    0x00010a28 mov r0, r5                                    |                     r0 = r5;
    0x00010a2c bl 0x10544                                    |                     Curl_failf ();
    0x00010a30 b 0x10a64                                     |                     goto label_13;
                                                             |                 }
                                                             | label_11:
    0x00010a34 ldr r1, [sp, 4]                               |                 r1 = var_4h;
                                                             | label_5:
    0x00010a38 mov r0, r5                                    |                 r0 = r5;
    0x00010a3c add sp, sp, 0x14                              |                 
    0x00010a40 pop {r4, r5, r6, r7, r8, sb, sl, fp, lr}      |                 
    0x00010a44 b 0x10130                                     |                 void (*0x10130)() ();
                                                             |             }
    0x00010a48 cmp sl, r0                                    |             
                                                             |             if (sl == r0) {
    0x00010a4c beq 0x10a6c                                   |                 goto label_14;
                                                             |             }
    0x00010a50 ldr r1, [pc, 0x88]                            |             r1 = *(0x10adc);
    0x00010a54 mov r3, sl                                    |             r3 = sl;
    0x00010a58 add r1, pc, r1                                |             r1 = pc + r1;
    0x00010a5c mov r0, r5                                    |             r0 = r5;
    0x00010a60 bl 0x10544                                    |             Curl_failf ();
                                                             | label_13:
    0x00010a64 mov r0, 0x17                                  |             r0 = 0x17;
    0x00010a68 b 0x108ac                                     |             goto label_3;
                                                             |         }
                                                             | label_14:
    0x00010a6c subs r7, r7, sl                               |         r7 -= sl;
    0x00010a70 add fp, fp, sl                                |         
    0x00010a74 bne 0x109d0                                   |         
                                                             |     } while (r7 != r7);
    0x00010a78 cmp r8, 0                                     |     
                                                             |     if (r8 == 0) {
    0x00010a7c beq 0x108a8                                   |         goto label_4;
                                                             |     }
    0x00010a80 mov r1, 1                                     |     r1 = 1;
    0x00010a84 mov r0, r5                                    |     r0 = r5;
    0x00010a88 bl 0x203dc                                    |     Curl_set_in_callback ();
    0x00010a8c ldr r3, [r5, 0x148]                           |     r3 = *((r5 + 0x148));
    0x00010a90 mov r2, r4                                    |     r2 = r4;
    0x00010a94 mov r1, 1                                     |     r1 = 1;
    0x00010a98 mov r0, r6                                    |     r0 = r6;
    0x00010a9c blx r8                                        |     uint32_t (*r8)(uint32_t, uint32_t, uint32_t, uint32_t) (r0, r1, r2, r3);
    0x00010aa0 mov r1, r7                                    |     r1 = r7;
    0x00010aa4 mov r8, r0                                    |     r8 = r0;
    0x00010aa8 mov r0, r5                                    |     r0 = r5;
    0x00010aac bl 0x203dc                                    |     Curl_set_in_callback ();
    0x00010ab0 cmp r8, 0x10000001                            |     
                                                             |     if (r8 != 0x10000001) {
    0x00010ab4 moveq r3, r4                                  |         r3 = r4;
                                                             |     }
                                                             |     if (r8 != 0x10000001) {
    0x00010ab8 moveq r2, r6                                  |         r2 = r6;
                                                             |     }
                                                             |     if (r8 == 0x10000001) {
    0x00010abc moveq r1, 2                                   |         r1 = 2;
                                                             |         goto label_15;
                                                             |     }
                                                             |     if (r8 == 0x10000001) {
                                                             | label_15:
    0x00010ac0 beq 0x10a38                                   |         goto label_5;
                                                             |     }
    0x00010ac4 cmp r4, r8                                    |     
                                                             |     if (r4 == r8) {
    0x00010ac8 beq 0x108a8                                   |         goto label_4;
                                                             |     }
    0x00010acc ldr r1, [pc, 0x10]                            |     r1 = *(0x10ae0);
    0x00010ad0 add r1, pc, r1                                |     r1 = pc + r1;
    0x00010ad4 b 0x10a28                                     |     goto label_6;
                                                             | }
    ; 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/lib/libcurl.so @ 0xcf18 */
                                                     | #include <stdint.h>
                                                     |  
    ; (fcn) sym.Curl_compareheader ()                | void Curl_compareheader (int32_t arg1, char * s) {
                                                     |     r0 = arg1;
                                                     |     r1 = s;
    0x0000cf18 push {r4, r5, r6, r7, r8, lr}         |     
    0x0000cf1c mov r4, r0                            |     r4 = r0;
    0x0000cf20 mov r0, r1                            |     r0 = r1;
    0x0000cf24 mov r7, r1                            |     r7 = r1;
    0x0000cf28 mov r6, r2                            |     r6 = r2;
    0x0000cf2c bl 0x5250                             |     strlen (r0);
    0x0000cf30 mov r1, r7                            |     r1 = r7;
    0x0000cf34 mov r5, r0                            |     r5 = r0;
    0x0000cf38 mov r2, r0                            |     r2 = r0;
    0x0000cf3c mov r0, r4                            |     r0 = r4;
    0x0000cf40 bl 0x19e40                            |     r0 = Curl_strncasecompare ();
    0x0000cf44 cmp r0, 0                             |     
                                                     |     if (r0 == 0) {
    0x0000cf48 addne r4, r4, r5                      |         r4 += r5;
                                                     |     }
                                                     |     if (r0 != 0) {
    0x0000cf4c bne 0xcf68                            |         goto label_2;
                                                     |     }
                                                     | label_0:
    0x0000cf50 mov r0, 0                             |     r0 = 0;
    0x0000cf54 pop {r4, r5, r6, r7, r8, pc}          |     
                                                     |     do {
    0x0000cf58 bl 0x2f898                            |         r0 = Curl_isspace ();
    0x0000cf5c cmp r0, 0                             |         
                                                     |         if (r0 == 0) {
    0x0000cf60 beq 0xcf78                            |             goto label_3;
                                                     |         }
    0x0000cf64 mov r4, r5                            |         r4 = r5;
                                                     | label_2:
    0x0000cf68 mov r5, r4                            |         r5 = r4;
    0x0000cf6c ldrb r0, [r5], 1                      |         r0 = *(r5);
                                                     |         r5++;
    0x0000cf70 cmp r0, 0                             |         
    0x0000cf74 bne 0xcf58                            |         
                                                     |     } while (r0 != 0);
                                                     | label_3:
    0x0000cf78 mov r1, 0xd                           |     r1 = 0xd;
    0x0000cf7c mov r0, r4                            |     r0 = r4;
    0x0000cf80 bl 0x5b38                             |     r0 = strchr (r0, r1);
    0x0000cf84 cmp r0, 0                             |     
                                                     |     if (r0 == 0) {
    0x0000cf88 bne 0xcfac                            |         
    0x0000cf8c mov r1, 0xa                           |         r1 = 0xa;
    0x0000cf90 mov r0, r4                            |         r0 = r4;
    0x0000cf94 bl 0x5b38                             |         r0 = strchr (r0, r1);
    0x0000cf98 cmp r0, 0                             |         
                                                     |         if (r0 != 0) {
    0x0000cf9c bne 0xcfac                            |             goto label_4;
                                                     |         }
    0x0000cfa0 mov r0, r4                            |         r0 = r4;
    0x0000cfa4 bl 0x5250                             |         r0 = strlen (r0);
    0x0000cfa8 add r0, r4, r0                        |         r0 = r4 + r0;
                                                     |     }
                                                     | label_4:
    0x0000cfac sub r5, r0, r4                        |     r5 = r0 - r4;
    0x0000cfb0 mov r0, r6                            |     r0 = r6;
    0x0000cfb4 bl 0x5250                             |     strlen (r0);
    0x0000cfb8 add r4, r4, r5                        |     r4 += r5;
    0x0000cfbc mov r7, r0                            |     r7 = r0;
                                                     | label_1:
    0x0000cfc0 cmp r5, r7                            |     
    0x0000cfc4 sub r0, r4, r5                        |     r0 = r4 - r5;
                                                     |     if (r5 <= r7) {
    0x0000cfc8 blo 0xcf50                            |         goto label_0;
                                                     |     }
    0x0000cfcc mov r2, r7                            |     r2 = r7;
    0x0000cfd0 mov r1, r6                            |     r1 = r6;
    0x0000cfd4 bl 0x19e40                            |     r0 = Curl_strncasecompare ();
    0x0000cfd8 cmp r0, 0                             |     
                                                     |     if (r0 == 0) {
    0x0000cfdc subeq r5, r5, 1                       |         r5--;
                                                     |         goto label_5;
                                                     |     }
                                                     |     if (r0 == 0) {
                                                     | label_5:
    0x0000cfe0 beq 0xcfc0                            |         goto label_1;
                                                     |     }
    0x0000cfe4 mov r0, 1                             |     r0 = 1;
    0x0000cfe8 pop {r4, r5, r6, r7, r8, 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/lib/libcurl.so @ 0x11574 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.Curl_connected_proxy ()      | void Curl_connected_proxy (int32_t arg1, int32_t arg2) {
                                             |     int32_t var_0h;
                                             |     int32_t var_8h;
                                             |     r0 = arg1;
                                             |     r1 = arg2;
    0x00011574 ldrb r2, [r0, 0x257]          |     r2 = *((r0 + 0x257));
    0x00011578 push {r0, r1, r4, lr}         |     
    0x0001157c cmp r2, 0                     |     
                                             |     if (r2 != 0) {
    0x00011580 moveq r0, r2                  |         r0 = r2;
                                             |     }
                                             |     if (r2 == 0) {
    0x00011584 beq 0x11634                   |         goto label_2;
                                             |     }
    0x00011588 ldrb r2, [r0, 0x256]          |     r2 = *((r0 + 0x256));
    0x0001158c mov r3, r1                    |     r3 = r1;
    0x00011590 cmp r2, 0                     |     
                                             |     if (r2 == 0) {
    0x00011594 ldrne r1, [r0, 0xe4]          |         r1 = *((r0 + 0xe4));
                                             |     }
                                             |     if (r2 == 0) {
    0x00011598 ldrne r2, [r0, 0xec]          |         r2 = *((r0 + 0xec));
                                             |     }
                                             |     if (r2 != 0) {
    0x0001159c bne 0x115c0                   |         goto label_0;
                                             |     }
    0x000115a0 ldrb r2, [r0, 0x253]          |     r2 = *((r0 + 0x253));
    0x000115a4 cmp r2, 0                     |     
                                             |     if (r2 == 0) {
    0x000115a8 beq 0x115f0                   |         goto label_3;
                                             |     }
    0x000115ac cmp r3, 1                     |     
    0x000115b0 ldr r1, [r0, 0xb4]            |     r1 = *((r0 + 0xb4));
                                             |     if (r3 != 1) {
    0x000115b4 bne 0x11600                   |         goto label_4;
                                             |     }
                                             |     do {
    0x000115b8 add r2, r0, 0x108             |         r2 = r0 + 0x108;
    0x000115bc ldrh r2, [r2]                 |         r2 = *(r2);
                                             | label_0:
    0x000115c0 mov r4, r0                    |         r4 = r0;
    0x000115c4 mov r0, 1                     |         r0 = 1;
    0x000115c8 strb r0, [r4, 0x273]          |         *((r4 + 0x273)) = r0;
    0x000115cc ldr r0, [r4, 0xd0]            |         r0 = *((r4 + 0xd0));
    0x000115d0 sub r0, r0, 4                 |         r0 -= 4;
    0x000115d4 cmp r0, 3                     |         
                                             |         if (r0 > 3) {
                                             |             /* switch table (4 cases) at 0x115e0 */
    0x000115d8 addls pc, pc, r0, lsl 2       |             pc += (r0 << 2);
                                             |         }
    0x000115dc b 0x1164c                     |         goto label_5;
    0x000115e0 b 0x1163c                     |         goto label_6;
    0x000115e4 b 0x11614                     |         goto label_7;
    0x000115e8 b 0x1163c                     |         goto label_6;
    0x000115ec b 0x11614                     |         goto label_7;
                                             | label_3:
    0x000115f0 cmp r3, 1                     |         
                                             |         if (r3 != 1) {
    0x000115f4 ldreq r1, [r0, 0xa8]          |             r1 = *((r0 + 0xa8));
                                             |         }
                                             |         if (r3 == 1) {
    0x000115f8 ldrne r1, [r0, 0xa0]          |             r1 = *((r0 + 0xa0));
                                             |         }
    0x000115fc beq 0x115b8                   |         
                                             |     } while (r3 == 1);
                                             | label_4:
    0x00011600 ldrb r2, [r0, 0x254]          |     r2 = *((r0 + 0x254));
    0x00011604 cmp r2, 0                     |     
                                             |     if (r2 == 0) {
    0x00011608 ldrne r2, [r0, 0x104]         |         r2 = *((r0 + 0x104));
                                             |     }
                                             |     if (r2 != 0) {
    0x0001160c ldreq r2, [r0, 0x100]         |         r2 = *((r0 + 0x100));
                                             |     }
    0x00011610 b 0x115c0                     |     goto label_0;
                                             | label_7:
    0x00011614 stm sp, {r3, r4}              |     *(sp) = r3;
                                             |     *((sp + 4)) = r4;
    0x00011618 ldr r0, [r4, 0xd4]            |     r0 = *((r4 + 0xd4));
    0x0001161c mov r3, r2                    |     r3 = r2;
    0x00011620 mov r2, r1                    |     r2 = r1;
    0x00011624 ldr r1, [r4, 0xd8]            |     r1 = *((r4 + 0xd8));
    0x00011628 bl 0x23fe8                    |     Curl_SOCKS5 ();
                                             |     do {
                                             | label_1:
    0x0001162c mov r3, 0                     |         r3 = 0;
    0x00011630 strb r3, [r4, 0x273]          |         *((r4 + 0x273)) = r3;
                                             | label_2:
    0x00011634 add sp, sp, 8                 |         
    0x00011638 pop {r4, pc}                  |         
                                             | label_6:
    0x0001163c str r4, [sp]                  |         *(sp) = r4;
    0x00011640 ldr r0, [r4, 0xd4]            |         r0 = *((r4 + 0xd4));
    0x00011644 bl 0x23ab4                    |         Curl_SOCKS4 ();
    0x00011648 b 0x1162c                     |         
                                             |     } while (1);
                                             | label_5:
    0x0001164c ldr r1, [pc, 0x10]            |     r1 = *(0x11660);
    0x00011650 ldr r0, [r4]                  |     r0 = *(r4);
    0x00011654 add r1, pc, r1                |     r1 = pc + r1;
    0x00011658 bl 0x10544                    |     Curl_failf ();
    0x0001165c mov r0, 7                     |     r0 = 7;
    0x00011660 b 0x1162c                     |     goto label_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/lib/libcurl.so @ 0x125f4 */
                                                             | #include <stdint.h>
                                                             |  
                                                             | #define BIT_MASK(t,v) ((t)(-((v)!= 0)))&(((t)-1)>>((sizeof(t)*CHAR_BIT)-(v)))
                                                             |  
    ; (fcn) sym.Curl_connect ()                              | void Curl_connect (int32_t arg1, int32_t arg2) {
                                                             |     int32_t var_0h;
                                                             |     int32_t var_4h;
                                                             |     size_t var_1ch;
                                                             |     int32_t var_20h;
                                                             |     int32_t var_24h;
                                                             |     int32_t var_28h;
                                                             |     char * s;
                                                             |     int32_t var_34h;
                                                             |     size_t var_38h;
                                                             |     int32_t var_3ch;
                                                             |     int32_t var_40h;
                                                             |     int32_t var_44h;
                                                             |     int32_t var_48h;
                                                             |     int32_t var_4ch;
                                                             |     int32_t var_50h;
                                                             |     int32_t var_58h;
                                                             |     int32_t var_5ch;
                                                             |     int32_t var_60h;
                                                             |     char * var_64h;
                                                             |     int32_t var_68h;
                                                             |     int32_t var_70h;
                                                             |     int32_t var_7eh;
                                                             |     int32_t var_7fh;
                                                             |     int32_t var_80h;
                                                             |     size_t nmeb;
                                                             |     size_t var_88h;
                                                             |     size_t size;
                                                             |     size_t var_90h;
                                                             |     size_t var_94h;
                                                             |     char * endptr;
                                                             |     char * dest;
                                                             |     int32_t var_0h_2;
                                                             |     int32_t var_0h_3;
                                                             |     int32_t var_124h;
                                                             |     r0 = arg1;
                                                             |     r1 = arg2;
    0x000125f4 push {r4, r5, r6, r7, r8, sb, sl, fp, lr}     |     
    0x000125f8 sub sp, sp, 0x124                             |     
    0x000125fc str r3, [sp, 0x58]                            |     var_58h = r3;
    0x00012600 ldr r3, [pc, 0xfcc]                           |     r3 = *(0x135d0);
    0x00012604 mov r4, 0                                     |     r4 = 0;
    0x00012608 add r3, pc, r3                                |     r3 = pc + r3;
    0x0001260c mov r5, r0                                    |     r5 = r0;
    0x00012610 strb r4, [r2]                                 |     *(r2) = r4;
    0x00012614 ldr r0, [r0, 0x64]                            |     r0 = *((r0 + 0x64));
    0x00012618 str r2, [sp, 0x3c]                            |     var_3ch = r2;
    0x0001261c str r3, [sp, 0x24]                            |     var_24h = r3;
    0x00012620 str r1, [sp, 0x34]                            |     var_34h = r1;
    0x00012624 str r4, [sp, 0x80]                            |     var_80h = r4;
    0x00012628 str r4, [sp, 0x84]                            |     nmeb = r4;
    0x0001262c str r4, [sp, 0x88]                            |     var_88h = r4;
    0x00012630 strb r4, [sp, 0x7e]                           |     var_7eh = r4;
    0x00012634 strb r4, [sp, 0x7f]                           |     var_7fh = r4;
    0x00012638 bl 0x20384                                    |     Curl_multi_max_host_connections ();
    0x0001263c str r0, [sp, 0x40]                            |     var_40h = r0;
    0x00012640 ldr r0, [r5, 0x64]                            |     r0 = *((r5 + 0x64));
    0x00012644 bl 0x20390                                    |     Curl_multi_max_total_connections ();
    0x00012648 ldr r3, [sp, 0x3c]                            |     r3 = var_3ch;
    0x0001264c ldr r2, [sp, 0x24]                            |     r2 = var_24h;
    0x00012650 strb r4, [r3]                                 |     *(r3) = r4;
    0x00012654 ldr r3, [r5, 0x678]                           |     r3 = *((r5 + 0x678));
    0x00012658 str r3, [sp, 0x1c]                            |     var_1ch = r3;
    0x0001265c cmp r3, r4                                    |     
    0x00012660 ldr r3, [pc, 0xf70]                           |     r3 = $d;
    0x00012664 str r0, [sp, 0x48]                            |     var_48h = r0;
    0x00012668 ldr r3, [r2, r3]                              |     r3 = *((r2 + r3));
    0x0001266c str r3, [sp, 0x20]                            |     var_20h = r3;
                                                             |     if (r3 == r4) {
    0x00012670 beq 0x12ab4                                   |         goto label_34;
                                                             |     }
    0x00012674 ldr r3, [pc, 0xf60]                           |     r3 = *(0x135d8);
    0x00012678 mov r1, 0x510                                 |     r1 = 0x510;
    0x0001267c ldr r6, [r2, r3]                              |     r6 = *((r2 + r3));
    0x00012680 mov r0, 1                                     |     r0 = 1;
    0x00012684 ldr r3, [r6]                                  |     r3 = *(r6);
    0x00012688 blx r3                                        |     r0 = uint32_t (*r3)(uint32_t, uint32_t, uint32_t) (r0, r1, r3);
    0x0001268c subs r4, r0, 0                                |     r4 = r0 - 0;
    0x00012690 bne 0x126a4                                   |     
                                                             |     while (r0 == r8) {
                                                             | label_2:
    0x00012694 mov r3, 0                                     |         r3 = 0;
    0x00012698 str r3, [sp, 0x1c]                            |         var_1ch = r3;
                                                             | label_0:
    0x0001269c mov fp, 0x1b                                  |         
    0x000126a0 b 0x13128                                     |         goto label_16;
    0x000126a4 ldr r2, [sp, 0x24]                            |         r2 = var_24h;
    0x000126a8 ldr r3, [pc, 0xf30]                           |         
    0x000126ac mov r0, 4                                     |         r0 = 4;
    0x000126b0 ldr r3, [r2, r3]                              |         r3 = *((r2 + r3));
    0x000126b4 ldr r3, [r3]                                  |         r3 = *(0x135dc);
    0x000126b8 ldr r7, [r3, 0xc]                             |         r7 = *(0x135e8);
    0x000126bc ldr r3, [r6]                                  |         r3 = *(r6);
    0x000126c0 mov r1, r7                                    |         r1 = r7;
    0x000126c4 blx r3                                        |         r0 = uint32_t (*r3)(uint32_t, uint32_t, uint32_t, uint32_t) (r0, r1, r2, r3);
    0x000126c8 subs r3, r0, 0                                |         r3 = r0 - 0;
    0x000126cc str r3, [sp, 0x1c]                            |         var_1ch = r3;
                                                             |         if (r3 != r0) {
    0x000126d0 ldreq r3, [sp, 0x20]                          |             r3 = var_20h;
                                                             |         }
                                                             |         if (r3 != r0) {
    0x000126d4 moveq r0, r4                                  |             r0 = r4;
                                                             |         }
                                                             |         if (r3 != r0) {
    0x000126d8 ldreq r3, [r3]                                |             r3 = *(r3);
                                                             |         }
                                                             |         if (r3 == r0) {
    0x000126dc beq 0x14a5c                                   |             goto label_44;
                                                             |         }
    0x000126e0 ldr r3, [sp, 0x1c]                            |         r3 = var_1ch;
    0x000126e4 mov r0, r4                                    |         r0 = r4;
    0x000126e8 add r1, r3, r7                                |         r1 = r3 + r7;
    0x000126ec str r3, [r4, 0x1fc]                           |         *((r4 + 0x1fc)) = r3;
    0x000126f0 str r3, [r4, 0x1c8]                           |         *((r4 + 0x1c8)) = r3;
    0x000126f4 ldr r3, [pc, 0xee8]                           |         r3 = *(0x135e0);
    0x000126f8 str r1, [r4, 0x1d8]                           |         *((r4 + 0x1d8)) = r1;
    0x000126fc add r3, pc, r3                                |         r3 = pc + r3;
    0x00012700 add r1, r1, r7                                |         r1 += r7;
    0x00012704 str r1, [r4, 0x1e8]                           |         *((r4 + 0x1e8)) = r1;
    0x00012708 str r3, [r4, 0x284]                           |         *((r4 + 0x284)) = r3;
    0x0001270c add r1, r1, r7                                |         r1 += r7;
    0x00012710 mvn r3, 0                                     |         r3 = ~0;
    0x00012714 str r3, [r4, 0x198]                           |         *((r4 + 0x198)) = r3;
    0x00012718 str r3, [r4, 0x19c]                           |         *((r4 + 0x19c)) = r3;
    0x0001271c str r3, [r4, 0x1a0]                           |         *((r4 + 0x1a0)) = r3;
    0x00012720 str r3, [r4, 0x1a4]                           |         *((r4 + 0x1a4)) = r3;
    0x00012724 str r3, [r4, 0x4c]                            |         *((r4 + 0x4c)) = r3;
    0x00012728 str r3, [r4, 0xfc]                            |         *((r4 + 0xfc)) = r3;
    0x0001272c str r3, [r4, 0x100]                           |         *((r4 + 0x100)) = r3;
    0x00012730 str r1, [r4, 0x1f8]                           |         *((r4 + 0x1f8)) = r1;
    0x00012734 add r7, sp, 0x70                              |         r7 += var_70h;
    0x00012738 mov r1, 1                                     |         r1 = 1;
    0x0001273c bl 0x1cb34                                    |         Curl_conncontrol ();
    0x00012740 mov r0, r7                                    |         r0 = r7;
    0x00012744 bl 0x69f0                                     |         r0 = Curl_now ();
    0x00012748 ldm r7, {r0, r1}                              |         r0 = *(r7);
                                                             |         r1 = *((r7 + 4));
    0x0001274c ldr r2, [r5, 0x490]                           |         r2 = *((r5 + 0x490));
    0x00012750 add r3, r4, 0x190                             |         r3 = r4 + 0x190;
    0x00012754 stm r3, {r0, r1}                              |         *(r3) = r0;
                                                             |         *((r3 + 4)) = r1;
    0x00012758 mov r3, 4                                     |         r3 = 4;
    0x0001275c str r3, [r4, 0xd0]                            |         *((r4 + 0xd0)) = r3;
    0x00012760 ldr r3, [r5, 0x55c]                           |         r3 = *((r5 + 0x55c));
    0x00012764 str r5, [r4]                                  |         *(r4) = r5;
    0x00012768 cmp r3, 0                                     |         
    0x0001276c str r2, [r4, 0xf0]                            |         *((r4 + 0xf0)) = r2;
                                                             |         if (r3 != 0) {
    0x00012770 beq 0x12780                                   |             
    0x00012774 ldrb r3, [r3]                                 |             r3 = *(r3);
    0x00012778 adds r3, r3, 0                                |             r3 += 0;
                                                             |             if (r3 != r3) {
    0x0001277c movne r3, 1                                   |                 r3 = 1;
                                                             |                 goto label_45;
                                                             |             }
                                                             |         }
                                                             | label_45:
    0x00012780 cmp r2, 2                                     |         
                                                             |         if (r2 <= 2) {
    0x00012784 movhi r2, 0                                   |             r2 = 0;
                                                             |         }
                                                             |         if (r2 > 2) {
    0x00012788 andls r2, r3, 1                               |             r2 = r3 & 1;
                                                             |         }
    0x0001278c strb r3, [r4, 0x255]                          |         *((r4 + 0x255)) = r3;
    0x00012790 eor r3, r3, 1                                 |         r3 ^= 1;
    0x00012794 orr r3, r2, r3                                |         r3 = r2 | r3;
    0x00012798 eor r3, r3, 1                                 |         r3 ^= 1;
    0x0001279c strb r3, [r4, 0x257]                          |         *((r4 + 0x257)) = r3;
    0x000127a0 ldr r3, [r5, 0x560]                           |         r3 = *((r5 + 0x560));
    0x000127a4 strb r2, [r4, 0x256]                          |         *((r4 + 0x256)) = r2;
    0x000127a8 cmp r3, 0                                     |         
                                                             |         if (r3 != 0) {
    0x000127ac beq 0x127c4                                   |             
    0x000127b0 ldrb r3, [r3]                                 |             r3 = *(r3);
    0x000127b4 cmp r3, 0                                     |             
                                                             |             if (r3 == 0) {
    0x000127b8 movne r3, 1                                   |                 r3 = 1;
                                                             |             }
                                                             |             if (r3 == 0) {
    0x000127bc strbne r3, [r4, 0x255]                        |                 *((r4 + 0x255)) = r3;
                                                             |             }
                                                             |             if (r3 != 0) {
    0x000127c0 strbne r3, [r4, 0x257]                        |                 *((r4 + 0x257)) = r3;
                                                             |                 goto label_46;
                                                             |             }
                                                             |         }
                                                             | label_46:
    0x000127c4 ldr r3, [r5, 0x5c0]                           |         r3 = *((r5 + 0x5c0));
    0x000127c8 mov r1, 1                                     |         r1 = 1;
    0x000127cc adds r3, r3, 0                                |         r3 += 0;
                                                             |         if (r3 == r3) {
    0x000127d0 movne r3, 1                                   |             r3 = 1;
                                                             |         }
    0x000127d4 strb r3, [r4, 0x259]                          |         *((r4 + 0x259)) = r3;
    0x000127d8 ldrb r3, [r5, 0x4c2]                          |         r3 = *((r5 + 0x4c2));
    0x000127dc ldr r0, [r5, 0x64]                            |         r0 = *((r5 + 0x64));
    0x000127e0 strb r3, [r4, 0x261]                          |         *((r4 + 0x261)) = r3;
    0x000127e4 ldr r3, [r5, 0x5b4]                           |         r3 = *((r5 + 0x5b4));
    0x000127e8 adds r3, r3, 0                                |         r3 += 0;
                                                             |         if (r3 == r3) {
    0x000127ec movne r3, 1                                   |             r3 = 1;
                                                             |         }
    0x000127f0 strb r3, [r4, 0x258]                          |         *((r4 + 0x258)) = r3;
    0x000127f4 ldrb r3, [r5, 0x4dc]                          |         r3 = *((r5 + 0x4dc));
    0x000127f8 strb r3, [r4, 0x264]                          |         *((r4 + 0x264)) = r3;
    0x000127fc ldrb r3, [r5, 0x4dd]                          |         r3 = *((r5 + 0x4dd));
    0x00012800 strb r3, [r4, 0x265]                          |         *((r4 + 0x265)) = r3;
    0x00012804 ldrb r3, [r5, 0x3e6]                          |         r3 = *((r5 + 0x3e6));
    0x00012808 strb r3, [r4, 0x20a]                          |         *((r4 + 0x20a)) = r3;
    0x0001280c ldrb r3, [r5, 0x3e4]                          |         r3 = *((r5 + 0x3e4));
    0x00012810 strb r3, [r4, 0x208]                          |         *((r4 + 0x208)) = r3;
    0x00012814 ldrb r3, [r5, 0x3e5]                          |         r3 = *((r5 + 0x3e5));
    0x00012818 strb r3, [r4, 0x209]                          |         *((r4 + 0x209)) = r3;
    0x0001281c ldrb r3, [r5, 0x43e]                          |         r3 = *((r5 + 0x43e));
    0x00012820 strb r3, [r4, 0x232]                          |         *((r4 + 0x232)) = r3;
    0x00012824 ldrb r3, [r5, 0x43c]                          |         r3 = *((r5 + 0x43c));
    0x00012828 strb r3, [r4, 0x230]                          |         *((r4 + 0x230)) = r3;
    0x0001282c ldrb r3, [r5, 0x43d]                          |         r3 = *((r5 + 0x43d));
    0x00012830 strb r3, [r4, 0x231]                          |         *((r4 + 0x231)) = r3;
    0x00012834 ldr r3, [r5, 0x4a4]                           |         r3 = *((r5 + 0x4a4));
    0x00012838 str r3, [r4, 0x28c]                           |         *((r4 + 0x28c)) = r3;
    0x0001283c bl 0x1dbe4                                    |         Curl_pipeline_wanted ();
    0x00012840 add r3, r4, 0x2c4                             |         r3 = r4 + 0x2c4;
    0x00012844 str r3, [sp, 0x60]                            |         var_60h = r3;
    0x00012848 cmp r0, 0                                     |         
                                                             |         if (r0 != 0) {
    0x0001284c bne 0x12958                                   |             goto label_47;
                                                             |         }
                                                             | label_1:
    0x00012850 ldr r6, [pc, 0xd90]                           |         r6 = "sing_weak_random_seed";
    0x00012854 add r0, r4, 0x2c4                             |         r0 = r4 + 0x2c4;
    0x00012858 add r6, pc, r6                                |         r6 = pc + r6;
    0x0001285c mov r1, r6                                    |         r1 = r6;
    0x00012860 bl 0x1cbe4                                    |         Curl_llist_init ();
    0x00012864 add r3, r4, 0x2d4                             |         r3 = r4 + 0x2d4;
    0x00012868 mov r0, r3                                    |         r0 = r3;
    0x0001286c mov r1, r6                                    |         r1 = r6;
    0x00012870 str r3, [sp, 0x5c]                            |         var_5ch = r3;
    0x00012874 bl 0x1cbe4                                    |         Curl_llist_init ();
    0x00012878 ldr r0, [r5, 0x528]                           |         r0 = *((r5 + 0x528));
    0x0001287c cmp r0, 0                                     |         
                                                             |         if (r0 != 0) {
    0x00012880 bne 0x129dc                                   |             goto label_48;
                                                             |         }
                                                             | label_3:
    0x00012884 ldr r3, [r5, 0x184]                           |         r3 = *((r5 + 0x184));
    0x00012888 add r2, r5, 0x180                             |         r2 = r5 + 0x180;
    0x0001288c ldrh r2, [r2]                                 |         r2 = *(r2);
    0x00012890 str r3, [r4, 0x4f8]                           |         *((r4 + 0x4f8)) = r3;
    0x00012894 add r3, r4, 0x4f0                             |         r3 = r4 + 0x4f0;
    0x00012898 strh r2, [r3, 4]                              |         *((r3 + 4)) = r2;
    0x0001289c ldr r3, [r5, 0x1c0]                           |         r3 = *((r5 + 0x1c0));
    0x000128a0 ldr r0, [r5, 0x678]                           |         r0 = *((r5 + 0x678));
    0x000128a4 str r3, [r4, 0x40]                            |         *((r4 + 0x40)) = r3;
    0x000128a8 ldr r3, [r5, 0x1c4]                           |         r3 = *((r5 + 0x1c4));
    0x000128ac add r6, r5, 0x4000                            |         r6 = r5 + 0x4000;
    0x000128b0 str r3, [r4, 0x44]                            |         *((r4 + 0x44)) = r3;
    0x000128b4 ldr r3, [sp, 0x34]                            |         r3 = var_34h;
    0x000128b8 mov r8, 0                                     |         r8 = 0;
    0x000128bc str r4, [r3]                                  |         *(r3) = r4;
    0x000128c0 bl 0x5250                                     |         strlen (r0);
    0x000128c4 ldr r3, [sp, 0x20]                            |         r3 = var_20h;
    0x000128c8 ldr r3, [r3]                                  |         r3 = *(r3);
    0x000128cc mov r7, r0                                    |         r7 = r0;
    0x000128d0 ldr r0, [r6, 0x9e8]                           |         r0 = *((r6 + 0x9e8));
    0x000128d4 blx r3                                        |         uint32_t (*r3)(uint32_t, uint32_t) (r0, r3);
    0x000128d8 ldr r2, [sp, 0x24]                            |         r2 = var_24h;
    0x000128dc ldr r3, [pc, 0xd08]                           |         
    0x000128e0 cmp r7, 0x100                                 |         
    0x000128e4 str r8, [r6, 0x9e8]                           |         *((r6 + 0x9e8)) = r8;
    0x000128e8 str r8, [r6, 0x9ec]                           |         *((r6 + 0x9ec)) = r8;
    0x000128ec ldr r3, [r2, r3]                              |         r3 = *((r2 + r3));
                                                             |         if (r7 >= 0x100) {
    0x000128f0 movlo r7, 0x100                               |             r7 = 0x100;
                                                             |         }
    0x000128f4 add r7, r7, 2                                 |         r7 += 2;
    0x000128f8 str r3, [sp, 0x2c]                            |         s = r3;
    0x000128fc mov r0, r7                                    |         r0 = r7;
    0x00012900 ldr r3, [r3]                                  |         r3 = *(0x135e8);
    0x00012904 blx r3                                        |         r0 = uint32_t (*r3)(uint32_t, uint32_t, uint32_t) (r0, r2, r3);
    0x00012908 cmp r0, r8                                    |         
    0x0001290c str r0, [r6, 0x9e8]                           |         *((r6 + 0x9e8)) = r0;
    0x00012910 beq 0x12694                                   |         
                                                             |     }
    0x00012914 ldr r3, [sp, 0x2c]                            |     r3 = s;
    0x00012918 str r0, [r6, 0x9ec]                           |     *((r6 + 0x9ec)) = r0;
    0x0001291c ldr r3, [r3]                                  |     r3 = *(r3);
    0x00012920 mov r0, r7                                    |     r0 = r7;
    0x00012924 blx r3                                        |     r0 = uint32_t (*r3)(uint32_t, uint32_t) (r0, r3);
    0x00012928 cmp r0, 0                                     |     
    0x0001292c str r0, [sp, 0x1c]                            |     var_1ch = r0;
    0x00012930 str r0, [r4, 0x98]                            |     *((r4 + 0x98)) = r0;
                                                             |     if (r0 != 0) {
    0x00012934 bne 0x12a00                                   |         goto label_49;
                                                             |     }
    0x00012938 ldr r3, [sp, 0x20]                            |     r3 = var_20h;
    0x0001293c ldr r0, [r6, 0x9e8]                           |     r0 = *((r6 + 0x9e8));
    0x00012940 ldr r3, [r3]                                  |     r3 = *(r3);
    0x00012944 blx r3                                        |     uint32_t (*r3)(uint32_t, uint32_t) (r0, r3);
    0x00012948 ldr r3, [sp, 0x1c]                            |     r3 = var_1ch;
    0x0001294c str r3, [r6, 0x9e8]                           |     *((r6 + 0x9e8)) = r3;
    0x00012950 str r3, [r6, 0x9ec]                           |     *((r6 + 0x9ec)) = r3;
    0x00012954 b 0x1269c                                     |     goto label_0;
                                                             | label_47:
    0x00012958 ldr r3, [r4, 0x2e4]                           |     r3 = *((r4 + 0x2e4));
    0x0001295c cmp r3, 0                                     |     
                                                             |     if (r3 != 0) {
    0x00012960 bne 0x12850                                   |         goto label_1;
                                                             |     }
    0x00012964 ldr r3, [r6]                                  |     r3 = *(r6);
    0x00012968 mov r1, 1                                     |     r1 = 1;
    0x0001296c mov r0, 0x4000                                |     r0 = 0x4000;
    0x00012970 blx r3                                        |     r0 = uint32_t (*r3)(uint32_t, uint32_t, uint32_t) (r0, r1, r3);
    0x00012974 cmp r0, 0                                     |     
    0x00012978 str r0, [r4, 0x2e4]                           |     *((r4 + 0x2e4)) = r0;
                                                             |     if (r0 != 0) {
    0x0001297c bne 0x12850                                   |         goto label_1;
                                                             |     }
                                                             | label_4:
    0x00012980 add r0, r4, 0x2c4                             |     r0 = r4 + 0x2c4;
    0x00012984 mov r1, 0                                     |     r1 = 0;
    0x00012988 bl 0x1ccfc                                    |     Curl_llist_destroy ();
    0x0001298c mov r1, 0                                     |     r1 = 0;
    0x00012990 add r0, r4, 0x2d4                             |     r0 = r4 + 0x2d4;
    0x00012994 bl 0x1ccfc                                    |     Curl_llist_destroy ();
    0x00012998 ldr r3, [sp, 0x20]                            |     r3 = var_20h;
    0x0001299c ldr r0, [r4, 0x2e4]                           |     r0 = *((r4 + 0x2e4));
    0x000129a0 ldr r3, [r3]                                  |     r3 = *(r3);
    0x000129a4 blx r3                                        |     uint32_t (*r3)(uint32_t, uint32_t) (r0, r3);
    0x000129a8 ldr r3, [sp, 0x20]                            |     r3 = var_20h;
    0x000129ac ldr r0, [r4, 0x4f0]                           |     r0 = *((r4 + 0x4f0));
    0x000129b0 ldr r3, [r3]                                  |     r3 = *(r3);
    0x000129b4 blx r3                                        |     uint32_t (*r3)(uint32_t, uint32_t) (r0, r3);
    0x000129b8 ldr r3, [sp, 0x20]                            |     r3 = var_20h;
    0x000129bc ldr r0, [r4, 0x1fc]                           |     r0 = *((r4 + 0x1fc));
    0x000129c0 ldr r3, [r3]                                  |     r3 = *(r3);
    0x000129c4 blx r3                                        |     uint32_t (*r3)(uint32_t, uint32_t) (r0, r3);
    0x000129c8 ldr r3, [sp, 0x20]                            |     r3 = var_20h;
    0x000129cc mov r0, r4                                    |     r0 = r4;
    0x000129d0 ldr r3, [r3]                                  |     r3 = *(r3);
    0x000129d4 blx r3                                        |     uint32_t (*r3)(uint32_t, uint32_t) (r0, r3);
    0x000129d8 b 0x12694                                     |     goto label_2;
                                                             | label_48:
    0x000129dc ldr r2, [sp, 0x24]                            |     r2 = var_24h;
    0x000129e0 ldr r3, [pc, 0xd54]                           |     
    0x000129e4 ldr r3, [r2, r3]                              |     r3 = *((r2 + r3));
    0x000129e8 ldr r3, [r3]                                  |     r3 = *(0x13738);
    0x000129ec blx r3                                        |     r0 = uint32_t (*r3)(uint32_t, uint32_t) (r2, r3);
    0x000129f0 cmp r0, 0                                     |     
    0x000129f4 str r0, [r4, 0x4f0]                           |     *((r4 + 0x4f0)) = r0;
                                                             |     if (r0 != 0) {
    0x000129f8 bne 0x12884                                   |         goto label_3;
                                                             |     }
    0x000129fc b 0x12980                                     |     goto label_4;
                                                             | label_49:
    0x00012a00 ldr r3, [sp, 0x1c]                            |     r3 = var_1ch;
    0x00012a04 ldr r2, [sp, 0x24]                            |     r2 = var_24h;
    0x00012a08 str r3, [r4, 0xa0]                            |     *((r4 + 0xa0)) = r3;
    0x00012a0c strb r8, [r3]                                 |     *(r3) = r8;
    0x00012a10 ldr r3, [pc, 0xd24]                           |     
    0x00012a14 ldr r7, [pc, 0xbd4]                           |     r7 = *(0x135ec);
    0x00012a18 ldr r3, [r2, r3]                              |     r3 = *((r2 + r3));
    0x00012a1c add r7, pc, r7                                |     r7 = pc + r7;
    0x00012a20 str r3, [sp, 0x28]                            |     var_28h = r3;
    0x00012a24 mov r0, r7                                    |     r0 = r7;
    0x00012a28 ldr r3, [r3]                                  |     
    0x00012a2c blx r3                                        |     uint32_t (*r3)(uint32_t, uint32_t, uint32_t) (r0, r2, r3);
    0x00012a30 ldr r3, [sp, 0x28]                            |     r3 = var_28h;
    0x00012a34 ldr r3, [r3]                                  |     
    0x00012a38 str r0, [sp, 0x84]                            |     nmeb = r0;
    0x00012a3c mov r0, r7                                    |     r0 = r7;
    0x00012a40 blx r3                                        |     uint32_t (*r3)(uint32_t, uint32_t) (r0, r3);
    0x00012a44 ldr r3, [sp, 0x28]                            |     r3 = var_28h;
    0x00012a48 ldr r3, [r3]                                  |     r3 = *(0x13738);
    0x00012a4c str r0, [sp, 0x88]                            |     var_88h = r0;
    0x00012a50 mov r0, r7                                    |     r0 = r7;
    0x00012a54 blx r3                                        |     uint32_t (*r3)(uint32_t, uint32_t) (r0, r3);
    0x00012a58 ldr r2, [sp, 0x84]                            |     r2 = nmeb;
    0x00012a5c ldr r3, [sp, 0x88]                            |     r3 = var_88h;
    0x00012a60 cmp r2, 0                                     |     
    0x00012a64 clz r3, r3                                    |     r3 &= r3;
    0x00012a68 lsr r3, r3, 5                                 |     r3 >>= 5;
                                                             |     if (r2 != 0) {
    0x00012a6c moveq r3, 1                                   |         r3 = 1;
                                                             |     }
    0x00012a70 cmp r3, 0                                     |     
    0x00012a74 str r3, [sp, 0x4c]                            |     var_4ch = r3;
    0x00012a78 str r0, [sp, 0x1c]                            |     var_1ch = r0;
                                                             |     if (r3 != 0) {
    0x00012a7c bne 0x1269c                                   |         goto label_0;
                                                             |     }
    0x00012a80 cmp r0, 0                                     |     
                                                             |     if (r0 == 0) {
    0x00012a84 beq 0x12694                                   |         goto label_2;
                                                             |     }
    0x00012a88 ldr r7, [r5, 0x678]                           |     r7 = *((r5 + 0x678));
    0x00012a8c ldr r1, [pc, 0xb60]                           |     r1 = *(0x135f0);
    0x00012a90 mov r0, r7                                    |     r0 = r7;
    0x00012a94 add r1, pc, r1                                |     r1 = pc + r1;
    0x00012a98 bl 0x5b20                                     |     r0 = strpbrk (r0, r1);
    0x00012a9c cmp r0, 0                                     |     
                                                             |     if (r0 == 0) {
    0x00012aa0 beq 0x12abc                                   |         goto label_50;
                                                             |     }
    0x00012aa4 ldr r1, [pc, 0xb4c]                           |     r1 = *(0x135f4);
    0x00012aa8 add r1, pc, r1                                |     r1 = pc + r1;
                                                             |     do {
                                                             | label_5:
    0x00012aac mov r0, r5                                    |         r0 = r5;
    0x00012ab0 bl 0x10544                                    |         Curl_failf ();
                                                             | label_34:
    0x00012ab4 mov fp, 3                                     |         
    0x00012ab8 b 0x13128                                     |         goto label_16;
                                                             | label_50:
    0x00012abc ldrb r3, [r7]                                 |         r3 = *(r7);
    0x00012ac0 cmp r3, 0x3a                                  |         
                                                             |         if (r3 != 0x3a) {
    0x00012ac4 ldreq r1, [pc, 0xb30]                         |             r1 = *(0x000135fc);
                                                             |         }
                                                             |         if (r3 != 0x3a) {
    0x00012ac8 addeq r1, pc, r1                              |             r1 = pc + r1;
                                                             |         }
    0x00012acc beq 0x12aac                                   |         
                                                             |     } while (r3 == 0x3a);
    0x00012ad0 bic r3, r3, 0x20                              |     r3 = BIT_MASK (r3, 0x20);
    0x00012ad4 sub r3, r3, 0x41                              |     r3 -= 0x41;
    0x00012ad8 cmp r3, 0x19                                  |     
    0x00012adc ldr r6, [r6, 0x9ec]                           |     r6 = *((r6 + 0x9ec));
                                                             |     if (r3 > 0x19) {
    0x00012ae0 bhi 0x12b88                                   |         goto label_51;
                                                             |     }
    0x00012ae4 ldrb r3, [r7, 1]                              |     r3 = *((r7 + 1));
    0x00012ae8 cmp r3, 0x3a                                  |     
                                                             |     if (r3 != 0x3a) {
    0x00012aec bne 0x12b88                                   |         goto label_51;
                                                             |     }
    0x00012af0 ldr r0, [r5, 0x524]                           |     r0 = *((r5 + 0x524));
    0x00012af4 cmp r0, 0                                     |     
                                                             |     if (r0 == 0) {
    0x00012af8 beq 0x12b88                                   |         goto label_51;
                                                             |     }
    0x00012afc ldr r1, [pc, 0xafc]                           |     r1 = *(0x135fc);
    0x00012b00 add r1, pc, r1                                |     r1 = pc + r1;
    0x00012b04 bl 0x19dc0                                    |     r0 = Curl_strcasecompare ();
    0x00012b08 cmp r0, 0                                     |     
                                                             |     if (r0 == 0) {
    0x00012b0c beq 0x12b88                                   |         goto label_51;
                                                             |     }
                                                             |     do {
                                                             | label_7:
    0x00012b10 ldr r0, [r5, 0x524]                           |         r0 = *((r5 + 0x524));
    0x00012b14 cmp r0, 0                                     |         
                                                             |         if (r0 != 0) {
    0x00012b18 bne 0x12b98                                   |             goto label_52;
                                                             |         }
                                                             | label_9:
    0x00012b1c mov r7, 0                                     |         r7 = 0;
    0x00012b20 strb r7, [r6]                                 |         *(r6) = r7;
    0x00012b24 ldr r1, [pc, 0xad8]                           |         r1 = *(0x13600);
    0x00012b28 str r6, [sp, 4]                               |         var_4h = r6;
    0x00012b2c ldr r3, [r4, 0xa0]                            |         r3 = *((r4 + 0xa0));
    0x00012b30 add sb, sp, 0x98                              |         sb += endptr;
    0x00012b34 add r8, sp, 0xa0                              |         r8 += dest;
    0x00012b38 str r3, [sp]                                  |         *(sp) = r3;
    0x00012b3c mov r2, r8                                    |         r2 = r8;
    0x00012b40 mov r3, sb                                    |         r3 = sb;
    0x00012b44 add r1, pc, r1                                |         r1 = pc + r1;
    0x00012b48 ldr r0, [r5, 0x678]                           |         r0 = *((r5 + 0x678));
    0x00012b4c bl 0x5658                                     |         r0 = sscanf (r0, r1, r2);
    0x00012b50 cmp r0, 2                                     |         
                                                             |         if (r0 != 2) {
    0x00012b54 bne 0x12e70                                   |             goto label_53;
                                                             |         }
    0x00012b58 ldr r1, [pc, 0xaa8]                           |         r1 = Curl_sasl_can_authenticate;
    0x00012b5c add r1, pc, r1                                |         r1 = pc + r1;
    0x00012b60 b 0x12aac                                     |         goto label_5;
                                                             | label_6:
    0x00012b64 cmp r3, 0x3a                                  |         
                                                             |         if (r3 == 0x3a) {
    0x00012b68 beq 0x1509c                                   |             goto label_54;
                                                             |         }
    0x00012b6c cmp r1, r2                                    |         
    0x00012b70 beq 0x12b10                                   |         
                                                             |     } while (r1 == r2);
                                                             | label_8:
    0x00012b74 ldrb r3, [r2, 1]!                             |     r3 = *((r2 += 1));
    0x00012b78 cmp r3, 0x2f                                  |     
    0x00012b7c cmpne r3, 0                                   |     __asm ("cmpne r3, 0");
                                                             |     if (r3 != 0x2f) {
    0x00012b80 bne 0x12b64                                   |         goto label_6;
                                                             |     }
    0x00012b84 b 0x12b10                                     |     goto label_7;
                                                             | label_51:
    0x00012b88 ldr r0, [r5, 0x678]                           |     r0 = *((r5 + 0x678));
    0x00012b8c sub r2, r0, 1                                 |     r2 = r0 - 1;
    0x00012b90 add r1, r0, 0xf                               |     r1 = r0 + 0xf;
    0x00012b94 b 0x12b74                                     |     goto label_8;
                                                             | label_52:
    0x00012b98 ldr r1, [pc, 0xa6c]                           |     r1 = *(0x13608);
    0x00012b9c add r1, pc, r1                                |     r1 = pc + r1;
    0x00012ba0 bl 0x19dc0                                    |     r0 = Curl_strcasecompare ();
    0x00012ba4 cmp r0, 0                                     |     
                                                             |     if (r0 == 0) {
    0x00012ba8 beq 0x12b1c                                   |         goto label_9;
                                                             |     }
    0x00012bac ldr r1, [pc, 0xa5c]                           |     r1 = *(0x1360c);
    0x00012bb0 mov r2, r6                                    |     r2 = r6;
    0x00012bb4 add r1, pc, r1                                |     r1 = pc + r1;
    0x00012bb8 ldr r0, [r5, 0x678]                           |     r0 = *((r5 + 0x678));
    0x00012bbc bl 0x5658                                     |     r0 = sscanf (r0, r1, r2);
    0x00012bc0 cmp r0, 1                                     |     
                                                             |     if (r0 != 1) {
    0x00012bc4 moveq r0, 0                                   |         r0 = 0;
                                                             |     }
                                                             |     if (r0 != 1) {
    0x00012bc8 beq 0x12bf8                                   |         
                                                             | label_38:
    0x00012bcc ldr r1, [pc, 0xa40]                           |         r1 = *(0x13610);
    0x00012bd0 add r1, pc, r1                                |         r1 = pc + r1;
    0x00012bd4 b 0x12aac                                     |         goto label_5;
                                                             | label_41:
    0x00012bd8 add r7, r6, 0xb                               |         r7 = r6 + 0xb;
                                                             | label_40:
    0x00012bdc mov r0, r7                                    |         r0 = r7;
    0x00012be0 bl 0x5250                                     |         strlen (r0);
    0x00012be4 mov r1, r7                                    |         r1 = r7;
    0x00012be8 add r2, r0, 1                                 |         r2 = r0 + 1;
    0x00012bec mov r0, r6                                    |         r0 = r6;
    0x00012bf0 bl 0x5448                                     |         memmove (r0, r1, r2);
    0x00012bf4 mov r0, 1                                     |         r0 = 1;
                                                             |     }
                                                             | label_39:
    0x00012bf8 ldrb r3, [r6]                                 |     r3 = *(r6);
    0x00012bfc cmp r3, 0x2f                                  |     
                                                             |     if (r3 == 0x2f) {
    0x00012c00 bne 0x12c4c                                   |         
    0x00012c04 ldrb r2, [r6, 1]                              |         r2 = *((r6 + 1));
    0x00012c08 bic r2, r2, 0x20                              |         r2 = BIT_MASK (r2, 0x20);
    0x00012c0c sub r2, r2, 0x41                              |         r2 -= 0x41;
    0x00012c10 cmp r2, 0x19                                  |         
                                                             |         if (r2 > 0x19) {
    0x00012c14 bhi 0x12c4c                                   |             goto label_55;
                                                             |         }
    0x00012c18 ldrb r2, [r6, 2]                              |         r2 = *((r6 + 2));
    0x00012c1c cmp r2, 0x7c                                  |         
    0x00012c20 cmpne r2, 0x3a                                |         __asm ("cmpne r2, 0x3a");
                                                             |         if (r2 != 0x7c) {
    0x00012c24 bne 0x12c4c                                   |             goto label_55;
                                                             |         }
    0x00012c28 ldrb r1, [r6, 3]                              |         r1 = *((r6 + 3));
    0x00012c2c cmp r1, 0x5c                                  |         
    0x00012c30 cmpne r1, 0x2f                                |         __asm ("cmpne r1, 0x2f");
                                                             |         if (r1 != 0x5c) {
    0x00012c34 moveq r2, 1                                   |             r2 = 1;
                                                             |         }
                                                             |         if (r1 == 0x5c) {
    0x00012c38 movne r2, 0                                   |             r2 = 0;
                                                             |         }
    0x00012c3c cmp r1, 0                                     |         
                                                             |         if (r1 != 0) {
    0x00012c40 moveq r2, 1                                   |             r2 = 1;
                                                             |         }
    0x00012c44 cmp r2, 0                                     |         
                                                             |         if (r2 != 0) {
    0x00012c48 bne 0x12c90                                   |             goto label_56;
                                                             |         }
                                                             |     }
                                                             | label_55:
    0x00012c4c bic r3, r3, 0x20                              |     r3 = BIT_MASK (r3, 0x20);
    0x00012c50 sub r3, r3, 0x41                              |     r3 -= 0x41;
    0x00012c54 cmp r3, 0x19                                  |     
                                                             |     if (r3 <= 0x19) {
    0x00012c58 bhi 0x12c9c                                   |         
    0x00012c5c ldrb r3, [r6, 1]                              |         r3 = *((r6 + 1));
    0x00012c60 cmp r3, 0x7c                                  |         
    0x00012c64 cmpne r3, 0x3a                                |         __asm ("cmpne r3, 0x3a");
                                                             |         if (r3 != 0x7c) {
    0x00012c68 bne 0x12c9c                                   |             goto label_57;
                                                             |         }
    0x00012c6c ldrb r2, [r6, 2]                              |         r2 = *((r6 + 2));
    0x00012c70 cmp r2, 0x5c                                  |         
    0x00012c74 cmpne r2, 0x2f                                |         __asm ("cmpne r2, 0x2f");
                                                             |         if (r2 != 0x5c) {
    0x00012c78 moveq r3, 1                                   |             r3 = 1;
                                                             |         }
                                                             |         if (r2 == 0x5c) {
    0x00012c7c movne r3, 0                                   |             r3 = 0;
                                                             |         }
    0x00012c80 cmp r2, 0                                     |         
                                                             |         if (r2 != 0) {
    0x00012c84 moveq r3, 1                                   |             r3 = 1;
                                                             |         }
    0x00012c88 cmp r3, 0                                     |         
                                                             |         if (r3 == 0) {
    0x00012c8c beq 0x12c9c                                   |             goto label_57;
                                                             |         }
                                                             | label_56:
    0x00012c90 ldr r1, [pc, 0x980]                           |         r1 = *(0x13614);
    0x00012c94 add r1, pc, r1                                |         r1 = pc + r1;
    0x00012c98 b 0x12aac                                     |         goto label_5;
                                                             |     }
                                                             | label_57:
    0x00012c9c ldr r8, [pc, 0x978]                           |     r8 = *(0x13618);
    0x00012ca0 eor r7, r0, 1                                 |     r7 = r0 ^ 1;
    0x00012ca4 add r8, pc, r8                                |     r8 = pc + r8;
                                                             | label_10:
    0x00012ca8 ldr sb, [r4, 0xa0]                            |     sb = *((r4 + 0xa0));
    0x00012cac mov r1, 0x40                                  |     r1 = 0x40;
    0x00012cb0 mov r0, sb                                    |     r0 = sb;
    0x00012cb4 bl 0x5b38                                     |     strchr (r0, r1);
    0x00012cb8 mov r1, 0x3f                                  |     r1 = 0x3f;
    0x00012cbc cmp r0, 0                                     |     
                                                             |     if (r0 != 0) {
    0x00012cc0 moveq r0, sb                                  |         r0 = sb;
                                                             |     }
                                                             |     if (r0 == 0) {
    0x00012cc4 addne r0, r0, 1                               |         r0++;
                                                             |     }
    0x00012cc8 bl 0x5b38                                     |     r0 = strchr (r0, r1);
    0x00012ccc cmp r0, 0                                     |     
    0x00012cd0 mov sb, r0                                    |     sb = r0;
                                                             |     if (r0 == 0) {
    0x00012cd4 beq 0x13054                                   |         goto label_58;
                                                             |     }
    0x00012cd8 bl 0x5250                                     |     r0 = strlen (r0);
    0x00012cdc mov sl, r0                                    |     sl = r0;
    0x00012ce0 mov r0, r6                                    |     r0 = r6;
    0x00012ce4 bl 0x5250                                     |     strlen (r0);
    0x00012ce8 add r3, sl, 1                                 |     r3 = sl + 1;
    0x00012cec mov r1, r6                                    |     r1 = r6;
    0x00012cf0 add r2, r0, 1                                 |     r2 = r0 + 1;
    0x00012cf4 add r0, r6, r3                                |     r0 = r6 + r3;
    0x00012cf8 bl 0x5448                                     |     memmove (r0, r1, r2);
    0x00012cfc mov r2, sl                                    |     r2 = sl;
    0x00012d00 mov r1, sb                                    |     r1 = sb;
    0x00012d04 add r0, r6, 1                                 |     r0 = r6 + 1;
    0x00012d08 bl 0x4f5c                                     |     memcpy (r0, r1, r2);
    0x00012d0c mov r3, 0x2f                                  |     r3 = 0x2f;
    0x00012d10 strb r3, [r6]                                 |     *(r6) = r3;
    0x00012d14 mov r3, 0                                     |     r3 = 0;
    0x00012d18 strb r3, [sb]                                 |     *(sb) = r3;
                                                             | label_13:
    0x00012d1c mov sb, 1                                     |     sb = 1;
                                                             | label_12:
    0x00012d20 ldrb r3, [r6]                                 |     r3 = *(r6);
    0x00012d24 cmp r3, 0x2f                                  |     
                                                             |     if (r3 == 0x2f) {
    0x00012d28 beq 0x13074                                   |         goto label_59;
                                                             |     }
    0x00012d2c mov r0, r6                                    |     r0 = r6;
    0x00012d30 bl 0x5250                                     |     strlen (r0);
    0x00012d34 mov r1, r6                                    |     r1 = r6;
    0x00012d38 add r2, r0, 1                                 |     r2 = r0 + 1;
    0x00012d3c add r0, r6, 1                                 |     r0 = r6 + 1;
    0x00012d40 bl 0x5448                                     |     memmove (r0, r1, r2);
    0x00012d44 mov r3, 0x2f                                  |     r3 = 0x2f;
    0x00012d48 strb r3, [r6]                                 |     *(r6) = r3;
                                                             | label_14:
    0x00012d4c mov r0, r6                                    |     r0 = r6;
    0x00012d50 bl 0x5250                                     |     r0 = strlen (r0);
    0x00012d54 mov sl, r0                                    |     sl = r0;
    0x00012d58 ldr r0, [r4, 0xa0]                            |     r0 = *((r4 + 0xa0));
    0x00012d5c bl 0x5250                                     |     strlen (r0);
    0x00012d60 cmp r7, 0                                     |     
    0x00012d64 mov sb, r0                                    |     sb = r0;
                                                             |     if (r7 == 0) {
    0x00012d68 bne 0x12dec                                   |         
    0x00012d6c mov r0, r8                                    |         r0 = r8;
    0x00012d70 bl 0x5250                                     |         strlen (r0);
    0x00012d74 ldr r1, [r5, 0x678]                           |         r1 = *((r5 + 0x678));
    0x00012d78 mov r2, r0                                    |         r2 = r0;
    0x00012d7c mov fp, r0                                    |         
    0x00012d80 mov r0, r8                                    |         r0 = r8;
    0x00012d84 bl 0x5bd4                                     |         r0 = fcn_00005bd4 ();
    0x00012d88 cmp r0, 0                                     |         
                                                             |         if (r0 == 0) {
    0x00012d8c beq 0x1319c                                   |             goto label_60;
                                                             |         }
    0x00012d90 ldr r1, [r5, 0x678]                           |         r1 = *((r5 + 0x678));
    0x00012d94 ldr r0, [pc, 0x884]                           |         r0 = *(0x1361c);
    0x00012d98 mov r2, 3                                     |         r2 = 3;
    0x00012d9c add r1, r1, fp                                |         r1 += fp;
    0x00012da0 add r0, pc, r0                                |         r0 = pc + r0;
    0x00012da4 bl 0x5bd4                                     |         fcn_00005bd4 ();
    0x00012da8 add sb, sb, fp                                |         sb += fp;
    0x00012dac cmp r0, 0                                     |         
                                                             |         if (r0 == 0) {
    0x00012db0 addne sb, sb, 3                               |             sb += 3;
                                                             |         }
                                                             |         if (r0 != 0) {
    0x00012db4 bne 0x12dec                                   |             goto label_61;
                                                             |         }
    0x00012db8 ldr r0, [pc, 0x864]                           |         r0 = *(0x13620);
    0x00012dbc mov r2, 5                                     |         r2 = 5;
    0x00012dc0 ldr r1, [r5, 0x678]                           |         r1 = *((r5 + 0x678));
    0x00012dc4 add r0, pc, r0                                |         r0 = pc + r0;
    0x00012dc8 bl 0x5bd4                                     |         r0 = fcn_00005bd4 ();
    0x00012dcc cmp r0, 0                                     |         
                                                             |         if (r0 == 0) {
    0x00012dd0 beq 0x131a8                                   |             goto label_62;
                                                             |         }
    0x00012dd4 ldr r3, [r5, 0x678]                           |         r3 = *((r5 + 0x678));
    0x00012dd8 ldrb r3, [r3, 5]                              |         r3 = *((r3 + 5));
    0x00012ddc cmp r3, 0x2f                                  |         
                                                             |         if (r3 == 0x2f) {
    0x00012de0 movne r3, 1                                   |             r3 = 1;
                                                             |         }
                                                             |         if (r3 != 0x2f) {
    0x00012de4 moveq r3, 2                                   |             r3 = 2;
                                                             |         }
    0x00012de8 add sb, sb, r3                                |         sb += r3;
                                                             |     }
                                                             | label_61:
    0x00012dec ldr r3, [sp, 0x2c]                            |     r3 = s;
    0x00012df0 add sl, sl, 1                                 |     sl++;
    0x00012df4 ldr r3, [r3]                                  |     r3 = *(r3);
    0x00012df8 add r0, sb, sl                                |     r0 = sb + sl;
    0x00012dfc blx r3                                        |     r0 = uint32_t (*r3)(uint32_t, uint32_t) (r0, r3);
    0x00012e00 subs fp, r0, 0                                |     
                                                             |     if (fp == r0) {
    0x00012e04 beq 0x1269c                                   |         goto label_0;
                                                             |     }
    0x00012e08 mov r2, sb                                    |     r2 = sb;
    0x00012e0c ldr r1, [r5, 0x678]                           |     r1 = *((r5 + 0x678));
    0x00012e10 bl 0x4f5c                                     |     memcpy (r0, r1, r2);
    0x00012e14 mov r2, sl                                    |     r2 = sl;
    0x00012e18 mov r1, r6                                    |     r1 = r6;
    0x00012e1c add r0, fp, sb                                |     r0 = fp + sb;
    0x00012e20 bl 0x4f5c                                     |     memcpy (r0, r1, r2);
    0x00012e24 ldrb r3, [r5, 0x67c]                          |     r3 = *((r5 + 0x67c));
    0x00012e28 cmp r3, 0                                     |     
                                                             |     if (r3 != 0) {
    0x00012e2c beq 0x12e4c                                   |         
    0x00012e30 ldr r3, [sp, 0x20]                            |         r3 = var_20h;
    0x00012e34 ldr r0, [r5, 0x678]                           |         r0 = *((r5 + 0x678));
    0x00012e38 ldr r3, [r3]                                  |         r3 = *(r3);
    0x00012e3c blx r3                                        |         uint32_t (*r3)(uint32_t, uint32_t) (r0, r3);
    0x00012e40 mov r3, 0                                     |         r3 = 0;
    0x00012e44 str r3, [r5, 0x678]                           |         *((r5 + 0x678)) = r3;
    0x00012e48 strb r3, [r5, 0x67c]                          |         *((r5 + 0x67c)) = r3;
                                                             |     }
    0x00012e4c ldr r1, [pc, 0x7d4]                           |     r1 = *(0x13624);
    0x00012e50 mov r2, fp                                    |     r2 = fp;
    0x00012e54 add r1, pc, r1                                |     r1 = pc + r1;
    0x00012e58 mov r0, r5                                    |     r0 = r5;
    0x00012e5c bl 0x104cc                                    |     Curl_infof ();
    0x00012e60 mov r3, 1                                     |     r3 = 1;
    0x00012e64 str fp, [r5, 0x678]                           |     *((r5 + 0x678)) = fp;
    0x00012e68 strb r3, [r5, 0x67c]                          |     *((r5 + 0x67c)) = r3;
    0x00012e6c b 0x130d4                                     |     goto label_63;
                                                             |     if (r3 > 0) {
                                                             | label_53:
    0x00012e70 bgt 0x12f64                                   |         goto label_64;
                                                             |     }
    0x00012e74 ldr r1, [pc, 0x7b0]                           |     r1 = *(0x13628);
    0x00012e78 mov r3, r6                                    |     r3 = r6;
    0x00012e7c ldr r2, [r4, 0xa0]                            |     r2 = *((r4 + 0xa0));
    0x00012e80 add r1, pc, r1                                |     r1 = pc + r1;
    0x00012e84 ldr r0, [r5, 0x678]                           |     r0 = *((r5 + 0x678));
    0x00012e88 bl 0x5658                                     |     r0 = sscanf (r0, r1, r2);
    0x00012e8c cmp r0, 0                                     |     
                                                             |     if (r0 > 0) {
    0x00012e90 ldrle r1, [pc, 0x798]                         |         r1 = *((pc + 0x798));
                                                             |     }
                                                             |     if (r0 <= 0) {
    0x00012e94 addle r1, pc, r1                              |         r1 = pc + r1;
                                                             |         goto label_65;
                                                             |     }
                                                             |     if (r0 <= 0) {
                                                             | label_65:
    0x00012e98 ble 0x12aac                                   |         goto label_5;
                                                             |     }
    0x00012e9c ldr r8, [r5, 0x524]                           |     r8 = *((r5 + 0x524));
    0x00012ea0 cmp r8, 0                                     |     
                                                             |     if (r8 != 0) {
    0x00012ea4 movne r7, 1                                   |         r7 = 1;
                                                             |         goto label_66;
                                                             |     }
                                                             |     if (r8 != 0) {
                                                             | label_66:
    0x00012ea8 bne 0x12ca8                                   |         goto label_10;
                                                             |     }
    0x00012eac ldr r0, [pc, 0x780]                           |     r0 = *(0x13630);
    0x00012eb0 mov r2, 4                                     |     r2 = 4;
    0x00012eb4 ldr r1, [r4, 0xa0]                            |     r1 = *((r4 + 0xa0));
    0x00012eb8 add r0, pc, r0                                |     r0 = pc + r0;
    0x00012ebc bl 0x5bd4                                     |     r0 = fcn_00005bd4 ();
    0x00012ec0 cmp r0, 0                                     |     
                                                             |     if (r0 != 0) {
    0x00012ec4 bne 0x12ff8                                   |         goto label_67;
                                                             |     }
    0x00012ec8 ldr r0, [pc, 0x768]                           |     r0 = *(0x13634);
    0x00012ecc mov r2, 5                                     |     r2 = 5;
    0x00012ed0 ldr r1, [r4, 0xa0]                            |     r1 = *((r4 + 0xa0));
    0x00012ed4 add r0, pc, r0                                |     r0 = pc + r0;
    0x00012ed8 bl 0x5bd4                                     |     r0 = fcn_00005bd4 ();
    0x00012edc cmp r0, 0                                     |     
                                                             |     if (r0 != 0) {
    0x00012ee0 bne 0x13008                                   |         goto label_68;
                                                             |     }
    0x00012ee4 ldr r0, [pc, 0x750]                           |     r0 = *(0x13638);
    0x00012ee8 mov r2, 5                                     |     r2 = 5;
    0x00012eec ldr r1, [r4, 0xa0]                            |     r1 = *((r4 + 0xa0));
    0x00012ef0 add r0, pc, r0                                |     r0 = pc + r0;
    0x00012ef4 bl 0x5bd4                                     |     r0 = fcn_00005bd4 ();
    0x00012ef8 cmp r0, 0                                     |     
                                                             |     if (r0 != 0) {
    0x00012efc bne 0x13018                                   |         goto label_69;
                                                             |     }
    0x00012f00 ldr r0, [pc, 0x738]                           |     r0 = *(0x1363c);
    0x00012f04 mov r2, 5                                     |     r2 = 5;
    0x00012f08 ldr r1, [r4, 0xa0]                            |     r1 = *((r4 + 0xa0));
    0x00012f0c add r0, pc, r0                                |     r0 = pc + r0;
    0x00012f10 bl 0x5bd4                                     |     r0 = fcn_00005bd4 ();
    0x00012f14 cmp r0, 0                                     |     
                                                             |     if (r0 != 0) {
    0x00012f18 bne 0x13028                                   |         goto label_70;
                                                             |     }
    0x00012f1c ldr r0, [pc, 0x720]                           |     r0 = *(0x13640);
    0x00012f20 mov r2, 5                                     |     r2 = 5;
    0x00012f24 ldr r1, [r4, 0xa0]                            |     r1 = *((r4 + 0xa0));
    0x00012f28 add r0, pc, r0                                |     r0 = pc + r0;
    0x00012f2c bl 0x5bd4                                     |     r0 = fcn_00005bd4 ();
    0x00012f30 cmp r0, 0                                     |     
                                                             |     if (r0 != 0) {
    0x00012f34 bne 0x13038                                   |         goto label_71;
                                                             |     }
    0x00012f38 ldr r0, [pc, 0x708]                           |     r0 = *(0x13644);
    0x00012f3c mov r2, 5                                     |     r2 = 5;
    0x00012f40 ldr r1, [r4, 0xa0]                            |     r1 = *((r4 + 0xa0));
    0x00012f44 add r0, pc, r0                                |     r0 = pc + r0;
    0x00012f48 bl 0x5bd4                                     |     fcn_00005bd4 ();
    0x00012f4c mov r7, 1                                     |     r7 = 1;
    0x00012f50 cmp r0, 0                                     |     
                                                             |     if (r0 == 0) {
    0x00012f54 beq 0x13048                                   |         goto label_72;
                                                             |     }
    0x00012f58 ldr r8, [pc, 0x6ec]                           |     r8 = *(0x13648);
    0x00012f5c add r8, pc, r8                                |     r8 = pc + r8;
    0x00012f60 b 0x12ca8                                     |     goto label_10;
                                                             | label_64:
    0x00012f64 mov r0, sb                                    |     r0 = sb;
    0x00012f68 bl 0x5250                                     |     r0 = strlen (r0);
    0x00012f6c cmp r0, 2                                     |     
    0x00012f70 mov r2, r0                                    |     r2 = r0;
                                                             |     if (r0 == 2) {
    0x00012f74 beq 0x12ca8                                   |         goto label_10;
                                                             |     }
    0x00012f78 cmp r0, 1                                     |     
                                                             |     if (r0 < 1) {
    0x00012f7c bls 0x12fec                                   |         goto label_73;
                                                             |     }
    0x00012f80 ldr r3, [pc, 0x6c8]                           |     r3 = *(0x1364c);
    0x00012f84 add r3, pc, r3                                |     r3 = pc + r3;
                                                             | label_11:
    0x00012f88 ldr r1, [pc, 0x6c4]                           |     r1 = *(0x13650);
    0x00012f8c mov r0, r5                                    |     r0 = r5;
    0x00012f90 add r1, pc, r1                                |     r1 = pc + r1;
    0x00012f94 bl 0x104cc                                    |     Curl_infof ();
    0x00012f98 ldrb r3, [r5, 0x67c]                          |     r3 = *((r5 + 0x67c));
    0x00012f9c cmp r3, 0                                     |     
                                                             |     if (r3 != 0) {
    0x00012fa0 beq 0x12fb4                                   |         
    0x00012fa4 ldr r3, [sp, 0x20]                            |         r3 = var_20h;
    0x00012fa8 ldr r0, [r5, 0x678]                           |         r0 = *((r5 + 0x678));
    0x00012fac ldr r3, [r3]                                  |         r3 = *(r3);
    0x00012fb0 blx r3                                        |         uint32_t (*r3)(uint32_t, uint32_t) (r0, r3);
                                                             |     }
    0x00012fb4 ldr r0, [pc, 0x69c]                           |     r0 = *(0x13654);
    0x00012fb8 add r8, sp, 0xa0                              |     r8 += dest;
    0x00012fbc mov r3, r6                                    |     r3 = r6;
    0x00012fc0 ldr r2, [r4, 0xa0]                            |     r2 = *((r4 + 0xa0));
    0x00012fc4 mov r1, r8                                    |     r1 = r8;
    0x00012fc8 add r0, pc, r0                                |     r0 = pc + r0;
    0x00012fcc bl 0x5b80                                     |     r0 = fcn_00005b80 ();
    0x00012fd0 cmp r0, 0                                     |     
                                                             |     if (r0 == 0) {
    0x00012fd4 movne r3, 1                                   |         r3 = 1;
                                                             |     }
    0x00012fd8 str r0, [r5, 0x678]                           |     *((r5 + 0x678)) = r0;
                                                             |     if (r0 == 0) {
    0x00012fdc strbne r3, [r5, 0x67c]                        |         *((r5 + 0x67c)) = r3;
                                                             |     }
                                                             |     if (r0 != 0) {
    0x00012fe0 movne r7, 0                                   |         r7 = 0;
                                                             |         goto label_74;
                                                             |     }
                                                             |     if (r0 != 0) {
                                                             | label_74:
    0x00012fe4 bne 0x12ca8                                   |         goto label_10;
                                                             |     }
    0x00012fe8 b 0x1269c                                     |     goto label_0;
                                                             | label_73:
    0x00012fec ldr r3, [pc, 0x668]                           |     r3 = *(0x13658);
    0x00012ff0 add r3, pc, r3                                |     r3 = pc + r3;
    0x00012ff4 b 0x12f88                                     |     goto label_11;
                                                             | label_67:
    0x00012ff8 ldr r8, [pc, 0x660]                           |     r8 = *(0x1365c);
    0x00012ffc mov r7, 1                                     |     r7 = 1;
    0x00013000 add r8, pc, r8                                |     r8 = pc + r8;
    0x00013004 b 0x12ca8                                     |     goto label_10;
                                                             | label_68:
    0x00013008 ldr r8, [pc, 0x654]                           |     r8 = *(0x13660);
    0x0001300c mov r7, 1                                     |     r7 = 1;
    0x00013010 add r8, pc, r8                                |     r8 = pc + r8;
    0x00013014 b 0x12ca8                                     |     goto label_10;
                                                             | label_69:
    0x00013018 ldr r8, [pc, 0x648]                           |     r8 = *(0x13664);
    0x0001301c mov r7, 1                                     |     r7 = 1;
    0x00013020 add r8, pc, r8                                |     r8 = pc + r8;
    0x00013024 b 0x12ca8                                     |     goto label_10;
                                                             | label_70:
    0x00013028 ldr r8, [pc, 0x63c]                           |     r8 = *(0x13668);
    0x0001302c mov r7, 1                                     |     r7 = 1;
    0x00013030 add r8, pc, r8                                |     r8 = pc + r8;
    0x00013034 b 0x12ca8                                     |     goto label_10;
                                                             | label_71:
    0x00013038 ldr r8, [pc, 0x630]                           |     r8 = *(0x1366c);
    0x0001303c mov r7, 1                                     |     r7 = 1;
    0x00013040 add r8, pc, r8                                |     r8 = pc + r8;
    0x00013044 b 0x12ca8                                     |     goto label_10;
                                                             | label_72:
    0x00013048 ldr r8, [pc, 0x624]                           |     r8 = *(0x13670);
    0x0001304c add r8, pc, r8                                |     r8 = pc + r8;
    0x00013050 b 0x12ca8                                     |     goto label_10;
                                                             | label_58:
    0x00013054 ldrb r3, [r6]                                 |     r3 = *(r6);
    0x00013058 cmp r3, 0                                     |     
                                                             |     if (r3 != 0) {
    0x0001305c bne 0x12d20                                   |         goto label_12;
                                                             |     }
    0x00013060 ldr r1, [pc, 0x610]                           |     r1 = *(0x13674);
    0x00013064 mov r0, r6                                    |     r0 = r6;
    0x00013068 add r1, pc, r1                                |     r1 = pc + r1;
    0x0001306c bl 0x5c28                                     |     strcpy (r0, r1);
    0x00013070 b 0x12d1c                                     |     goto label_13;
                                                             | label_59:
    0x00013074 ldrb r3, [r5, 0x646]                          |     r3 = *((r5 + 0x646));
    0x00013078 cmp r3, 0                                     |     
                                                             |     if (r3 != 0) {
    0x0001307c bne 0x130cc                                   |         goto label_75;
                                                             |     }
    0x00013080 mov r0, r6                                    |     r0 = r6;
    0x00013084 bl 0x29418                                    |     r0 = Curl_dedotdotify ();
    0x00013088 subs sl, r0, 0                                |     sl = r0 - 0;
                                                             |     if (sl == r0) {
    0x0001308c beq 0x1269c                                   |         goto label_0;
                                                             |     }
    0x00013090 mov r1, r6                                    |     r1 = r6;
    0x00013094 bl 0x5a30                                     |     strcmp (r0, r1);
    0x00013098 ldr r3, [sp, 0x20]                            |     r3 = var_20h;
    0x0001309c ldr r3, [r3]                                  |     r3 = *(r3);
    0x000130a0 cmp r0, 0                                     |     
                                                             |     if (r0 != 0) {
    0x000130a4 beq 0x130c4                                   |         
    0x000130a8 add r6, r5, 0x4000                            |         r6 = r5 + 0x4000;
    0x000130ac ldr r0, [r6, 0x9e8]                           |         r0 = *((r6 + 0x9e8));
    0x000130b0 blx r3                                        |         uint32_t (*r3)(uint32_t) (r0);
    0x000130b4 str sl, [r6, 0x9e8]                           |         *((r6 + 0x9e8)) = sl;
    0x000130b8 str sl, [r6, 0x9ec]                           |         *((r6 + 0x9ec)) = sl;
    0x000130bc mov r6, sl                                    |         r6 = sl;
    0x000130c0 b 0x12d4c                                     |         goto label_14;
                                                             |     }
    0x000130c4 mov r0, sl                                    |     r0 = sl;
    0x000130c8 blx r3                                        |     uint32_t (*r3)(uint32_t) (r0);
                                                             | label_75:
    0x000130cc cmp sb, 0                                     |     
                                                             |     if (sb != 0) {
    0x000130d0 bne 0x12d4c                                   |         goto label_14;
                                                             |     }
                                                             | label_63:
    0x000130d4 ldr sl, [pc, 0x5a0]                           |     sl = "assword__since_none_was_supplied_to_the_server_on_this_connection._";
    0x000130d8 add sl, pc, sl                                |     sl = pc + sl;
    0x000130dc sub sl, sl, 4                                 |     sl -= 4;
                                                             |     do {
    0x000130e0 ldr sb, [sl, 4]!                              |         sb = *((sl += 4));
    0x000130e4 cmp sb, 0                                     |         
                                                             |         if (sb == 0) {
    0x000130e8 beq 0x13110                                   |             goto label_76;
                                                             |         }
    0x000130ec mov r1, r8                                    |         r1 = r8;
    0x000130f0 ldr r0, [sb]                                  |         r0 = *(sb);
    0x000130f4 bl 0x19dc0                                    |         r0 = Curl_strcasecompare ();
    0x000130f8 cmp r0, 0                                     |         
    0x000130fc beq 0x130e0                                   |         
                                                             |     } while (r0 == 0);
    0x00013100 ldr r3, [sb, 0x40]                            |     r3 = *((sb + 0x40));
    0x00013104 ldr r2, [r5, 0x600]                           |     r2 = *((r5 + 0x600));
    0x00013108 tst r3, r2                                    |     
    0x0001310c bne 0x131b4                                   |     
                                                             |     while ((r3 & r2) == 0) {
                                                             | label_76:
    0x00013110 ldr r1, [pc, 0x568]                           |         r1 = "assword__since_none_was_supplied_to_the_server_on_this_connection._";
    0x00013114 mov r2, r8                                    |         r2 = r8;
    0x00013118 add r1, pc, r1                                |         r1 = pc + r1;
    0x0001311c mov r0, r5                                    |         r0 = r5;
    0x00013120 bl 0x10544                                    |         Curl_failf ();
    0x00013124 mov fp, 1                                     |         
                                                             | label_16:
    0x00013128 ldr r3, [sp, 0x20]                            |         r3 = var_20h;
    0x0001312c ldr r0, [sp, 0x1c]                            |         r0 = var_1ch;
    0x00013130 ldr r3, [r3]                                  |         r3 = *(r3);
    0x00013134 blx r3                                        |         uint32_t (*r3)(uint32_t, uint32_t) (r0, r3);
    0x00013138 ldr r3, [sp, 0x20]                            |         r3 = var_20h;
    0x0001313c ldr r0, [sp, 0x88]                            |         r0 = var_88h;
    0x00013140 ldr r3, [r3]                                  |         r3 = *(r3);
    0x00013144 blx r3                                        |         uint32_t (*r3)(uint32_t, uint32_t) (r0, r3);
    0x00013148 ldr r3, [sp, 0x20]                            |         r3 = var_20h;
    0x0001314c ldr r0, [sp, 0x84]                            |         r0 = nmeb;
    0x00013150 ldr r3, [r3]                                  |         r3 = *(r3);
    0x00013154 blx r3                                        |         uint32_t (*r3)(uint32_t, uint32_t) (r0, r3);
    0x00013158 cmp fp, 0                                     |         
                                                             |         if (fp != 0) {
    0x0001315c bne 0x15180                                   |             goto label_77;
                                                             |         }
    0x00013160 ldr r3, [sp, 0x34]                            |         r3 = var_34h;
    0x00013164 ldr r0, [r3]                                  |         r0 = *(r3);
    0x00013168 ldr r3, [r0, 0x2d0]                           |         r3 = *((r0 + 0x2d0));
    0x0001316c cmp r3, 0                                     |         
                                                             |         if (r3 == 0) {
    0x00013170 bne 0x13180                                   |             
    0x00013174 ldr r3, [r0, 0x2e0]                           |             r3 = *((r0 + 0x2e0));
    0x00013178 cmp r3, 0                                     |             
                                                             |             if (r3 == 0) {
    0x0001317c beq 0x15034                                   |                 goto label_78;
                                                             |             }
                                                             |         }
    0x00013180 ldr r2, [sp, 0x58]                            |         r2 = var_58h;
    0x00013184 mov r3, 1                                     |         r3 = 1;
    0x00013188 strb r3, [r2]                                 |         *(r2) = r3;
                                                             | label_36:
    0x0001318c mov r4, 0                                     |         r4 = 0;
                                                             | label_37:
    0x00013190 mov r0, r4                                    |         r0 = r4;
    0x00013194 add sp, sp, 0x124                             |         
    0x00013198 pop {r4, r5, r6, r7, r8, sb, sl, fp, pc}      |         
                                                             | label_60:
    0x0001319c ldr r1, [pc, 0x4e0]                           |         r1 = *(0x13680);
    0x000131a0 add r1, pc, r1                                |         r1 = pc + r1;
    0x000131a4 b 0x12aac                                     |         goto label_5;
                                                             | label_62:
    0x000131a8 ldr r1, [pc, 0x4d8]                           |         r1 = *(0x13684);
    0x000131ac add r1, pc, r1                                |         r1 = pc + r1;
    0x000131b0 b 0x12aac                                     |         goto label_5;
    0x000131b4 add r2, r5, 0x4000                            |         r2 = r5 + 0x4000;
    0x000131b8 ldrb r2, [r2, 0x7e0]                          |         r2 = *((r2 + 0x7e0));
    0x000131bc cmp r2, 0                                     |         
                                                             |         if (r2 == 0) {
    0x000131c0 beq 0x131d0                                   |             goto label_79;
                                                             |         }
    0x000131c4 ldr r2, [r5, 0x604]                           |         r2 = *((r5 + 0x604));
    0x000131c8 tst r3, r2                                    |         
    0x000131cc beq 0x13110                                   |         
                                                             |     }
                                                             | label_79:
    0x000131d0 ldr r8, [r4, 0xa0]                            |     r8 = *((r4 + 0xa0));
    0x000131d4 mov fp, 0                                     |     
    0x000131d8 str sb, [r4, 0x288]                           |     *((r4 + 0x288)) = sb;
    0x000131dc str sb, [r4, 0x284]                           |     *((r4 + 0x284)) = sb;
    0x000131e0 mov r1, 0x40                                  |     r1 = 0x40;
    0x000131e4 mov r0, r8                                    |     r0 = r8;
    0x000131e8 str fp, [sp, 0x8c]                            |     size = fp;
    0x000131ec str fp, [sp, 0x90]                            |     var_90h = fp;
    0x000131f0 str fp, [sp, 0x94]                            |     var_94h = fp;
    0x000131f4 bl 0x5b38                                     |     r0 = strchr (r0, r1);
    0x000131f8 cmp r0, 0                                     |     
    0x000131fc bne 0x13208                                   |     
                                                             |     while (1) {
                                                             | label_15:
    0x00013200 mov fp, r0                                    |         
    0x00013204 b 0x13348                                     |         goto label_80;
    0x00013208 ldr r3, [r5, 0x4d4]                           |         r3 = *((r5 + 0x4d4));
    0x0001320c add r0, r0, 1                                 |         r0++;
    0x00013210 cmp r3, 2                                     |         
    0x00013214 str r0, [r4, 0xa0]                            |         *((r4 + 0xa0)) = r0;
                                                             |         if (r3 == 2) {
    0x00013218 beq 0x13348                                   |             goto label_80;
                                                             |         }
    0x0001321c ldr r3, [sb, 0x44]                            |         r3 = *((sb + 0x44));
    0x00013220 sub r0, r0, r8                                |         r0 -= r8;
    0x00013224 ands r3, r3, 0x400                            |         r3 &= 0x400;
                                                             |         if (r3 == r3) {
    0x00013228 addne r3, sp, 0x94                            |             r3 += var_94h;
                                                             |         }
    0x0001322c sub r1, r0, 1                                 |         r1 = r0 - 1;
    0x00013230 str r3, [sp]                                  |         *(sp) = r3;
    0x00013234 add r2, sp, 0x8c                              |         r2 += size;
    0x00013238 add r3, sp, 0x90                              |         r3 += var_90h;
    0x0001323c mov r0, r8                                    |         r0 = r8;
    0x00013240 bl 0x11ab8                                    |         r0 = Curl_parse_login_details ();
    0x00013244 subs fp, r0, 0                                |         
                                                             |         if (fp != r0) {
    0x00013248 bne 0x13348                                   |             goto label_80;
                                                             |         }
    0x0001324c ldr r1, [sp, 0x8c]                            |         r1 = size;
    0x00013250 cmp r1, 0                                     |         
                                                             |         if (r1 == 0) {
    0x00013254 beq 0x132c0                                   |             goto label_81;
                                                             |         }
    0x00013258 ldrb r3, [r5, 0x670]                          |         r3 = *((r5 + 0x670));
    0x0001325c cmp r3, 0                                     |         
                                                             |         if (r3 == 0) {
    0x00013260 beq 0x1327c                                   |             goto label_82;
                                                             |         }
    0x00013264 ldr r1, [pc, 0x420]                           |         r1 = *(0x13688);
    0x00013268 mov r0, r5                                    |         r0 = r5;
    0x0001326c add r1, pc, r1                                |         r1 = pc + r1;
    0x00013270 bl 0x10544                                    |         Curl_failf ();
    0x00013274 mov r0, 0x43                                  |         r0 = 0x43;
    0x00013278 b 0x13200                                     |         
                                                             |     }
                                                             | label_82:
    0x0001327c mov r3, 1                                     |     r3 = 1;
    0x00013280 strb r3, [r4, 0x268]                          |     *((r4 + 0x268)) = r3;
    0x00013284 strb r3, [r4, 0x258]                          |     *((r4 + 0x258)) = r3;
    0x00013288 mov r2, fp                                    |     r2 = fp;
    0x0001328c str fp, [sp, 4]                               |     var_4h = fp;
    0x00013290 str fp, [sp]                                  |     *(sp) = fp;
    0x00013294 add r3, sp, 0x98                              |     r3 += endptr;
    0x00013298 mov r0, r5                                    |     r0 = r5;
    0x0001329c bl 0x157d4                                    |     r0 = Curl_urldecode ();
    0x000132a0 cmp r0, 0                                     |     
                                                             |     if (r0 != 0) {
    0x000132a4 bne 0x13200                                   |         goto label_15;
                                                             |     }
    0x000132a8 ldr r3, [sp, 0x20]                            |     r3 = var_20h;
    0x000132ac ldr r0, [sp, 0x84]                            |     r0 = nmeb;
    0x000132b0 ldr r3, [r3]                                  |     r3 = *(r3);
    0x000132b4 blx r3                                        |     uint32_t (*r3)(uint32_t, uint32_t) (r0, r3);
    0x000132b8 ldr r3, [sp, 0x98]                            |     r3 = endptr;
    0x000132bc str r3, [sp, 0x84]                            |     nmeb = r3;
                                                             | label_81:
    0x000132c0 ldr r1, [sp, 0x90]                            |     r1 = var_90h;
    0x000132c4 cmp r1, 0                                     |     
                                                             |     if (r1 == 0) {
    0x000132c8 beq 0x13304                                   |         goto label_83;
                                                             |     }
    0x000132cc mov r2, 0                                     |     r2 = 0;
    0x000132d0 str r2, [sp, 4]                               |     var_4h = r2;
    0x000132d4 str r2, [sp]                                  |     *(sp) = r2;
    0x000132d8 add r3, sp, 0x98                              |     r3 += endptr;
    0x000132dc mov r0, r5                                    |     r0 = r5;
    0x000132e0 bl 0x157d4                                    |     r0 = Curl_urldecode ();
    0x000132e4 cmp r0, 0                                     |     
                                                             |     if (r0 != 0) {
    0x000132e8 bne 0x13200                                   |         goto label_15;
                                                             |     }
    0x000132ec ldr r3, [sp, 0x20]                            |     r3 = var_20h;
    0x000132f0 ldr r0, [sp, 0x88]                            |     r0 = var_88h;
    0x000132f4 ldr r3, [r3]                                  |     r3 = *(r3);
    0x000132f8 blx r3                                        |     uint32_t (*r3)(uint32_t, uint32_t) (r0, r3);
    0x000132fc ldr r3, [sp, 0x98]                            |     r3 = endptr;
    0x00013300 str r3, [sp, 0x88]                            |     var_88h = r3;
                                                             | label_83:
    0x00013304 ldr r1, [sp, 0x94]                            |     r1 = var_94h;
    0x00013308 cmp r1, 0                                     |     
                                                             |     if (r1 != 0) {
    0x0001330c beq 0x13348                                   |         
    0x00013310 mov r2, 0                                     |         r2 = 0;
    0x00013314 str r2, [sp, 4]                               |         var_4h = r2;
    0x00013318 str r2, [sp]                                  |         *(sp) = r2;
    0x0001331c add r3, sp, 0x98                              |         r3 += endptr;
    0x00013320 mov r0, r5                                    |         r0 = r5;
    0x00013324 bl 0x157d4                                    |         r0 = Curl_urldecode ();
    0x00013328 subs fp, r0, 0                                |         
                                                             |         if (fp != r0) {
    0x0001332c bne 0x13348                                   |             goto label_80;
                                                             |         }
    0x00013330 ldr r3, [sp, 0x20]                            |         r3 = var_20h;
    0x00013334 ldr r0, [sp, 0x1c]                            |         r0 = var_1ch;
    0x00013338 ldr r3, [r3]                                  |         r3 = *(r3);
    0x0001333c blx r3                                        |         uint32_t (*r3)(uint32_t, uint32_t) (r0, r3);
    0x00013340 ldr r3, [sp, 0x98]                            |         r3 = endptr;
    0x00013344 str r3, [sp, 0x1c]                            |         var_1ch = r3;
                                                             |     }
                                                             | label_80:
    0x00013348 ldr r3, [sp, 0x20]                            |     r3 = var_20h;
    0x0001334c ldr r0, [sp, 0x8c]                            |     r0 = size;
    0x00013350 ldr r3, [r3]                                  |     r3 = *(r3);
    0x00013354 blx r3                                        |     uint32_t (*r3)(uint32_t, uint32_t) (r0, r3);
    0x00013358 ldr r3, [sp, 0x20]                            |     r3 = var_20h;
    0x0001335c ldr r0, [sp, 0x90]                            |     r0 = var_90h;
    0x00013360 ldr r3, [r3]                                  |     r3 = *(r3);
    0x00013364 blx r3                                        |     uint32_t (*r3)(uint32_t, uint32_t) (r0, r3);
    0x00013368 ldr r3, [sp, 0x20]                            |     r3 = var_20h;
    0x0001336c ldr r0, [sp, 0x94]                            |     r0 = var_94h;
    0x00013370 ldr r3, [r3]                                  |     r3 = *(r3);
    0x00013374 blx r3                                        |     uint32_t (*r3)(uint32_t, uint32_t) (r0, r3);
    0x00013378 cmp fp, 0                                     |     
                                                             |     if (fp != 0) {
    0x0001337c bne 0x13128                                   |         goto label_16;
                                                             |     }
    0x00013380 ldr r0, [r4, 0xa0]                            |     r0 = *((r4 + 0xa0));
    0x00013384 ldrb r3, [r0]                                 |     r3 = *(r0);
    0x00013388 cmp r3, 0x5b                                  |     
                                                             |     if (r3 == 0x5b) {
    0x0001338c bne 0x13414                                   |         
    0x00013390 mov r1, 0x25                                  |         r1 = 0x25;
    0x00013394 bl 0x5b38                                     |         r0 = strchr (r0, r1);
    0x00013398 subs r8, r0, 0                                |         r8 = r0 - 0;
                                                             |         if (r8 == r0) {
    0x0001339c beq 0x13414                                   |             goto label_17;
                                                             |         }
    0x000133a0 ldr r0, [pc, 0x2e8]                           |         r0 = *(0x1368c);
    0x000133a4 mov r2, 3                                     |         r2 = 3;
    0x000133a8 mov r1, r8                                    |         r1 = r8;
    0x000133ac add r0, pc, r0                                |         r0 = pc + r0;
    0x000133b0 bl 0x516c                                     |         r0 = strncmp (r0, r1, r2);
    0x000133b4 cmp r0, 0                                     |         
                                                             |         if (r0 != 0) {
    0x000133b8 moveq r0, 3                                   |             r0 = 3;
                                                             |         }
                                                             |         if (r0 != 0) {
    0x000133bc beq 0x133d4                                   |             
    0x000133c0 ldr r1, [pc, 0x2cc]                           |             r1 = *(0x13690);
    0x000133c4 mov r0, r5                                    |             r0 = r5;
    0x000133c8 add r1, pc, r1                                |             r1 = pc + r1;
    0x000133cc bl 0x104cc                                    |             Curl_infof ();
    0x000133d0 mov r0, 1                                     |             r0 = 1;
                                                             |         }
    0x000133d4 mov r2, 0xa                                   |         r2 = 0xa;
    0x000133d8 add r1, sp, 0x98                              |         r1 += endptr;
    0x000133dc add r0, r8, r0                                |         r0 = r8 + r0;
    0x000133e0 bl 0x510c                                     |         strtoul (r0, r1, r2);
    0x000133e4 ldr sl, [sp, 0x98]                            |         sl = endptr;
    0x000133e8 ldrb r3, [sl]                                 |         r3 = *(sl);
    0x000133ec cmp r3, 0x5d                                  |         
    0x000133f0 mov sb, r0                                    |         sb = r0;
                                                             |         if (r3 != 0x5d) {
    0x000133f4 bne 0x13554                                   |             goto label_84;
                                                             |         }
    0x000133f8 mov r0, sl                                    |         r0 = sl;
    0x000133fc bl 0x5250                                     |         strlen (r0);
    0x00013400 mov r1, sl                                    |         r1 = sl;
    0x00013404 add r2, r0, 1                                 |         r2 = r0 + 1;
    0x00013408 mov r0, r8                                    |         r0 = r8;
    0x0001340c bl 0x5448                                     |         memmove (r0, r1, r2);
    0x00013410 str sb, [r4, 0x90]                            |         *((r4 + 0x90)) = sb;
                                                             |     }
                                                             | label_17:
    0x00013414 ldr r3, [r5, 0x5fc]                           |     r3 = *((r5 + 0x5fc));
    0x00013418 mov r1, 0x23                                  |     r1 = 0x23;
    0x0001341c cmp r3, 0                                     |     
                                                             |     if (r3 == 0) {
    0x00013420 strne r3, [r4, 0x90]                          |         *((r4 + 0x90)) = r3;
                                                             |     }
    0x00013424 mov r0, r6                                    |     r0 = r6;
    0x00013428 bl 0x5b38                                     |     r0 = strchr (r0, r1);
    0x0001342c cmp r0, 0                                     |     
                                                             |     if (r0 != 0) {
    0x00013430 beq 0x13450                                   |         
    0x00013434 mov r6, 0                                     |         r6 = 0;
    0x00013438 strb r6, [r0]                                 |         *(r0) = r6;
    0x0001343c mov r1, 0x23                                  |         r1 = 0x23;
    0x00013440 ldr r0, [r5, 0x678]                           |         r0 = *((r5 + 0x678));
    0x00013444 bl 0x5b38                                     |         r0 = strchr (r0, r1);
    0x00013448 cmp r0, 0                                     |         
                                                             |         if (r0 != 0) {
    0x0001344c strbne r6, [r0]                               |             *(r0) = r6;
                                                             |             goto label_85;
                                                             |         }
                                                             |     }
                                                             | label_85:
    0x00013450 cmp r7, 0                                     |     
                                                             |     if (r7 == 0) {
    0x00013454 beq 0x134b8                                   |         goto label_86;
                                                             |     }
    0x00013458 ldr r3, [r4, 0x284]                           |     r3 = *((r4 + 0x284));
    0x0001345c ldr r0, [pc, 0x234]                           |     r0 = *(0x13694);
    0x00013460 ldr r2, [r5, 0x678]                           |     r2 = *((r5 + 0x678));
    0x00013464 ldr r1, [r3]                                  |     r1 = *(r3);
    0x00013468 add r0, pc, r0                                |     r0 = pc + r0;
    0x0001346c bl 0x5b80                                     |     r0 = fcn_00005b80 ();
    0x00013470 subs r6, r0, 0                                |     r6 = r0 - 0;
                                                             |     if (r6 != r0) {
    0x00013474 subne r7, r6, 1                               |         r7 = r6 - 1;
                                                             |         goto label_87;
                                                             |     }
                                                             |     if (r6 == r0) {
                                                             | label_87:
    0x00013478 beq 0x1269c                                   |         goto label_0;
                                                             |     }
                                                             |     do {
    0x0001347c ldrb r0, [r7, 1]!                             |         r0 = *((r7 += 1));
    0x00013480 cmp r0, 0x3a                                  |         
                                                             |         if (r0 == 0x3a) {
    0x00013484 bne 0x13568                                   |             
    0x00013488 ldrb r3, [r5, 0x67c]                          |             r3 = *((r5 + 0x67c));
    0x0001348c cmp r3, 0                                     |             
                                                             |             if (r3 != 0) {
    0x00013490 beq 0x134ac                                   |                 
    0x00013494 ldr r3, [pc, 0x13c]                           |                 
    0x00013498 ldr r2, [sp, 0x24]                            |                 r2 = var_24h;
    0x0001349c ldr r0, [r5, 0x678]                           |                 r0 = *((r5 + 0x678));
    0x000134a0 ldr r3, [r2, r3]                              |                 r3 = *((r2 + r3));
    0x000134a4 ldr r3, [r3]                                  |                 r3 = $d;
    0x000134a8 blx r3                                        |                 uint32_t (*r3)(uint32_t, uint32_t, uint32_t) (r0, r2, r3);
                                                             |             }
    0x000134ac mov r3, 1                                     |             r3 = 1;
    0x000134b0 str r6, [r5, 0x678]                           |             *((r5 + 0x678)) = r6;
    0x000134b4 strb r3, [r5, 0x67c]                          |             *((r5 + 0x67c)) = r3;
                                                             | label_86:
    0x000134b8 ldr r3, [r4, 0x288]                           |             r3 = *((r4 + 0x288));
    0x000134bc ldr r3, [r3, 0x44]                            |             r3 = *((r3 + 0x44));
    0x000134c0 tst r3, 0x40                                  |             
                                                             |             if ((r3 & 0x40) != 0) {
    0x000134c4 beq 0x134e8                                   |                 
    0x000134c8 ldr r3, [r4]                                  |                 r3 = *(r4);
    0x000134cc mov r1, 0x3f                                  |                 r1 = 0x3f;
    0x000134d0 add r3, r3, 0x4000                            |                 r3 += 0x4000;
    0x000134d4 ldr r0, [r3, 0x9ec]                           |                 r0 = *((r3 + 0x9ec));
    0x000134d8 bl 0x5b38                                     |                 r0 = strchr (r0, r1);
    0x000134dc cmp r0, 0                                     |                 
                                                             |                 if (r0 == 0) {
    0x000134e0 movne r3, 0                                   |                     r3 = 0;
                                                             |                 }
                                                             |                 if (r0 != 0) {
    0x000134e4 strbne r3, [r0]                               |                     *(r0) = r3;
                                                             |                     goto label_88;
                                                             |                 }
                                                             |             }
                                                             | label_88:
    0x000134e8 ldr r0, [r5, 0x5e8]                           |             r0 = *((r5 + 0x5e8));
    0x000134ec cmp r0, 0                                     |             
                                                             |             if (r0 != 0) {
    0x000134f0 bne 0x13574                                   |                 goto label_89;
                                                             |             }
                                                             | label_18:
    0x000134f4 ldr r0, [r5, 0x5ec]                           |             r0 = *((r5 + 0x5ec));
    0x000134f8 cmp r0, 0                                     |             
                                                             |             if (r0 != 0) {
    0x000134fc bne 0x13590                                   |                 goto label_90;
                                                             |             }
                                                             | label_19:
    0x00013500 ldrb r3, [r4, 0x259]                          |             r3 = *((r4 + 0x259));
    0x00013504 ldr sl, [r4]                                  |             sl = *(r4);
    0x00013508 cmp r3, 0                                     |             
                                                             |             if (r3 != 0) {
    0x0001350c bne 0x135b4                                   |                 goto label_91;
                                                             |             }
                                                             | label_20:
    0x00013510 ldr r7, [sl, 0x55c]                           |             r7 = *((sl + 0x55c));
    0x00013514 cmp r7, 0                                     |             
                                                             |             if (r7 != 0) {
    0x00013518 bne 0x13748                                   |                 goto label_92;
                                                             |             }
                                                             | label_21:
    0x0001351c ldr r6, [sl, 0x560]                           |             r6 = *((sl + 0x560));
    0x00013520 cmp r6, 0                                     |             
                                                             |             if (r6 == 0) {
    0x00013524 beq 0x13fa0                                   |                 goto label_93;
                                                             |             }
    0x00013528 ldr r3, [sp, 0x28]                            |             r3 = var_28h;
    0x0001352c mov r0, r6                                    |             r0 = r6;
    0x00013530 ldr r3, [r3]                                  |             r3 = *(r3);
    0x00013534 blx r3                                        |             r0 = uint32_t (*r3)(uint32_t, uint32_t) (r0, r3);
    0x00013538 subs r6, r0, 0                                |             r6 = r0 - 0;
                                                             |             if (r6 != r0) {
    0x0001353c bne 0x13fa0                                   |                 goto label_93;
                                                             |             }
    0x00013540 ldr r1, [pc, 0x154]                           |             r1 = *(0x13698);
    0x00013544 mov r0, sl                                    |             r0 = sl;
    0x00013548 add r1, pc, r1                                |             r1 = pc + r1;
    0x0001354c bl 0x10544                                    |             Curl_failf ();
    0x00013550 b 0x13774                                     |             goto label_94;
                                                             | label_84:
    0x00013554 ldr r1, [pc, 0x144]                           |             r1 = *(0x1369c);
    0x00013558 mov r0, r5                                    |             r0 = r5;
    0x0001355c add r1, pc, r1                                |             r1 = pc + r1;
    0x00013560 bl 0x104cc                                    |             Curl_infof ();
    0x00013564 b 0x13414                                     |             goto label_17;
                                                             |         }
    0x00013568 bl 0x4e0c                                     |         tolower (r0);
    0x0001356c strb r0, [r7]                                 |         *(r7) = r0;
    0x00013570 b 0x1347c                                     |         
                                                             |     } while (1);
                                                             | label_89:
    0x00013574 ldr r3, [sp, 0x28]                            |     r3 = var_28h;
    0x00013578 ldr r3, [r3]                                  |     r3 = *(r3);
    0x0001357c blx r3                                        |     r0 = uint32_t (*r3)(uint32_t) (r3);
    0x00013580 cmp r0, 0                                     |     
    0x00013584 str r0, [r4, 0x17c]                           |     *((r4 + 0x17c)) = r0;
                                                             |     if (r0 != 0) {
    0x00013588 bne 0x134f4                                   |         goto label_18;
                                                             |     }
    0x0001358c b 0x1269c                                     |     goto label_0;
                                                             | label_90:
    0x00013590 ldr r3, [sp, 0x28]                            |     r3 = var_28h;
    0x00013594 ldr r3, [r3]                                  |     r3 = *(r3);
    0x00013598 blx r3                                        |     r0 = uint32_t (*r3)(uint32_t) (r3);
    0x0001359c cmp r0, 0                                     |     
    0x000135a0 str r0, [r4, 0x508]                           |     *((r4 + 0x508)) = r0;
                                                             |     if (r0 == 0) {
    0x000135a4 beq 0x1269c                                   |         goto label_0;
                                                             |     }
    0x000135a8 ldrb r3, [r5, 0x664]                          |     r3 = *((r5 + 0x664));
    0x000135ac strb r3, [r4, 0x50c]                          |     *((r4 + 0x50c)) = r3;
    0x000135b0 b 0x13500                                     |     goto label_19;
                                                             | label_91:
    0x000135b4 mov r1, r4                                    |     r1 = r4;
    0x000135b8 mov r0, sl                                    |     r0 = sl;
    0x000135bc bl 0x10bc4                                    |     r0 = parse_proxy_auth ();
    0x000135c0 cmp r0, 0                                     |     
                                                             |     if (r0 == 0) {
    0x000135c4 beq 0x13510                                   |         goto label_20;
                                                             |     }
    0x000135c8 mov fp, r0                                    |     
                                                             | label_30:
    0x000135cc mov r6, 0                                     |     r6 = 0;
    0x000135d0 b 0x144e4                                     |     goto label_95;
                                                             | label_92:
    0x00013748 ldr r3, [sp, 0x28]                            |     r3 = var_28h;
    0x0001374c mov r0, r7                                    |     r0 = r7;
    0x00013750 ldr r3, [r3]                                  |     r3 = *(r3);
    0x00013754 blx r3                                        |     r0 = uint32_t (*r3)(uint32_t, uint32_t) (r0, r3);
    0x00013758 subs r7, r0, 0                                |     r7 = r0 - 0;
                                                             |     if (r7 != r0) {
    0x0001375c bne 0x1351c                                   |         goto label_21;
                                                             |     }
    0x00013760 ldr r1, [pc, -0xc4]                           |     r1 = *(0x000136a4);
    0x00013764 mov r0, sl                                    |     r0 = sl;
    0x00013768 add r1, pc, r1                                |     r1 = pc + r1;
    0x0001376c bl 0x10544                                    |     Curl_failf ();
    0x00013770 mov r6, r7                                    |     r6 = r7;
                                                             | label_94:
    0x00013774 mov fp, 0x1b                                  |     
                                                             | label_31:
    0x00013778 ldr r2, [sp, 0x24]                            |     r2 = var_24h;
    0x0001377c ldr r3, [pc, -0x70]                           |     r3 = *(0x13710);
    0x00013780 mov r0, r6                                    |     r0 = r6;
    0x00013784 ldr r8, [r2, r3]                              |     r8 = *((r2 + r3));
    0x00013788 ldr r3, [r8]                                  |     r3 = *(r8);
    0x0001378c blx r3                                        |     uint32_t (*r3)(uint32_t, uint32_t, uint32_t) (r0, r2, r3);
    0x00013790 ldr r3, [r8]                                  |     r3 = *(r8);
    0x00013794 mov r0, r7                                    |     r0 = r7;
    0x00013798 blx r3                                        |     uint32_t (*r3)(uint32_t, uint32_t) (r0, r3);
    0x0001379c cmp fp, 0                                     |     
                                                             |     if (fp != 0) {
    0x000137a0 bne 0x13128                                   |         goto label_16;
                                                             |     }
    0x000137a4 ldr r3, [r4, 0x288]                           |     r3 = *((r4 + 0x288));
    0x000137a8 ldr r3, [r3, 0x44]                            |     r3 = *((r3 + 0x44));
    0x000137ac tst r3, 1                                     |     
                                                             |     if ((r3 & 1) != 0) {
    0x000137b0 beq 0x137c4                                   |         
    0x000137b4 ldrb r3, [r4, 0x256]                          |         r3 = *((r4 + 0x256));
    0x000137b8 cmp r3, 0                                     |         
                                                             |         if (r3 == 0) {
    0x000137bc movne r3, 1                                   |             r3 = 1;
                                                             |         }
                                                             |         if (r3 != 0) {
    0x000137c0 strbne r3, [r4, 0x261]                        |             *((r4 + 0x261)) = r3;
                                                             |             goto label_96;
                                                             |         }
                                                             |     }
                                                             | label_96:
    0x000137c4 ldr r1, [pc, -0x124]                          |     r1 = *(0x136a4);
    0x000137c8 add r2, sp, 0x98                              |     r2 += endptr;
    0x000137cc add r1, pc, r1                                |     r1 = pc + r1;
    0x000137d0 ldr r0, [r4, 0xa0]                            |     r0 = *((r4 + 0xa0));
    0x000137d4 bl 0x5658                                     |     r0 = sscanf (r0, r1, r2);
    0x000137d8 cmp r0, 1                                     |     
                                                             |     if (r0 != 1) {
    0x000137dc bne 0x14538                                   |         goto label_97;
                                                             |     }
    0x000137e0 ldrb r1, [sp, 0x98]                           |     r1 = endptr;
    0x000137e4 cmp r1, 0x5d                                  |     
                                                             |     if (r1 != 0x5d) {
    0x000137e8 bne 0x14538                                   |         goto label_97;
                                                             |     }
    0x000137ec ldr r3, [r4, 0xa0]                            |     r3 = *((r4 + 0xa0));
    0x000137f0 strb r0, [r4, 0x25a]                          |     *((r4 + 0x25a)) = r0;
    0x000137f4 add r0, r3, 1                                 |     r0 = r3 + 1;
    0x000137f8 str r0, [r4, 0xa0]                            |     *((r4 + 0xa0)) = r0;
    0x000137fc bl 0x5b38                                     |     r0 = strchr (r0, r1);
    0x00013800 cmp r0, 0                                     |     
                                                             |     if (r0 != 0) {
    0x00013804 bne 0x14504                                   |         goto label_98;
                                                             |     }
                                                             | label_32:
    0x00013808 mov r6, 0                                     |     r6 = 0;
                                                             | label_33:
    0x0001380c ldr r3, [r5, 0x150]                           |     r3 = *((r5 + 0x150));
    0x00013810 cmp r3, 0                                     |     
                                                             |     if (r3 == 0) {
    0x00013814 beq 0x14590                                   |         goto label_99;
                                                             |     }
    0x00013818 add r2, r5, 0x4000                            |     r2 = r5 + 0x4000;
    0x0001381c ldrb r2, [r2, 0x82c]                          |     r2 = *((r2 + 0x82c));
    0x00013820 cmp r2, 0                                     |     
                                                             |     if (r2 == 0) {
    0x00013824 beq 0x14590                                   |         goto label_99;
                                                             |     }
    0x00013828 lsl r3, r3, 0x10                              |     r3 <<= 0x10;
    0x0001382c lsr r3, r3, 0x10                              |     r3 >>= 0x10;
    0x00013830 cmp r6, 0                                     |     
    0x00013834 str r3, [r4, 0x100]                           |     *((r4 + 0x100)) = r3;
                                                             |     if (r6 == 0) {
    0x00013838 movne r3, 0                                   |         r3 = 0;
                                                             |     }
                                                             |     if (r6 == 0) {
    0x0001383c strbne r3, [r6]                               |         *(r6) = r3;
                                                             |     }
    0x00013840 ldrb r3, [r4, 0x256]                          |     r3 = *((r4 + 0x256));
    0x00013844 cmp r3, 0                                     |     
                                                             |     if (r3 != 0) {
    0x00013848 beq 0x1393c                                   |         
                                                             |     }
                                                             | label_35:
    0x0001393c ldr r3, [r4, 0x100]                           |     r3 = *((r4 + 0x100));
    0x00013940 cmp r3, 0                                     |     
                                                             |     if (r3 >= 0) {
    0x00013944 ldrlt r3, [r4, 0x288]                         |         r3 = *((r4 + 0x288));
                                                             |     }
    0x00013948 ldrhlt r3, [r3, 0x3c]                         |     __asm ("ldrhlt r3, [r3, 0x3c]");
                                                             |     if (r3 >= 0) {
    0x0001394c strlt r3, [r4, 0x100]                         |         *((r4 + 0x100)) = r3;
                                                             |     }
    0x00013950 ldr r3, [r5, 0x5b4]                           |     r3 = *((r5 + 0x5b4));
    0x00013954 cmp r3, 0                                     |     
                                                             |     if (r3 != 0) {
    0x00013958 bne 0x145ec                                   |         void (*0x145ec)() ();
                                                             |     }
                                                             | label_93:
    0x00013fa0 ldr r3, [sl, 0x5c8]                           |     r3 = *((sl + 0x5c8));
    0x00013fa4 cmp r3, 0                                     |     
                                                             |     if (r3 == 0) {
    0x00013fa8 beq 0x140d0                                   |         goto label_100;
                                                             |     }
                                                             | label_22:
    0x00013fac mov r3, 0                                     |     r3 = 0;
    0x00013fb0 str r3, [sp, 0x38]                            |     var_38h = r3;
                                                             | label_23:
    0x00013fb4 ldr sb, [sl, 0x5c8]                           |     sb = *((sl + 0x5c8));
    0x00013fb8 cmp sb, 0                                     |     
                                                             |     if (sb == 0) {
    0x00013fbc bne 0x13fd0                                   |         
    0x00013fc0 ldr r3, [sp, 0x38]                            |         r3 = var_38h;
    0x00013fc4 cmp r3, 0                                     |         
                                                             |         if (r3 == 0) {
    0x00013fc8 beq 0x14038                                   |             goto label_24;
                                                             |         }
    0x00013fcc mov sb, r3                                    |         sb = r3;
                                                             |     }
    0x00013fd0 ldrb r3, [sb]                                 |     r3 = *(sb);
    0x00013fd4 cmp r3, 0                                     |     
                                                             |     if (r3 != 0) {
    0x00013fd8 beq 0x14038                                   |         
    0x00013fdc ldr r0, [pc, -0x8f8]                          |         r0 = *(0x000136ec);
    0x00013fe0 ldr r3, [r4, 0xa0]                            |         r3 = *((r4 + 0xa0));
    0x00013fe4 mov r1, sb                                    |         r1 = sb;
    0x00013fe8 add r0, pc, r0                                |         r0 = pc + r0;
    0x00013fec str r3, [sp, 0x2c]                            |         s = r3;
    0x00013ff0 bl 0x19dc0                                    |         r0 = Curl_strcasecompare ();
    0x00013ff4 cmp r0, 0                                     |         
                                                             |         if (r0 != 0) {
    0x00013ff8 bne 0x14260                                   |             goto label_101;
                                                             |         }
    0x00013ffc mov r0, sb                                    |         r0 = sb;
    0x00014000 bl 0x5250                                     |         strlen (r0);
    0x00014004 ldr r3, [sp, 0x2c]                            |         r3 = s;
    0x00014008 ldrb r3, [r3]                                 |         r3 = *(r3);
    0x0001400c cmp r3, 0x5b                                  |         
    0x00014010 str r0, [sp, 0x50]                            |         var_50h = r0;
                                                             |         if (r3 != 0x5b) {
    0x00014014 bne 0x14124                                   |             goto label_102;
                                                             |         }
    0x00014018 ldr r0, [sp, 0x2c]                            |         r0 = s;
    0x0001401c mov r1, 0x5d                                  |         r1 = 0x5d;
    0x00014020 bl 0x5b38                                     |         r0 = strchr (r0, r1);
    0x00014024 cmp r0, 0                                     |         
                                                             |         if (r0 == 0) {
    0x00014028 ldrne r3, [sp, 0x2c]                          |             r3 = s;
                                                             |         }
                                                             |         if (r0 == 0) {
    0x0001402c addne r3, r3, 1                               |             r3++;
                                                             |         }
                                                             |         if (r0 == 0) {
    0x00014030 strne r3, [sp, 0x2c]                          |             s = r3;
                                                             |         }
                                                             |         if (r0 != 0) {
    0x00014034 bne 0x14138                                   |             goto label_103;
                                                             |         }
                                                             |     }
                                                             | label_24:
    0x00014038 cmp r7, 0                                     |     
    0x0001403c cmpeq r6, 0                                   |     __asm ("cmpeq r6, 0");
                                                             |     if (r7 != 0) {
    0x00014040 bne 0x1428c                                   |         goto label_27;
                                                             |     }
    0x00014044 ldr r3, [r4, 0x284]                           |     r3 = *((r4 + 0x284));
    0x00014048 add r7, sp, 0xa0                              |     r7 += dest;
    0x0001404c ldr r6, [r3]                                  |     r6 = *(r3);
    0x00014050 sub r6, r6, 1                                 |     r6--;
                                                             | label_25:
    0x00014054 ldrb r0, [r6, 1]!                             |     r0 = *((r6 += 1));
    0x00014058 cmp r0, 0                                     |     
                                                             |     if (r0 != 0) {
    0x0001405c bne 0x142e0                                   |         goto label_104;
                                                             |     }
    0x00014060 ldr r1, [pc, -0x978]                          |     r1 = *(0x136ec);
    0x00014064 mov r0, r7                                    |     r0 = r7;
    0x00014068 add r1, pc, r1                                |     r1 = pc + r1;
    0x0001406c add r6, sp, 0xa0                              |     r6 += dest;
    0x00014070 bl 0x5c28                                     |     strcpy (r0, r1);
    0x00014074 mov r0, r6                                    |     r0 = r6;
    0x00014078 bl 0x58ec                                     |     fcn_000058ec ();
    0x0001407c subs r7, r0, 0                                |     r7 -= dest;
                                                             |     if (r7 != dest) {
    0x00014080 bne 0x140b4                                   |         goto label_105;
                                                             |     }
    0x00014084 ldr r0, [pc, -0x998]                          |     r0 = *(0x136f0);
    0x00014088 mov r1, r6                                    |     r1 = r6;
    0x0001408c add r0, pc, r0                                |     r0 = pc + r0;
    0x00014090 bl 0x19dc0                                    |     r0 = Curl_strcasecompare ();
    0x00014094 cmp r0, 0                                     |     
                                                             |     if (r0 == 0) {
    0x00014098 beq 0x142ec                                   |         goto label_106;
                                                             |     }
                                                             | label_26:
    0x0001409c ldr r6, [pc, -0x9ac]                          |     r6 = *(0x136f4);
    0x000140a0 add r6, pc, r6                                |     r6 = pc + r6;
    0x000140a4 mov r0, r6                                    |     r0 = r6;
    0x000140a8 bl 0x58ec                                     |     r0 = fcn_000058ec ();
    0x000140ac subs r7, r0, 0                                |     r7 = r0 - 0;
                                                             |     if (r7 == r0) {
    0x000140b0 beq 0x14310                                   |         void (*0x14310)() ();
                                                             |     }
                                                             | label_105:
    0x000140b4 ldr r1, [pc, -0x9c0]                          |     r1 = *(0x000136fc);
    0x000140b8 mov r3, r7                                    |     r3 = r7;
    0x000140bc mov r2, r6                                    |     r2 = r6;
    0x000140c0 add r1, pc, r1                                |     r1 = pc + r1;
    0x000140c4 ldr r0, [r4]                                  |     r0 = *(r4);
    0x000140c8 bl 0x104cc                                    |     Curl_infof ();
    0x000140cc b 0x14328                                     |     goto label_107;
                                                             | label_100:
    0x000140d0 ldr r8, [pc, -0x9d8]                          |     r8 = *(0x136fc);
    0x000140d4 add r8, pc, r8                                |     r8 = pc + r8;
    0x000140d8 mov r0, r8                                    |     r0 = r8;
    0x000140dc bl 0x58ec                                     |     r0 = fcn_000058ec ();
    0x000140e0 subs r3, r0, 0                                |     r3 = r0 - 0;
    0x000140e4 str r3, [sp, 0x38]                            |     var_38h = r3;
                                                             |     if (r3 != r0) {
    0x000140e8 bne 0x14108                                   |         goto label_108;
                                                             |     }
    0x000140ec ldr r8, [pc, -0x9f0]                          |     r8 = *(0x13700);
    0x000140f0 add r8, pc, r8                                |     r8 = pc + r8;
    0x000140f4 mov r0, r8                                    |     r0 = r8;
    0x000140f8 bl 0x58ec                                     |     r0 = fcn_000058ec ();
    0x000140fc subs r3, r0, 0                                |     r3 = r0 - 0;
    0x00014100 str r3, [sp, 0x38]                            |     var_38h = r3;
                                                             |     if (r3 == r0) {
    0x00014104 beq 0x13fac                                   |         goto label_22;
                                                             |     }
                                                             | label_108:
    0x00014108 ldr r1, [pc, -0xa08]                          |     r1 = *(0x00013708);
    0x0001410c mov r2, r8                                    |     r2 = r8;
    0x00014110 ldr r3, [sp, 0x38]                            |     r3 = var_38h;
    0x00014114 add r1, pc, r1                                |     r1 = pc + r1;
    0x00014118 ldr r0, [r4]                                  |     r0 = *(r4);
    0x0001411c bl 0x104cc                                    |     Curl_infof ();
    0x00014120 b 0x13fb4                                     |     goto label_23;
                                                             | label_102:
    0x00014124 mov r1, 0x3a                                  |     r1 = 0x3a;
    0x00014128 ldr r0, [sp, 0x2c]                            |     r0 = s;
    0x0001412c bl 0x5b38                                     |     r0 = strchr (r0, r1);
    0x00014130 cmp r0, 0                                     |     
                                                             |     if (r0 == 0) {
    0x00014134 beq 0x14170                                   |         goto label_109;
                                                             |     }
                                                             | label_103:
    0x00014138 ldr r3, [sp, 0x2c]                            |     r3 = s;
    0x0001413c sub r3, r0, r3                                |     r3 = r0 - r3;
    0x00014140 str r3, [sp, 0x44]                            |     var_44h = r3;
                                                             |     do {
    0x00014144 ldr r3, [pc, -0xa40]                          |         r3 = *(0x0001370c);
    0x00014148 mov r8, 0                                     |         r8 = 0;
    0x0001414c add r3, pc, r3                                |         r3 = pc + r3;
    0x00014150 str r3, [sp, 0x64]                            |         var_64h = r3;
    0x00014154 ldr r3, [pc, -0xa4c]                          |         r3 = *(0x00013710);
    0x00014158 add r3, pc, r3                                |         r3 = pc + r3;
    0x0001415c str r3, [sp, 0x68]                            |         var_68h = r3;
    0x00014160 ldr r3, [sp, 0x50]                            |         r3 = var_50h;
    0x00014164 cmp r3, r8                                    |         
                                                             |         if (r3 > r8) {
    0x00014168 bhi 0x14190                                   |             goto label_110;
                                                             |         }
    0x0001416c b 0x14038                                     |         goto label_24;
                                                             | label_109:
    0x00014170 ldr r0, [sp, 0x2c]                            |         r0 = s;
    0x00014174 bl 0x5250                                     |         strlen (r0);
    0x00014178 str r0, [sp, 0x44]                            |         var_44h = r0;
    0x0001417c b 0x14144                                     |         
                                                             |     } while (1);
                                                             | label_110:
    0x00014190 ldrb r1, [sb, r8]                             |     r1 = *((sb + r8));
    0x00014194 ldr r0, [sp, 0x64]                            |     r0 = var_64h;
    0x00014198 bl 0x5b38                                     |     r0 = strchr (r0, r1);
    0x0001419c cmp r0, 0                                     |     
                                                             |     if (r0 != 0) {
    0x000141a0 bne 0x14180                                   |         void (*0x14180)() ();
                                                             |     }
                                                             | label_101:
    0x00014260 ldr r2, [sp, 0x24]                            |     r2 = var_24h;
    0x00014264 ldr r3, [pc, -0xb58]                          |     r3 = *(0x13710);
    0x00014268 mov r0, r7                                    |     r0 = r7;
    0x0001426c ldr r8, [r2, r3]                              |     r8 = *((r2 + r3));
    0x00014270 ldr r3, [r8]                                  |     r3 = *(r8);
    0x00014274 blx r3                                        |     uint32_t (*r3)(uint32_t, uint32_t, uint32_t) (r0, r2, r3);
    0x00014278 mov r0, r6                                    |     r0 = r6;
    0x0001427c ldr r3, [r8]                                  |     r3 = *(r8);
    0x00014280 blx r3                                        |     uint32_t (*r3)(uint32_t, uint32_t) (r0, r3);
    0x00014284 mov r6, 0                                     |     r6 = 0;
    0x00014288 mov r7, r6                                    |     r7 = r6;
                                                             | label_27:
    0x0001428c ldr r3, [pc, -0xb80]                          |     r3 = *(0x13710);
    0x00014290 ldr r2, [sp, 0x24]                            |     r2 = var_24h;
    0x00014294 ldr r0, [sp, 0x38]                            |     r0 = var_38h;
    0x00014298 ldr r8, [r2, r3]                              |     r8 = *((r2 + r3));
    0x0001429c ldr r3, [r8]                                  |     r3 = *(r8);
    0x000142a0 blx r3                                        |     uint32_t (*r3)(uint32_t, uint32_t, uint32_t) (r0, r2, r3);
    0x000142a4 cmp r7, 0                                     |     
                                                             |     if (r7 != 0) {
    0x000142a8 beq 0x142c4                                   |         
    0x000142ac ldr r3, [r4, 0x508]                           |         r3 = *((r4 + 0x508));
    0x000142b0 cmp r3, 0                                     |         
                                                             |         if (r3 == 0) {
    0x000142b4 beq 0x14330                                   |             goto label_111;
                                                             |         }
                                                             | label_28:
    0x000142b8 ldr r3, [r8]                                  |         r3 = *(r8);
    0x000142bc mov r0, r7                                    |         r0 = r7;
    0x000142c0 blx r3                                        |         uint32_t (*r3)(uint32_t, uint32_t) (r0, r3);
                                                             |     }
    0x000142c4 cmp r6, 0                                     |     
                                                             |     if (r6 == 0) {
    0x000142c8 movne r7, 0                                   |         r7 = 0;
                                                             |     }
                                                             |     if (r6 != 0) {
    0x000142cc bne 0x14354                                   |         goto label_112;
                                                             |     }
                                                             | label_29:
    0x000142d0 mov r3, 0                                     |     r3 = 0;
    0x000142d4 strb r3, [r4, 0x257]                          |     *((r4 + 0x257)) = r3;
    0x000142d8 strb r3, [r4, 0x256]                          |     *((r4 + 0x256)) = r3;
    0x000142dc b 0x144b8                                     |     goto label_113;
                                                             | label_104:
    0x000142e0 bl 0x4e0c                                     |     tolower (r0);
    0x000142e4 strb r0, [r7], 1                              |     *(r7) = r0;
                                                             |     r7++;
    0x000142e8 b 0x14054                                     |     goto label_25;
                                                             | label_106:
    0x000142ec mov r2, 0x80                                  |     r2 = 0x80;
    0x000142f0 mov r1, r6                                    |     r1 = r6;
    0x000142f4 mov r0, r6                                    |     r0 = r6;
    0x000142f8 bl 0x19ec4                                    |     Curl_strntoupper ();
    0x000142fc mov r0, r6                                    |     r0 = r6;
    0x00014300 bl 0x58ec                                     |     fcn_000058ec ();
    0x00014304 subs r7, r0, 0                                |     r7 -= dest;
                                                             |     if (r7 == dest) {
    0x00014308 beq 0x1409c                                   |         goto label_26;
                                                             |     }
                                                             | label_107:
    0x00014328 mov r6, 0                                     |     r6 = 0;
    0x0001432c b 0x1428c                                     |     goto label_27;
                                                             | label_111:
    0x00014330 ldrb r3, [r7]                                 |     r3 = *(r7);
    0x00014334 cmp r3, 0                                     |     
                                                             |     if (r3 == 0) {
    0x00014338 beq 0x142b8                                   |         goto label_28;
                                                             |     }
    0x0001433c ldr r3, [r4, 0x284]                           |     r3 = *((r4 + 0x284));
    0x00014340 ldr r3, [r3, 0x44]                            |     r3 = *((r3 + 0x44));
    0x00014344 tst r3, 0x10                                  |     
                                                             |     if ((r3 & 0x10) != 0) {
    0x00014348 bne 0x142b8                                   |         goto label_28;
                                                             |     }
                                                             | label_112:
    0x00014354 ldrb r3, [r6]                                 |     r3 = *(r6);
    0x00014358 cmp r3, 0                                     |     
                                                             |     if (r3 != 0) {
    0x0001435c beq 0x14370                                   |         
    0x00014360 ldr r3, [r4, 0x284]                           |         r3 = *((r4 + 0x284));
    0x00014364 ldr r3, [r3, 0x44]                            |         r3 = *((r3 + 0x44));
    0x00014368 tst r3, 0x10                                  |         
                                                             |         if ((r3 & 0x10) == 0) {
    0x0001436c beq 0x14380                                   |             goto label_114;
                                                             |         }
                                                             |     }
    0x00014370 mov r0, r6                                    |     r0 = r6;
    0x00014374 ldr r3, [r8]                                  |     r3 = *(r8);
    0x00014378 blx r3                                        |     uint32_t (*r3)(uint32_t, uint32_t) (r0, r3);
    0x0001437c mov r6, 0                                     |     r6 = 0;
                                                             | label_114:
    0x00014380 adds r3, r6, 0                                |     r3 = r6 + 0;
                                                             |     if (r3 == r6) {
    0x00014384 movne r3, 1                                   |         r3 = 1;
                                                             |     }
    0x00014388 cmp r6, 0                                     |     
    0x0001438c cmpeq r7, 0                                   |     __asm ("cmpeq r7, 0");
    0x00014390 str r3, [sp, 0x4c]                            |     var_4ch = r3;
                                                             |     if (r6 == 0) {
    0x00014394 beq 0x142d0                                   |         goto label_29;
                                                             |     }
                                                             | label_113:
    0x000144b8 add r3, r4, 0x254                             |     r3 = r4 + 0x254;
    0x000144bc ldrh r6, [r3, 2]                              |     r6 = *((r3 + 2));
    0x000144c0 cmp r6, 0                                     |     
                                                             |     if (r6 == 0) {
    0x000144c4 movne r3, 1                                   |         r3 = 1;
                                                             |     }
                                                             |     if (r6 != 0) {
    0x000144c8 moveq r3, 0                                   |         r3 = 0;
                                                             |     }
    0x000144cc strb r3, [r4, 0x255]                          |     *((r4 + 0x255)) = r3;
                                                             |     if (r6 != 0) {
    0x000144d0 bne 0x135cc                                   |         goto label_30;
                                                             |     }
                                                             | label_95:
    0x000144e4 mov r7, r6                                    |     r7 = r6;
    0x000144e8 b 0x13778                                     |     goto label_31;
                                                             | label_98:
    0x00014504 ldrb r2, [r0, 1]                              |     r2 = *((r0 + 1));
    0x00014508 mov r3, 0                                     |     r3 = 0;
    0x0001450c cmp r2, r3                                    |     
    0x00014510 strb r3, [r0]                                 |     *(r0) = r3;
                                                             |     if (r2 == r3) {
    0x00014514 beq 0x13808                                   |         goto label_32;
                                                             |     }
    0x00014518 cmp r2, 0x3a                                  |     
                                                             |     if (r2 == 0x3a) {
    0x0001451c addeq r6, r0, 1                               |         r6 = r0 + 1;
                                                             |         goto label_115;
                                                             |     }
                                                             |     if (r2 == 0x3a) {
                                                             | label_115:
    0x00014520 beq 0x1380c                                   |         goto label_33;
                                                             |     }
    0x00014524 ldr r1, [pc, -0xe0c]                          |     r1 = *(0x1371c);
    0x00014528 add r1, pc, r1                                |     r1 = pc + r1;
    0x0001452c mov r0, r5                                    |     r0 = r5;
    0x00014530 bl 0x10544                                    |     Curl_failf ();
    0x00014534 b 0x12ab4                                     |     goto label_34;
                                                             | label_97:
    0x00014538 add r2, sp, 0xa0                              |     r2 += dest;
    0x0001453c ldr r1, [r4, 0xa0]                            |     r1 = *((r4 + 0xa0));
    0x00014540 mov r0, 0xa                                   |     r0 = 0xa;
    0x00014544 bl 0x5190                                     |     r0 = inet_pton ();
    0x00014548 cmp r0, 0                                     |     
                                                             |     if (r0 <= 0) {
    0x0001454c ldrgt r1, [pc, -0xe30]                        |         r1 = *((pc - 0xe30));
                                                             |     }
                                                             |     if (r0 > 0) {
    0x00014550 addgt r1, pc, r1                              |         r1 = pc + r1;
                                                             |         goto label_116;
                                                             |     }
                                                             |     if (r0 > 0) {
                                                             | label_116:
    0x00014554 bgt 0x12aac                                   |         goto label_5;
                                                             |     }
    0x00014558 mov r1, 0x3a                                  |     r1 = 0x3a;
    0x0001455c ldr r0, [r4, 0xa0]                            |     r0 = *((r4 + 0xa0));
    0x00014560 bl 0x5b38                                     |     r0 = strchr (r0, r1);
    0x00014564 mov r6, r0                                    |     r6 = r0;
    0x00014568 b 0x1380c                                     |     goto label_33;
                                                             | label_99:
    0x00014590 cmp r6, 0                                     |     
                                                             |     if (r6 == 0) {
    0x00014594 beq 0x1393c                                   |         goto label_35;
                                                             |     }
    0x00014598 add r7, r6, 1                                 |     r7 = r6 + 1;
    0x0001459c mov r2, 0xa                                   |     r2 = 0xa;
    0x000145a0 add r1, sp, 0xa0                              |     r1 += dest;
    0x000145a4 mov r0, r7                                    |     r0 = r7;
    0x000145a8 bl 0x5274                                     |     r0 = strtol (r0, r1, r2);
    0x000145ac cmp r0, 0x10000                               |     
                                                             |     if (r0 < 0x10000) {
    0x000145b0 ldrhs r1, [pc, -0xe84]                        |         r1 = *((pc - 0xe84));
                                                             |     }
                                                             |     if (r0 >= 0x10000) {
    0x000145b4 addhs r1, pc, r1                              |         r1 = pc + r1;
                                                             |         goto label_117;
                                                             |     }
                                                             |     if (r0 >= 0x10000) {
                                                             | label_117:
    0x000145b8 bhs 0x12aac                                   |         goto label_5;
                                                             |     }
                                                             | label_44:
    0x00014a5c blx r3                                        |     uint32_t (*r3)(uint32_t, uint32_t) (r1, r0);
    0x00014a60 b 0x1269c                                     |     goto label_0;
                                                             | label_78:
    0x00015034 ldr r3, [sp, 0x3c]                            |     r3 = var_3ch;
    0x00015038 ldrb r3, [r3]                                 |     r3 = *(r3);
    0x0001503c cmp r3, 0                                     |     
                                                             |     if (r3 != 0) {
    0x00015040 bne 0x1318c                                   |         goto label_36;
                                                             |     }
    0x00015044 ldr r1, [sp, 0x58]                            |     r1 = var_58h;
    0x00015048 bl 0x123bc                                    |     r0 = Curl_setup_conn ();
    0x0001504c cmp r0, 0x59                                  |     
    0x00015050 mov r4, r0                                    |     r4 = r0;
                                                             |     if (r0 == 0x59) {
    0x00015054 bne 0x1506c                                   |         
                                                             | label_42:
    0x00015058 ldr r2, [sp, 0x34]                            |         r2 = var_34h;
    0x0001505c mov r3, 0                                     |         r3 = 0;
    0x00015060 str r3, [r2]                                  |         *(r2) = r3;
    0x00015064 mov r4, 0x59                                  |         r4 = 0x59;
    0x00015068 b 0x13190                                     |         goto label_37;
                                                             |     }
    0x0001506c cmp r0, 0                                     |     
                                                             |     if (r0 == 0) {
    0x00015070 beq 0x1318c                                   |         goto label_36;
                                                             |     }
                                                             | label_43:
    0x00015074 ldr r3, [sp, 0x34]                            |     r3 = var_34h;
    0x00015078 ldr r0, [r3]                                  |     r0 = *(r3);
    0x0001507c cmp r0, 0                                     |     
                                                             |     if (r0 == 0) {
    0x00015080 beq 0x13190                                   |         goto label_37;
                                                             |     }
    0x00015084 mov r1, 0                                     |     r1 = 0;
    0x00015088 bl 0x113b4                                    |     Curl_disconnect ();
    0x0001508c ldr r2, [sp, 0x34]                            |     r2 = var_34h;
    0x00015090 mov r3, 0                                     |     r3 = 0;
    0x00015094 str r3, [r2]                                  |     *(r2) = r3;
    0x00015098 b 0x13190                                     |     goto label_37;
                                                             | label_54:
    0x0001509c ldr r1, [pc, 0x138]                           |     r1 = *(0x151d8);
    0x000150a0 mov r2, 5                                     |     r2 = 5;
    0x000150a4 add r1, pc, r1                                |     r1 = pc + r1;
    0x000150a8 bl 0x19e40                                    |     r0 = Curl_strncasecompare ();
    0x000150ac cmp r0, 0                                     |     
                                                             |     if (r0 == 0) {
    0x000150b0 beq 0x12b1c                                   |         goto label_9;
                                                             |     }
    0x000150b4 ldr r1, [pc, 0x124]                           |     r1 = *(0x151dc);
    0x000150b8 mov r2, r6                                    |     r2 = r6;
    0x000150bc add r1, pc, r1                                |     r1 = pc + r1;
    0x000150c0 ldr r0, [r5, 0x678]                           |     r0 = *((r5 + 0x678));
    0x000150c4 bl 0x5658                                     |     r0 = sscanf (r0, r1, r2);
    0x000150c8 cmp r0, 1                                     |     
                                                             |     if (r0 != 1) {
    0x000150cc bne 0x12bcc                                   |         goto label_38;
                                                             |     }
    0x000150d0 ldrb r3, [r6]                                 |     r3 = *(r6);
    0x000150d4 cmp r3, 0x2f                                  |     
                                                             |     if (r3 != 0x2f) {
    0x000150d8 bne 0x12bf8                                   |         goto label_39;
                                                             |     }
    0x000150dc ldrb r3, [r6, 1]                              |     r3 = *((r6 + 1));
    0x000150e0 cmp r3, 0x2f                                  |     
                                                             |     if (r3 != 0x2f) {
    0x000150e4 bne 0x12bf8                                   |         goto label_39;
                                                             |     }
    0x000150e8 ldrb r3, [r6, 2]                              |     r3 = *((r6 + 2));
    0x000150ec add r7, r6, 2                                 |     r7 = r6 + 2;
    0x000150f0 cmp r3, 0x2f                                  |     
                                                             |     if (r3 == 0x2f) {
    0x000150f4 beq 0x12bdc                                   |         goto label_40;
                                                             |     }
    0x000150f8 bic r3, r3, 0x20                              |     r3 = BIT_MASK (r3, 0x20);
    0x000150fc sub r3, r3, 0x41                              |     r3 -= 0x41;
    0x00015100 cmp r3, 0x19                                  |     
                                                             |     if (r3 > 0x19) {
    0x00015104 bhi 0x1513c                                   |         goto label_118;
                                                             |     }
    0x00015108 ldrb r3, [r6, 3]                              |     r3 = *((r6 + 3));
    0x0001510c cmp r3, 0x3a                                  |     
    0x00015110 cmpne r3, 0x7c                                |     __asm ("cmpne r3, 0x7c");
                                                             |     if (r3 != 0x3a) {
    0x00015114 bne 0x1513c                                   |         goto label_118;
                                                             |     }
    0x00015118 ldrb r2, [r6, 4]                              |     r2 = *((r6 + 4));
    0x0001511c cmp r2, 0x2f                                  |     
    0x00015120 cmpne r2, 0x5c                                |     __asm ("cmpne r2, 0x5c");
                                                             |     if (r2 == 0x2f) {
    0x00015124 movne r3, 1                                   |         r3 = 1;
                                                             |     }
                                                             |     if (r2 != 0x2f) {
    0x00015128 moveq r3, 0                                   |         r3 = 0;
                                                             |     }
    0x0001512c cmp r2, 0                                     |     
                                                             |     if (r2 != 0) {
    0x00015130 moveq r3, 0                                   |         r3 = 0;
                                                             |     }
    0x00015134 cmp r3, 0                                     |     
                                                             |     if (r3 == 0) {
    0x00015138 beq 0x12bdc                                   |         goto label_40;
                                                             |     }
                                                             | label_118:
    0x0001513c ldr r0, [pc, 0xa0]                            |     r0 = *(0x151e0);
    0x00015140 mov r2, 0xa                                   |     r2 = 0xa;
    0x00015144 mov r1, r7                                    |     r1 = r7;
    0x00015148 add r0, pc, r0                                |     r0 = pc + r0;
    0x0001514c bl 0x5bd4                                     |     r0 = fcn_00005bd4 ();
    0x00015150 cmp r0, 0                                     |     
                                                             |     if (r0 != 0) {
    0x00015154 bne 0x12bd8                                   |         goto label_41;
                                                             |     }
    0x00015158 ldr r0, [pc, 0x88]                            |     r0 = *(0x151e4);
    0x0001515c mov r2, 0xa                                   |     r2 = 0xa;
    0x00015160 mov r1, r7                                    |     r1 = r7;
    0x00015164 add r0, pc, r0                                |     r0 = pc + r0;
    0x00015168 bl 0x5bd4                                     |     r0 = fcn_00005bd4 ();
    0x0001516c cmp r0, 0                                     |     
                                                             |     if (r0 != 0) {
    0x00015170 bne 0x12bd8                                   |         goto label_41;
                                                             |     }
    0x00015174 ldr r1, [pc, 0x70]                            |     r1 = *(0x151e8);
    0x00015178 add r1, pc, r1                                |     r1 = pc + r1;
    0x0001517c b 0x12aac                                     |     goto label_5;
                                                             | label_77:
    0x00015180 cmp fp, 0x59                                  |     
                                                             |     if (fp != 0x59) {
    0x00015184 movne r4, fp                                  |         r4 = fp;
                                                             |         goto label_119;
                                                             |     }
                                                             |     if (fp == 0x59) {
                                                             | label_119:
    0x00015188 beq 0x15058                                   |         goto label_42;
                                                             |     }
    0x0001518c b 0x15074                                     |     goto label_43;
                                                             | }
    ; 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/lib/libcurl.so @ 0x1ca30 */
                                                             | #include <stdint.h>
                                                             |  
    ; (fcn) sym.Curl_connecthost ()                          | void Curl_connecthost (int32_t arg1, int32_t arg2) {
                                                             |     int32_t var_0h;
                                                             |     int32_t var_ch;
                                                             |     r0 = arg1;
                                                             |     r1 = arg2;
    0x0001ca30 push {r0, r1, r2, r4, r5, r6, r7, lr}         |     
    0x0001ca34 ldr r5, [r0]                                  |     r5 = *(r0);
    0x0001ca38 mov r6, sp                                    |     r6 = sp;
    0x0001ca3c mov r4, r0                                    |     r4 = r0;
    0x0001ca40 mov r0, r6                                    |     r0 = r6;
    0x0001ca44 mov r7, r1                                    |     r7 = r1;
    0x0001ca48 bl 0x69f0                                     |     Curl_now ();
    0x0001ca4c mov r1, r6                                    |     r1 = r6;
    0x0001ca50 mov r2, 1                                     |     r2 = 1;
    0x0001ca54 mov r0, r5                                    |     r0 = r5;
    0x0001ca58 bl 0x1b738                                    |     r0 = Curl_timeleft ();
    0x0001ca5c subs r6, r0, 0                                |     r6 = r0 - 0;
                                                             |     if (r6 >= r0) {
    0x0001ca60 bge 0x1ca80                                   |         goto label_3;
                                                             |     }
    0x0001ca64 ldr r1, [pc, 0xc4]                            |     r1 = *(0x1cb2c);
    0x0001ca68 mov r0, r5                                    |     r0 = r5;
    0x0001ca6c add r1, pc, r1                                |     r1 = pc + r1;
    0x0001ca70 bl 0x10544                                    |     Curl_failf ();
    0x0001ca74 mov r0, 0x1c                                  |     r0 = 0x1c;
                                                             |     do {
                                                             | label_2:
    0x0001ca78 add sp, sp, 0xc                               |         
    0x0001ca7c pop {r4, r5, r6, r7, pc}                      |         
                                                             | label_3:
    0x0001ca80 ldr r0, [r7]                                  |         r0 = *(r7);
    0x0001ca84 bl 0x70fc                                     |         Curl_num_addresses ();
    0x0001ca88 ldr r3, [r7]                                  |         r3 = *(r7);
    0x0001ca8c mov r2, 0                                     |         r2 = 0;
    0x0001ca90 str r3, [r4, 0x58]                            |         *((r4 + 0x58)) = r3;
    0x0001ca94 ldr r3, [r3, 0x1c]                            |         r3 = *((r3 + 0x1c));
    0x0001ca98 str r2, [r4, 0x5c]                            |         *((r4 + 0x5c)) = r2;
    0x0001ca9c cmp r3, 0                                     |         
    0x0001caa0 asrne r6, r6, 1                               |         __asm ("asrne r6, r6, 1");
    0x0001caa4 mvn r2, 0                                     |         r2 = ~0;
    0x0001caa8 str r6, [r4, 0x280]                           |         *((r4 + 0x280)) = r6;
    0x0001caac add r6, r4, 0x1a0                             |         r6 = r4 + 0x1a0;
    0x0001cab0 str r2, [r4, 0x1a0]                           |         *((r4 + 0x1a0)) = r2;
    0x0001cab4 str r2, [r4, 0x1a4]                           |         *((r4 + 0x1a4)) = r2;
    0x0001cab8 str r0, [r4, 0x27c]                           |         *((r4 + 0x27c)) = r0;
    0x0001cabc mov r0, 7                                     |         r0 = 7;
                                                             | label_1:
    0x0001cac0 ldr r1, [r4, 0x58]                            |         r1 = *((r4 + 0x58));
    0x0001cac4 cmp r1, 0                                     |         
                                                             |         if (r1 != 0) {
    0x0001cac8 bne 0x1cae4                                   |             goto label_4;
                                                             |         }
                                                             | label_0:
    0x0001cacc ldr r3, [r4, 0x1a0]                           |         r3 = *((r4 + 0x1a0));
    0x0001cad0 cmn r3, 1                                     |         
                                                             |         if (r3 != 1) {
    0x0001cad4 bne 0x1cb08                                   |             goto label_5;
                                                             |         }
    0x0001cad8 cmp r0, 0                                     |         
                                                             |         if (r0 != 0) {
    0x0001cadc moveq r0, 7                                   |             r0 = 7;
                                                             |         }
    0x0001cae0 b 0x1ca78                                     |         
                                                             |     } while (1);
                                                             | label_4:
    0x0001cae4 mov r2, r6                                    |     r2 = r6;
    0x0001cae8 mov r0, r4                                    |     r0 = r4;
    0x0001caec bl 0x1bdac                                    |     r0 = singleipconnect ();
    0x0001caf0 cmp r0, 0                                     |     
                                                             |     if (r0 == 0) {
    0x0001caf4 beq 0x1cacc                                   |         goto label_0;
                                                             |     }
    0x0001caf8 ldr r3, [r4, 0x58]                            |     r3 = *((r4 + 0x58));
    0x0001cafc ldr r3, [r3, 0x1c]                            |     r3 = *((r3 + 0x1c));
    0x0001cb00 str r3, [r4, 0x58]                            |     *((r4 + 0x58)) = r3;
    0x0001cb04 b 0x1cac0                                     |     goto label_1;
                                                             | label_5:
    0x0001cb08 add r2, r5, 0x4000                            |     r2 = r5 + 0x4000;
    0x0001cb0c ldr r3, [r2, 0xa84]                           |     r3 = *((r2 + 0xa84));
    0x0001cb10 ldr r0, [r4]                                  |     r0 = *(r4);
    0x0001cb14 add r3, r3, 1                                 |     r3++;
    0x0001cb18 str r3, [r2, 0xa84]                           |     *((r2 + 0xa84)) = r3;
    0x0001cb1c ldr r1, [r5, 0x1ec]                           |     r1 = *((r5 + 0x1ec));
    0x0001cb20 mov r2, 4                                     |     r2 = 4;
    0x0001cb24 bl 0x1e348                                    |     Curl_expire ();
    0x0001cb28 mov r0, 0                                     |     r0 = 0;
    0x0001cb2c b 0x1ca78                                     |     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/lib/libcurl.so @ 0x255d8 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.Curl_connect_complete ()     | uint32_t Curl_connect_complete (int32_t arg1) {
                                             |     r0 = arg1;
    0x000255d8 ldr r3, [r0, 0x4fc]           |     r3 = *((r0 + 0x4fc));
    0x000255dc cmp r3, 0                     |     
                                             |     if (r3 == 0) {
    0x000255e0 addne r3, r3, 0x4000          |         r3 += 0x4000;
                                             |     }
                                             |     if (r3 == 0) {
    0x000255e4 ldrne r0, [r3, 0x1c]          |         r0 = *((r3 + 0x1c));
                                             |     }
                                             |     if (r3 == 0) {
    0x000255e8 subne r0, r0, 2               |         r0 -= 2;
                                             |     }
    0x000255ec clzne r0, r0                  |     __asm ("clzne r0, r0");
                                             |     if (r3 == 0) {
    0x000255f0 lsrne r0, r0, 5               |         r0 >>= 5;
                                             |     }
                                             |     if (r3 != 0) {
    0x000255f4 moveq r0, 1                   |         r0 = 1;
                                             |     }
    0x000255f8 bx lr                         |     return r0;
                                             | }
    ; 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/lib/libcurl.so @ 0x255fc */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.Curl_connect_ongoing ()      | uint32_t Curl_connect_ongoing (size_t nmeb) {
                                             |     r0 = nmeb;
    0x000255fc ldr r0, [r0, 0x4fc]           |     r0 = *((r0 + 0x4fc));
    0x00025600 cmp r0, 0                     |     
                                             |     if (r0 != 0) {
    0x00025604 bxeq lr                       |         return r0;
                                             |     }
    0x00025608 add r0, r0, 0x4000            |     r0 += 0x4000;
    0x0002560c ldr r0, [r0, 0x1c]            |     r0 = *((r0 + 0x1c));
    0x00025610 subs r0, r0, 2                |     r0 -= 2;
                                             |     if (r0 == r0) {
    0x00025614 movne r0, 1                   |         r0 = 1;
                                             |     }
    0x00025618 bx lr                         |     return r0;
                                             | }
    ; 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/lib/libcurl.so @ 0x2561c */
                                         | #include <stdint.h>
                                         |  
    ; (fcn) sym.Curl_connect_free ()     | void Curl_connect_free (int32_t arg1) {
                                         |     r0 = arg1;
    0x0002561c push {r4, lr}             |     
    0x00025620 ldr r4, [r0, 8]           |     r4 = *((r0 + 8));
    0x00025624 ldr r3, [pc, 0x28]        |     
    0x00025628 ldr r0, [r4, 0x4fc]       |     r0 = *((r4 + 0x4fc));
    0x0002562c add r3, pc, r3            |     r3 = pc + r3;
    0x00025630 cmp r0, 0                 |     
    0x00025634 popeq {r4, pc}            |     
    0x00025638 ldr r2, [pc, 0x18]        |     r2 = $d;
    0x0002563c ldr r3, [r3, r2]          |     
    0x00025640 ldr r3, [r3]              |     r3 = *(0x25650);
    0x00025644 blx r3                    |     uint32_t (*r3)(uint32_t, uint32_t) (r2, r3);
    0x00025648 mov r3, 0                 |     r3 = 0;
    0x0002564c str r3, [r4, 0x4fc]       |     *((r4 + 0x4fc)) = r3;
    0x00025650 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/lib/libcurl.so @ 0x255d8 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.Curl_connect_complete ()     | uint32_t Curl_connect_complete (int32_t arg1) {
                                             |     r0 = arg1;
    0x000255d8 ldr r3, [r0, 0x4fc]           |     r3 = *((r0 + 0x4fc));
    0x000255dc cmp r3, 0                     |     
                                             |     if (r3 == 0) {
    0x000255e0 addne r3, r3, 0x4000          |         r3 += 0x4000;
                                             |     }
                                             |     if (r3 == 0) {
    0x000255e4 ldrne r0, [r3, 0x1c]          |         r0 = *((r3 + 0x1c));
                                             |     }
                                             |     if (r3 == 0) {
    0x000255e8 subne r0, r0, 2               |         r0 -= 2;
                                             |     }
    0x000255ec clzne r0, r0                  |     __asm ("clzne r0, r0");
                                             |     if (r3 == 0) {
    0x000255f0 lsrne r0, r0, 5               |         r0 >>= 5;
                                             |     }
                                             |     if (r3 != 0) {
    0x000255f4 moveq r0, 1                   |         r0 = 1;
                                             |     }
    0x000255f8 bx lr                         |     return r0;
                                             | }
    ; 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/lib/libcurl.so @ 0x1ca30 */
                                                             | #include <stdint.h>
                                                             |  
    ; (fcn) sym.Curl_connecthost ()                          | void Curl_connecthost (int32_t arg1, int32_t arg2) {
                                                             |     int32_t var_0h;
                                                             |     int32_t var_ch;
                                                             |     r0 = arg1;
                                                             |     r1 = arg2;
    0x0001ca30 push {r0, r1, r2, r4, r5, r6, r7, lr}         |     
    0x0001ca34 ldr r5, [r0]                                  |     r5 = *(r0);
    0x0001ca38 mov r6, sp                                    |     r6 = sp;
    0x0001ca3c mov r4, r0                                    |     r4 = r0;
    0x0001ca40 mov r0, r6                                    |     r0 = r6;
    0x0001ca44 mov r7, r1                                    |     r7 = r1;
    0x0001ca48 bl 0x69f0                                     |     Curl_now ();
    0x0001ca4c mov r1, r6                                    |     r1 = r6;
    0x0001ca50 mov r2, 1                                     |     r2 = 1;
    0x0001ca54 mov r0, r5                                    |     r0 = r5;
    0x0001ca58 bl 0x1b738                                    |     r0 = Curl_timeleft ();
    0x0001ca5c subs r6, r0, 0                                |     r6 = r0 - 0;
                                                             |     if (r6 >= r0) {
    0x0001ca60 bge 0x1ca80                                   |         goto label_3;
                                                             |     }
    0x0001ca64 ldr r1, [pc, 0xc4]                            |     r1 = *(0x1cb2c);
    0x0001ca68 mov r0, r5                                    |     r0 = r5;
    0x0001ca6c add r1, pc, r1                                |     r1 = pc + r1;
    0x0001ca70 bl 0x10544                                    |     Curl_failf ();
    0x0001ca74 mov r0, 0x1c                                  |     r0 = 0x1c;
                                                             |     do {
                                                             | label_2:
    0x0001ca78 add sp, sp, 0xc                               |         
    0x0001ca7c pop {r4, r5, r6, r7, pc}                      |         
                                                             | label_3:
    0x0001ca80 ldr r0, [r7]                                  |         r0 = *(r7);
    0x0001ca84 bl 0x70fc                                     |         Curl_num_addresses ();
    0x0001ca88 ldr r3, [r7]                                  |         r3 = *(r7);
    0x0001ca8c mov r2, 0                                     |         r2 = 0;
    0x0001ca90 str r3, [r4, 0x58]                            |         *((r4 + 0x58)) = r3;
    0x0001ca94 ldr r3, [r3, 0x1c]                            |         r3 = *((r3 + 0x1c));
    0x0001ca98 str r2, [r4, 0x5c]                            |         *((r4 + 0x5c)) = r2;
    0x0001ca9c cmp r3, 0                                     |         
    0x0001caa0 asrne r6, r6, 1                               |         __asm ("asrne r6, r6, 1");
    0x0001caa4 mvn r2, 0                                     |         r2 = ~0;
    0x0001caa8 str r6, [r4, 0x280]                           |         *((r4 + 0x280)) = r6;
    0x0001caac add r6, r4, 0x1a0                             |         r6 = r4 + 0x1a0;
    0x0001cab0 str r2, [r4, 0x1a0]                           |         *((r4 + 0x1a0)) = r2;
    0x0001cab4 str r2, [r4, 0x1a4]                           |         *((r4 + 0x1a4)) = r2;
    0x0001cab8 str r0, [r4, 0x27c]                           |         *((r4 + 0x27c)) = r0;
    0x0001cabc mov r0, 7                                     |         r0 = 7;
                                                             | label_1:
    0x0001cac0 ldr r1, [r4, 0x58]                            |         r1 = *((r4 + 0x58));
    0x0001cac4 cmp r1, 0                                     |         
                                                             |         if (r1 != 0) {
    0x0001cac8 bne 0x1cae4                                   |             goto label_4;
                                                             |         }
                                                             | label_0:
    0x0001cacc ldr r3, [r4, 0x1a0]                           |         r3 = *((r4 + 0x1a0));
    0x0001cad0 cmn r3, 1                                     |         
                                                             |         if (r3 != 1) {
    0x0001cad4 bne 0x1cb08                                   |             goto label_5;
                                                             |         }
    0x0001cad8 cmp r0, 0                                     |         
                                                             |         if (r0 != 0) {
    0x0001cadc moveq r0, 7                                   |             r0 = 7;
                                                             |         }
    0x0001cae0 b 0x1ca78                                     |         
                                                             |     } while (1);
                                                             | label_4:
    0x0001cae4 mov r2, r6                                    |     r2 = r6;
    0x0001cae8 mov r0, r4                                    |     r0 = r4;
    0x0001caec bl 0x1bdac                                    |     r0 = singleipconnect ();
    0x0001caf0 cmp r0, 0                                     |     
                                                             |     if (r0 == 0) {
    0x0001caf4 beq 0x1cacc                                   |         goto label_0;
                                                             |     }
    0x0001caf8 ldr r3, [r4, 0x58]                            |     r3 = *((r4 + 0x58));
    0x0001cafc ldr r3, [r3, 0x1c]                            |     r3 = *((r3 + 0x1c));
    0x0001cb00 str r3, [r4, 0x58]                            |     *((r4 + 0x58)) = r3;
    0x0001cb04 b 0x1cac0                                     |     goto label_1;
                                                             | label_5:
    0x0001cb08 add r2, r5, 0x4000                            |     r2 = r5 + 0x4000;
    0x0001cb0c ldr r3, [r2, 0xa84]                           |     r3 = *((r2 + 0xa84));
    0x0001cb10 ldr r0, [r4]                                  |     r0 = *(r4);
    0x0001cb14 add r3, r3, 1                                 |     r3++;
    0x0001cb18 str r3, [r2, 0xa84]                           |     *((r2 + 0xa84)) = r3;
    0x0001cb1c ldr r1, [r5, 0x1ec]                           |     r1 = *((r5 + 0x1ec));
    0x0001cb20 mov r2, 4                                     |     r2 = 4;
    0x0001cb24 bl 0x1e348                                    |     Curl_expire ();
    0x0001cb28 mov r0, 0                                     |     r0 = 0;
    0x0001cb2c b 0x1ca78                                     |     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/lib/libcurl.so @ 0x9f7c */
                                                                 | #include <stdint.h>
                                                                 |  
    ; (fcn) sym.Curl_cookie_add ()                               | void Curl_cookie_add (int32_t arg_28h, int32_t arg_2ch, char * s1, int32_t arg_34h, char * format, int32_t arg_3ch, size_t nmeb, int32_t arg_1000h, int32_t arg_1040h, int32_t arg_2040h, int32_t arg1, int32_t arg2) {
                                                                 |     int32_t var_0h;
                                                                 |     int32_t var_4h;
                                                                 |     int32_t var_8h;
                                                                 |     int32_t var_1ch;
                                                                 |     int32_t var_20h;
                                                                 |     r0 = arg1;
                                                                 |     r1 = arg2;
    0x00009f7c push {r4, r5, r6, r7, r8, sb, sl, fp, lr}         |     
    0x00009f80 ldr sl, [pc, 0xc78]                               |     sl = *(0x0000ac00);
    0x00009f84 sub sp, sp, 0x2040                                |     
    0x00009f88 sub sp, sp, 4                                     |     
    0x00009f8c str r3, [sp, 0x34]                                |     *(arg_34h) = r3;
    0x00009f90 add r3, sp, 0x2040                                |     r3 += arg_2040h;
    0x00009f94 add r3, r3, 0x28                                  |     r3 += 0x28;
    0x00009f98 str r0, [sp, 0x28]                                |     *(arg_28h) = r0;
    0x00009f9c mov r0, 0                                         |     r0 = 0;
    0x00009fa0 str r1, [sp, 0x1c]                                |     var_1ch = r1;
    0x00009fa4 mov r5, r2                                        |     r5 = r2;
    0x00009fa8 ldr r6, [r3]                                      |     r6 = *(r3);
    0x00009fac bl 0x5544                                         |     time (r0);
    0x00009fb0 ldr r3, [pc, 0xc4c]                               |     
    0x00009fb4 add sl, pc, sl                                    |     sl = pc + sl;
    0x00009fb8 mov r1, 0x38                                      |     r1 = 0x38;
    0x00009fbc str r0, [sp, 0x30]                                |     *(s1) = r0;
    0x00009fc0 ldr r3, [sl, r3]                                  |     r3 = *((sl + r3));
    0x00009fc4 mov r0, 1                                         |     r0 = 1;
    0x00009fc8 ldr r3, [r3]                                      |     r3 = $d;
    0x00009fcc blx r3                                            |     r0 = uint32_t (*r3)(uint32_t, uint32_t, uint32_t) (r0, r1, r3);
    0x00009fd0 subs r4, r0, 0                                    |     r4 = r0 - 0;
                                                                 |     if (r4 == r0) {
    0x00009fd4 beq 0xa0e8                                        |         goto label_22;
                                                                 |     }
    0x00009fd8 cmp r5, 0                                         |     
                                                                 |     if (r5 == 0) {
    0x00009fdc beq 0xa7c4                                        |         goto label_26;
                                                                 |     }
    0x00009fe0 mov r0, r6                                        |     r0 = r6;
    0x00009fe4 bl 0x5250                                         |     strlen (r0);
    0x00009fe8 ldr r3, [pc, 0xc18]                               |     r3 = *(0xac04);
    0x00009fec cmp r0, r3                                        |     
                                                                 |     if (r0 >= r3) {
    0x00009ff0 bls 0xa00c                                        |         
                                                                 | label_15:
    0x00009ff4 ldr r3, [pc, 0xc10]                               |         
    0x00009ff8 mov r0, r4                                        |         r0 = r4;
    0x00009ffc ldr r3, [sl, r3]                                  |         r3 = *((sl + r3));
    0x0000a000 ldr r3, [r3]                                      |         r3 = *(0xac08);
    0x0000a004 blx r3                                            |         uint32_t (*r3)(uint32_t, uint32_t) (r0, r3);
    0x0000a008 b 0xa0e4                                          |         goto label_0;
                                                                 |     }
    0x0000a00c mov r1, 0x3b                                      |     r1 = 0x3b;
    0x0000a010 mov r0, r6                                        |     r0 = r6;
    0x0000a014 bl 0x5b38                                         |     strchr (r0, r1);
    0x0000a018 mov r3, r6                                        |     r3 = r6;
    0x0000a01c mov fp, r0                                        |     
                                                                 |     do {
    0x0000a020 mov r6, r3                                        |         r6 = r3;
    0x0000a024 ldrb sb, [r3], 1                                  |         sb = *(r3);
                                                                 |         r3++;
    0x0000a028 cmp sb, 0                                         |         
                                                                 |         if (sb == 0) {
    0x0000a02c beq 0xa044                                        |             goto label_27;
                                                                 |         }
    0x0000a030 cmp sb, 9                                         |         
    0x0000a034 cmpne sb, 0x20                                    |         __asm ("cmpne sb, 0x20");
                                                                 |         if (sb != 9) {
    0x0000a038 moveq sb, 1                                       |             sb = 1;
                                                                 |         }
                                                                 |         if (sb == 9) {
    0x0000a03c movne sb, 0                                       |             sb = 0;
                                                                 |         }
    0x0000a040 beq 0xa020                                        |         
                                                                 |     } while (sb == 9);
                                                                 | label_27:
    0x0000a044 ldr r3, [pc, 0xbc4]                               |     r3 = *(0xac0c);
    0x0000a048 add r3, pc, r3                                    |     r3 = pc + r3;
    0x0000a04c str r3, [sp, 0x38]                                |     *(format) = r3;
    0x0000a050 ldr r3, [pc, 0xbbc]                               |     r3 = *(0xac10);
    0x0000a054 add r3, pc, r3                                    |     r3 = pc + r3;
    0x0000a058 str r3, [sp, 0x2c]                                |     *(arg_2ch) = r3;
                                                                 | label_1:
    0x0000a05c mov r3, 0                                         |     r3 = 0;
    0x0000a060 add r8, sp, 0x1040                                |     r8 += arg_1040h;
    0x0000a064 add r7, sp, 0x40                                  |     r7 += nmeb;
    0x0000a068 strb r3, [r8]                                     |     *(r8) = r3;
    0x0000a06c strb r3, [sp, 0x40]                               |     *(nmeb) = r3;
    0x0000a070 mov r2, r7                                        |     r2 = r7;
    0x0000a074 mov r3, r8                                        |     r3 = r8;
    0x0000a078 ldr r1, [sp, 0x38]                                |     r1 = *(format);
    0x0000a07c mov r0, r6                                        |     r0 = r6;
    0x0000a080 bl 0x5658                                         |     r0 = sscanf (r0, r1, r2);
    0x0000a084 cmp r0, 0                                         |     
                                                                 |     if (r0 <= 0) {
    0x0000a088 ble 0xa38c                                        |         goto label_3;
                                                                 |     }
    0x0000a08c mov r0, r8                                        |     r0 = r8;
    0x0000a090 bl 0x5250                                         |     r0 = strlen (r0);
    0x0000a094 mov r8, r0                                        |     r8 = r0;
    0x0000a098 mov r0, r7                                        |     r0 = r7;
    0x0000a09c bl 0x5250                                         |     strlen (r0);
    0x0000a0a0 ldr r2, [pc, 0xb70]                               |     r2 = *(0xac14);
    0x0000a0a4 cmp r8, r2                                        |     
    0x0000a0a8 cmpls r0, r2                                      |     __asm ("cmpls r0, r2");
    0x0000a0ac mov r7, r0                                        |     r7 = r0;
    0x0000a0b0 add r6, r6, r0                                    |     r6 += r0;
                                                                 |     if (r8 <= r2) {
    0x0000a0b4 bhi 0xa0c4                                        |         
    0x0000a0b8 add r2, r8, r0                                    |         r2 = r8 + r0;
    0x0000a0bc cmp r2, 0x1000                                    |         
                                                                 |         if (r2 < 0x1000) {
    0x0000a0c0 bls 0xa0f8                                        |             goto label_28;
                                                                 |         }
                                                                 |     }
    0x0000a0c4 mov r0, r4                                        |     r0 = r4;
    0x0000a0c8 bl 0x99c8                                         |     freecookie ();
    0x0000a0cc ldr r1, [pc, 0xb48]                               |     r1 = *(0xac18);
    0x0000a0d0 mov r3, r8                                        |     r3 = r8;
    0x0000a0d4 mov r2, r7                                        |     r2 = r7;
    0x0000a0d8 add r1, pc, r1                                    |     r1 = pc + r1;
    0x0000a0dc ldr r0, [sp, 0x28]                                |     r0 = *(arg_28h);
    0x0000a0e0 bl 0x104cc                                        |     Curl_infof ();
                                                                 | label_0:
    0x0000a0e4 mov r4, 0                                         |     r4 = 0;
                                                                 | label_22:
    0x0000a0e8 mov r0, r4                                        |     r0 = r4;
    0x0000a0ec add sp, sp, 0x2040                                |     
    0x0000a0f0 add sp, sp, 4                                     |     
    0x0000a0f4 pop {r4, r5, r6, r7, r8, sb, sl, fp, pc}          |     
                                                                 | label_28:
    0x0000a0f8 ldrb r3, [r6]                                     |     r3 = *(r6);
    0x0000a0fc cmp r0, 0                                         |     
    0x0000a100 str r3, [sp, 0x20]                                |     var_20h = r3;
                                                                 |     if (r0 == 0) {
    0x0000a104 beq 0xa144                                        |         goto label_29;
                                                                 |     }
    0x0000a108 ldrb r2, [r6, -1]                                 |     r2 = *((r6 - 1));
    0x0000a10c cmp r2, 9                                         |     
    0x0000a110 cmpne r2, 0x20                                    |     __asm ("cmpne r2, 0x20");
    0x0000a114 bne 0xa144                                        |     
                                                                 |     while (1) {
    0x0000a118 ldrb r2, [r6, -1]!                                |         r2 = *((r6 -= 1));
    0x0000a11c cmp r2, 0                                         |         
                                                                 |         if (r2 != 0) {
    0x0000a120 beq 0xa138                                        |             
    0x0000a124 cmp r2, 9                                         |             
    0x0000a128 cmpne r2, 0x20                                    |             __asm ("cmpne r2, 0x20");
                                                                 |             if (r2 != 9) {
    0x0000a12c bne 0xa138                                        |                 goto label_30;
                                                                 |             }
    0x0000a130 cmp r7, 0                                         |             
                                                                 |             if (r7 != 0) {
    0x0000a134 bne 0xa150                                        |                 goto label_31;
                                                                 |             }
                                                                 |         }
                                                                 | label_30:
    0x0000a138 mov r1, 0                                         |         r1 = 0;
    0x0000a13c add r2, sp, 0x40                                  |         r2 += nmeb;
    0x0000a140 strb r1, [r2, r7]                                 |         *((r2 + r7)) = r1;
                                                                 | label_29:
    0x0000a144 add r0, sp, 0x1040                                |         r0 += arg_1040h;
    0x0000a148 mov ip, 0                                         |         
    0x0000a14c b 0xa160                                          |         goto label_32;
                                                                 | label_31:
    0x0000a150 sub r7, r7, 1                                     |         r7--;
    0x0000a154 b 0xa118                                          |         
                                                                 |     }
                                                                 |     do {
    0x0000a158 mov r8, r2                                        |         r8 = r2;
    0x0000a15c strb ip, [r2, r0]                                 |         *((r2 + r0)) = ip;
                                                                 | label_32:
    0x0000a160 cmp r8, 0                                         |         
                                                                 |         if (r8 == 0) {
    0x0000a164 beq 0xa17c                                        |             goto label_33;
                                                                 |         }
    0x0000a168 sub r2, r8, 1                                     |         r2 = r8 - 1;
    0x0000a16c ldrb r1, [r2, r0]                                 |         r1 = *((r2 + r0));
    0x0000a170 cmp r1, 9                                         |         
    0x0000a174 cmpne r1, 0x20                                    |         __asm ("cmpne r1, 0x20");
    0x0000a178 beq 0xa158                                        |         
                                                                 |     } while (r1 == 9);
                                                                 | label_33:
    0x0000a17c add r6, sp, 0x1000                                |     r6 += arg_1000h;
    0x0000a180 add r6, r6, 0x3f                                  |     r6 += 0x3f;
                                                                 |     do {
    0x0000a184 add r6, r6, 1                                     |         r6++;
    0x0000a188 ldrb r2, [r6]                                     |         r2 = *(r6);
    0x0000a18c mov r7, r6                                        |         r7 = r6;
    0x0000a190 cmp r2, 0                                         |         
                                                                 |         if (r2 == 0) {
    0x0000a194 beq 0xa1a4                                        |             goto label_34;
                                                                 |         }
    0x0000a198 cmp r2, 9                                         |         
    0x0000a19c cmpne r2, 0x20                                    |         __asm ("cmpne r2, 0x20");
    0x0000a1a0 beq 0xa184                                        |         
                                                                 |     } while (r2 == 9);
                                                                 | label_34:
    0x0000a1a4 ldr r2, [r4, 4]                                   |     r2 = *((r4 + 4));
    0x0000a1a8 cmp r2, 0                                         |     
                                                                 |     if (r2 == 0) {
    0x0000a1ac bne 0xa208                                        |         
    0x0000a1b0 ldr r3, [sp, 0x20]                                |         r3 = var_20h;
    0x0000a1b4 cmp r3, 0x3d                                      |         
                                                                 |         if (r3 != 0x3d) {
    0x0000a1b8 bne 0xa2ac                                        |             goto label_2;
                                                                 |         }
    0x0000a1bc ldr r3, [pc, 0xa5c]                               |         r3 = *(0xac1c);
    0x0000a1c0 add r0, sp, 0x40                                  |         r0 += nmeb;
    0x0000a1c4 ldr r7, [sl, r3]                                  |         r7 = *((sl + r3));
    0x0000a1c8 ldr r3, [r7]                                      |         r3 = *(r7);
    0x0000a1cc blx r3                                            |         uint32_t (*r3)(uint32_t, uint32_t) (r0, r3);
    0x0000a1d0 ldr r3, [r7]                                      |         r3 = *(r7);
    0x0000a1d4 str r0, [r4, 4]                                   |         *((r4 + 4)) = r0;
    0x0000a1d8 mov r0, r6                                        |         r0 = r6;
    0x0000a1dc blx r3                                            |         uint32_t (*r3)(uint32_t, uint32_t) (r0, r3);
    0x0000a1e0 ldr r3, [r4, 4]                                   |         r3 = *((r4 + 4));
    0x0000a1e4 cmp r3, 0                                         |         
    0x0000a1e8 str r0, [r4, 8]                                   |         *((r4 + 8)) = r0;
    0x0000a1ec clz r0, r0                                        |         r0 &= r0;
    0x0000a1f0 lsr r0, r0, 5                                     |         r0 >>= 5;
                                                                 |         if (r3 != 0) {
    0x0000a1f4 moveq r0, 1                                       |             r0 = 1;
                                                                 |         }
    0x0000a1f8 cmp r0, 0                                         |         
                                                                 |         if (r0 == 0) {
    0x0000a1fc beq 0xa38c                                        |             goto label_3;
                                                                 |         }
    0x0000a200 mov r5, r0                                        |         r5 = r0;
    0x0000a204 b 0xa2ac                                          |         goto label_2;
                                                                 |     }
    0x0000a208 cmp r8, 0                                         |     
    0x0000a20c beq 0xa334                                        |     
                                                                 |     while (r3 == 0x3d) {
    0x0000a210 ldr r0, [pc, 0xa0c]                               |         r0 = *(0xac20);
    0x0000a214 add r8, sp, 0x40                                  |         r8 += nmeb;
    0x0000a218 mov r1, r8                                        |         r1 = r8;
    0x0000a21c add r0, pc, r0                                    |         r0 = pc + r0;
    0x0000a220 bl 0x19dc0                                        |         r0 = Curl_strcasecompare ();
    0x0000a224 cmp r0, 0                                         |         
                                                                 |         if (r0 != 0) {
    0x0000a228 bne 0xa3f4                                        |             goto label_35;
                                                                 |         }
    0x0000a22c ldr r0, [pc, 0x9f4]                               |         r0 = *(0xac24);
    0x0000a230 mov r1, r8                                        |         r1 = r8;
    0x0000a234 add r0, pc, r0                                    |         r0 = pc + r0;
    0x0000a238 bl 0x19dc0                                        |         r0 = Curl_strcasecompare ();
    0x0000a23c cmp r0, 0                                         |         
                                                                 |         if (r0 == 0) {
    0x0000a240 beq 0xa4c8                                        |             goto label_36;
                                                                 |         }
    0x0000a244 ldrb r3, [r6]                                     |         r3 = *(r6);
    0x0000a248 mov r1, 0x2e                                      |         r1 = 0x2e;
    0x0000a24c cmp r3, 0x2e                                      |         
                                                                 |         if (r3 != 0x2e) {
    0x0000a250 addeq r7, r6, 1                                   |             r7 = r6 + 1;
                                                                 |         }
    0x0000a254 mov r0, r7                                        |         r0 = r7;
    0x0000a258 bl 0x5b38                                         |         r0 = strchr (r0, r1);
    0x0000a25c cmp r0, 0                                         |         
                                                                 |         if (r0 == 0) {
    0x0000a260 beq 0xa438                                        |             goto label_37;
                                                                 |         }
                                                                 | label_4:
    0x0000a264 add r3, sp, 0x2040                                |         r3 += arg_2040h;
    0x0000a268 add r3, r3, 0x2c                                  |         r3 += 0x2c;
    0x0000a26c ldr r0, [r3]                                      |         r0 = *(r3);
    0x0000a270 cmp r0, 0                                         |         
                                                                 |         if (r0 != 0) {
    0x0000a274 moveq r0, r7                                      |             r0 = r7;
                                                                 |         }
                                                                 | label_5:
    0x0000a278 bl 0x9e94                                         |         isip ();
    0x0000a27c add r3, sp, 0x2040                                |         r3 += arg_2040h;
    0x0000a280 add r3, r3, 0x2c                                  |         r3 += 0x2c;
    0x0000a284 ldr r3, [r3]                                      |         r3 = *(r3);
    0x0000a288 cmp r3, 0                                         |         
    0x0000a28c mov r6, r0                                        |         r6 = r0;
                                                                 |         if (r3 != 0) {
    0x0000a290 bne 0xa468                                        |             goto label_38;
                                                                 |         }
                                                                 | label_6:
    0x0000a294 mov r1, r7                                        |         r1 = r7;
    0x0000a298 add r0, r4, 0x14                                  |         r0 = r4 + 0x14;
    0x0000a29c bl 0x9a58                                         |         strstore ();
    0x0000a2a0 ldr r3, [r4, 0x14]                                |         r3 = *((r4 + 0x14));
    0x0000a2a4 cmp r3, 0                                         |         
                                                                 |         if (r3 != 0) {
    0x0000a2a8 bne 0xa4b8                                        |             goto label_39;
                                                                 |         }
                                                                 | label_2:
    0x0000a2ac ldr r0, [r4, 0x2c]                                |         r0 = *((r4 + 0x2c));
    0x0000a2b0 cmp r0, 0                                         |         
                                                                 |         if (r0 == 0) {
    0x0000a2b4 beq 0xa564                                        |             goto label_40;
                                                                 |         }
    0x0000a2b8 ldrb r3, [r0]                                     |         r3 = *(r0);
    0x0000a2bc mov r2, 0xa                                       |         r2 = 0xa;
    0x0000a2c0 cmp r3, 0x22                                      |         
                                                                 |         if (r3 != 0x22) {
    0x0000a2c4 addeq r0, r0, 1                                   |             r0++;
                                                                 |         }
    0x0000a2c8 add r3, r4, 0x18                                  |         r3 = r4 + 0x18;
    0x0000a2cc mov r1, 0                                         |         r1 = 0;
    0x0000a2d0 bl 0x2188c                                        |         r0 = curlx_strtoofft ();
    0x0000a2d4 cmp r0, 1                                         |         
                                                                 |         if (r0 != 1) {
    0x0000a2d8 mvneq r2, 0                                       |             r2 = ~0;
                                                                 |         }
                                                                 |         if (r0 != 1) {
    0x0000a2dc mvneq r3, 0x80000000                              |             r3 = ~0x80000000;
                                                                 |         }
                                                                 |         if (r0 == 1) {
    0x0000a2e0 beq 0xa55c                                        |             goto label_11;
                                                                 |         }
    0x0000a2e4 cmp r0, 0                                         |         
                                                                 |         if (r0 == 0) {
    0x0000a2e8 bne 0xa320                                        |             
    0x0000a2ec ldr r2, [sp, 0x30]                                |             r2 = *(s1);
    0x0000a2f0 ldrd r0, r1, [r4, 0x18]                           |             __asm ("ldrd r0, r1, [r4, 0x18]");
    0x0000a2f4 asr r3, r2, 0x1f                                  |             r3 = r2 >> 0x1f;
    0x0000a2f8 mvn r6, 0                                         |             r6 = ~0;
    0x0000a2fc strd r2, r3, [sp, 0x20]                           |             __asm ("strd r2, r3, [sp, 0x20]");
    0x0000a300 mvn r7, 0x80000000                                |             r7 = ~0x80000000;
    0x0000a304 subs r2, r6, r2                                   |             r2 = r6 - r2;
    0x0000a308 sbc r3, r7, r3                                    |             __asm ("sbc r3, r7, r3");
    0x0000a30c mov sb, r3                                        |             sb = r3;
    0x0000a310 cmp r2, r0                                        |             
    0x0000a314 sbcs r3, sb, r1                                   |             __asm ("sbcs r3, sb, r1");
                                                                 |             if (r2 >= r0) {
    0x0000a318 bge 0xa550                                        |                 goto label_41;
                                                                 |             }
    0x0000a31c strd r6, r7, [r4, 0x18]                           |             __asm ("strd r6, r7, [r4, 0x18]");
                                                                 |         }
                                                                 | label_10:
    0x0000a320 cmp r5, 0                                         |         
                                                                 |         if (r5 == 0) {
    0x0000a324 beq 0xa5a8                                        |             goto label_42;
                                                                 |         }
                                                                 | label_12:
    0x0000a328 mov r0, r4                                        |         r0 = r4;
    0x0000a32c bl 0x99c8                                         |         freecookie ();
    0x0000a330 b 0xa0e4                                          |         goto label_0;
    0x0000a334 ldr r0, [pc, 0x8f0]                               |         r0 = *(0xac28);
    0x0000a338 add r3, sp, 0x40                                  |         r3 += nmeb;
    0x0000a33c mov r1, r3                                        |         r1 = r3;
    0x0000a340 add r0, pc, r0                                    |         r0 = pc + r0;
    0x0000a344 str r3, [sp, 0x3c]                                |         *(arg_3ch) = r3;
    0x0000a348 bl 0x19dc0                                        |         Curl_strcasecompare ();
    0x0000a34c ldr r3, [sp, 0x3c]                                |         r3 = *(arg_3ch);
    0x0000a350 cmp r0, 0                                         |         
                                                                 |         if (r0 == 0) {
    0x0000a354 movne r3, 1                                       |             r3 = 1;
                                                                 |         }
                                                                 |         if (r0 == 0) {
    0x0000a358 strbne r3, [r4, 0x30]                             |             *((r4 + 0x30)) = r3;
                                                                 |         }
                                                                 |         if (r0 != 0) {
    0x0000a35c bne 0xa38c                                        |             goto label_3;
                                                                 |         }
    0x0000a360 ldr r0, [pc, 0x8c8]                               |         r0 = *(0xac2c);
    0x0000a364 mov r1, r3                                        |         r1 = r3;
    0x0000a368 add r0, pc, r0                                    |         r0 = pc + r0;
    0x0000a36c bl 0x19dc0                                        |         r0 = Curl_strcasecompare ();
    0x0000a370 cmp r0, 0                                         |         
                                                                 |         if (r0 == 0) {
    0x0000a374 movne r3, 1                                       |             r3 = 1;
                                                                 |         }
                                                                 |         if (r0 == 0) {
    0x0000a378 strbne r3, [r4, 0x32]                             |             *((r4 + 0x32)) = r3;
                                                                 |         }
                                                                 |         if (r0 != 0) {
    0x0000a37c bne 0xa38c                                        |             goto label_3;
                                                                 |         }
    0x0000a380 ldr r3, [sp, 0x20]                                |         r3 = var_20h;
    0x0000a384 cmp r3, 0x3d                                      |         
    0x0000a388 beq 0xa210                                        |         
                                                                 |     }
                                                                 | label_3:
    0x0000a38c cmp fp, 0                                         |     
                                                                 |     if (fp == 0) {
    0x0000a390 beq 0xa3ec                                        |         goto label_43;
                                                                 |     }
    0x0000a394 ldrb r3, [fp]                                     |     r3 = *(fp);
    0x0000a398 cmp r3, 0                                         |     
                                                                 |     if (r3 == 0) {
    0x0000a39c beq 0xa3ec                                        |         goto label_43;
                                                                 |     }
    0x0000a3a0 add fp, fp, 1                                     |     
                                                                 |     do {
    0x0000a3a4 mov r6, fp                                        |         r6 = fp;
    0x0000a3a8 ldrb r7, [fp], 1                                  |         r7 = *(fp);
                                                                 |         fp++;
    0x0000a3ac cmp r7, 0                                         |         
                                                                 |         if (r7 == 0) {
    0x0000a3b0 beq 0xa3c0                                        |             goto label_44;
                                                                 |         }
    0x0000a3b4 cmp r7, 9                                         |         
    0x0000a3b8 cmpne r7, 0x20                                    |         __asm ("cmpne r7, 0x20");
    0x0000a3bc beq 0xa3a4                                        |         
                                                                 |     } while (r7 == 9);
                                                                 | label_44:
    0x0000a3c0 mov r1, 0x3b                                      |     r1 = 0x3b;
    0x0000a3c4 mov r0, r6                                        |     r0 = r6;
    0x0000a3c8 bl 0x5b38                                         |     r0 = strchr (r0, r1);
    0x0000a3cc subs fp, r0, 0                                    |     
                                                                 |     if (fp != r0) {
    0x0000a3d0 bne 0xa05c                                        |         goto label_1;
                                                                 |     }
    0x0000a3d4 cmp r7, 0                                         |     
                                                                 |     if (r7 == 0) {
    0x0000a3d8 beq 0xa3ec                                        |         goto label_43;
                                                                 |     }
    0x0000a3dc mov r0, r6                                        |     r0 = r6;
    0x0000a3e0 bl 0x5250                                         |     r0 = strlen (r0);
    0x0000a3e4 adds fp, r6, r0                                   |     
                                                                 |     if (fp != r6) {
    0x0000a3e8 bne 0xa05c                                        |         goto label_1;
                                                                 |     }
                                                                 | label_43:
    0x0000a3ec mov r5, sb                                        |     r5 = sb;
    0x0000a3f0 b 0xa2ac                                          |     goto label_2;
                                                                 | label_35:
    0x0000a3f4 mov r1, r6                                        |     r1 = r6;
    0x0000a3f8 add r0, r4, 0xc                                   |     r0 = r4 + 0xc;
    0x0000a3fc bl 0x9a58                                         |     strstore ();
    0x0000a400 ldr r3, [r4, 0xc]                                 |     r3 = *((r4 + 0xc));
    0x0000a404 cmp r3, 0                                         |     
                                                                 |     if (r3 == 0) {
    0x0000a408 beq 0xa2ac                                        |         goto label_2;
                                                                 |     }
    0x0000a40c ldr r3, [pc, 0x7f8]                               |     
    0x0000a410 ldr r0, [r4, 0x10]                                |     r0 = *((r4 + 0x10));
    0x0000a414 ldr r3, [sl, r3]                                  |     r3 = *((sl + r3));
    0x0000a418 ldr r3, [r3]                                      |     r3 = *(0xac08);
    0x0000a41c blx r3                                            |     uint32_t (*r3)(uint32_t, uint32_t) (r0, r3);
    0x0000a420 ldr r0, [r4, 0xc]                                 |     r0 = *((r4 + 0xc));
    0x0000a424 bl 0x9c58                                         |     r0 = sanitize_cookie_path ();
    0x0000a428 cmp r0, 0                                         |     
    0x0000a42c str r0, [r4, 0x10]                                |     *((r4 + 0x10)) = r0;
                                                                 |     if (r0 != 0) {
                                                                 | label_8:
    0x0000a430 bne 0xa38c                                        |         goto label_3;
                                                                 |     }
    0x0000a434 b 0xa2ac                                          |     goto label_2;
                                                                 | label_37:
    0x0000a438 ldr r1, [pc, 0x7f4]                               |     r1 = *(0xac30);
    0x0000a43c mov r0, r7                                        |     r0 = r7;
    0x0000a440 add r1, pc, r1                                    |     r1 = pc + r1;
    0x0000a444 bl 0x19dc0                                        |     r0 = Curl_strcasecompare ();
    0x0000a448 cmp r0, 0                                         |     
                                                                 |     if (r0 != 0) {
    0x0000a44c bne 0xa264                                        |         goto label_4;
                                                                 |     }
    0x0000a450 ldr r2, [sp, 0x2c]                                |     r2 = *(arg_2ch);
    0x0000a454 add r3, sp, 0x2040                                |     r3 += arg_2040h;
    0x0000a458 add r3, r3, 0x2c                                  |     r3 += 0x2c;
    0x0000a45c str r2, [r3]                                      |     *(r3) = r2;
    0x0000a460 mov r0, r2                                        |     r0 = r2;
    0x0000a464 b 0xa278                                          |     goto label_5;
                                                                 | label_38:
    0x0000a468 add r3, sp, 0x2040                                |     r3 += arg_2040h;
    0x0000a46c add r3, r3, 0x2c                                  |     r3 += 0x2c;
    0x0000a470 cmp r6, 0                                         |     
    0x0000a474 ldr r1, [r3]                                      |     r1 = *(r3);
    0x0000a478 mov r0, r7                                        |     r0 = r7;
                                                                 |     if (r6 == 0) {
    0x0000a47c beq 0xa4a8                                        |         goto label_45;
                                                                 |     }
    0x0000a480 bl 0x5a30                                         |     r0 = strcmp (r0, r1);
    0x0000a484 cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x0000a488 beq 0xa294                                        |         goto label_6;
                                                                 |     }
                                                                 | label_7:
    0x0000a48c ldr r1, [pc, 0x7a4]                               |     r1 = *(0xac34);
    0x0000a490 mov r2, r7                                        |     r2 = r7;
    0x0000a494 add r1, pc, r1                                    |     r1 = pc + r1;
    0x0000a498 ldr r0, [sp, 0x28]                                |     r0 = *(arg_28h);
    0x0000a49c bl 0x104cc                                        |     Curl_infof ();
    0x0000a4a0 mov sb, r5                                        |     sb = r5;
    0x0000a4a4 b 0xa38c                                          |     goto label_3;
                                                                 | label_45:
    0x0000a4a8 bl 0x9b3c                                         |     r0 = tailmatch ();
    0x0000a4ac cmp r0, 0                                         |     
                                                                 |     if (r0 != 0) {
    0x0000a4b0 bne 0xa294                                        |         goto label_6;
                                                                 |     }
    0x0000a4b4 b 0xa48c                                          |     goto label_7;
                                                                 | label_39:
    0x0000a4b8 cmp r6, 0                                         |     
                                                                 |     if (r6 != 0) {
    0x0000a4bc moveq r3, 1                                       |         r3 = 1;
                                                                 |     }
                                                                 |     if (r6 != 0) {
    0x0000a4c0 strbeq r3, [r4, 0x24]                             |         *((r4 + 0x24)) = r3;
                                                                 |     }
    0x0000a4c4 b 0xa38c                                          |     goto label_3;
                                                                 | label_36:
    0x0000a4c8 ldr r0, [pc, 0x76c]                               |     r0 = *(0xac38);
    0x0000a4cc mov r1, r8                                        |     r1 = r8;
    0x0000a4d0 add r0, pc, r0                                    |     r0 = pc + r0;
    0x0000a4d4 bl 0x19dc0                                        |     r0 = Curl_strcasecompare ();
    0x0000a4d8 cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x0000a4dc beq 0xa4f8                                        |         goto label_46;
                                                                 |     }
    0x0000a4e0 mov r1, r6                                        |     r1 = r6;
    0x0000a4e4 add r0, r4, 0x28                                  |     r0 = r4 + 0x28;
    0x0000a4e8 bl 0x9a58                                         |     strstore ();
    0x0000a4ec ldr r3, [r4, 0x28]                                |     r3 = *((r4 + 0x28));
                                                                 |     do {
                                                                 | label_9:
    0x0000a4f0 cmp r3, 0                                         |         
    0x0000a4f4 b 0xa430                                          |         goto label_8;
                                                                 | label_46:
    0x0000a4f8 ldr r0, [pc, 0x740]                               |         r0 = *(0xac3c);
    0x0000a4fc mov r1, r8                                        |         r1 = r8;
    0x0000a500 add r0, pc, r0                                    |         r0 = pc + r0;
    0x0000a504 bl 0x19dc0                                        |         r0 = Curl_strcasecompare ();
    0x0000a508 cmp r0, 0                                         |         
                                                                 |         if (r0 == 0) {
    0x0000a50c beq 0xa524                                        |             goto label_47;
                                                                 |         }
    0x0000a510 mov r1, r6                                        |         r1 = r6;
    0x0000a514 add r0, r4, 0x2c                                  |         r0 = r4 + 0x2c;
    0x0000a518 bl 0x9a58                                         |         strstore ();
    0x0000a51c ldr r3, [r4, 0x2c]                                |         r3 = *((r4 + 0x2c));
    0x0000a520 b 0xa4f0                                          |         
                                                                 |     } while (1);
                                                                 | label_47:
    0x0000a524 ldr r0, [pc, 0x718]                               |     r0 = "__";
    0x0000a528 mov r1, r8                                        |     r1 = r8;
    0x0000a52c add r0, pc, r0                                    |     r0 = pc + r0;
    0x0000a530 bl 0x19dc0                                        |     r0 = Curl_strcasecompare ();
    0x0000a534 cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x0000a538 beq 0xa38c                                        |         goto label_3;
                                                                 |     }
    0x0000a53c mov r1, r6                                        |     r1 = r6;
    0x0000a540 add r0, r4, 0x20                                  |     r0 = r4 + 0x20;
    0x0000a544 bl 0x9a58                                         |     strstore ();
    0x0000a548 ldr r3, [r4, 0x20]                                |     r3 = *((r4 + 0x20));
    0x0000a54c b 0xa4f0                                          |     goto label_9;
                                                                 | label_41:
    0x0000a550 ldrd r2, r3, [sp, 0x20]                           |     __asm ("ldrd r2, r3, [var_20h]");
    0x0000a554 adds r2, r2, r0                                   |     r2 += r0;
    0x0000a558 adc r3, r3, r1                                    |     __asm ("adc r3, r3, r1");
                                                                 | label_11:
    0x0000a55c strd r2, r3, [r4, 0x18]                           |     __asm ("strd r2, r3, [r4, 0x18]");
    0x0000a560 b 0xa320                                          |     goto label_10;
                                                                 | label_40:
    0x0000a564 ldr r3, [r4, 0x20]                                |     r3 = *((r4 + 0x20));
    0x0000a568 cmp r3, 0                                         |     
                                                                 |     if (r3 == 0) {
    0x0000a56c beq 0xa320                                        |         goto label_10;
                                                                 |     }
    0x0000a570 mov r1, r0                                        |     r1 = r0;
    0x0000a574 mov r0, r3                                        |     r0 = r3;
    0x0000a578 bl 0x5a60                                         |     r0 = fcn_00005a60 ();
    0x0000a57c asr r1, r0, 0x1f                                  |     r1 = r0 >> 0x1f;
    0x0000a580 orrs r3, r0, r1                                   |     r3 = r0 | r1;
                                                                 |     if (r3 != r0) {
    0x0000a584 moveq r2, 1                                       |         r2 = 1;
                                                                 |     }
                                                                 |     if (r3 == r0) {
    0x0000a588 beq 0xa5a0                                        |         goto label_48;
                                                                 |     }
    0x0000a58c cmp r0, 0                                         |     
    0x0000a590 sbcs r3, r1, 0                                    |     __asm ("sbcs r3, r1, 0");
    0x0000a594 strdge r0, r1, [r4, 0x18]                         |     __asm ("strdge r0, r1, [r4, 0x18]");
                                                                 |     if (r0 >= 0) {
    0x0000a598 bge 0xa320                                        |         goto label_10;
                                                                 |     }
    0x0000a59c mov r2, 0                                         |     r2 = 0;
                                                                 | label_48:
    0x0000a5a0 mov r3, 0                                         |     r3 = 0;
    0x0000a5a4 b 0xa55c                                          |     goto label_11;
                                                                 | label_42:
    0x0000a5a8 add r3, sp, 0x2040                                |     r3 += arg_2040h;
    0x0000a5ac add r3, r3, 0x2c                                  |     r3 += 0x2c;
    0x0000a5b0 ldr r3, [r3]                                      |     r3 = *(r3);
    0x0000a5b4 ldr r2, [r4, 0x14]                                |     r2 = *((r4 + 0x14));
    0x0000a5b8 adds r3, r3, 0                                    |     r3 += 0;
                                                                 |     if (r3 == r3) {
    0x0000a5bc movne r3, 1                                       |         r3 = 1;
                                                                 |     }
    0x0000a5c0 cmp r2, 0                                         |     
                                                                 |     if (r2 == 0) {
    0x0000a5c4 movne r3, 0                                       |         r3 = 0;
                                                                 |     }
    0x0000a5c8 cmp r3, 0                                         |     
                                                                 |     if (r3 == 0) {
    0x0000a5cc beq 0xa5f8                                        |         goto label_49;
                                                                 |     }
    0x0000a5d0 ldr r3, [pc, 0x648]                               |     
    0x0000a5d4 add r2, sp, 0x2040                                |     r2 += arg_2040h;
    0x0000a5d8 ldr r3, [sl, r3]                                  |     r3 = *((sl + r3));
    0x0000a5dc add r2, r2, 0x2c                                  |     r2 += 0x2c;
    0x0000a5e0 ldr r3, [r3]                                      |     r3 = *(0xac1c);
    0x0000a5e4 ldr r0, [r2]                                      |     r0 = *(r2);
    0x0000a5e8 blx r3                                            |     r0 = uint32_t (*r3)(uint32_t, uint32_t, uint32_t) (r0, r2, r3);
    0x0000a5ec cmp r0, 0                                         |     
    0x0000a5f0 str r0, [r4, 0x14]                                |     *((r4 + 0x14)) = r0;
                                                                 |     if (r0 == 0) {
    0x0000a5f4 beq 0xa328                                        |         goto label_12;
                                                                 |     }
                                                                 | label_49:
    0x0000a5f8 add r3, sp, 0x2040                                |     r3 += arg_2040h;
    0x0000a5fc add r3, r3, 0x30                                  |     r3 += 0x30;
    0x0000a600 ldr r3, [r3]                                      |     r3 = *(r3);
    0x0000a604 ldr r2, [r4, 0xc]                                 |     r2 = *((r4 + 0xc));
    0x0000a608 adds r3, r3, 0                                    |     r3 += 0;
                                                                 |     if (r3 == r3) {
    0x0000a60c movne r3, 1                                       |         r3 = 1;
                                                                 |     }
    0x0000a610 cmp r2, 0                                         |     
                                                                 |     if (r2 == 0) {
    0x0000a614 movne r3, 0                                       |         r3 = 0;
                                                                 |     }
    0x0000a618 cmp r3, 0                                         |     
                                                                 |     if (r3 != 0) {
    0x0000a61c beq 0xa658                                        |         
    0x0000a620 add r3, sp, 0x2040                                |         r3 += arg_2040h;
    0x0000a624 add r3, r3, 0x30                                  |         r3 += 0x30;
    0x0000a628 mov r1, 0x3f                                      |         r1 = 0x3f;
    0x0000a62c ldr r0, [r3]                                      |         r0 = *(r3);
    0x0000a630 bl 0x5b38                                         |         r0 = strchr (r0, r1);
    0x0000a634 subs r2, r0, 0                                    |         r2 = r0 - 0;
                                                                 |         if (r2 != r0) {
    0x0000a638 bne 0xa730                                        |             goto label_50;
                                                                 |         }
    0x0000a63c add r3, sp, 0x2040                                |         r3 += arg_2040h;
    0x0000a640 add r3, r3, 0x30                                  |         r3 += 0x30;
    0x0000a644 mov r1, 0x2f                                      |         r1 = 0x2f;
    0x0000a648 ldr r0, [r3]                                      |         r0 = *(r3);
    0x0000a64c bl 0x5160                                         |         r0 = strrchr (r0, r1);
                                                                 | label_13:
    0x0000a650 cmp r0, 0                                         |         
                                                                 |         if (r0 != 0) {
    0x0000a654 bne 0xa758                                        |             goto label_51;
                                                                 |         }
                                                                 |     }
                                                                 | label_14:
    0x0000a658 ldr r3, [r4, 4]                                   |     r3 = *((r4 + 4));
    0x0000a65c cmp r3, 0                                         |     
                                                                 |     if (r3 == 0) {
    0x0000a660 beq 0xa328                                        |         goto label_12;
                                                                 |     }
                                                                 | label_16:
    0x0000a664 ldr r3, [sp, 0x1c]                                |     r3 = var_1ch;
    0x0000a668 ldrb r5, [r3, 0x404]                              |     r5 = *((r3 + 0x404));
    0x0000a66c cmp r5, 0                                         |     
                                                                 |     if (r5 != 0) {
    0x0000a670 bne 0xa68c                                        |         goto label_52;
                                                                 |     }
    0x0000a674 ldrb r3, [r3, 0x40c]                              |     r3 = *((r3 + 0x40c));
    0x0000a678 cmp r3, 0                                         |     
                                                                 |     if (r3 == 0) {
    0x0000a67c beq 0xa68c                                        |         goto label_52;
                                                                 |     }
    0x0000a680 ldrd r2, r3, [r4, 0x18]                           |     __asm ("ldrd r2, r3, [r4, 0x18]");
    0x0000a684 orrs r3, r2, r3                                   |     r3 = r2 | r3;
                                                                 |     if (r3 == r2) {
    0x0000a688 beq 0xa328                                        |         goto label_12;
                                                                 |     }
                                                                 | label_52:
    0x0000a68c ldr r3, [sp, 0x34]                                |     r3 = *(arg_34h);
    0x0000a690 strb r5, [r4, 0x31]                               |     *((r4 + 0x31)) = r5;
    0x0000a694 cmp r3, 0                                         |     
                                                                 |     if (r3 == 0) {
    0x0000a698 bne 0xa6a4                                        |         
    0x0000a69c ldr r0, [sp, 0x1c]                                |         r0 = var_1ch;
    0x0000a6a0 bl 0x9aa8                                         |         remove_expired ();
                                                                 |     }
    0x0000a6a4 ldr r0, [r4, 0x14]                                |     r0 = *((r4 + 0x14));
    0x0000a6a8 bl 0x9edc                                         |     cookiehash ();
    0x0000a6ac ldr r3, [sp, 0x1c]                                |     r3 = var_1ch;
    0x0000a6b0 mov r7, 0                                         |     r7 = 0;
    0x0000a6b4 ldr r5, [r3, r0, lsl 2]                           |     offset_0 = r0 << 2;
                                                                 |     r5 = *((r3 + offset_0));
    0x0000a6b8 mov r6, r0                                        |     r6 = r0;
                                                                 |     do {
    0x0000a6bc cmp r5, 0                                         |         
                                                                 |         if (r5 == 0) {
    0x0000a6c0 beq 0xab58                                        |             goto label_53;
                                                                 |         }
    0x0000a6c4 ldr r1, [r4, 4]                                   |         r1 = *((r4 + 4));
    0x0000a6c8 ldr r0, [r5, 4]                                   |         r0 = *((r5 + 4));
    0x0000a6cc bl 0x19dc0                                        |         r0 = Curl_strcasecompare ();
    0x0000a6d0 cmp r0, 0                                         |         
                                                                 |         if (r0 != 0) {
    0x0000a6d4 beq 0xa724                                        |             
    0x0000a6d8 ldr r0, [r5, 0x14]                                |             r0 = *((r5 + 0x14));
    0x0000a6dc ldr r1, [r4, 0x14]                                |             r1 = *((r4 + 0x14));
    0x0000a6e0 cmp r0, 0                                         |             
                                                                 |             if (r0 == 0) {
    0x0000a6e4 beq 0xaa74                                        |                 goto label_54;
                                                                 |             }
    0x0000a6e8 cmp r1, 0                                         |             
                                                                 |             if (r1 == 0) {
    0x0000a6ec beq 0xa724                                        |                 goto label_21;
                                                                 |             }
    0x0000a6f0 bl 0x19dc0                                        |             r0 = Curl_strcasecompare ();
    0x0000a6f4 cmp r0, 0                                         |             
                                                                 |             if (r0 == 0) {
    0x0000a6f8 beq 0xa724                                        |                 goto label_21;
                                                                 |             }
    0x0000a6fc ldrb r2, [r5, 0x24]                               |             r2 = *((r5 + 0x24));
    0x0000a700 ldrb r3, [r4, 0x24]                               |             r3 = *((r4 + 0x24));
    0x0000a704 cmp r2, r3                                        |             
                                                                 |             if (r2 != r3) {
                                                                 | label_20:
    0x0000a708 bne 0xa724                                        |                 goto label_21;
                                                                 |             }
    0x0000a70c ldr r0, [r5, 0x10]                                |             r0 = *((r5 + 0x10));
    0x0000a710 ldr r1, [r4, 0x10]                                |             r1 = *((r4 + 0x10));
    0x0000a714 cmp r0, 0                                         |             
                                                                 |             if (r0 != 0) {
    0x0000a718 bne 0xaa7c                                        |                 goto label_55;
                                                                 |             }
    0x0000a71c cmp r1, 0                                         |             
                                                                 |             if (r1 == 0) {
    0x0000a720 beq 0xaa90                                        |                 goto label_56;
                                                                 |             }
                                                                 |         }
                                                                 | label_21:
    0x0000a724 mov r7, r5                                        |         r7 = r5;
    0x0000a728 ldr r5, [r5]                                      |         r5 = *(r5);
    0x0000a72c b 0xa6bc                                          |         
                                                                 |     } while (1);
                                                                 | label_50:
    0x0000a730 add r3, sp, 0x2040                                |     r3 += arg_2040h;
    0x0000a734 add r3, r3, 0x30                                  |     r3 += 0x30;
    0x0000a738 ldr r3, [r3]                                      |     r3 = *(r3);
    0x0000a73c mov r1, 0x2f                                      |     r1 = 0x2f;
    0x0000a740 sub r2, r2, r3                                    |     r2 -= r3;
    0x0000a744 add r3, sp, 0x2040                                |     r3 += arg_2040h;
    0x0000a748 add r3, r3, 0x30                                  |     r3 += 0x30;
    0x0000a74c ldr r0, [r3]                                      |     r0 = *(r3);
    0x0000a750 bl 0x2514c                                        |     Curl_memrchr ();
    0x0000a754 b 0xa650                                          |     goto label_13;
                                                                 | label_51:
    0x0000a758 add r3, sp, 0x2040                                |     r3 += arg_2040h;
    0x0000a75c add r3, r3, 0x30                                  |     r3 += 0x30;
    0x0000a760 ldr r3, [r3]                                      |     r3 = *(r3);
    0x0000a764 sub r0, r0, r3                                    |     r0 -= r3;
    0x0000a768 ldr r3, [pc, 0x4d8]                               |     
    0x0000a76c add r5, r0, 1                                     |     r5 = r0 + 1;
    0x0000a770 ldr r3, [sl, r3]                                  |     r3 = *((sl + r3));
    0x0000a774 add r0, r0, 2                                     |     r0 += 2;
    0x0000a778 ldr r3, [r3]                                      |     r3 = *(0xac44);
    0x0000a77c blx r3                                            |     r0 = uint32_t (*r3)(uint32_t, uint32_t) (r0, r3);
    0x0000a780 cmp r0, 0                                         |     
    0x0000a784 str r0, [r4, 0xc]                                 |     *((r4 + 0xc)) = r0;
                                                                 |     if (r0 == 0) {
    0x0000a788 beq 0xa328                                        |         goto label_12;
                                                                 |     }
    0x0000a78c add r3, sp, 0x2040                                |     r3 += arg_2040h;
    0x0000a790 add r3, r3, 0x30                                  |     r3 += 0x30;
    0x0000a794 ldr r1, [r3]                                      |     r1 = *(r3);
    0x0000a798 mov r2, r5                                        |     r2 = r5;
    0x0000a79c bl 0x4f5c                                         |     memcpy (r0, r1, r2);
    0x0000a7a0 ldr r3, [r4, 0xc]                                 |     r3 = *((r4 + 0xc));
    0x0000a7a4 mov r2, 0                                         |     r2 = 0;
    0x0000a7a8 strb r2, [r3, r5]                                 |     *((r3 + r5)) = r2;
    0x0000a7ac ldr r0, [r4, 0xc]                                 |     r0 = *((r4 + 0xc));
    0x0000a7b0 bl 0x9c58                                         |     r0 = sanitize_cookie_path ();
    0x0000a7b4 cmp r0, 0                                         |     
    0x0000a7b8 str r0, [r4, 0x10]                                |     *((r4 + 0x10)) = r0;
                                                                 |     if (r0 != 0) {
    0x0000a7bc bne 0xa658                                        |         goto label_14;
                                                                 |     }
    0x0000a7c0 b 0xa328                                          |     goto label_12;
                                                                 | label_26:
    0x0000a7c4 ldr r1, [pc, 0x480]                               |     r1 = *(0xac48);
    0x0000a7c8 mov r0, r6                                        |     r0 = r6;
    0x0000a7cc add r7, sp, 0x1040                                |     r7 += arg_1040h;
    0x0000a7d0 mov r2, 0xa                                       |     r2 = 0xa;
    0x0000a7d4 add r1, pc, r1                                    |     r1 = pc + r1;
    0x0000a7d8 str r5, [r7]                                      |     *(r7) = r5;
    0x0000a7dc bl 0x516c                                         |     r0 = strncmp (r0, r1, r2);
    0x0000a7e0 cmp r0, 0                                         |     
                                                                 |     if (r0 != 0) {
    0x0000a7e4 moveq r3, 1                                       |         r3 = 1;
                                                                 |     }
                                                                 |     if (r0 != 0) {
    0x0000a7e8 addeq r6, r6, 0xa                                 |         r6 += 0xa;
                                                                 |     }
                                                                 |     if (r0 != 0) {
    0x0000a7ec strbeq r3, [r4, 0x32]                             |         *((r4 + 0x32)) = r3;
                                                                 |     }
    0x0000a7f0 ldrb r3, [r6]                                     |     r3 = *(r6);
    0x0000a7f4 cmp r3, 0x23                                      |     
                                                                 |     if (r3 == 0x23) {
    0x0000a7f8 beq 0x9ff4                                        |         goto label_15;
                                                                 |     }
    0x0000a7fc mov r1, 0xd                                       |     r1 = 0xd;
    0x0000a800 mov r0, r6                                        |     r0 = r6;
    0x0000a804 bl 0x5b38                                         |     strchr (r0, r1);
    0x0000a808 mov r1, 0xa                                       |     r1 = 0xa;
    0x0000a80c ldr r8, [pc, 0x43c]                               |     r8 = *(0xac4c);
    0x0000a810 mov sb, 0                                         |     sb = 0;
    0x0000a814 add r8, pc, r8                                    |     r8 = pc + r8;
    0x0000a818 cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x0000a81c movne r3, 0                                       |         r3 = 0;
                                                                 |     }
                                                                 |     if (r0 == 0) {
    0x0000a820 strbne r3, [r0]                                   |         *(r0) = r3;
                                                                 |     }
    0x0000a824 mov r0, r6                                        |     r0 = r6;
    0x0000a828 bl 0x5b38                                         |     strchr (r0, r1);
    0x0000a82c ldr r1, [pc, 0x420]                               |     r1 = *(0xac50);
    0x0000a830 mov r2, r7                                        |     r2 = r7;
    0x0000a834 add r1, pc, r1                                    |     r1 = pc + r1;
    0x0000a838 cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x0000a83c movne r3, 0                                       |         r3 = 0;
                                                                 |     }
                                                                 |     if (r0 == 0) {
    0x0000a840 strbne r3, [r0]                                   |         *(r0) = r3;
                                                                 |     }
    0x0000a844 mov r0, r6                                        |     r0 = r6;
    0x0000a848 bl 0x4e78                                         |     strtok_r ();
    0x0000a84c ldr r3, [pc, 0x404]                               |     r3 = *(0xac54);
    0x0000a850 mov r6, sb                                        |     r6 = sb;
    0x0000a854 add r3, pc, r3                                    |     r3 = pc + r3;
    0x0000a858 str r3, [sp, 0x2c]                                |     *(arg_2ch) = r3;
    0x0000a85c ldr r3, [pc, 0x3f8]                               |     r3 = *(0xac58);
    0x0000a860 add r3, pc, r3                                    |     r3 = pc + r3;
    0x0000a864 str r3, [sp, 0x30]                                |     *(s1) = r3;
    0x0000a868 mov r5, r0                                        |     r5 = r0;
                                                                 | label_17:
    0x0000a86c eor r0, sb, 1                                     |     r0 = sb ^ 1;
    0x0000a870 cmp r5, 0                                         |     
                                                                 |     if (r5 != 0) {
    0x0000a874 moveq fp, 0                                       |         
                                                                 |     }
                                                                 |     if (r5 == 0) {
    0x0000a878 andne fp, r0, 1                                   |         
                                                                 |     }
    0x0000a87c cmp fp, 0                                         |     
                                                                 |     if (fp != 0) {
    0x0000a880 bne 0xa8cc                                        |         goto label_57;
                                                                 |     }
    0x0000a884 cmp r6, 6                                         |     
                                                                 |     if (r6 == 6) {
    0x0000a888 bne 0xa8b4                                        |         
    0x0000a88c ldr r3, [pc, 0x38c]                               |         
    0x0000a890 ldr r0, [pc, 0x3c8]                               |         r0 = *(0xac5c);
    0x0000a894 ldr r3, [sl, r3]                                  |         r3 = *((sl + r3));
    0x0000a898 add r0, pc, r0                                    |         r0 = pc + r0;
    0x0000a89c ldr r3, [r3]                                      |         r3 = *(0xac1c);
    0x0000a8a0 blx r3                                            |         r0 = uint32_t (*r3)(uint32_t, uint32_t) (r0, r3);
    0x0000a8a4 cmp r0, 0                                         |         
                                                                 |         if (r0 != 0) {
    0x0000a8a8 moveq sb, 1                                       |             sb = 1;
                                                                 |         }
                                                                 |         if (r0 == 0) {
    0x0000a8ac movne r6, 7                                       |             r6 = 7;
                                                                 |         }
    0x0000a8b0 str r0, [r4, 8]                                   |         *((r4 + 8)) = r0;
                                                                 |     }
    0x0000a8b4 cmp r6, 7                                         |     
                                                                 |     if (r6 != 7) {
    0x0000a8b8 moveq r6, sb                                      |         r6 = sb;
                                                                 |     }
                                                                 |     if (r6 == 7) {
    0x0000a8bc orrne r6, sb, 1                                   |         r6 = sb | 1;
                                                                 |     }
    0x0000a8c0 tst r6, 0xff                                      |     
                                                                 |     if ((r6 & 0xff) == 0) {
    0x0000a8c4 beq 0xa664                                        |         goto label_16;
                                                                 |     }
    0x0000a8c8 b 0xa328                                          |     goto label_12;
                                                                 | label_57:
    0x0000a8cc cmp r6, 6                                         |     
                                                                 |     if (r6 > 6) {
                                                                 |         /* switch table (7 cases) at 0xa8d8 */
    0x0000a8d0 addls pc, pc, r6, lsl 2                           |         pc += (r6 << 2);
                                                                 |     }
    0x0000a8d4 b 0xa960                                          |     goto label_58;
    0x0000a8d8 b 0xa8f4                                          |     goto label_59;
    0x0000a8dc b 0xa944                                          |     goto label_60;
    0x0000a8e0 b 0xa968                                          |     goto label_61;
    0x0000a8e4 b 0xaa14                                          |     goto label_62;
    0x0000a8e8 b 0xaa1c                                          |     goto label_63;
    0x0000a8ec b 0xaa3c                                          |     goto label_64;
    0x0000a8f0 b 0xaa58                                          |     goto label_65;
                                                                 | label_59:
    0x0000a8f4 ldrb r3, [r5]                                     |     r3 = *(r5);
    0x0000a8f8 cmp r3, 0x2e                                      |     
    0x0000a8fc ldr r3, [pc, 0x31c]                               |     
                                                                 |     if (r3 != 0x2e) {
    0x0000a900 addeq r5, r5, 1                                   |         r5++;
                                                                 |     }
    0x0000a904 ldr r3, [sl, r3]                                  |     r3 = *((sl + r3));
    0x0000a908 mov r0, r5                                        |     r0 = r5;
    0x0000a90c ldr r3, [r3]                                      |     r3 = *(0xac1c);
    0x0000a910 blx r3                                            |     uint32_t (*r3)(uint32_t, uint32_t) (r0, r3);
    0x0000a914 str r0, [r4, 0x14]                                |     *((r4 + 0x14)) = r0;
                                                                 | label_19:
    0x0000a918 clz fp, r0                                        |     
    0x0000a91c lsr fp, fp, 5                                     |     
                                                                 |     do {
                                                                 | label_18:
    0x0000a920 ldr r1, [pc, 0x33c]                               |         r1 = *(0xac60);
    0x0000a924 mov r2, r7                                        |         r2 = r7;
    0x0000a928 add r1, pc, r1                                    |         r1 = pc + r1;
    0x0000a92c mov r0, 0                                         |         r0 = 0;
    0x0000a930 bl 0x4e78                                         |         strtok_r ();
    0x0000a934 add r6, r6, 1                                     |         r6++;
    0x0000a938 mov sb, fp                                        |         sb = fp;
    0x0000a93c mov r5, r0                                        |         r5 = r0;
    0x0000a940 b 0xa86c                                          |         goto label_17;
                                                                 | label_60:
    0x0000a944 ldr r1, [pc, 0x31c]                               |         r1 = *(0xac64);
    0x0000a948 mov r0, r5                                        |         r0 = r5;
    0x0000a94c add r1, pc, r1                                    |         r1 = pc + r1;
    0x0000a950 bl 0x19dc0                                        |         r0 = Curl_strcasecompare ();
    0x0000a954 adds r0, r0, 0                                    |         r0 += 0;
                                                                 |         if (r0 == r0) {
    0x0000a958 movne r0, 1                                       |             r0 = 1;
                                                                 |         }
    0x0000a95c strb r0, [r4, 0x24]                               |         *((r4 + 0x24)) = r0;
                                                                 | label_58:
    0x0000a960 mov fp, 0                                         |         
    0x0000a964 b 0xa920                                          |         
                                                                 |     } while (1);
                                                                 | label_61:
    0x0000a968 mov r1, r5                                        |     r1 = r5;
    0x0000a96c ldr r0, [sp, 0x30]                                |     r0 = *(s1);
    0x0000a970 bl 0x5a30                                         |     strcmp (r0, r1);
    0x0000a974 ldr r2, [pc, 0x2a4]                               |     r2 = *(0xac1c);
    0x0000a978 ldr r3, [sl, r2]                                  |     r3 = *((sl + r2));
    0x0000a97c str r3, [sp, 0x20]                                |     var_20h = r3;
    0x0000a980 ldr sb, [r3]                                      |     sb = *(r3);
    0x0000a984 cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x0000a988 beq 0xa9c4                                        |         goto label_66;
                                                                 |     }
    0x0000a98c ldr r0, [pc, 0x2d8]                               |     r0 = *(0xac68);
    0x0000a990 mov r1, r5                                        |     r1 = r5;
    0x0000a994 add r0, pc, r0                                    |     r0 = pc + r0;
    0x0000a998 bl 0x5a30                                         |     r0 = strcmp (r0, r1);
    0x0000a99c cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x0000a9a0 beq 0xa9c4                                        |         goto label_66;
                                                                 |     }
    0x0000a9a4 mov r0, r5                                        |     r0 = r5;
    0x0000a9a8 blx sb                                            |     r0 = sb (r0);
    0x0000a9ac cmp r0, 0                                         |     
    0x0000a9b0 str r0, [r4, 0xc]                                 |     *((r4 + 0xc)) = r0;
                                                                 |     if (r0 == 0) {
    0x0000a9b4 beq 0xa920                                        |         goto label_18;
                                                                 |     }
    0x0000a9b8 bl 0x9c58                                         |     sanitize_cookie_path ();
    0x0000a9bc str r0, [r4, 0x10]                                |     *((r4 + 0x10)) = r0;
    0x0000a9c0 b 0xa918                                          |     goto label_19;
                                                                 | label_66:
    0x0000a9c4 mov r0, r8                                        |     r0 = r8;
    0x0000a9c8 blx sb                                            |     sb (r0);
    0x0000a9cc ldr r3, [sp, 0x20]                                |     r3 = var_20h;
    0x0000a9d0 ldr r2, [r3]                                      |     r2 = *(r3);
    0x0000a9d4 mov r6, r0                                        |     r6 = r0;
    0x0000a9d8 str r0, [r4, 0xc]                                 |     *((r4 + 0xc)) = r0;
    0x0000a9dc mov r0, r8                                        |     r0 = r8;
    0x0000a9e0 blx r2                                            |     r0 = uint32_t (*r2)(uint32_t, uint32_t, uint32_t) (r0, r2, r3);
    0x0000a9e4 cmp r0, 0                                         |     
    0x0000a9e8 clzne fp, r6                                      |     __asm ("clzne fp, r6");
                                                                 |     if (r0 == 0) {
    0x0000a9ec lsrne fp, fp, 5                                   |         
                                                                 |     }
    0x0000a9f0 str r0, [r4, 0x10]                                |     *((r4 + 0x10)) = r0;
                                                                 |     do {
    0x0000a9f4 ldr r1, [sp, 0x2c]                                |         r1 = *(arg_2ch);
    0x0000a9f8 mov r0, r5                                        |         r0 = r5;
    0x0000a9fc bl 0x19dc0                                        |         Curl_strcasecompare ();
    0x0000aa00 mov r6, 3                                         |         r6 = 3;
    0x0000aa04 adds r0, r0, 0                                    |         r0 += 0;
                                                                 |         if (r0 == r0) {
    0x0000aa08 movne r0, 1                                       |             r0 = 1;
                                                                 |         }
    0x0000aa0c strb r0, [r4, 0x30]                               |         *((r4 + 0x30)) = r0;
    0x0000aa10 b 0xa920                                          |         goto label_18;
                                                                 | label_62:
    0x0000aa14 mov fp, 0                                         |         
    0x0000aa18 b 0xa9f4                                          |         
                                                                 |     } while (1);
                                                                 | label_63:
    0x0000aa1c add r3, r4, 0x18                                  |     r3 = r4 + 0x18;
    0x0000aa20 mov r2, 0xa                                       |     r2 = 0xa;
    0x0000aa24 mov r1, 0                                         |     r1 = 0;
    0x0000aa28 mov r0, r5                                        |     r0 = r5;
    0x0000aa2c bl 0x2188c                                        |     r0 = curlx_strtoofft ();
    0x0000aa30 adds fp, r0, 0                                    |     
                                                                 |     if (fp == r0) {
    0x0000aa34 movne fp, 1                                       |         
                                                                 |     }
    0x0000aa38 b 0xa920                                          |     goto label_18;
                                                                 | label_64:
    0x0000aa3c ldr r3, [pc, 0x1dc]                               |     
    0x0000aa40 mov r0, r5                                        |     r0 = r5;
    0x0000aa44 ldr r3, [sl, r3]                                  |     r3 = *((sl + r3));
    0x0000aa48 ldr r3, [r3]                                      |     r3 = *(0xac1c);
    0x0000aa4c blx r3                                            |     uint32_t (*r3)(uint32_t, uint32_t) (r0, r3);
    0x0000aa50 str r0, [r4, 4]                                   |     *((r4 + 4)) = r0;
    0x0000aa54 b 0xa918                                          |     goto label_19;
                                                                 | label_65:
    0x0000aa58 ldr r3, [pc, 0x1c0]                               |     
    0x0000aa5c mov r0, r5                                        |     r0 = r5;
    0x0000aa60 ldr r3, [sl, r3]                                  |     r3 = *((sl + r3));
    0x0000aa64 ldr r3, [r3]                                      |     r3 = *(0xac1c);
    0x0000aa68 blx r3                                            |     uint32_t (*r3)(uint32_t, uint32_t) (r0, r3);
    0x0000aa6c str r0, [r4, 8]                                   |     *((r4 + 8)) = r0;
    0x0000aa70 b 0xa918                                          |     goto label_19;
                                                                 | label_54:
    0x0000aa74 cmp r1, 0                                         |     
    0x0000aa78 b 0xa708                                          |     goto label_20;
                                                                 | label_55:
    0x0000aa7c cmp r1, 0                                         |     
                                                                 |     if (r1 == 0) {
    0x0000aa80 beq 0xa724                                        |         goto label_21;
                                                                 |     }
    0x0000aa84 bl 0x19dc0                                        |     r0 = Curl_strcasecompare ();
    0x0000aa88 cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x0000aa8c beq 0xa724                                        |         goto label_21;
                                                                 |     }
                                                                 | label_56:
    0x0000aa90 ldrb r7, [r4, 0x31]                               |     r7 = *((r4 + 0x31));
    0x0000aa94 cmp r7, 0                                         |     
                                                                 |     if (r7 == 0) {
    0x0000aa98 beq 0xabdc                                        |         goto label_67;
                                                                 |     }
                                                                 | label_23:
    0x0000aa9c ldr r3, [r5]                                      |     r3 = *(r5);
    0x0000aaa0 ldr r0, [r5, 4]                                   |     r0 = *((r5 + 4));
    0x0000aaa4 str r3, [r4]                                      |     *(r4) = r3;
    0x0000aaa8 ldr r3, [pc, 0x15c]                               |     r3 = *(0xac08);
    0x0000aaac ldr r7, [sl, r3]                                  |     r7 = *((sl + r3));
    0x0000aab0 ldr r3, [r7]                                      |     r3 = *(r7);
    0x0000aab4 blx r3                                            |     uint32_t (*r3)(uint32_t, uint32_t) (r0, r3);
    0x0000aab8 ldr r3, [r7]                                      |     r3 = *(r7);
    0x0000aabc ldr r0, [r5, 8]                                   |     r0 = *((r5 + 8));
    0x0000aac0 blx r3                                            |     uint32_t (*r3)(uint32_t, uint32_t) (r0, r3);
    0x0000aac4 ldr r3, [r7]                                      |     r3 = *(r7);
    0x0000aac8 ldr r0, [r5, 0x14]                                |     r0 = *((r5 + 0x14));
    0x0000aacc blx r3                                            |     uint32_t (*r3)(uint32_t, uint32_t) (r0, r3);
    0x0000aad0 ldr r3, [r7]                                      |     r3 = *(r7);
    0x0000aad4 ldr r0, [r5, 0xc]                                 |     r0 = *((r5 + 0xc));
    0x0000aad8 blx r3                                            |     uint32_t (*r3)(uint32_t, uint32_t) (r0, r3);
    0x0000aadc ldr r3, [r7]                                      |     r3 = *(r7);
    0x0000aae0 ldr r0, [r5, 0x10]                                |     r0 = *((r5 + 0x10));
    0x0000aae4 blx r3                                            |     uint32_t (*r3)(uint32_t, uint32_t) (r0, r3);
    0x0000aae8 ldr r3, [r7]                                      |     r3 = *(r7);
    0x0000aaec ldr r0, [r5, 0x20]                                |     r0 = *((r5 + 0x20));
    0x0000aaf0 blx r3                                            |     uint32_t (*r3)(uint32_t, uint32_t) (r0, r3);
    0x0000aaf4 ldr r3, [r7]                                      |     r3 = *(r7);
    0x0000aaf8 ldr r0, [r5, 0x28]                                |     r0 = *((r5 + 0x28));
    0x0000aafc blx r3                                            |     uint32_t (*r3)(uint32_t, uint32_t) (r0, r3);
    0x0000ab00 ldr r3, [r7]                                      |     r3 = *(r7);
    0x0000ab04 ldr r0, [r5, 0x2c]                                |     r0 = *((r5 + 0x2c));
    0x0000ab08 blx r3                                            |     uint32_t (*r3)(uint32_t, uint32_t) (r0, r3);
    0x0000ab0c mov lr, r4                                        |     lr = r4;
    0x0000ab10 ldm lr!, {r0, r1, r2, r3}                         |     r0 = *(lr!);
                                                                 |     r1 = *((lr! + 4));
                                                                 |     r2 = *((lr! + 8));
                                                                 |     r3 = *((lr! + 12));
    0x0000ab14 mov ip, r5                                        |     
    0x0000ab18 stm ip!, {r0, r1, r2, r3}                         |     *(ip!) = r0;
                                                                 |     *((ip! + 4)) = r1;
                                                                 |     *((ip! + 8)) = r2;
                                                                 |     *((ip! + 12)) = r3;
    0x0000ab1c ldm lr!, {r0, r1, r2, r3}                         |     r0 = *(lr!);
                                                                 |     r1 = *((lr! + 4));
                                                                 |     r2 = *((lr! + 8));
                                                                 |     r3 = *((lr! + 12));
    0x0000ab20 stm ip!, {r0, r1, r2, r3}                         |     *(ip!) = r0;
                                                                 |     *((ip! + 4)) = r1;
                                                                 |     *((ip! + 8)) = r2;
                                                                 |     *((ip! + 12)) = r3;
    0x0000ab24 ldm lr!, {r0, r1, r2, r3}                         |     r0 = *(lr!);
                                                                 |     r1 = *((lr! + 4));
                                                                 |     r2 = *((lr! + 8));
                                                                 |     r3 = *((lr! + 12));
    0x0000ab28 stm ip!, {r0, r1, r2, r3}                         |     *(ip!) = r0;
                                                                 |     *((ip! + 4)) = r1;
                                                                 |     *((ip! + 8)) = r2;
                                                                 |     *((ip! + 12)) = r3;
    0x0000ab2c ldr r3, [r7]                                      |     r3 = *(r7);
    0x0000ab30 ldm lr, {r0, r1}                                  |     r0 = *(lr);
                                                                 |     r1 = *((lr + 4));
    0x0000ab34 mov r7, r5                                        |     r7 = r5;
    0x0000ab38 stm ip, {r0, r1}                                  |     *(ip) = r0;
                                                                 |     *((ip + 4)) = r1;
    0x0000ab3c mov r0, r4                                        |     r0 = r4;
    0x0000ab40 blx r3                                            |     uint32_t (*r3)(uint32_t, uint32_t) (r0, r3);
                                                                 | label_24:
    0x0000ab44 ldr r3, [r7]                                      |     r3 = *(r7);
    0x0000ab48 cmp r3, 0                                         |     
                                                                 |     if (r3 != 0) {
    0x0000ab4c bne 0xabec                                        |         goto label_68;
                                                                 |     }
    0x0000ab50 mov r4, r5                                        |     r4 = r5;
    0x0000ab54 mov r5, 1                                         |     r5 = 1;
                                                                 | label_53:
    0x0000ab58 ldr r3, [sp, 0x1c]                                |     r3 = var_1ch;
    0x0000ab5c ldrb r3, [r3, 0x404]                              |     r3 = *((r3 + 0x404));
    0x0000ab60 cmp r3, 0                                         |     
                                                                 |     if (r3 != 0) {
    0x0000ab64 beq 0xabac                                        |         
    0x0000ab68 cmp r5, 0                                         |         
                                                                 |         if (r5 == 0) {
    0x0000ab6c beq 0xabf4                                        |             goto label_69;
                                                                 |         }
    0x0000ab70 ldr r2, [pc, 0xf8]                                |         r2 = *(0xac6c);
    0x0000ab74 add r2, pc, r2                                    |         r2 = pc + r2;
                                                                 | label_25:
    0x0000ab78 ldrd r0, r1, [r4, 0x18]                           |         __asm ("ldrd r0, r1, [r4, 0x18]");
    0x0000ab7c strd r0, r1, [sp, 0x10]                           |         __asm ("strd r0, r1, [sp, 0x10]");
    0x0000ab80 ldr r3, [r4, 0xc]                                 |         r3 = *((r4 + 0xc));
    0x0000ab84 ldr r1, [pc, 0xe8]                                |         r1 = *(0xac70);
    0x0000ab88 str r3, [sp, 8]                                   |         var_8h = r3;
    0x0000ab8c ldr r3, [r4, 0x14]                                |         r3 = *((r4 + 0x14));
    0x0000ab90 add r1, pc, r1                                    |         r1 = pc + r1;
    0x0000ab94 str r3, [sp, 4]                                   |         var_4h = r3;
    0x0000ab98 ldr r3, [r4, 8]                                   |         r3 = *((r4 + 8));
    0x0000ab9c ldr r0, [sp, 0x28]                                |         r0 = *(arg_28h);
    0x0000aba0 str r3, [sp]                                      |         *(sp) = r3;
    0x0000aba4 ldr r3, [r4, 4]                                   |         r3 = *((r4 + 4));
    0x0000aba8 bl 0x104cc                                        |         Curl_infof ();
                                                                 |     }
    0x0000abac cmp r5, 0                                         |     
                                                                 |     if (r5 != 0) {
    0x0000abb0 bne 0xa0e8                                        |         goto label_22;
                                                                 |     }
    0x0000abb4 cmp r7, 0                                         |     
                                                                 |     if (r7 != 0) {
    0x0000abb8 ldreq r3, [sp, 0x1c]                              |         r3 = var_1ch;
                                                                 |     }
    0x0000abbc ldr r2, [sp, 0x1c]                                |     r2 = var_1ch;
                                                                 |     if (r7 != 0) {
    0x0000abc0 streq r4, [r3, r6, lsl 2]                         |         offset_1 = r6 << 2;
                                                                 |         *((r3 + offset_1)) = r4;
                                                                 |     }
    0x0000abc4 ldr r3, [sp, 0x1c]                                |     r3 = var_1ch;
                                                                 |     if (r7 == 0) {
    0x0000abc8 strne r4, [r7]                                    |         *(r7) = r4;
                                                                 |     }
    0x0000abcc ldr r3, [r3, 0x408]                               |     r3 = *((r3 + 0x408));
    0x0000abd0 add r3, r3, 1                                     |     r3++;
    0x0000abd4 str r3, [r2, 0x408]                               |     *((r2 + 0x408)) = r3;
    0x0000abd8 b 0xa0e8                                          |     goto label_22;
                                                                 | label_67:
    0x0000abdc ldrb r3, [r5, 0x31]                               |     r3 = *((r5 + 0x31));
    0x0000abe0 cmp r3, 0                                         |     
                                                                 |     if (r3 != 0) {
    0x0000abe4 bne 0xa328                                        |         goto label_12;
                                                                 |     }
    0x0000abe8 b 0xaa9c                                          |     goto label_23;
                                                                 | label_68:
    0x0000abec mov r7, r3                                        |     r7 = r3;
    0x0000abf0 b 0xab44                                          |     goto label_24;
                                                                 | label_69:
    0x0000abf4 ldr r2, [pc, 0x7c]                                |     r2 = *(0xac74);
    0x0000abf8 add r2, pc, r2                                    |     r2 = pc + r2;
    0x0000abfc b 0xab78                                          |     goto label_25;
                                                                 | }
    ; 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/lib/libcurl.so @ 0xaca0 */
                                                                 | #include <stdint.h>
                                                                 |  
    ; (fcn) sym.Curl_cookie_getlist ()                           | void Curl_cookie_getlist (int32_t arg1, int32_t arg2) {
                                                                 |     char * s1;
                                                                 |     int32_t var_8h;
                                                                 |     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_20h_2;
                                                                 |     int32_t var_2ch;
                                                                 |     r0 = arg1;
                                                                 |     r1 = arg2;
    0x0000aca0 push {r4, r5, r6, r7, r8, sb, sl, fp, lr}         |     
    0x0000aca4 ldr r5, [pc, 0x498]                               |     r5 = *(0xb140);
    0x0000aca8 sub sp, sp, 0x2c                                  |     
    0x0000acac mov r4, r0                                        |     r4 = r0;
    0x0000acb0 mov r0, 0                                         |     r0 = 0;
    0x0000acb4 mov fp, r1                                        |     
    0x0000acb8 str r2, [sp, 0x14]                                |     var_14h = r2;
    0x0000acbc str r3, [sp, 0x18]                                |     var_18h = r3;
    0x0000acc0 bl 0x5544                                         |     time (r0);
    0x0000acc4 add r5, pc, r5                                    |     r5 = pc + r5;
    0x0000acc8 mov r7, r0                                        |     r7 = r0;
    0x0000accc mov r0, fp                                        |     r0 = fp;
    0x0000acd0 bl 0x9edc                                         |     cookiehash ();
    0x0000acd4 cmp r4, 0                                         |     
                                                                 |     if (r4 != 0) {
    0x0000acd8 moveq r6, r4                                      |         r6 = r4;
                                                                 |     }
                                                                 |     if (r4 == 0) {
    0x0000acdc beq 0xae2c                                        |         goto label_16;
                                                                 |     }
    0x0000ace0 ldr r6, [r4, r0, lsl 2]                           |     offset_0 = r0 << 2;
                                                                 |     r6 = *((r4 + offset_0));
    0x0000ace4 mov r8, r0                                        |     r8 = r0;
    0x0000ace8 cmp r6, 0                                         |     
                                                                 |     if (r6 == 0) {
    0x0000acec beq 0xae2c                                        |         goto label_16;
                                                                 |     }
    0x0000acf0 mov r0, r4                                        |     r0 = r4;
    0x0000acf4 bl 0x9aa8                                         |     remove_expired ();
    0x0000acf8 mov r0, fp                                        |     r0 = fp;
    0x0000acfc bl 0x9e94                                         |     isip ();
    0x0000ad00 ldr r3, [pc, 0x440]                               |     r3 = $d;
    0x0000ad04 ldr r4, [r4, r8, lsl 2]                           |     offset_1 = r8 << 2;
                                                                 |     r4 = *((r4 + offset_1));
    0x0000ad08 add r3, pc, r3                                    |     r3 = pc + r3;
    0x0000ad0c mov sb, 0                                         |     sb = 0;
    0x0000ad10 str r3, [sp, 0x1c]                                |     var_1ch = r3;
    0x0000ad14 mov r2, r7                                        |     r2 = r7;
    0x0000ad18 asr r3, r7, 0x1f                                  |     r3 = r7 >> 0x1f;
    0x0000ad1c mov r6, sb                                        |     r6 = sb;
    0x0000ad20 strd r2, r3, [sp, 0x20]                           |     __asm ("strd r2, r3, [var_20h]");
    0x0000ad24 str r0, [sp, 8]                                   |     var_8h = r0;
                                                                 |     do {
    0x0000ad28 cmp r4, 0                                         |         
                                                                 |         if (r4 == 0) {
    0x0000ad2c bne 0xadb4                                        |             
    0x0000ad30 cmp sb, 0                                         |             
                                                                 |             if (sb == 0) {
    0x0000ad34 beq 0xae2c                                        |                 goto label_16;
                                                                 |             }
    0x0000ad38 ldr r3, [pc, 0x40c]                               |             
    0x0000ad3c lsl r7, sb, 2                                     |             r7 = sb << 2;
    0x0000ad40 ldr r3, [r5, r3]                                  |             r3 = *((r5 + r3));
    0x0000ad44 mov r0, r7                                        |             r0 = r7;
    0x0000ad48 ldr r3, [r3]                                      |             r3 = *(0xb148);
    0x0000ad4c blx r3                                            |             r0 = uint32_t (*r3)(uint32_t, uint32_t) (r0, r3);
    0x0000ad50 subs r4, r0, 0                                    |             r4 = r0 - 0;
                                                                 |             if (r4 == r0) {
    0x0000ad54 subne r3, r4, 4                                   |                 r3 = r4 - 4;
                                                                 |             }
                                                                 |             if (r4 != r0) {
    0x0000ad58 beq 0xae20                                        |                 
                                                                 | label_14:
    0x0000ad5c cmp r6, 0                                         |                 
                                                                 |                 if (r6 != 0) {
    0x0000ad60 bne 0xb128                                        |                     goto label_17;
                                                                 |                 }
    0x0000ad64 ldr r3, [pc, 0x3e4]                               |                 r3 = *(0xb14c);
    0x0000ad68 mov r2, 4                                         |                 r2 = 4;
    0x0000ad6c add r3, pc, r3                                    |                 r3 = pc + r3;
    0x0000ad70 mov r1, sb                                        |                 r1 = sb;
    0x0000ad74 mov r0, r4                                        |                 r0 = r4;
    0x0000ad78 bl 0x5784                                         |                 qsort ();
    0x0000ad7c mov r3, r4                                        |                 r3 = r4;
    0x0000ad80 ldr r6, [r3], 4                                   |                 r6 = *(r3);
                                                                 |                 r3 += 4;
    0x0000ad84 add r7, r4, r7                                    |                 r7 = r4 + r7;
                                                                 | label_15:
    0x0000ad88 cmp r7, r3                                        |                 
                                                                 |                 if (r7 != r3) {
    0x0000ad8c bne 0xb134                                        |                     goto label_18;
                                                                 |                 }
    0x0000ad90 ldr r3, [r7, -4]                                  |                 r3 = *((r7 - 4));
    0x0000ad94 mov r2, 0                                         |                 r2 = 0;
    0x0000ad98 str r2, [r3]                                      |                 *(r3) = r2;
    0x0000ad9c ldr r3, [pc, 0x3b0]                               |                 
    0x0000ada0 mov r0, r4                                        |                 r0 = r4;
    0x0000ada4 ldr r3, [r5, r3]                                  |                 r3 = *((r5 + r3));
    0x0000ada8 ldr r3, [r3]                                      |                 r3 = *(0xb150);
    0x0000adac blx r3                                            |                 uint32_t (*r3)(uint32_t, uint32_t, uint32_t) (r0, r2, r3);
    0x0000adb0 b 0xae2c                                          |                 
                                                                 |             } else {
    0x0000adb4 ldrd r2, r3, [r4, 0x18]                           |                 __asm ("ldrd r2, r3, [r4, 0x18]");
    0x0000adb8 orrs r1, r2, r3                                   |                 r1 = r2 | r3;
                                                                 |                 if (r1 != r2) {
    0x0000adbc beq 0xadd0                                        |                     
    0x0000adc0 ldrd r0, r1, [sp, 0x20]                           |                     __asm ("ldrd r0, r1, [var_20h]");
    0x0000adc4 cmp r0, r2                                        |                     
    0x0000adc8 sbcs r3, r1, r3                                   |                     __asm ("sbcs r3, r1, r3");
                                                                 |                     if (r0 >= r2) {
    0x0000adcc bge 0xae68                                        |                         goto label_2;
                                                                 |                     }
                                                                 |                 }
    0x0000add0 ldrb r7, [r4, 0x30]                               |                 r7 = *((r4 + 0x30));
    0x0000add4 ldr r3, [sp, 0x18]                                |                 r3 = var_18h;
    0x0000add8 eor r7, r7, 1                                     |                 r7 ^= 1;
    0x0000addc orrs r7, r3, r7                                   |                 r7 = r3 | r7;
                                                                 |                 if (r7 == r3) {
    0x0000ade0 beq 0xae68                                        |                     goto label_2;
                                                                 |                 }
    0x0000ade4 ldr r0, [r4, 0x14]                                |                 r0 = *((r4 + 0x14));
    0x0000ade8 cmp r0, 0                                         |                 
                                                                 |                 if (r0 != 0) {
    0x0000adec bne 0xae38                                        |                     goto label_19;
                                                                 |                 }
                                                                 | label_0:
    0x0000adf0 ldr r3, [r4, 0x10]                                |                 r3 = *((r4 + 0x10));
    0x0000adf4 cmp r3, 0                                         |                 
    0x0000adf8 str r3, [sp, 4]                                   |                 s1 = r3;
                                                                 |                 if (r3 != 0) {
    0x0000adfc bne 0xae9c                                        |                     goto label_20;
                                                                 |                 }
                                                                 | label_3:
    0x0000ae00 ldr r0, [pc, 0xd]                                 |                 r0 = *(0xae11);
    0x0000ae04 mov r1, 1                                         |                 r1 = 1;
    0x0000ae08 ldr r3, [r5, r3]                                  |                 r3 = *((r5 + r3));
    0x0000ae0c mov r0, 0x38                                      |                 r0 = 0x38;
    0x0000ae10 ldr r3, [r3]                                      |                 r3 = *(r3);
    0x0000ae14 blx r3                                            |                 r0 = uint32_t (*r3)(uint32_t, uint32_t, uint32_t) (r0, r1, r3);
    0x0000ae18 subs r7, r0, 0                                    |                 r7 = r0 - 0;
                                                                 |                 if (r7 != r0) {
    0x0000ae1c bne 0xaf88                                        |                     goto label_21;
                                                                 |                 }
                                                                 |             }
                                                                 | label_5:
    0x0000ae20 mov r0, r6                                        |             r0 = r6;
    0x0000ae24 bl 0xac7c                                         |             Curl_cookie_freelist ();
    0x0000ae28 mov r6, 0                                         |             r6 = 0;
                                                                 |         }
                                                                 | label_16:
    0x0000ae2c mov r0, r6                                        |         r0 = r6;
    0x0000ae30 add sp, sp, 0x2c                                  |         
    0x0000ae34 pop {r4, r5, r6, r7, r8, sb, sl, fp, pc}          |         
                                                                 | label_19:
    0x0000ae38 ldrb r3, [r4, 0x24]                               |         r3 = *((r4 + 0x24));
    0x0000ae3c ldr r2, [sp, 8]                                   |         r2 = var_8h;
    0x0000ae40 eor r3, r3, 1                                     |         r3 ^= 1;
    0x0000ae44 orr r3, r2, r3                                    |         r3 = r2 | r3;
    0x0000ae48 tst r3, 0xff                                      |         
                                                                 |         if ((r3 & 0xff) == 0) {
    0x0000ae4c beq 0xae70                                        |             goto label_22;
                                                                 |         }
                                                                 | label_1:
    0x0000ae50 ldrb r3, [r4, 0x24]                               |         r3 = *((r4 + 0x24));
    0x0000ae54 ldr r2, [sp, 8]                                   |         r2 = var_8h;
    0x0000ae58 eor r3, r3, 1                                     |         r3 ^= 1;
    0x0000ae5c orr r3, r2, r3                                    |         r3 = r2 | r3;
    0x0000ae60 tst r3, 0xff                                      |         
                                                                 |         if ((r3 & 0xff) != 0) {
    0x0000ae64 bne 0xae84                                        |             goto label_23;
                                                                 |         }
                                                                 | label_2:
    0x0000ae68 ldr r4, [r4]                                      |         r4 = *(r4);
    0x0000ae6c b 0xad28                                          |         
                                                                 |     } while (1);
                                                                 | label_22:
    0x0000ae70 mov r1, fp                                        |     r1 = fp;
    0x0000ae74 bl 0x9b3c                                         |     r0 = tailmatch ();
    0x0000ae78 cmp r0, 0                                         |     
                                                                 |     if (r0 != 0) {
    0x0000ae7c bne 0xadf0                                        |         goto label_0;
                                                                 |     }
    0x0000ae80 b 0xae50                                          |     goto label_1;
                                                                 | label_23:
    0x0000ae84 ldr r1, [r4, 0x14]                                |     r1 = *((r4 + 0x14));
    0x0000ae88 mov r0, fp                                        |     r0 = fp;
    0x0000ae8c bl 0x19dc0                                        |     r0 = Curl_strcasecompare ();
    0x0000ae90 cmp r0, 0                                         |     
                                                                 |     if (r0 != 0) {
    0x0000ae94 bne 0xadf0                                        |         goto label_0;
                                                                 |     }
    0x0000ae98 b 0xae68                                          |     goto label_2;
                                                                 | label_20:
    0x0000ae9c ldr r0, [sp, 4]                                   |     r0 = s1;
    0x0000aea0 bl 0x5250                                         |     r0 = strlen (r0);
    0x0000aea4 cmp r0, 1                                         |     
    0x0000aea8 mov sl, r0                                        |     sl = r0;
                                                                 |     if (r0 == 1) {
    0x0000aeac beq 0xae00                                        |         goto label_3;
                                                                 |     }
    0x0000aeb0 ldr r3, [pc, 0x2a4]                               |     
    0x0000aeb4 ldr r0, [sp, 0x14]                                |     r0 = var_14h;
    0x0000aeb8 ldr r3, [r5, r3]                                  |     r3 = *((r5 + r3));
    0x0000aebc str r3, [sp, 0xc]                                 |     var_ch = r3;
    0x0000aec0 ldr r3, [r3]                                      |     r3 = *(0xb158);
    0x0000aec4 blx r3                                            |     r0 = uint32_t (*r3)(uint32_t, uint32_t) (r0, r3);
    0x0000aec8 subs r8, r0, 0                                    |     r8 = r0 - 0;
                                                                 |     if (r8 == r0) {
    0x0000aecc beq 0xae68                                        |         goto label_2;
                                                                 |     }
    0x0000aed0 mov r1, 0x3f                                      |     r1 = 0x3f;
    0x0000aed4 bl 0x5b38                                         |     r0 = strchr (r0, r1);
    0x0000aed8 cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x0000aedc movne r3, 0                                       |         r3 = 0;
                                                                 |     }
                                                                 |     if (r0 == 0) {
    0x0000aee0 strbne r3, [r0]                                   |         *(r0) = r3;
                                                                 |     }
    0x0000aee4 ldr r3, [pc, 0x268]                               |     
    0x0000aee8 ldrb r2, [r8]                                     |     r2 = *(r8);
    0x0000aeec ldr r3, [r5, r3]                                  |     r3 = *((r5 + r3));
    0x0000aef0 cmp r2, 0x2f                                      |     
    0x0000aef4 str r3, [sp, 0x10]                                |     var_10h = r3;
    0x0000aef8 ldr r3, [r3]                                      |     r3 = *(0xb150);
                                                                 |     if (r2 == 0x2f) {
    0x0000aefc beq 0xaf20                                        |         goto label_24;
                                                                 |     }
    0x0000af00 mov r0, r8                                        |     r0 = r8;
    0x0000af04 blx r3                                            |     uint32_t (*r3)(uint32_t) (r0);
    0x0000af08 ldr r3, [sp, 0xc]                                 |     r3 = var_ch;
    0x0000af0c ldr r0, [sp, 0x1c]                                |     r0 = var_1ch;
    0x0000af10 ldr r3, [r3]                                      |     r3 = *(r3);
    0x0000af14 blx r3                                            |     r0 = uint32_t (*r3)(uint32_t, uint32_t) (r0, r3);
    0x0000af18 subs r8, r0, 0                                    |     r8 = r0 - 0;
                                                                 |     if (r8 == r0) {
    0x0000af1c beq 0xae68                                        |         goto label_2;
                                                                 |     }
                                                                 | label_24:
    0x0000af20 mov r0, r8                                        |     r0 = r8;
    0x0000af24 bl 0x5250                                         |     r0 = strlen (r0);
    0x0000af28 cmp sl, r0                                        |     
    0x0000af2c str r0, [sp, 0xc]                                 |     var_ch = r0;
                                                                 |     if (sl > r0) {
    0x0000af30 bhi 0xaf80                                        |         goto label_25;
                                                                 |     }
    0x0000af34 mov r2, sl                                        |     r2 = sl;
    0x0000af38 mov r1, r8                                        |     r1 = r8;
    0x0000af3c ldr r0, [sp, 4]                                   |     r0 = s1;
    0x0000af40 bl 0x516c                                         |     r0 = strncmp (r0, r1, r2);
    0x0000af44 cmp r0, 0                                         |     
                                                                 |     if (r0 != 0) {
    0x0000af48 bne 0xaf80                                        |         goto label_25;
                                                                 |     }
    0x0000af4c ldr r3, [sp, 0xc]                                 |     r3 = var_ch;
    0x0000af50 cmp sl, r3                                        |     
                                                                 |     if (sl == r3) {
    0x0000af54 ldrbne r7, [r8, sl]                               |         r7 = *((r8 + sl));
                                                                 |     }
                                                                 |     if (sl == r3) {
    0x0000af58 subne r7, r7, 0x2f                                |         r7 -= 0x2f;
                                                                 |     }
    0x0000af5c clzne r7, r7                                      |     __asm ("clzne r7, r7");
                                                                 |     if (sl == r3) {
    0x0000af60 lsrne r7, r7, 5                                   |         r7 >>= 5;
                                                                 |     }
                                                                 | label_4:
    0x0000af64 ldr r3, [sp, 0x10]                                |     r3 = var_10h;
    0x0000af68 mov r0, r8                                        |     r0 = r8;
    0x0000af6c ldr r3, [r3]                                      |     r3 = *(r3);
    0x0000af70 blx r3                                            |     uint32_t (*r3)(uint32_t, uint32_t) (r0, r3);
    0x0000af74 cmp r7, 0                                         |     
                                                                 |     if (r7 != 0) {
    0x0000af78 bne 0xae00                                        |         goto label_3;
                                                                 |     }
    0x0000af7c b 0xae68                                          |     goto label_2;
                                                                 | label_25:
    0x0000af80 mov r7, 0                                         |     r7 = 0;
    0x0000af84 b 0xaf64                                          |     goto label_4;
                                                                 | label_21:
    0x0000af88 ldr r0, [r4, 0x20]                                |     r0 = *((r4 + 0x20));
    0x0000af8c cmp r0, 0                                         |     
    0x0000af90 bne 0xb020                                        |     
                                                                 |     while (r0 != 0) {
    0x0000af94 ldr r0, [r4, 0x14]                                |         r0 = *((r4 + 0x14));
    0x0000af98 cmp r0, 0                                         |         
                                                                 |         if (r0 != 0) {
    0x0000af9c bne 0xb048                                        |             goto label_26;
                                                                 |         }
                                                                 | label_6:
    0x0000afa0 ldr r0, [r4, 0xc]                                 |         r0 = *((r4 + 0xc));
    0x0000afa4 cmp r0, 0                                         |         
                                                                 |         if (r0 != 0) {
    0x0000afa8 bne 0xb068                                        |             goto label_27;
                                                                 |         }
                                                                 | label_8:
    0x0000afac ldr r0, [r4, 0x10]                                |         r0 = *((r4 + 0x10));
    0x0000afb0 cmp r0, 0                                         |         
                                                                 |         if (r0 != 0) {
    0x0000afb4 bne 0xb088                                        |             goto label_28;
                                                                 |         }
                                                                 | label_9:
    0x0000afb8 ldr r0, [r4, 4]                                   |         r0 = *((r4 + 4));
    0x0000afbc cmp r0, 0                                         |         
                                                                 |         if (r0 != 0) {
    0x0000afc0 bne 0xb0a8                                        |             goto label_29;
                                                                 |         }
                                                                 | label_10:
    0x0000afc4 ldr r0, [r4, 8]                                   |         r0 = *((r4 + 8));
    0x0000afc8 cmp r0, 0                                         |         
                                                                 |         if (r0 != 0) {
    0x0000afcc bne 0xb0c8                                        |             goto label_30;
                                                                 |         }
                                                                 | label_11:
    0x0000afd0 ldr r0, [r4, 0x2c]                                |         r0 = *((r4 + 0x2c));
    0x0000afd4 cmp r0, 0                                         |         
                                                                 |         if (r0 != 0) {
    0x0000afd8 bne 0xb0e8                                        |             goto label_31;
                                                                 |         }
                                                                 | label_12:
    0x0000afdc ldr r0, [r4, 0x28]                                |         r0 = *((r4 + 0x28));
    0x0000afe0 cmp r0, 0                                         |         
                                                                 |         if (r0 != 0) {
    0x0000afe4 bne 0xb108                                        |             goto label_32;
                                                                 |         }
                                                                 | label_13:
    0x0000afe8 ldrd r2, r3, [r4, 0x18]                           |         __asm ("ldrd r2, r3, [r4, 0x18]");
    0x0000afec add sb, sb, 1                                     |         sb++;
    0x0000aff0 strd r2, r3, [r7, 0x18]                           |         __asm ("strd r2, r3, [r7, 0x18]");
    0x0000aff4 ldrb r3, [r4, 0x24]                               |         r3 = *((r4 + 0x24));
    0x0000aff8 strb r3, [r7, 0x24]                               |         *((r7 + 0x24)) = r3;
    0x0000affc ldrb r3, [r4, 0x30]                               |         r3 = *((r4 + 0x30));
    0x0000b000 strb r3, [r7, 0x30]                               |         *((r7 + 0x30)) = r3;
    0x0000b004 ldrb r3, [r4, 0x31]                               |         r3 = *((r4 + 0x31));
    0x0000b008 strb r3, [r7, 0x31]                               |         *((r7 + 0x31)) = r3;
    0x0000b00c ldrb r3, [r4, 0x32]                               |         r3 = *((r4 + 0x32));
    0x0000b010 str r6, [r7]                                      |         *(r7) = r6;
    0x0000b014 strb r3, [r7, 0x32]                               |         *((r7 + 0x32)) = r3;
    0x0000b018 mov r6, r7                                        |         r6 = r7;
    0x0000b01c b 0xae68                                          |         goto label_2;
    0x0000b020 ldr r3, [pc, 0x134]                               |         
    0x0000b024 ldr r3, [r5, r3]                                  |         r3 = *((r5 + r3));
    0x0000b028 ldr r3, [r3]                                      |         r3 = *(0xb158);
    0x0000b02c blx r3                                            |         r0 = uint32_t (*r3)(uint32_t) (r3);
    0x0000b030 cmp r0, 0                                         |         
    0x0000b034 str r0, [r7, 0x20]                                |         *((r7 + 0x20)) = r0;
    0x0000b038 bne 0xaf94                                        |         
                                                                 |     }
                                                                 | label_7:
    0x0000b03c mov r0, r7                                        |     r0 = r7;
    0x0000b040 bl 0x99c8                                         |     freecookie ();
    0x0000b044 b 0xae20                                          |     goto label_5;
                                                                 | label_26:
    0x0000b048 ldr r3, [pc, 0x10c]                               |     
    0x0000b04c ldr r3, [r5, r3]                                  |     r3 = *((r5 + r3));
    0x0000b050 ldr r3, [r3]                                      |     r3 = *(0xb158);
    0x0000b054 blx r3                                            |     r0 = uint32_t (*r3)(uint32_t) (r3);
    0x0000b058 cmp r0, 0                                         |     
    0x0000b05c str r0, [r7, 0x14]                                |     *((r7 + 0x14)) = r0;
                                                                 |     if (r0 != 0) {
    0x0000b060 bne 0xafa0                                        |         goto label_6;
                                                                 |     }
    0x0000b064 b 0xb03c                                          |     goto label_7;
                                                                 | label_27:
    0x0000b068 ldr r3, [pc, 0xec]                                |     
    0x0000b06c ldr r3, [r5, r3]                                  |     r3 = *((r5 + r3));
    0x0000b070 ldr r3, [r3]                                      |     r3 = *(0xb158);
    0x0000b074 blx r3                                            |     r0 = uint32_t (*r3)(uint32_t) (r3);
    0x0000b078 cmp r0, 0                                         |     
    0x0000b07c str r0, [r7, 0xc]                                 |     *((r7 + 0xc)) = r0;
                                                                 |     if (r0 != 0) {
    0x0000b080 bne 0xafac                                        |         goto label_8;
                                                                 |     }
    0x0000b084 b 0xb03c                                          |     goto label_7;
                                                                 | label_28:
    0x0000b088 ldr r3, [pc, 0xcc]                                |     
    0x0000b08c ldr r3, [r5, r3]                                  |     r3 = *((r5 + r3));
    0x0000b090 ldr r3, [r3]                                      |     r3 = *(0xb158);
    0x0000b094 blx r3                                            |     r0 = uint32_t (*r3)(uint32_t) (r3);
    0x0000b098 cmp r0, 0                                         |     
    0x0000b09c str r0, [r7, 0x10]                                |     *((r7 + 0x10)) = r0;
                                                                 |     if (r0 != 0) {
    0x0000b0a0 bne 0xafb8                                        |         goto label_9;
                                                                 |     }
    0x0000b0a4 b 0xb03c                                          |     goto label_7;
                                                                 | label_29:
    0x0000b0a8 ldr r3, [pc, 0xac]                                |     
    0x0000b0ac ldr r3, [r5, r3]                                  |     r3 = *((r5 + r3));
    0x0000b0b0 ldr r3, [r3]                                      |     r3 = *(0xb158);
    0x0000b0b4 blx r3                                            |     r0 = uint32_t (*r3)(uint32_t) (r3);
    0x0000b0b8 cmp r0, 0                                         |     
    0x0000b0bc str r0, [r7, 4]                                   |     *((r7 + 4)) = r0;
                                                                 |     if (r0 != 0) {
    0x0000b0c0 bne 0xafc4                                        |         goto label_10;
                                                                 |     }
    0x0000b0c4 b 0xb03c                                          |     goto label_7;
                                                                 | label_30:
    0x0000b0c8 ldr r3, [pc, 0x8c]                                |     
    0x0000b0cc ldr r3, [r5, r3]                                  |     r3 = *((r5 + r3));
    0x0000b0d0 ldr r3, [r3]                                      |     r3 = *(0xb158);
    0x0000b0d4 blx r3                                            |     r0 = uint32_t (*r3)(uint32_t) (r3);
    0x0000b0d8 cmp r0, 0                                         |     
    0x0000b0dc str r0, [r7, 8]                                   |     *((r7 + 8)) = r0;
                                                                 |     if (r0 != 0) {
    0x0000b0e0 bne 0xafd0                                        |         goto label_11;
                                                                 |     }
    0x0000b0e4 b 0xb03c                                          |     goto label_7;
                                                                 | label_31:
    0x0000b0e8 ldr r3, [pc, 0x6c]                                |     
    0x0000b0ec ldr r3, [r5, r3]                                  |     r3 = *((r5 + r3));
    0x0000b0f0 ldr r3, [r3]                                      |     r3 = *(0xb158);
    0x0000b0f4 blx r3                                            |     r0 = uint32_t (*r3)(uint32_t) (r3);
    0x0000b0f8 cmp r0, 0                                         |     
    0x0000b0fc str r0, [r7, 0x2c]                                |     *((r7 + 0x2c)) = r0;
                                                                 |     if (r0 != 0) {
    0x0000b100 bne 0xafdc                                        |         goto label_12;
                                                                 |     }
    0x0000b104 b 0xb03c                                          |     goto label_7;
                                                                 | label_32:
    0x0000b108 ldr r3, [pc, 0x4c]                                |     
    0x0000b10c ldr r3, [r5, r3]                                  |     r3 = *((r5 + r3));
    0x0000b110 ldr r3, [r3]                                      |     r3 = *(0xb158);
    0x0000b114 blx r3                                            |     r0 = uint32_t (*r3)(uint32_t) (r3);
    0x0000b118 cmp r0, 0                                         |     
    0x0000b11c str r0, [r7, 0x28]                                |     *((r7 + 0x28)) = r0;
                                                                 |     if (r0 != 0) {
    0x0000b120 bne 0xafe8                                        |         goto label_13;
                                                                 |     }
    0x0000b124 b 0xb03c                                          |     goto label_7;
                                                                 | label_17:
    0x0000b128 str r6, [r3, 4]!                                  |     *((r3 += 4)) = r6;
    0x0000b12c ldr r6, [r6]                                      |     r6 = *(r6);
    0x0000b130 b 0xad5c                                          |     goto label_14;
                                                                 | label_18:
    0x0000b134 ldr r2, [r3, -4]                                  |     r2 = *((r3 - 4));
    0x0000b138 ldr r1, [r3], 4                                   |     r1 = *(r3);
                                                                 |     r3 += 4;
    0x0000b13c str r1, [r2]                                      |     *(r2) = r1;
    0x0000b140 b 0xad88                                          |     goto label_15;
                                                                 | }
    ; 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/lib/libcurl.so @ 0xc1ec */
                                                     | #include <stdint.h>
                                                     |  
    ; (fcn) sym.Curl_copy_header_value ()            | void Curl_copy_header_value (size_t nmeb) {
                                                     |     r0 = nmeb;
    0x0000c1ec push {r4, r5, r6, r7, r8, lr}         |     
    0x0000c1f0 ldr r7, [pc, 0xdc]                    |     r7 = *(0xc2d0);
    0x0000c1f4 add r7, pc, r7                        |     r7 = pc + r7;
                                                     |     do {
    0x0000c1f8 mov r5, r0                            |         r5 = r0;
    0x0000c1fc ldrb r3, [r0], 1                      |         r3 = *(r0);
                                                     |         r0++;
    0x0000c200 cmp r3, 0                             |         
    0x0000c204 cmpne r3, 0x3a                        |         __asm ("cmpne r3, 0x3a");
    0x0000c208 bne 0xc1f8                            |         
                                                     |     } while (r3 != 0);
    0x0000c20c cmp r3, 0                             |     
                                                     |     if (r3 == 0) {
    0x0000c210 beq 0xc234                            |         goto label_2;
                                                     |     }
    0x0000c214 mov r4, r0                            |     r4 = r0;
                                                     |     do {
    0x0000c218 mov r5, r4                            |         r5 = r4;
    0x0000c21c ldrb r0, [r4], 1                      |         r0 = *(r4);
                                                     |         r4++;
    0x0000c220 cmp r0, 0                             |         
                                                     |         if (r0 == 0) {
    0x0000c224 beq 0xc234                            |             goto label_2;
                                                     |         }
    0x0000c228 bl 0x2f898                            |         r0 = Curl_isspace ();
    0x0000c22c cmp r0, 0                             |         
    0x0000c230 bne 0xc218                            |         
                                                     |     } while (r0 != 0);
                                                     | label_2:
    0x0000c234 mov r1, 0xd                           |     r1 = 0xd;
    0x0000c238 mov r0, r5                            |     r0 = r5;
    0x0000c23c bl 0x5b38                             |     r0 = strchr (r0, r1);
    0x0000c240 subs r4, r0, 0                        |     r4 = r0 - 0;
                                                     |     if (r4 == r0) {
    0x0000c244 bne 0xc26c                            |         
    0x0000c248 mov r1, 0xa                           |         r1 = 0xa;
    0x0000c24c mov r0, r5                            |         r0 = r5;
    0x0000c250 bl 0x5b38                             |         r0 = strchr (r0, r1);
    0x0000c254 subs r4, r0, 0                        |         r4 = r0 - 0;
                                                     |         if (r4 != r0) {
    0x0000c258 bne 0xc26c                            |             goto label_0;
                                                     |         }
    0x0000c25c mov r0, r5                            |         r0 = r5;
    0x0000c260 bl 0x5250                             |         r0 = strlen (r0);
    0x0000c264 adds r4, r5, r0                       |         r4 = r5 + r0;
                                                     |         if (r4 == r5) {
    0x0000c268 beq 0xc298                            |             goto label_1;
                                                     |         }
                                                     |     }
                                                     | label_0:
    0x0000c26c cmp r5, r4                            |     
    0x0000c270 blo 0xc2a0                            |     
                                                     |     while (r0 == 0) {
    0x0000c274 ldr r3, [pc, 0x5c]                    |         
    0x0000c278 sub r4, r4, r5                        |         r4 -= r5;
    0x0000c27c ldr r3, [r7, r3]                      |         r3 = *((r7 + r3));
    0x0000c280 add r6, r4, 1                         |         r6 = r4 + 1;
    0x0000c284 ldr r3, [r3]                          |         r3 = $d;
    0x0000c288 add r0, r6, 1                         |         r0 = r6 + 1;
    0x0000c28c blx r3                                |         r0 = uint32_t (*r3)(uint32_t, uint32_t) (r0, r3);
    0x0000c290 subs r4, r0, 0                        |         r4 = r0 - 0;
                                                     |         if (r4 != r0) {
    0x0000c294 bne 0xc2bc                            |             goto label_3;
                                                     |         }
                                                     | label_1:
    0x0000c298 mov r0, r4                            |         r0 = r4;
    0x0000c29c pop {r4, r5, r6, r7, r8, pc}          |         
    0x0000c2a0 ldrb r0, [r4]                         |         r0 = *(r4);
    0x0000c2a4 bl 0x2f898                            |         Curl_isspace ();
    0x0000c2a8 sub r6, r4, 1                         |         r6 = r4 - 1;
    0x0000c2ac cmp r0, 0                             |         
    0x0000c2b0 beq 0xc274                            |         
                                                     |     }
    0x0000c2b4 mov r4, r6                            |     r4 = r6;
    0x0000c2b8 b 0xc26c                              |     goto label_0;
                                                     | label_3:
    0x0000c2bc mov r2, r6                            |     r2 = r6;
    0x0000c2c0 mov r1, r5                            |     r1 = r5;
    0x0000c2c4 bl 0x4f5c                             |     memcpy (r0, r1, r2);
    0x0000c2c8 mov r3, 0                             |     r3 = 0;
    0x0000c2cc strb r3, [r4, r6]                     |     *((r4 + r6)) = r3;
    0x0000c2d0 b 0xc298                              |     goto label_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/lib/libcurl.so @ 0x10424 */
                                                         | #include <stdint.h>
                                                         |  
    ; (fcn) sym.Curl_debug ()                            | void Curl_debug (int32_t arg1, int32_t arg2) {
                                                         |     int32_t var_0h;
                                                         |     int32_t var_8h;
                                                         |     r0 = arg1;
                                                         |     r1 = arg2;
    0x00010424 push {r0, r1, r4, r5, r6, r7, r8, lr}     |     
    0x00010428 ldr r4, [r0, 0x1a8]                       |     r4 = *((r0 + 0x1a8));
    0x0001042c mov r5, r0                                |     r5 = r0;
    0x00010430 cmp r4, 0                                 |     
    0x00010434 mov r6, r1                                |     r6 = r1;
    0x00010438 mov r7, r2                                |     r7 = r2;
    0x0001043c mov r8, r3                                |     r8 = r3;
                                                         |     if (r4 == 0) {
    0x00010440 beq 0x10488                               |         goto label_1;
                                                         |     }
    0x00010444 mov r1, 1                                 |     r1 = 1;
    0x00010448 bl 0x203dc                                |     Curl_set_in_callback ();
    0x0001044c ldr r3, [r5, 0x134]                       |     r3 = *((r5 + 0x134));
    0x00010450 ldr r4, [r5, 0x1a8]                       |     r4 = *((r5 + 0x1a8));
    0x00010454 str r3, [sp]                              |     *(sp) = r3;
    0x00010458 mov r1, r6                                |     r1 = r6;
    0x0001045c mov r3, r8                                |     r3 = r8;
    0x00010460 mov r2, r7                                |     r2 = r7;
    0x00010464 mov r0, r5                                |     r0 = r5;
    0x00010468 blx r4                                    |     uint32_t (*r4)(uint32_t, uint32_t, uint32_t, uint32_t) (r0, r1, r2, r3);
    0x0001046c mov r1, 0                                 |     r1 = 0;
    0x00010470 mov r4, r0                                |     r4 = r0;
    0x00010474 mov r0, r5                                |     r0 = r5;
    0x00010478 bl 0x203dc                                |     Curl_set_in_callback ();
                                                         |     do {
                                                         | label_0:
    0x0001047c mov r0, r4                                |         r0 = r4;
    0x00010480 add sp, sp, 8                             |         
    0x00010484 pop {r4, r5, r6, r7, r8, pc}              |         
                                                         | label_1:
    0x00010488 cmp r1, 2                                 |         
    0x0001048c bhi 0x1047c                               |         
                                                         |     } while (r1 > 2);
    0x00010490 ldr r3, [r0, 0x130]                       |     r3 = *((r0 + 0x130));
    0x00010494 ldr r0, [pc, 0x2c]                        |     r0 = *(0x104c4);
    0x00010498 add r6, r1, r1, lsl 1                     |     r6 = r1 + (r1 << 1);
    0x0001049c add r0, pc, r0                            |     r0 = pc + r0;
    0x000104a0 mov r2, 1                                 |     r2 = 1;
    0x000104a4 mov r1, 2                                 |     r1 = 2;
    0x000104a8 add r0, r0, r6                            |     r0 += r6;
    0x000104ac bl 0x4f2c                                 |     fwrite (r0, r1, r2, r3);
    0x000104b0 ldr r3, [r5, 0x130]                       |     r3 = *((r5 + 0x130));
    0x000104b4 mov r2, 1                                 |     r2 = 1;
    0x000104b8 mov r1, r8                                |     r1 = r8;
    0x000104bc mov r0, r7                                |     r0 = r7;
    0x000104c0 bl 0x4f2c                                 |     fwrite (r0, r1, r2, r3);
    0x000104c4 b 0x1047c                                 |     goto label_0;
                                                         | }
    ; 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/lib/libcurl.so @ 0x29418 */
                                                             | #include <stdint.h>
                                                             |  
    ; (fcn) sym.Curl_dedotdotify ()                          | void Curl_dedotdotify (int32_t arg1) {
                                                             |     char * s1;
                                                             |     char * var_8h;
                                                             |     char * var_ch;
                                                             |     char * var_10h;
                                                             |     char * var_14h;
                                                             |     char * var_18h;
                                                             |     char * var_1ch;
                                                             |     int32_t var_24h;
                                                             |     r0 = arg1;
    0x00029418 push {r4, r5, r6, r7, r8, sb, sl, fp, lr}     |     
    0x0002941c ldr r7, [pc, 0x288]                           |     r7 = *(0x296a8);
    0x00029420 sub sp, sp, 0x24                              |     
    0x00029424 mov r8, r0                                    |     r8 = r0;
    0x00029428 bl 0x5250                                     |     strlen (r0);
    0x0002942c ldr r3, [pc, 0x27c]                           |     r3 = $d;
    0x00029430 add r7, pc, r7                                |     r7 = pc + r7;
    0x00029434 ldr r3, [r7, r3]                              |     
    0x00029438 ldr r3, [r3]                                  |     r3 = *(0x296a8);
    0x0002943c add r0, r0, 1                                 |     r0++;
    0x00029440 blx r3                                        |     r0 = uint32_t (*r3)(uint32_t, uint32_t) (r0, r3);
    0x00029444 subs r5, r0, 0                                |     r5 = r0 - 0;
                                                             |     if (r5 == r0) {
    0x00029448 beq 0x29480                                   |         goto label_0;
                                                             |     }
    0x0002944c ldr r3, [pc, 0x260]                           |     
    0x00029450 mov r0, r8                                    |     r0 = r8;
    0x00029454 ldr r3, [r7, r3]                              |     r3 = *((r7 + r3));
    0x00029458 ldr r3, [r3]                                  |     r3 = *(0x296b0);
    0x0002945c blx r3                                        |     r0 = uint32_t (*r3)(uint32_t, uint32_t) (r0, r3);
    0x00029460 subs r6, r0, 0                                |     r6 = r0 - 0;
    0x00029464 bne 0x2948c                                   |     
                                                             |     while (r3 == 0) {
    0x00029468 ldr r3, [pc, 0x248]                           |         
    0x0002946c mov r0, r5                                    |         r0 = r5;
    0x00029470 ldr r3, [r7, r3]                              |         r3 = *((r7 + r3));
    0x00029474 mov r5, r6                                    |         r5 = r6;
    0x00029478 ldr r3, [r3]                                  |         r3 = *(0x296b4);
    0x0002947c blx r3                                        |         uint32_t (*r3)(uint32_t, uint32_t) (r0, r3);
                                                             | label_0:
    0x00029480 mov r0, r5                                    |         r0 = r5;
    0x00029484 add sp, sp, 0x24                              |         
    0x00029488 pop {r4, r5, r6, r7, r8, sb, sl, fp, pc}      |         
    0x0002948c ldrb r3, [r6]                                 |         r3 = *(r6);
    0x00029490 cmp r3, 0                                     |         
    0x00029494 beq 0x29468                                   |         
                                                             |     }
    0x00029498 mov r1, 0x3f                                  |     r1 = 0x3f;
    0x0002949c bl 0x5b38                                     |     strchr (r0, r1);
    0x000294a0 ldr fp, [pc, 0x214]                           |     fp = *(0x296b8);
    0x000294a4 mov r4, r5                                    |     r4 = r5;
    0x000294a8 mov sl, r6                                    |     sl = r6;
    0x000294ac add fp, pc, fp                                |     
    0x000294b0 subs sb, r0, 0                                |     sb = r0 - 0;
                                                             |     if (sb == r0) {
    0x000294b4 movne r3, 0                                   |         r3 = 0;
                                                             |     }
                                                             |     if (sb == r0) {
    0x000294b8 strbne r3, [sb]                               |         *(sb) = r3;
                                                             |     }
    0x000294bc ldr r3, [pc, 0x1fc]                           |     r3 = *(0x296bc);
    0x000294c0 add r3, pc, r3                                |     r3 = pc + r3;
    0x000294c4 str r3, [sp, 4]                               |     s1 = r3;
    0x000294c8 ldr r3, [pc, 0x1f4]                           |     r3 = *(0x296c0);
    0x000294cc add r3, pc, r3                                |     r3 = pc + r3;
    0x000294d0 str r3, [sp, 8]                               |     var_8h = r3;
    0x000294d4 ldr r3, [pc, 0x1ec]                           |     r3 = *(0x296c4);
    0x000294d8 add r3, pc, r3                                |     r3 = pc + r3;
    0x000294dc str r3, [sp, 0xc]                             |     var_ch = r3;
    0x000294e0 ldr r3, [pc, 0x1e4]                           |     r3 = *(0x296c8);
    0x000294e4 add r3, pc, r3                                |     r3 = pc + r3;
    0x000294e8 str r3, [sp, 0x10]                            |     var_10h = r3;
    0x000294ec ldr r3, [pc, 0x1dc]                           |     r3 = *(0x296cc);
    0x000294f0 add r3, pc, r3                                |     r3 = pc + r3;
    0x000294f4 str r3, [sp, 0x14]                            |     var_14h = r3;
    0x000294f8 ldr r3, [pc, 0x1d4]                           |     r3 = *(0x296d0);
    0x000294fc add r3, pc, r3                                |     r3 = pc + r3;
    0x00029500 str r3, [sp, 0x18]                            |     var_18h = r3;
    0x00029504 ldr r3, [pc, 0x1cc]                           |     r3 = *(0x296d4);
    0x00029508 add r3, pc, r3                                |     r3 = pc + r3;
    0x0002950c str r3, [sp, 0x1c]                            |     var_1ch = r3;
                                                             |     do {
    0x00029510 mov r2, 2                                     |         r2 = 2;
    0x00029514 mov r1, sl                                    |         r1 = sl;
    0x00029518 ldr r0, [sp, 4]                               |         r0 = s1;
    0x0002951c bl 0x516c                                     |         r0 = strncmp (r0, r1, r2);
    0x00029520 cmp r0, 0                                     |         
                                                             |         if (r0 != 0) {
    0x00029524 bne 0x29578                                   |             goto label_5;
                                                             |         }
                                                             | label_2:
    0x00029528 add sl, sl, 2                                 |         sl += 2;
                                                             | label_1:
    0x0002952c ldrb r2, [sl]                                 |         r2 = *(sl);
    0x00029530 cmp r2, 0                                     |         
    0x00029534 bne 0x29510                                   |         
                                                             |     } while (r2 != 0);
    0x00029538 cmp sb, 0                                     |     
                                                             |     if (sb != 0) {
    0x0002953c beq 0x29560                                   |         
    0x00029540 sub sb, sb, r6                                |         sb -= r6;
    0x00029544 add r8, r8, sb                                |         r8 += sb;
    0x00029548 mov r0, r8                                    |         r0 = r8;
    0x0002954c bl 0x5250                                     |         strlen (r0);
    0x00029550 mov r1, r8                                    |         r1 = r8;
    0x00029554 add r2, r0, 1                                 |         r2 = r0 + 1;
    0x00029558 mov r0, r4                                    |         r0 = r4;
    0x0002955c bl 0x4f5c                                     |         memcpy (r0, r1, r2);
                                                             |     }
    0x00029560 ldr r3, [pc, 0x150]                           |     
    0x00029564 mov r0, r6                                    |     r0 = r6;
    0x00029568 ldr r3, [r7, r3]                              |     r3 = *((r7 + r3));
    0x0002956c ldr r3, [r3]                                  |     r3 = *(0x296b4);
    0x00029570 blx r3                                        |     uint32_t (*r3)(uint32_t, uint32_t) (r0, r3);
    0x00029574 b 0x29480                                     |     goto label_0;
                                                             | label_5:
    0x00029578 mov r1, sl                                    |     r1 = sl;
    0x0002957c mov r2, 3                                     |     r2 = 3;
    0x00029580 ldr r0, [sp, 8]                               |     r0 = var_8h;
    0x00029584 bl 0x516c                                     |     r0 = strncmp (r0, r1, r2);
    0x00029588 cmp r0, 0                                     |     
                                                             |     if (r0 == 0) {
    0x0002958c addeq sl, sl, 3                               |         sl += 3;
                                                             |         goto label_6;
                                                             |     }
                                                             |     if (r0 == 0) {
                                                             | label_6:
    0x00029590 beq 0x2952c                                   |         goto label_1;
                                                             |     }
    0x00029594 mov r2, 3                                     |     r2 = 3;
    0x00029598 mov r1, sl                                    |     r1 = sl;
    0x0002959c ldr r0, [sp, 0xc]                             |     r0 = var_ch;
    0x000295a0 bl 0x516c                                     |     r0 = strncmp (r0, r1, r2);
    0x000295a4 cmp r0, 0                                     |     
                                                             |     if (r0 == 0) {
    0x000295a8 beq 0x29528                                   |         goto label_2;
                                                             |     }
    0x000295ac mov r1, sl                                    |     r1 = sl;
    0x000295b0 ldr r0, [sp, 0x10]                            |     r0 = var_10h;
    0x000295b4 bl 0x5a30                                     |     r0 = strcmp (r0, r1);
    0x000295b8 cmp r0, 0                                     |     
                                                             |     if (r0 != 0) {
    0x000295bc moveq r2, 0x2f                                |         r2 = 0x2f;
                                                             |     }
                                                             |     if (r0 == 0) {
    0x000295c0 strbeq r2, [sl, 1]!                           |         *((sl += 1)) = r2;
                                                             |         goto label_7;
                                                             |     }
                                                             |     if (r0 == 0) {
                                                             | label_7:
    0x000295c4 beq 0x2952c                                   |         goto label_1;
                                                             |     }
    0x000295c8 mov r1, sl                                    |     r1 = sl;
    0x000295cc mov r2, 4                                     |     r2 = 4;
    0x000295d0 ldr r0, [sp, 0x14]                            |     r0 = var_14h;
    0x000295d4 bl 0x516c                                     |     r0 = strncmp (r0, r1, r2);
    0x000295d8 cmp r0, 0                                     |     
                                                             |     if (r0 != 0) {
    0x000295dc addeq sl, sl, 3                               |         sl += 3;
                                                             |     }
                                                             |     if (r0 == 0) {
    0x000295e0 beq 0x29644                                   |         goto label_8;
                                                             |     }
    0x000295e4 mov r1, sl                                    |     r1 = sl;
    0x000295e8 ldr r0, [sp, 0x18]                            |     r0 = var_18h;
    0x000295ec bl 0x5a30                                     |     r0 = strcmp (r0, r1);
    0x000295f0 cmp r0, 0                                     |     
                                                             |     if (r0 != 0) {
    0x000295f4 moveq r2, 0x2f                                |         r2 = 0x2f;
                                                             |     }
                                                             |     if (r0 != 0) {
    0x000295f8 strbeq r2, [sl, 2]!                           |         *((sl += 2)) = r2;
                                                             |     }
                                                             |     if (r0 == 0) {
    0x000295fc beq 0x29664                                   |         goto label_9;
                                                             |     }
    0x00029600 mov r1, sl                                    |     r1 = sl;
    0x00029604 ldr r0, [sp, 0x1c]                            |     r0 = var_1ch;
    0x00029608 bl 0x5a30                                     |     r0 = strcmp (r0, r1);
    0x0002960c cmp r0, 0                                     |     
                                                             |     if (r0 != 0) {
    0x00029610 beq 0x29628                                   |         
    0x00029614 mov r1, sl                                    |         r1 = sl;
    0x00029618 mov r0, fp                                    |         r0 = fp;
    0x0002961c bl 0x5a30                                     |         r0 = strcmp (r0, r1);
    0x00029620 cmp r0, 0                                     |         
                                                             |         if (r0 != 0) {
    0x00029624 bne 0x29670                                   |             goto label_10;
                                                             |         }
                                                             |     }
    0x00029628 mov r2, 0                                     |     r2 = 0;
    0x0002962c strb r2, [sl]                                 |     *(sl) = r2;
    0x00029630 strb r2, [r5]                                 |     *(r5) = r2;
    0x00029634 b 0x2952c                                     |     goto label_1;
                                                             |     do {
    0x00029638 ldrb r2, [r4, -1]!                            |         r2 = *((r4 -= 1));
    0x0002963c cmp r2, 0x2f                                  |         
                                                             |         if (r2 == 0x2f) {
    0x00029640 beq 0x2964c                                   |             goto label_4;
                                                             |         }
                                                             | label_8:
    0x00029644 cmp r4, r5                                    |         
    0x00029648 bhi 0x29638                                   |         
                                                             |     } while (r4 > r5);
                                                             |     do {
                                                             | label_4:
    0x0002964c mov r2, 0                                     |         r2 = 0;
    0x00029650 strb r2, [r4]                                 |         *(r4) = r2;
    0x00029654 b 0x2952c                                     |         goto label_1;
                                                             | label_3:
    0x00029658 ldrb r2, [r4, -1]!                            |         r2 = *((r4 -= 1));
    0x0002965c cmp r2, 0x2f                                  |         
    0x00029660 beq 0x2964c                                   |         
                                                             |     } while (r2 == 0x2f);
                                                             | label_9:
    0x00029664 cmp r4, r5                                    |     
                                                             |     if (r4 > r5) {
    0x00029668 bhi 0x29658                                   |         goto label_3;
                                                             |     }
    0x0002966c b 0x2964c                                     |     goto label_4;
                                                             | label_10:
    0x00029670 add ip, sl, 1                                 |     
                                                             |     do {
    0x00029674 ldrb r2, [ip, -1]                             |         r2 = *((ip - 1));
    0x00029678 mov r1, r4                                    |         r1 = r4;
    0x0002967c strb r2, [r4], 1                              |         *(r4) = r2;
                                                             |         r4++;
    0x00029680 ldrb r0, [ip]                                 |         r0 = *(ip);
    0x00029684 mov sl, ip                                    |         sl = ip;
    0x00029688 subs r2, r0, 0x2f                             |         r2 = r0 - 0x2f;
                                                             |         if (r2 == r0) {
    0x0002968c movne r2, 1                                   |             r2 = 1;
                                                             |         }
    0x00029690 cmp r0, 0                                     |         
                                                             |         if (r0 != 0) {
    0x00029694 moveq r2, 0                                   |             r2 = 0;
                                                             |         }
    0x00029698 cmp r2, 0                                     |         
    0x0002969c add ip, ip, 1                                 |         
    0x000296a0 bne 0x29674                                   |         
                                                             |     } while (r2 != 0);
    0x000296a4 strb r2, [r1, 1]                              |     *((r1 + 1)) = r2;
    0x000296a8 b 0x2952c                                     |     goto label_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/lib/libcurl.so @ 0x1e348 */
                                                             | #include <stdint.h>
                                                             |  
    ; (fcn) sym.Curl_expire ()                               | void Curl_expire (int32_t arg1, int32_t arg2) {
                                                             |     int32_t var_0h;
                                                             |     int32_t var_4h;
                                                             |     void * s2;
                                                             |     int32_t var_ch;
                                                             |     int32_t var_14h;
                                                             |     r0 = arg1;
                                                             |     r1 = arg2;
    0x0001e348 push {r4, r5, r6, r7, r8, sb, sl, fp, lr}     |     
    0x0001e34c ldr r6, [r0, 0x64]                            |     r6 = *((r0 + 0x64));
    0x0001e350 sub sp, sp, 0x14                              |     
    0x0001e354 cmp r6, 0                                     |     
                                                             |     if (r6 == 0) {
    0x0001e358 beq 0x1e4d4                                   |         goto label_1;
                                                             |     }
    0x0001e35c add r5, sp, 8                                 |     r5 += s2;
    0x0001e360 mov r4, r0                                    |     r4 = r0;
    0x0001e364 mov sb, r1                                    |     sb = r1;
    0x0001e368 mov r0, r5                                    |     r0 = r5;
    0x0001e36c mov r7, r2                                    |     r7 = r2;
    0x0001e370 bl 0x69f0                                     |     Curl_now ();
    0x0001e374 mov r1, 0x3e8                                 |     r1 = 0x3e8;
    0x0001e378 mov r0, sb                                    |     r0 = sb;
    0x0001e37c bl 0x37f24                                    |     divsi3 ();
    0x0001e380 ldr r8, [sp, 8]                               |     r8 = s2;
    0x0001e384 mov r1, 0x3e8                                 |     r1 = 0x3e8;
    0x0001e388 add sl, r4, 0x4800                            |     sl = r4 + 0x4800;
    0x0001e38c add fp, sl, 0xd0                              |     
    0x0001e390 add r8, r0, r8                                |     r8 = r0 + r8;
    0x0001e394 mov r0, sb                                    |     r0 = sb;
    0x0001e398 str r8, [sp, 8]                               |     s2 = r8;
    0x0001e39c bl 0x38000                                    |     aeabi_idivmod ();
    0x0001e3a0 ldr r2, [sp, 0xc]                             |     r2 = var_ch;
    0x0001e3a4 mov r3, 0x3e8                                 |     r3 = 0x3e8;
    0x0001e3a8 mla r0, r3, r1, r2                            |     __asm ("mla r0, r3, r1, r2");
    0x0001e3ac ldr r3, [pc, 0x154]                           |     r3 = *(0x1e504);
    0x0001e3b0 str r0, [sp, 0xc]                             |     var_ch = r0;
    0x0001e3b4 cmp r0, r3                                    |     
                                                             |     if (r0 <= r3) {
    0x0001e3b8 addgt r8, r8, 1                               |         r8++;
                                                             |     }
                                                             |     if (r0 <= r3) {
    0x0001e3bc strgt r8, [sp, 8]                             |         s2 = r8;
                                                             |     }
    0x0001e3c0 mov r8, 0x18                                  |     r8 = 0x18;
                                                             |     if (r0 <= r3) {
    0x0001e3c4 subgt r1, r0, 0xf4000                         |         r1 = r0 - 0xf4000;
                                                             |     }
    0x0001e3c8 mul sb, r7, r8                                |     sb = r7 * r8;
                                                             |     if (r0 <= r3) {
    0x0001e3cc subgt r1, r1, 0x240                           |         r1 -= 0x240;
                                                             |     }
                                                             |     if (r0 <= r3) {
    0x0001e3d0 strgt r1, [sp, 0xc]                           |         var_ch = r1;
                                                             |     }
    0x0001e3d4 mov r0, r4                                    |     r0 = r4;
    0x0001e3d8 mov r1, r7                                    |     r1 = r7;
    0x0001e3dc bl 0x1d32c                                    |     multi_deltimeout ();
    0x0001e3e0 add r0, sb, 0x4800                            |     r0 = sb + 0x4800;
    0x0001e3e4 add r3, r0, 0xe0                              |     r3 = r0 + 0xe0;
    0x0001e3e8 add r8, r4, sb                                |     r8 = r4 + sb;
    0x0001e3ec add r0, r0, 0xec                              |     r0 += 0xec;
    0x0001e3f0 add r3, r4, r3                                |     r3 = r4 + r3;
    0x0001e3f4 mov r2, 8                                     |     r2 = 8;
    0x0001e3f8 mov r1, r5                                    |     r1 = r5;
    0x0001e3fc add r8, r8, 0x4800                            |     r8 += 0x4800;
    0x0001e400 add r0, r4, r0                                |     r0 = r4 + r0;
    0x0001e404 str r3, [sp]                                  |     *(sp) = r3;
    0x0001e408 bl 0x4f5c                                     |     memcpy (r0, r1, r2);
    0x0001e40c str r7, [r8, 0xf4]                            |     *((r8 + 0xf4)) = r7;
    0x0001e410 mov r0, fp                                    |     r0 = fp;
    0x0001e414 bl 0x1cd30                                    |     Curl_llist_count ();
    0x0001e418 add r7, r4, 0x4000                            |     r7 = r4 + 0x4000;
    0x0001e41c subs r8, r0, 0                                |     r8 = r0 - 0;
                                                             |     if (r8 == r0) {
    0x0001e420 beq 0x1e440                                   |         goto label_2;
                                                             |     }
    0x0001e424 ldr r3, [sp]                                  |     r3 = *(sp);
    0x0001e428 ldr sb, [r7, 0x8d0]                           |     sb = *((r7 + 0x8d0));
    0x0001e42c add r3, r3, 0xc                               |     r3 += 0xc;
    0x0001e430 mov r8, 0                                     |     r8 = 0;
    0x0001e434 str r3, [sp, 4]                               |     var_4h = r3;
                                                             | label_0:
    0x0001e438 cmp sb, 0                                     |     
    0x0001e43c bne 0x1e4dc                                   |     
                                                             |     while (r0 > 0) {
                                                             | label_2:
    0x0001e440 ldr r3, [sp]                                  |         r3 = *(sp);
    0x0001e444 mov r1, r8                                    |         r1 = r8;
    0x0001e448 mov r2, r3                                    |         r2 = r3;
    0x0001e44c mov r0, fp                                    |         r0 = fp;
    0x0001e450 bl 0x1cbfc                                    |         Curl_llist_insert_next ();
    0x0001e454 ldr r3, [r7, 0x8ac]                           |         r3 = *((r7 + 0x8ac));
    0x0001e458 add sb, sl, 0xac                              |         sb = sl + 0xac;
    0x0001e45c cmp r3, 0                                     |         
                                                             |         if (r3 == 0) {
    0x0001e460 bne 0x1e470                                   |             
    0x0001e464 ldr r3, [r7, 0x8b0]                           |             r3 = *((r7 + 0x8b0));
    0x0001e468 cmp r3, 0                                     |             
                                                             |             if (r3 == 0) {
    0x0001e46c beq 0x1e4ac                                   |                 goto label_3;
                                                             |             }
                                                             |         }
    0x0001e470 ldm sb, {r2, r3}                              |         r2 = *(sb);
                                                             |         r3 = *((sb + 4));
    0x0001e474 ldm r5, {r0, r1}                              |         r0 = *(r5);
                                                             |         r1 = *((r5 + 4));
    0x0001e478 bl 0x6a20                                     |         r0 = Curl_timediff ();
    0x0001e47c cmp r0, 0                                     |         
                                                             |         if (r0 <= 0) {
    0x0001e480 bgt 0x1e4d4                                   |             
    0x0001e484 add r2, r6, 0x5c                              |             r2 = r6 + 0x5c;
    0x0001e488 add r1, sl, 0xb4                              |             r1 = sl + 0xb4;
    0x0001e48c ldr r0, [r6, 0x5c]                            |             r0 = *((r6 + 0x5c));
    0x0001e490 bl 0x23854                                    |             r0 = Curl_splayremovebyaddr ();
    0x0001e494 subs r2, r0, 0                                |             r2 = r0 - 0;
                                                             |             if (r2 != r0) {
    0x0001e498 beq 0x1e4ac                                   |                 
    0x0001e49c ldr r1, [pc, 0x68]                            |                 r1 = $d;
    0x0001e4a0 mov r0, r4                                    |                 r0 = r4;
    0x0001e4a4 add r1, pc, r1                                |                 r1 = pc + r1;
    0x0001e4a8 bl 0x104cc                                    |                 r0 = Curl_infof ();
                                                             |             }
                                                             | label_3:
    0x0001e4ac ldm r5, {r0, r1}                              |             r0 = *(r5);
                                                             |             r1 = *((r5 + 4));
    0x0001e4b0 ldr r2, [r6, 0x5c]                            |             r2 = *((r6 + 0x5c));
    0x0001e4b4 add r3, r7, 0x8a0                             |             r3 = r7 + 0x8a0;
    0x0001e4b8 add r3, r3, 0xc                               |             r3 += 0xc;
    0x0001e4bc stm r3, {r0, r1}                              |             *(r3) = r0;
                                                             |             *((r3 + 4)) = r1;
    0x0001e4c0 str r4, [r7, 0x8cc]                           |             *((r7 + 0x8cc)) = r4;
    0x0001e4c4 add r3, sl, 0xb4                              |             r3 = sl + 0xb4;
    0x0001e4c8 ldm sb, {r0, r1}                              |             r0 = *(sb);
                                                             |             r1 = *((sb + 4));
    0x0001e4cc bl 0x236b0                                    |             Curl_splayinsert ();
    0x0001e4d0 str r0, [r6, 0x5c]                            |             *((r6 + 0x5c)) = r0;
                                                             |         }
                                                             | label_1:
    0x0001e4d4 add sp, sp, 0x14                              |         
    0x0001e4d8 pop {r4, r5, r6, r7, r8, sb, sl, fp, pc}      |         
    0x0001e4dc ldr r1, [sb]                                  |         r1 = *(sb);
    0x0001e4e0 ldr r3, [sp, 4]                               |         r3 = var_4h;
    0x0001e4e4 add r1, r1, 0xc                               |         r1 += 0xc;
    0x0001e4e8 ldm r3, {r2, r3}                              |         r2 = *(r3);
                                                             |         r3 = *((r3 + 4));
    0x0001e4ec ldm r1, {r0, r1}                              |         r0 = *(r1);
                                                             |         r1 = *((r1 + 4));
    0x0001e4f0 bl 0x6a20                                     |         r0 = Curl_timediff ();
    0x0001e4f4 cmp r0, 0                                     |         
    0x0001e4f8 bgt 0x1e440                                   |         
                                                             |     }
    0x0001e4fc mov r8, sb                                    |     r8 = sb;
    0x0001e500 ldr sb, [sb, 8]                               |     sb = *((sb + 8));
    0x0001e504 b 0x1e438                                     |     goto label_0;
                                                             | }
    ; 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/lib/libcurl.so @ 0x1eb2c */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.Curl_expire_done ()          | void Curl_expire_done (int32_t arg1, int32_t arg2) {
                                             |     r0 = arg1;
                                             |     r1 = arg2;
    0x0001eb2c b 0x1d32c                     |     return void (*0x1d32c)() ();
                                             | }
    ; 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/lib/libcurl.so @ 0x1eb30 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.Curl_expire_clear ()         | void Curl_expire_clear (int32_t arg1) {
                                             |     r0 = arg1;
    0x0001eb30 ldr r3, [r0, 0x64]            |     r3 = *((r0 + 0x64));
    0x0001eb34 cmp r3, 0                     |     
                                             |     if (r3 != 0) {
    0x0001eb38 bxeq lr                       |         return;
                                             |     }
    0x0001eb3c push {r4, r5, r6, lr}         |     
    0x0001eb40 add r4, r0, 0x4000            |     r4 = r0 + 0x4000;
    0x0001eb44 ldr r2, [r4, 0x8ac]           |     r2 = *((r4 + 0x8ac));
    0x0001eb48 cmp r2, 0                     |     
                                             |     if (r2 == 0) {
    0x0001eb4c bne 0x1eb5c                   |         
    0x0001eb50 ldr r2, [r4, 0x8b0]           |         r2 = *((r4 + 0x8b0));
    0x0001eb54 cmp r2, 0                     |         
    0x0001eb58 popeq {r4, r5, r6, pc}        |         
                                             |     }
    0x0001eb5c add r1, r0, 0x4800            |     r1 = r0 + 0x4800;
    0x0001eb60 add r2, r3, 0x5c              |     r2 = r3 + 0x5c;
    0x0001eb64 mov r5, r0                    |     r5 = r0;
    0x0001eb68 add r6, r1, 0xd0              |     r6 = r1 + 0xd0;
    0x0001eb6c ldr r0, [r3, 0x5c]            |     r0 = *((r3 + 0x5c));
    0x0001eb70 add r1, r1, 0xb4              |     r1 += 0xb4;
    0x0001eb74 bl 0x23854                    |     r0 = Curl_splayremovebyaddr ();
    0x0001eb78 subs r2, r0, 0                |     r2 = r0 - 0;
                                             |     if (r2 == r0) {
    0x0001eb7c beq 0x1eb90                   |         goto label_0;
                                             |     }
    0x0001eb80 ldr r1, [pc, 0x34]            |     r1 = *(0x1ebb8);
    0x0001eb84 mov r0, r5                    |     r0 = r5;
    0x0001eb88 add r1, pc, r1                |     r1 = pc + r1;
    0x0001eb8c bl 0x104cc                    |     Curl_infof ();
                                             |     do {
                                             | label_0:
    0x0001eb90 ldr r3, [r4, 0x8dc]           |         r3 = *((r4 + 0x8dc));
    0x0001eb94 cmp r3, 0                     |         
                                             |         if (r3 == 0) {
    0x0001eb98 bne 0x1eba8                   |             
    0x0001eb9c str r3, [r4, 0x8ac]           |             *((r4 + 0x8ac)) = r3;
    0x0001eba0 str r3, [r4, 0x8b0]           |             *((r4 + 0x8b0)) = r3;
    0x0001eba4 pop {r4, r5, r6, pc}          |             
                                             |         }
    0x0001eba8 mov r2, 0                     |         r2 = 0;
    0x0001ebac ldr r1, [r4, 0x8d4]           |         r1 = *((r4 + 0x8d4));
    0x0001ebb0 mov r0, r6                    |         r0 = r6;
    0x0001ebb4 bl 0x1cc64                    |         Curl_llist_remove ();
    0x0001ebb8 b 0x1eb90                     |         
                                             |     } 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/lib/libcurl.so @ 0x195bc */
                                                             | #include <stdint.h>
                                                             |  
    ; (fcn) sym.Curl_follow ()                               | void Curl_follow (int32_t arg1, int32_t arg2) {
                                                             |     int32_t var_4h;
                                                             |     int32_t var_8h;
                                                             |     int32_t var_ch;
                                                             |     int32_t var_17h;
                                                             |     int32_t var_18h;
                                                             |     int32_t var_2ch;
                                                             |     r0 = arg1;
                                                             |     r1 = arg2;
    0x000195bc push {r4, r5, r6, r7, r8, sb, sl, fp, lr}     |     
    0x000195c0 ldr r8, [pc, 0x4dc]                           |     r8 = *(0x19aa0);
    0x000195c4 cmp r2, 3                                     |     
    0x000195c8 add r8, pc, r8                                |     r8 = pc + r8;
    0x000195cc sub sp, sp, 0x2c                              |     
    0x000195d0 mov r4, r0                                    |     r4 = r0;
    0x000195d4 mov r5, r1                                    |     r5 = r1;
    0x000195d8 mov fp, r2                                    |     
                                                             |     if (r2 != 3) {
    0x000195dc bne 0x19678                                   |         goto label_8;
                                                             |     }
    0x000195e0 ldr r2, [r0, 0x164]                           |     r2 = *((r0 + 0x164));
    0x000195e4 ldr r3, [r0, 0x160]                           |     r3 = *((r0 + 0x160));
    0x000195e8 cmn r2, 1                                     |     
    0x000195ec mov r7, 1                                     |     r7 = 1;
                                                             |     if (r2 != 1) {
    0x000195f0 beq 0x195fc                                   |         
    0x000195f4 cmp r2, r3                                    |         
                                                             |         if (r2 <= r3) {
    0x000195f8 ble 0x19784                                   |             goto label_9;
                                                             |         }
                                                             |     }
    0x000195fc add r2, r4, 0x4000                            |     r2 = r4 + 0x4000;
    0x00019600 strb r7, [r2, 0x7e0]                          |     *((r2 + 0x7e0)) = r7;
    0x00019604 ldrb r7, [r4, 0x4cf]                          |     r7 = *((r4 + 0x4cf));
    0x00019608 add r3, r3, 1                                 |     r3++;
    0x0001960c cmp r7, 0                                     |     
    0x00019610 str r3, [r4, 0x160]                           |     *((r4 + 0x160)) = r3;
                                                             |     if (r7 == 0) {
    0x00019614 beq 0x1967c                                   |         goto label_0;
                                                             |     }
    0x00019618 ldrb r3, [r4, 0x684]                          |     r3 = *((r4 + 0x684));
    0x0001961c cmp r3, 0                                     |     
                                                             |     if (r3 != 0) {
    0x00019620 beq 0x19644                                   |         
    0x00019624 ldr r3, [pc, 0x47c]                           |         
    0x00019628 ldr r0, [r4, 0x680]                           |         r0 = *((r4 + 0x680));
    0x0001962c ldr r3, [r8, r3]                              |         r3 = *((r8 + r3));
    0x00019630 ldr r3, [r3]                                  |         r3 = $d;
    0x00019634 blx r3                                        |         uint32_t (*r3)(uint32_t, uint32_t) (r0, r3);
    0x00019638 mov r3, 0                                     |         r3 = 0;
    0x0001963c str r3, [r4, 0x680]                           |         *((r4 + 0x680)) = r3;
    0x00019640 strb r3, [r4, 0x684]                          |         *((r4 + 0x684)) = r3;
                                                             |     }
    0x00019644 ldr r3, [pc, 0x460]                           |     
    0x00019648 ldr r0, [r4, 0x678]                           |     r0 = *((r4 + 0x678));
    0x0001964c ldr r3, [r8, r3]                              |     r3 = *((r8 + r3));
    0x00019650 ldr r3, [r3]                                  |     r3 = *(0x19aa8);
    0x00019654 blx r3                                        |     r0 = uint32_t (*r3)(uint32_t, uint32_t) (r0, r3);
    0x00019658 cmp r0, 0                                     |     
                                                             |     if (r0 == 0) {
    0x0001965c movne r3, 1                                   |         r3 = 1;
                                                             |     }
    0x00019660 str r0, [r4, 0x680]                           |     *((r4 + 0x680)) = r0;
                                                             |     if (r0 == 0) {
    0x00019664 strbne r3, [r4, 0x684]                        |         *((r4 + 0x684)) = r3;
                                                             |     }
    0x00019668 bne 0x19678                                   |     
                                                             |     while (sl == r0) {
                                                             | label_2:
    0x0001966c mov r0, 0x1b                                  |         r0 = 0x1b;
                                                             | label_4:
    0x00019670 add sp, sp, 0x2c                              |         
    0x00019674 pop {r4, r5, r6, r7, r8, sb, sl, fp, pc}      |         
                                                             | label_8:
    0x00019678 mov r7, 0                                     |         r7 = 0;
                                                             | label_0:
    0x0001967c ldr r1, [pc, 0x42c]                           |         r1 = *(0x19aac);
    0x00019680 add r3, sp, 0x17                              |         r3 += var_17h;
    0x00019684 add r2, sp, 0x18                              |         r2 += var_18h;
    0x00019688 add r1, pc, r1                                |         r1 = pc + r1;
    0x0001968c mov r0, r5                                    |         r0 = r5;
    0x00019690 bl 0x5658                                     |         r0 = sscanf (r0, r1, r2);
    0x00019694 cmp r0, 2                                     |         
                                                             |         if (r0 == 2) {
    0x00019698 beq 0x19934                                   |             goto label_10;
                                                             |         }
    0x0001969c ldr r3, [pc, 0x408]                           |         
    0x000196a0 ldr r0, [r4, 0x678]                           |         r0 = *((r4 + 0x678));
    0x000196a4 ldr r3, [r8, r3]                              |         r3 = *((r8 + r3));
    0x000196a8 ldr r3, [r3]                                  |         r3 = *(0x19aa8);
    0x000196ac blx r3                                        |         r0 = uint32_t (*r3)(uint32_t, uint32_t) (r0, r3);
    0x000196b0 subs sl, r0, 0                                |         sl = r0 - 0;
    0x000196b4 beq 0x1966c                                   |         
                                                             |     }
    0x000196b8 ldr r1, [pc, 0x3f4]                           |     r1 = *(0x19ab0);
    0x000196bc add r1, pc, r1                                |     r1 = pc + r1;
    0x000196c0 bl 0x5a18                                     |     strstr (r0, r1);
    0x000196c4 ldrb r1, [r5]                                 |     r1 = *(r5);
    0x000196c8 cmp r0, 0                                     |     
                                                             |     if (r0 == 0) {
    0x000196cc addne r6, r0, 2                               |         r6 = r0 + 2;
                                                             |     }
                                                             |     if (r0 != 0) {
    0x000196d0 moveq r6, sl                                  |         r6 = sl;
                                                             |     }
    0x000196d4 cmp r1, 0x2f                                  |     
                                                             |     if (r1 == 0x2f) {
    0x000196d8 beq 0x19834                                   |         goto label_11;
                                                             |     }
    0x000196dc mov r1, 0x3f                                  |     r1 = 0x3f;
    0x000196e0 mov r0, r6                                    |     r0 = r6;
    0x000196e4 bl 0x5b38                                     |     r0 = strchr (r0, r1);
    0x000196e8 cmp r0, 0                                     |     
                                                             |     if (r0 == 0) {
    0x000196ec movne r3, 0                                   |         r3 = 0;
                                                             |     }
                                                             |     if (r0 == 0) {
    0x000196f0 strbne r3, [r0]                               |         *(r0) = r3;
                                                             |     }
    0x000196f4 ldrb r3, [r5]                                 |     r3 = *(r5);
    0x000196f8 cmp r3, 0x3f                                  |     
                                                             |     if (r3 != 0x3f) {
    0x000196fc beq 0x19718                                   |         
    0x00019700 mov r1, 0x2f                                  |         r1 = 0x2f;
    0x00019704 mov r0, r6                                    |         r0 = r6;
    0x00019708 bl 0x5160                                     |         r0 = strrchr (r0, r1);
    0x0001970c cmp r0, 0                                     |         
                                                             |         if (r0 == 0) {
    0x00019710 movne r3, 0                                   |             r3 = 0;
                                                             |         }
                                                             |         if (r0 != 0) {
    0x00019714 strbne r3, [r0]                               |             *(r0) = r3;
                                                             |             goto label_12;
                                                             |         }
                                                             |     }
                                                             | label_12:
    0x00019718 mov r0, r6                                    |     r0 = r6;
    0x0001971c mov r1, 0x2f                                  |     r1 = 0x2f;
    0x00019720 bl 0x5b38                                     |     strchr (r0, r1);
    0x00019724 ldrb r3, [r5]                                 |     r3 = *(r5);
    0x00019728 subs r6, r0, 0                                |     r6 = r0 - 0;
                                                             |     if (r6 == r0) {
    0x0001972c addne r6, r6, 1                               |         r6++;
                                                             |     }
    0x00019730 cmp r3, 0x2e                                  |     
                                                             |     if (r3 == 0x2e) {
    0x00019734 movne sb, 0                                   |         sb = 0;
                                                             |     }
                                                             |     if (r3 != 0x2e) {
    0x00019738 bne 0x19770                                   |         goto label_13;
                                                             |     }
    0x0001973c ldrb r3, [r5, 1]                              |     r3 = *((r5 + 1));
    0x00019740 mov sb, 0                                     |     sb = 0;
    0x00019744 cmp r3, 0x2f                                  |     
    0x00019748 addeq r5, r5, 2                               |     r5 += 2;
                                                             |     while (1) {
    0x0001974c ldrb r3, [r5]                                 |         r3 = *(r5);
    0x00019750 cmp r3, 0x2e                                  |         
                                                             |         if (r3 == 0x2e) {
    0x00019754 bne 0x19770                                   |             
    0x00019758 ldrb r3, [r5, 1]                              |             r3 = *((r5 + 1));
    0x0001975c cmp r3, 0x2e                                  |             
                                                             |             if (r3 != 0x2e) {
    0x00019760 bne 0x19770                                   |                 goto label_13;
                                                             |             }
    0x00019764 ldrb r3, [r5, 2]                              |             r3 = *((r5 + 2));
    0x00019768 cmp r3, 0x2f                                  |             
                                                             |             if (r3 == 0x2f) {
    0x0001976c beq 0x1978c                                   |                 goto label_14;
                                                             |             }
                                                             |         }
                                                             | label_13:
    0x00019770 cmp r6, 0                                     |         
                                                             |         if (r6 == 0) {
    0x00019774 movne r3, 0                                   |             r3 = 0;
                                                             |         }
                                                             |         if (r6 != 0) {
    0x00019778 bne 0x197b8                                   |             goto label_15;
                                                             |         }
                                                             | label_1:
    0x0001977c mov r0, 0                                     |         r0 = 0;
    0x00019780 b 0x197c8                                     |         goto label_3;
                                                             | label_9:
    0x00019784 mov fp, r7                                    |         
    0x00019788 b 0x1967c                                     |         goto label_0;
                                                             | label_14:
    0x0001978c add sb, sb, 1                                 |         sb++;
    0x00019790 add r5, r5, 3                                 |         r5 += 3;
    0x00019794 b 0x1974c                                     |         
                                                             |     }
                                                             |     do {
    0x00019798 mov r1, 0x2f                                  |         r1 = 0x2f;
    0x0001979c mov r0, r6                                    |         r0 = r6;
    0x000197a0 str r3, [sp, 4]                               |         var_4h = r3;
    0x000197a4 bl 0x5160                                     |         r0 = strrchr (r0, r1);
    0x000197a8 cmp r0, 0                                     |         
                                                             |         if (r0 == 0) {
    0x000197ac beq 0x197c4                                   |             goto label_16;
                                                             |         }
    0x000197b0 ldr r3, [sp, 4]                               |         r3 = var_4h;
    0x000197b4 strb r3, [r0]                                 |         *(r0) = r3;
                                                             | label_15:
    0x000197b8 subs sb, sb, 1                                |         sb--;
    0x000197bc bhs 0x19798                                   |         
                                                             |     } while (sb >= sb);
    0x000197c0 b 0x1977c                                     |     goto label_1;
                                                             | label_16:
    0x000197c4 strb r0, [r6]                                 |     *(r6) = r0;
                                                             |     do {
                                                             | label_3:
    0x000197c8 eor r3, r0, 1                                 |         r3 = r0 ^ 1;
    0x000197cc mov r1, r3                                    |         r1 = r3;
    0x000197d0 mov r0, r5                                    |         r0 = r5;
    0x000197d4 str r3, [sp, 4]                               |         var_4h = r3;
    0x000197d8 bl 0x17d0c                                    |         r0 = strlen_url ();
    0x000197dc mov sb, r0                                    |         sb = r0;
    0x000197e0 mov r0, sl                                    |         r0 = sl;
    0x000197e4 bl 0x5250                                     |         strlen (r0);
    0x000197e8 ldr r2, [pc, 0x2c8]                           |         
    0x000197ec mov r3, r0                                    |         r3 = r0;
    0x000197f0 str r3, [sp, 0xc]                             |         var_ch = r3;
    0x000197f4 ldr r2, [r8, r2]                              |         r2 = *((r8 + r2));
    0x000197f8 add r0, sb, r0                                |         r0 = sb + r0;
    0x000197fc ldr r2, [r2]                                  |         r2 = *(0x19ab4);
    0x00019800 add r0, r0, 2                                 |         r0 += 2;
    0x00019804 blx r2                                        |         uint32_t (*r2)(uint32_t, uint32_t, uint32_t) (r0, r2, r3);
    0x00019808 ldr r2, [pc, 0x298]                           |         r2 = $d;
    0x0001980c ldr r3, [r8, r2]                              |         r3 = *((r8 + r2));
    0x00019810 str r3, [sp, 8]                               |         var_8h = r3;
    0x00019814 ldr r3, [sp, 0xc]                             |         r3 = var_ch;
    0x00019818 subs sb, r0, 0                                |         sb = r0 - 0;
                                                             |         if (sb != r0) {
    0x0001981c bne 0x19898                                   |             goto label_17;
                                                             |         }
    0x00019820 ldr r3, [sp, 8]                               |         r3 = var_8h;
    0x00019824 mov r0, sl                                    |         r0 = sl;
    0x00019828 ldr r3, [r3]                                  |         r3 = *(r3);
    0x0001982c blx r3                                        |         uint32_t (*r3)(uint32_t, uint32_t) (r0, r3);
    0x00019830 b 0x1966c                                     |         goto label_2;
                                                             | label_11:
    0x00019834 ldrb r3, [r5, 1]                              |         r3 = *((r5 + 1));
    0x00019838 cmp r3, 0x2f                                  |         
                                                             |         if (r3 != 0x2f) {
    0x0001983c moveq r3, 0                                   |             r3 = 0;
                                                             |         }
                                                             |         if (r3 != 0x2f) {
    0x00019840 strbeq r3, [r6]                               |             *(r6) = r3;
                                                             |         }
                                                             |         if (r3 != 0x2f) {
    0x00019844 addeq r5, r5, 2                               |             r5 += 2;
                                                             |         }
                                                             |         if (r3 != 0x2f) {
    0x00019848 moveq r0, 1                                   |             r0 = 1;
                                                             |         }
    0x0001984c beq 0x197c8                                   |         
                                                             |     } while (r3 == 0x2f);
    0x00019850 mov r0, r6                                    |     r0 = r6;
    0x00019854 bl 0x5b38                                     |     strchr (r0, r1);
    0x00019858 mov r1, 0x3f                                  |     r1 = 0x3f;
    0x0001985c mov sb, r0                                    |     sb = r0;
    0x00019860 mov r0, r6                                    |     r0 = r6;
    0x00019864 bl 0x5b38                                     |     strchr (r0, r1);
    0x00019868 cmp sb, 0                                     |     
                                                             |     if (sb != 0) {
    0x0001986c beq 0x19888                                   |         
    0x00019870 cmp r0, 0                                     |         
    0x00019874 cmpne sb, r0                                  |         __asm ("cmpne sb, r0");
                                                             |         if (r0 > 0) {
    0x00019878 movls r0, sb                                  |             r0 = sb;
                                                             |         }
    0x0001987c mov r3, 0                                     |         r3 = 0;
    0x00019880 strb r3, [r0]                                 |         *(r0) = r3;
    0x00019884 b 0x1977c                                     |         goto label_1;
                                                             |     }
    0x00019888 cmp r0, 0                                     |     
                                                             |     if (r0 == 0) {
    0x0001988c strbne sb, [r0]                               |         *(r0) = sb;
                                                             |     }
                                                             |     if (r0 == 0) {
    0x00019890 movne r0, sb                                  |         r0 = sb;
                                                             |     }
    0x00019894 b 0x197c8                                     |     goto label_3;
                                                             | label_17:
    0x00019898 mov r2, r3                                    |     r2 = r3;
    0x0001989c mov r1, sl                                    |     r1 = sl;
    0x000198a0 str r3, [sp, 0xc]                             |     var_ch = r3;
    0x000198a4 bl 0x4f5c                                     |     memcpy (r0, r1, r2);
    0x000198a8 ldrb r2, [r5]                                 |     r2 = *(r5);
    0x000198ac ldr r3, [sp, 0xc]                             |     r3 = var_ch;
    0x000198b0 cmp r2, 0x2f                                  |     
                                                             |     if (r2 != 0x2f) {
    0x000198b4 beq 0x198dc                                   |         
    0x000198b8 cmp r6, 0                                     |         
                                                             |         if (r6 != 0) {
    0x000198bc beq 0x198cc                                   |             
    0x000198c0 ldrb r1, [r6]                                 |             r1 = *(r6);
    0x000198c4 cmp r1, 0                                     |             
                                                             |             if (r1 == 0) {
    0x000198c8 beq 0x198dc                                   |                 goto label_18;
                                                             |             }
                                                             |         }
    0x000198cc cmp r2, 0x3f                                  |         
                                                             |         if (r2 == 0x3f) {
    0x000198d0 movne r2, 0x2f                                |             r2 = 0x2f;
                                                             |         }
                                                             |         if (r2 == 0x3f) {
    0x000198d4 strbne r2, [sb, r3]                           |             *((sb + r3)) = r2;
                                                             |         }
                                                             |         if (r2 != 0x3f) {
    0x000198d8 addne r3, r3, 1                               |             r3++;
                                                             |             goto label_18;
                                                             |         }
                                                             |     }
                                                             | label_18:
    0x000198dc add r0, sb, r3                                |     r0 = sb + r3;
    0x000198e0 ldr r2, [sp, 4]                               |     r2 = var_4h;
    0x000198e4 mov r1, r5                                    |     r1 = r5;
    0x000198e8 bl 0x17d88                                    |     strcpy_url ();
    0x000198ec ldr r3, [sp, 8]                               |     r3 = var_8h;
    0x000198f0 mov r0, sl                                    |     r0 = sl;
    0x000198f4 ldr r3, [r3]                                  |     r3 = *(r3);
    0x000198f8 blx r3                                        |     uint32_t (*r3)(uint32_t, uint32_t) (r0, r3);
    0x000198fc cmp fp, 1                                     |     
                                                             |     if (fp != 1) {
    0x00019900 bne 0x1997c                                   |         goto label_19;
                                                             |     }
                                                             | label_5:
    0x00019904 add r3, r4, 0x4000                            |     r3 = r4 + 0x4000;
    0x00019908 cmp r7, 0                                     |     
    0x0001990c str sb, [r3, 0xa8c]                           |     *((r3 + 0xa8c)) = sb;
                                                             |     if (r7 == 0) {
    0x00019910 moveq r0, r7                                  |         r0 = r7;
                                                             |         goto label_20;
                                                             |     }
                                                             |     if (r7 == 0) {
                                                             | label_20:
    0x00019914 beq 0x19670                                   |         goto label_4;
                                                             |     }
    0x00019918 ldr r1, [pc, 0x19c]                           |     r1 = *(0x19ab8);
    0x0001991c mov r0, r4                                    |     r0 = r4;
    0x00019920 ldr r2, [r4, 0x164]                           |     r2 = *((r4 + 0x164));
    0x00019924 add r1, pc, r1                                |     r1 = pc + r1;
    0x00019928 bl 0x10544                                    |     Curl_failf ();
    0x0001992c mov r0, 0x2f                                  |     r0 = 0x2f;
    0x00019930 b 0x19670                                     |     goto label_4;
                                                             | label_10:
    0x00019934 mov r1, 0                                     |     r1 = 0;
    0x00019938 mov r0, r5                                    |     r0 = r5;
    0x0001993c bl 0x17d0c                                    |     strlen_url ();
    0x00019940 ldr r3, [pc, 0x170]                           |     
    0x00019944 ldr r3, [r8, r3]                              |     r3 = *((r8 + r3));
    0x00019948 ldr r3, [r3]                                  |     r3 = *(0x19ab4);
    0x0001994c add r0, r0, 1                                 |     r0++;
    0x00019950 blx r3                                        |     r0 = uint32_t (*r3)(uint32_t, uint32_t) (r0, r3);
    0x00019954 subs sb, r0, 0                                |     sb = r0 - 0;
                                                             |     if (sb == r0) {
    0x00019958 beq 0x1966c                                   |         goto label_2;
                                                             |     }
    0x0001995c mov r2, 0                                     |     r2 = 0;
    0x00019960 mov r1, r5                                    |     r1 = r5;
    0x00019964 bl 0x17d88                                    |     strcpy_url ();
    0x00019968 cmp fp, 1                                     |     
                                                             |     if (fp == 1) {
    0x0001996c addne r3, r4, 0x4000                          |         r3 = r4 + 0x4000;
                                                             |     }
                                                             |     if (fp == 1) {
    0x00019970 movne r2, 0                                   |         r2 = 0;
                                                             |     }
                                                             |     if (fp != 1) {
    0x00019974 strbne r2, [r3, 0x82c]                        |         *((r3 + 0x82c)) = r2;
                                                             |         goto label_21;
                                                             |     }
                                                             |     if (fp == 1) {
                                                             | label_21:
    0x00019978 beq 0x19904                                   |         goto label_5;
                                                             |     }
                                                             | label_19:
    0x0001997c ldrb r3, [r4, 0x67c]                          |     r3 = *((r4 + 0x67c));
    0x00019980 cmp r3, 0                                     |     
                                                             |     if (r3 != 0) {
    0x00019984 beq 0x1999c                                   |         
    0x00019988 ldr r3, [pc, 0x118]                           |         
    0x0001998c ldr r0, [r4, 0x678]                           |         r0 = *((r4 + 0x678));
    0x00019990 ldr r3, [r8, r3]                              |         r3 = *((r8 + r3));
    0x00019994 ldr r3, [r3]                                  |         r3 = $d;
    0x00019998 blx r3                                        |         uint32_t (*r3)(uint32_t, uint32_t) (r0, r3);
                                                             |     }
    0x0001999c ldr r1, [pc, 0x11c]                           |     r1 = *(0x19abc);
    0x000199a0 mov r5, 1                                     |     r5 = 1;
    0x000199a4 mov r2, sb                                    |     r2 = sb;
    0x000199a8 str sb, [r4, 0x678]                           |     *((r4 + 0x678)) = sb;
    0x000199ac strb r5, [r4, 0x67c]                          |     *((r4 + 0x67c)) = r5;
    0x000199b0 add r1, pc, r1                                |     r1 = pc + r1;
    0x000199b4 mov r0, r4                                    |     r0 = r4;
    0x000199b8 bl 0x104cc                                    |     Curl_infof ();
    0x000199bc add r3, r4, 0x4000                            |     r3 = r4 + 0x4000;
    0x000199c0 ldr r3, [r3, 0xa60]                           |     r3 = *((r3 + 0xa60));
    0x000199c4 ldr r2, [pc, 0xf8]                            |     r2 = *(0x19ac0);
    0x000199c8 cmp r3, r2                                    |     
                                                             |     if (r3 == r2) {
    0x000199cc beq 0x19a38                                   |         goto label_22;
                                                             |     }
    0x000199d0 add r2, r2, r5                                |     r2 += r5;
    0x000199d4 cmp r3, r2                                    |     
                                                             |     if (r3 == r2) {
    0x000199d8 beq 0x19a54                                   |         goto label_23;
                                                             |     }
    0x000199dc sub r2, r2, 2                                 |     r2 -= 2;
    0x000199e0 cmp r3, r2                                    |     
                                                             |     if (r3 != r2) {
    0x000199e4 bne 0x19a1c                                   |         goto label_7;
                                                             |     }
    0x000199e8 ldr r3, [r4, 0x3d0]                           |     r3 = *((r4 + 0x3d0));
    0x000199ec sub r3, r3, 2                                 |     r3 -= 2;
    0x000199f0 cmp r3, 2                                     |     
                                                             |     if (r3 > 2) {
    0x000199f4 bhi 0x19a1c                                   |         goto label_7;
                                                             |     }
    0x000199f8 ldr r3, [r4, 0x168]                           |     r3 = *((r4 + 0x168));
    0x000199fc tst r3, 1                                     |     
                                                             |     if ((r3 & 1) != 0) {
                                                             | label_6:
    0x00019a00 bne 0x19a1c                                   |         goto label_7;
                                                             |     }
    0x00019a04 ldr r1, [pc, 0xbc]                            |     r1 = *(0x19ac4);
    0x00019a08 mov r0, r4                                    |     r0 = r4;
    0x00019a0c add r1, pc, r1                                |     r1 = pc + r1;
    0x00019a10 bl 0x104cc                                    |     Curl_infof ();
    0x00019a14 mov r3, 1                                     |     r3 = 1;
    0x00019a18 str r3, [r4, 0x3d0]                           |     *((r4 + 0x3d0)) = r3;
                                                             |     do {
                                                             | label_7:
    0x00019a1c mov r1, 0xa                                   |         r1 = 0xa;
    0x00019a20 mov r0, r4                                    |         r0 = r4;
    0x00019a24 bl 0x7f7c                                     |         Curl_pgrsTime ();
    0x00019a28 mov r0, r4                                    |         r0 = r4;
    0x00019a2c bl 0x7f50                                     |         Curl_pgrsResetTransferSizes ();
    0x00019a30 mov r0, 0                                     |         r0 = 0;
    0x00019a34 b 0x19670                                     |         goto label_4;
                                                             | label_22:
    0x00019a38 ldr r3, [r4, 0x3d0]                           |         r3 = *((r4 + 0x3d0));
    0x00019a3c sub r3, r3, 2                                 |         r3 -= 2;
    0x00019a40 cmp r3, 2                                     |         
    0x00019a44 bhi 0x19a1c                                   |         
                                                             |     } while (r3 > 2);
    0x00019a48 ldr r3, [r4, 0x168]                           |     r3 = *((r4 + 0x168));
    0x00019a4c tst r3, 2                                     |     
    0x00019a50 b 0x19a00                                     |     goto label_6;
                                                             | label_23:
    0x00019a54 ldr r3, [r4, 0x3d0]                           |     r3 = *((r4 + 0x3d0));
    0x00019a58 cmp r3, 1                                     |     
                                                             |     if (r3 == 1) {
    0x00019a5c beq 0x19a1c                                   |         goto label_7;
                                                             |     }
    0x00019a60 ldr r3, [r4, 0x168]                           |     r3 = *((r4 + 0x168));
    0x00019a64 tst r3, 4                                     |     
                                                             |     if ((r3 & 4) != 0) {
    0x00019a68 bne 0x19a1c                                   |         goto label_7;
                                                             |     }
    0x00019a6c ldrb r3, [r4, 0x4d0]                          |     r3 = *((r4 + 0x4d0));
    0x00019a70 str r5, [r4, 0x3d0]                           |     *((r4 + 0x3d0)) = r5;
    0x00019a74 cmp r3, 0                                     |     
                                                             |     if (r3 == 0) {
    0x00019a78 beq 0x19a98                                   |         goto label_24;
                                                             |     }
    0x00019a7c ldr r2, [pc, 0x48]                            |     r2 = *(0x19ac8);
    0x00019a80 add r2, pc, r2                                |     r2 = pc + r2;
                                                             |     do {
    0x00019a84 ldr r1, [pc, 0x44]                            |         r1 = *(0x19acc);
    0x00019a88 mov r0, r4                                    |         r0 = r4;
    0x00019a8c add r1, pc, r1                                |         r1 = pc + r1;
    0x00019a90 bl 0x104cc                                    |         Curl_infof ();
    0x00019a94 b 0x19a1c                                     |         goto label_7;
                                                             | label_24:
    0x00019a98 ldr r2, [pc, 0x34]                            |         r2 = *(0x19ad0);
    0x00019a9c add r2, pc, r2                                |         r2 = pc + r2;
    0x00019aa0 b 0x19a84                                     |         
                                                             |     } 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/lib/libcurl.so @ 0x9610 */
                                                             | #include <stdint.h>
                                                             |  
    ; (fcn) sym.Curl_getformdata ()                          | void Curl_getformdata (int32_t arg1, int32_t arg2) {
                                                             |     int32_t var_0h;
                                                             |     int32_t var_4h;
                                                             |     int32_t var_8h;
                                                             |     int32_t var_ch;
                                                             |     int32_t var_10h;
                                                             |     int32_t var_14h;
                                                             |     char * s2;
                                                             |     int32_t var_1ch;
                                                             |     int32_t var_24h;
                                                             |     r0 = arg1;
                                                             |     r1 = arg2;
    0x00009610 push {r4, r5, r6, r7, r8, sb, sl, fp, lr}     |     
    0x00009614 ldr r8, [pc, 0x2d0]                           |     r8 = *(0x98e8);
    0x00009618 sub sp, sp, 0x24                              |     
    0x0000961c mov r4, r2                                    |     r4 = r2;
    0x00009620 str r0, [sp, 0x10]                            |     var_10h = r0;
    0x00009624 mov r0, r1                                    |     r0 = r1;
    0x00009628 mov fp, r1                                    |     
    0x0000962c str r3, [sp, 0x14]                            |     var_14h = r3;
    0x00009630 bl 0x2bb24                                    |     Curl_mime_cleanpart ();
    0x00009634 cmp r4, 0                                     |     
    0x00009638 add r8, pc, r8                                |     r8 = pc + r8;
                                                             |     if (r4 != 0) {
    0x0000963c moveq r5, r4                                  |         r5 = r4;
                                                             |     }
                                                             |     if (r4 == 0) {
    0x00009640 beq 0x9698                                    |         goto label_10;
                                                             |     }
    0x00009644 ldr r0, [sp, 0x10]                            |     r0 = var_10h;
    0x00009648 bl 0x549c                                     |     r0 = fcn_0000549c ();
    0x0000964c subs sl, r0, 0                                |     sl = r0 - 0;
                                                             |     if (sl == r0) {
    0x00009650 beq 0x98e4                                    |         goto label_11;
                                                             |     }
    0x00009654 mov r1, sl                                    |     r1 = sl;
    0x00009658 mov r0, fp                                    |     r0 = fp;
    0x0000965c bl 0x5bbc                                     |     fcn_00005bbc ();
    0x00009660 ldr r3, [pc, 0x288]                           |     r3 = $d;
    0x00009664 add r3, pc, r3                                |     r3 = pc + r3;
    0x00009668 str r3, [sp, 0x18]                            |     s2 = r3;
    0x0000966c mov r5, r0                                    |     r5 = r0;
                                                             |     do {
    0x00009670 adds r3, r4, 0                                |         r3 = r4 + 0;
                                                             |         if (r3 == r4) {
    0x00009674 movne r3, 1                                   |             r3 = 1;
                                                             |         }
    0x00009678 cmp r5, 0                                     |         
                                                             |         if (r5 == 0) {
    0x0000967c movne r3, 0                                   |             r3 = 0;
                                                             |         }
    0x00009680 cmp r3, 0                                     |         
                                                             |         if (r3 == 0) {
    0x00009684 bne 0x96a4                                    |             
    0x00009688 cmp r5, 0                                     |             
                                                             |             if (r5 != 0) {
    0x0000968c beq 0x9698                                    |                 
                                                             | label_9:
    0x00009690 mov r0, fp                                    |                 r0 = fp;
    0x00009694 bl 0x2bb24                                    |                 Curl_mime_cleanpart ();
                                                             |             }
                                                             | label_10:
    0x00009698 mov r0, r5                                    |             r0 = r5;
    0x0000969c add sp, sp, 0x24                              |             
    0x000096a0 pop {r4, r5, r6, r7, r8, sb, sl, fp, pc}      |             
                                                             |         }
    0x000096a4 ldr r5, [r4, 0x24]                            |         r5 = *((r4 + 0x24));
    0x000096a8 cmp r5, 0                                     |         
                                                             |         if (r5 == 0) {
    0x000096ac beq 0x9700                                    |             goto label_12;
                                                             |         }
    0x000096b0 mov r0, sl                                    |         r0 = sl;
    0x000096b4 bl 0x5b8c                                     |         r0 = fcn_00005b8c ();
    0x000096b8 subs r6, r0, 0                                |         r6 = r0 - 0;
                                                             |         if (r6 != r0) {
    0x000096bc bne 0x96cc                                    |             goto label_13;
                                                             |         }
                                                             | label_1:
    0x000096c0 mov r5, 0x1b                                  |         r5 = 0x1b;
                                                             | label_0:
    0x000096c4 ldr r4, [r4]                                  |         r4 = *(r4);
    0x000096c8 b 0x9670                                      |         
                                                             |     } while (1);
                                                             | label_13:
    0x000096cc ldmib r4, {r1, r2}                            |     __asm ("ldmib r4, {r1, r2}");
    0x000096d0 bl 0x8b3c                                     |     r0 = setname ();
    0x000096d4 subs r5, r0, 0                                |     r5 = r0 - 0;
                                                             |     if (r5 != r0) {
    0x000096d8 bne 0x96c4                                    |         goto label_0;
                                                             |     }
    0x000096dc ldr r0, [sp, 0x10]                            |     r0 = var_10h;
    0x000096e0 bl 0x549c                                     |     r0 = fcn_0000549c ();
    0x000096e4 subs sb, r0, 0                                |     sb = r0 - 0;
                                                             |     if (sb == r0) {
    0x000096e8 beq 0x96c0                                    |         goto label_1;
                                                             |     }
    0x000096ec mov r1, sb                                    |     r1 = sb;
    0x000096f0 mov r0, r6                                    |     r0 = r6;
    0x000096f4 bl 0x5bbc                                     |     r0 = fcn_00005bbc ();
    0x000096f8 mov r5, r0                                    |     r5 = r0;
    0x000096fc b 0x9704                                      |     goto label_14;
                                                             | label_12:
    0x00009700 mov sb, sl                                    |     sb = sl;
                                                             | label_14:
    0x00009704 mov r7, r4                                    |     r7 = r4;
                                                             | label_2:
    0x00009708 adds r3, r7, 0                                |     r3 = r7 + 0;
                                                             |     if (r3 == r7) {
    0x0000970c movne r3, 1                                   |         r3 = 1;
                                                             |     }
    0x00009710 cmp r5, 0                                     |     
                                                             |     if (r5 == 0) {
    0x00009714 movne r3, 0                                   |         r3 = 0;
                                                             |     }
    0x00009718 cmp r3, 0                                     |     
                                                             |     if (r3 == 0) {
    0x0000971c beq 0x96c4                                    |         goto label_0;
                                                             |     }
    0x00009720 mov r0, sb                                    |     r0 = sb;
    0x00009724 bl 0x5b8c                                     |     r0 = fcn_00005b8c ();
    0x00009728 subs r6, r0, 0                                |     r6 = r0 - 0;
                                                             |     if (r6 != r0) {
    0x0000972c moveq r5, 0x1b                                |         r5 = 0x1b;
                                                             |     }
                                                             |     if (r6 == r0) {
    0x00009730 beq 0x9818                                    |         goto label_3;
                                                             |     }
    0x00009734 mov r2, 0                                     |     r2 = 0;
    0x00009738 ldr r1, [r7, 0x20]                            |     r1 = *((r7 + 0x20));
    0x0000973c bl 0x57fc                                     |     r0 = fcn_000057fc ();
    0x00009740 subs r5, r0, 0                                |     r5 = r0 - 0;
                                                             |     if (r5 != r0) {
    0x00009744 bne 0x9818                                    |         goto label_3;
                                                             |     }
    0x00009748 ldr r1, [r7, 0x1c]                            |     r1 = *((r7 + 0x1c));
    0x0000974c cmp r1, 0                                     |     
    0x00009750 bne 0x9820                                    |     
                                                             |     while (r0 == 0) {
    0x00009754 ldr r3, [r4, 0x24]                            |         r3 = *((r4 + 0x24));
    0x00009758 cmp r3, 0                                     |         
                                                             |         if (r3 == 0) {
    0x0000975c bne 0x9774                                    |             
    0x00009760 ldmib r4, {r1, r2}                            |             __asm ("ldmib r4, {r1, r2}");
    0x00009764 mov r0, r6                                    |             r0 = r6;
    0x00009768 bl 0x8b3c                                     |             r0 = setname ();
    0x0000976c cmp r0, 0                                     |             
                                                             |             if (r0 != 0) {
    0x00009770 bne 0x9830                                    |                 goto label_7;
                                                             |             }
                                                             |         }
    0x00009774 ldr r1, [r4, 0x28]                            |         r1 = *((r4 + 0x28));
    0x00009778 ldr r2, [r4, 0x10]                            |         r2 = *((r4 + 0x10));
    0x0000977c tst r1, 0x80                                  |         
                                                             |         if ((r1 & 0x80) != 0) {
    0x00009780 bne 0x9838                                    |             goto label_15;
                                                             |         }
    0x00009784 asr r3, r2, 0x1f                              |         r3 = r2 >> 0x1f;
                                                             | label_4:
    0x00009788 orrs r0, r2, r3                               |         r0 = r2 | r3;
                                                             |         if (r0 != r2) {
    0x0000978c mvneq r2, 0                                   |             r2 = ~0;
                                                             |         }
                                                             |         if (r0 != r2) {
    0x00009790 mvneq r3, 0                                   |             r3 = ~0;
                                                             |         }
    0x00009794 tst r1, 3                                     |         
                                                             |         if ((r1 & 3) == 0) {
    0x00009798 beq 0x9868                                    |             goto label_16;
                                                             |         }
    0x0000979c ldr r3, [r7, 0xc]                             |         r3 = *((r7 + 0xc));
    0x000097a0 ldr r1, [sp, 0x18]                            |         r1 = s2;
    0x000097a4 mov r0, r3                                    |         r0 = r3;
    0x000097a8 str r3, [sp, 0x1c]                            |         var_1ch = r3;
    0x000097ac bl 0x5a30                                     |         strcmp (r0, r1);
    0x000097b0 ldr r3, [sp, 0x1c]                            |         r3 = var_1ch;
    0x000097b4 cmp r0, 0                                     |         
                                                             |         if (r0 != 0) {
    0x000097b8 bne 0x9840                                    |             goto label_17;
                                                             |         }
    0x000097bc ldr r3, [pc, 0x130]                           |         
    0x000097c0 mvn r2, 0                                     |         r2 = ~0;
    0x000097c4 ldr r3, [r8, r3]                              |         r3 = *((r8 + r3));
    0x000097c8 ldr r3, [r3]                                  |         r3 = *(0x98f0);
    0x000097cc str r0, [sp, 8]                               |         var_8h = r0;
    0x000097d0 str r3, [sp, 0xc]                             |         var_ch = r3;
    0x000097d4 ldr r3, [pc, 0x11c]                           |         r3 = *(0x98f4);
    0x000097d8 mov r0, r6                                    |         r0 = r6;
    0x000097dc ldr r3, [r8, r3]                              |         r3 = *((r8 + r3));
    0x000097e0 str r3, [sp, 4]                               |         var_4h = r3;
    0x000097e4 ldr r3, [pc, 0x110]                           |         r3 = *(0x98f8);
    0x000097e8 ldr r3, [r8, r3]                              |         r3 = *((r8 + r3));
    0x000097ec str r3, [sp]                                  |         *(sp) = r3;
    0x000097f0 mvn r3, 0                                     |         r3 = ~0;
    0x000097f4 bl 0x51fc                                     |         r0 = fcn_000051fc ();
                                                             | label_5:
    0x000097f8 cmp r0, 0                                     |         
                                                             |         if (r0 != 0) {
    0x000097fc bne 0x9830                                    |             goto label_7;
                                                             |         }
    0x00009800 ldr r3, [r4, 0x28]                            |         r3 = *((r4 + 0x28));
    0x00009804 tst r3, 2                                     |         
                                                             |         if ((r3 & 2) != 0) {
    0x00009808 bne 0x9850                                    |             goto label_18;
                                                             |         }
                                                             | label_6:
    0x0000980c ldr r1, [r4, 0x2c]                            |         r1 = *((r4 + 0x2c));
    0x00009810 cmp r1, 0                                     |         
                                                             |         if (r1 != 0) {
    0x00009814 bne 0x98c0                                    |             goto label_19;
                                                             |         }
                                                             | label_3:
    0x00009818 ldr r7, [r7, 0x24]                            |         r7 = *((r7 + 0x24));
    0x0000981c b 0x9708                                      |         goto label_2;
    0x00009820 mov r0, r6                                    |         r0 = r6;
    0x00009824 bl 0x4f8c                                     |         r0 = fcn_00004f8c ();
    0x00009828 cmp r0, 0                                     |         
    0x0000982c beq 0x9754                                    |         
                                                             |     }
                                                             | label_7:
    0x00009830 mov r5, r0                                    |     r5 = r0;
    0x00009834 b 0x9818                                      |     goto label_3;
                                                             | label_15:
    0x00009838 ldrd r2, r3, [r4, 0x38]                       |     __asm ("ldrd r2, r3, [r4, 0x38]");
    0x0000983c b 0x9788                                      |     goto label_4;
                                                             | label_17:
    0x00009840 mov r1, r3                                    |     r1 = r3;
    0x00009844 mov r0, r6                                    |     r0 = r6;
    0x00009848 bl 0x5088                                     |     fcn_00005088 ();
    0x0000984c b 0x97f8                                      |     goto label_5;
                                                             | label_18:
    0x00009850 mov r1, r0                                    |     r1 = r0;
    0x00009854 mov r0, r6                                    |     r0 = r6;
    0x00009858 bl 0x5184                                     |     r0 = fcn_00005184 ();
                                                             | label_8:
    0x0000985c cmp r0, 0                                     |     
                                                             |     if (r0 == 0) {
    0x00009860 beq 0x980c                                    |         goto label_6;
                                                             |     }
    0x00009864 b 0x9830                                      |     goto label_7;
                                                             | label_16:
    0x00009868 ands r0, r1, 0x10                             |     r0 = r1 & 0x10;
                                                             |     if (r0 == r1) {
    0x0000986c beq 0x988c                                    |         goto label_20;
                                                             |     }
    0x00009870 ldr r2, [r4, 0x18]                            |     r2 = *((r4 + 0x18));
    0x00009874 ldr r1, [r4, 0x14]                            |     r1 = *((r4 + 0x14));
    0x00009878 cmp r2, 0                                     |     
    0x0000987c mvneq r2, 0                                   |     r2 = ~0;
                                                             |     while (1) {
    0x00009880 mov r0, r6                                    |         r0 = r6;
    0x00009884 bl 0x5700                                     |         fcn_00005700 ();
    0x00009888 b 0x985c                                      |         goto label_8;
                                                             | label_20:
    0x0000988c tst r1, 0x40                                  |         
                                                             |         if ((r1 & 0x40) != 0) {
    0x00009890 beq 0x98b8                                    |             
    0x00009894 ldr r1, [r4, 0x30]                            |             r1 = *((r4 + 0x30));
    0x00009898 str r0, [sp, 8]                               |             var_8h = r0;
    0x0000989c str r1, [sp, 0xc]                             |             var_ch = r1;
    0x000098a0 ldr r1, [sp, 0x14]                            |             r1 = var_14h;
    0x000098a4 str r0, [sp, 4]                               |             var_4h = r0;
    0x000098a8 str r1, [sp]                                  |             *(sp) = r1;
    0x000098ac mov r0, r6                                    |             r0 = r6;
    0x000098b0 bl 0x51fc                                     |             fcn_000051fc ();
    0x000098b4 b 0x985c                                      |             goto label_8;
                                                             |         }
    0x000098b8 ldr r1, [r4, 0xc]                             |         r1 = *((r4 + 0xc));
    0x000098bc b 0x9880                                      |         
                                                             |     }
                                                             | label_19:
    0x000098c0 ldr r3, [r4, 0x24]                            |     r3 = *((r4 + 0x24));
    0x000098c4 cmp r3, 0                                     |     
                                                             |     if (r3 != 0) {
    0x000098c8 bne 0x98d8                                    |         goto label_21;
                                                             |     }
    0x000098cc ldr r3, [r4, 0x28]                            |     r3 = *((r4 + 0x28));
    0x000098d0 tst r3, 0x51                                  |     
                                                             |     if ((r3 & 0x51) == 0) {
    0x000098d4 beq 0x9818                                    |         goto label_3;
                                                             |     }
                                                             | label_21:
    0x000098d8 mov r0, r6                                    |     r0 = r6;
    0x000098dc bl 0x5184                                     |     fcn_00005184 ();
    0x000098e0 b 0x9830                                      |     goto label_7;
                                                             | label_11:
    0x000098e4 mov r5, 0x1b                                  |     r5 = 0x1b;
    0x000098e8 b 0x9690                                      |     goto label_9;
                                                             | }
    ; 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/lib/libcurl.so @ 0x174b0 */
                                                             | #include <stdint.h>
                                                             |  
    ; (fcn) sym.Curl_getinfo ()                              | void Curl_getinfo (int32_t arg1, int32_t arg2) {
                                                             |     int32_t var_4h;
                                                             |     int32_t var_ch;
                                                             |     int32_t var_24h;
                                                             |     int32_t var_28h;
                                                             |     int32_t var_2ch;
                                                             |     r0 = arg1;
                                                             |     r1 = arg2;
    0x000174b0 push {r1, r2, r3}                             |     
    0x000174b4 push {r0, r1, r2, r4, r5, r6, r7, r8, lr}     |     
    0x000174b8 ldr r7, [pc, 0x754]                           |     r7 = *(0x17c10);
    0x000174bc subs r4, r0, 0                                |     r4 = r0 - 0;
    0x000174c0 add r7, pc, r7                                |     r7 = pc + r7;
    0x000174c4 ldr r5, [sp, 0x24]                            |     r5 = var_24h;
                                                             |     if (r4 == r0) {
    0x000174c8 beq 0x174f4                                   |         goto label_0;
                                                             |     }
    0x000174cc and r2, r5, 0xf00000                          |     r2 = r5 & 0xf00000;
    0x000174d0 add r3, sp, 0x28                              |     r3 += var_28h;
    0x000174d4 cmp r2, 0x300000                              |     
    0x000174d8 str r3, [sp, 4]                               |     var_4h = r3;
                                                             |     if (r2 == 0x300000) {
    0x000174dc beq 0x17884                                   |         goto label_14;
                                                             |     }
                                                             |     if (r2 > 0x300000) {
    0x000174e0 bgt 0x174fc                                   |         goto label_15;
                                                             |     }
    0x000174e4 cmp r2, 0x100000                              |     
                                                             |     if (r2 == 0x100000) {
    0x000174e8 beq 0x1755c                                   |         goto label_16;
                                                             |     }
    0x000174ec cmp r2, 0x200000                              |     
                                                             |     if (r2 == 0x200000) {
    0x000174f0 beq 0x17660                                   |         goto label_17;
                                                             |     }
                                                             |     do {
                                                             | label_0:
    0x000174f4 mov r0, 0x30                                  |         r0 = 0x30;
    0x000174f8 b 0x17868                                     |         goto label_13;
                                                             | label_15:
    0x000174fc cmp r2, 0x500000                              |         
                                                             |         if (r2 == 0x500000) {
    0x00017500 beq 0x17be4                                   |             goto label_18;
                                                             |         }
    0x00017504 cmp r2, 0x600000                              |         
                                                             |         if (r2 == 0x600000) {
    0x00017508 beq 0x179d0                                   |             goto label_19;
                                                             |         }
    0x0001750c cmp r2, 0x400000                              |         
    0x00017510 bne 0x174f4                                   |         
                                                             |     } while (r2 != 0x400000);
    0x00017514 ldr r8, [r3]                                  |     r8 = *(r3);
    0x00017518 add r2, sp, 0x2c                              |     r2 += var_2ch;
    0x0001751c cmp r8, 0                                     |     
    0x00017520 str r2, [sp, 4]                               |     var_4h = r2;
                                                             |     if (r8 == 0) {
    0x00017524 beq 0x174f4                                   |         goto label_0;
                                                             |     }
    0x00017528 ldr r3, [pc, 0x6e8]                           |     r3 = $d;
    0x0001752c cmp r5, r3                                    |     
                                                             |     if (r5 == r3) {
    0x00017530 beq 0x17bd0                                   |         goto label_20;
                                                             |     }
                                                             |     if (r5 > r3) {
    0x00017534 bhi 0x17b24                                   |         goto label_21;
                                                             |     }
    0x00017538 sub r3, r3, 7                                 |     r3 -= 7;
    0x0001753c cmp r5, r3                                    |     
                                                             |     if (r5 == r3) {
    0x00017540 beq 0x17bc0                                   |         goto label_22;
                                                             |     }
    0x00017544 add r3, r3, 1                                 |     r3++;
    0x00017548 cmp r5, r3                                    |     
                                                             |     if (r5 != r3) {
    0x0001754c bne 0x174f4                                   |         goto label_0;
                                                             |     }
    0x00017550 mov r0, r4                                    |     r0 = r4;
    0x00017554 bl 0xb568                                     |     Curl_cookie_list ();
    0x00017558 b 0x17bc8                                     |     goto label_23;
                                                             | label_16:
    0x0001755c ldr r3, [r3]                                  |     r3 = *(r3);
    0x00017560 add r2, sp, 0x2c                              |     r2 += var_2ch;
    0x00017564 cmp r3, 0                                     |     
    0x00017568 str r2, [sp, 4]                               |     var_4h = r2;
                                                             |     if (r3 == 0) {
    0x0001756c beq 0x174f4                                   |         goto label_0;
                                                             |     }
    0x00017570 ldr r2, [pc, 0x6a4]                           |     r2 = *(0x17c18);
    0x00017574 cmp r5, r2                                    |     
                                                             |     if (r5 == r2) {
    0x00017578 beq 0x17640                                   |         goto label_24;
                                                             |     }
                                                             |     if (r5 > r2) {
    0x0001757c bhi 0x175dc                                   |         goto label_25;
                                                             |     }
    0x00017580 sub r2, r2, 0xd                               |     r2 -= 0xd;
    0x00017584 cmp r5, r2                                    |     
                                                             |     if (r5 == r2) {
    0x00017588 beq 0x1762c                                   |         goto label_26;
                                                             |     }
                                                             |     if (r5 > r2) {
    0x0001758c bhi 0x175b0                                   |         goto label_27;
                                                             |     }
    0x00017590 sub r2, r2, 0x11                              |     r2 -= 0x11;
    0x00017594 cmp r5, r2                                    |     
                                                             |     if (r5 != r2) {
    0x00017598 bne 0x174f4                                   |         goto label_0;
                                                             |     }
    0x0001759c ldr r2, [r4, 0x678]                           |     r2 = *((r4 + 0x678));
    0x000175a0 cmp r2, 0                                     |     
                                                             |     if (r2 != 0) {
    0x000175a4 ldreq r2, [pc, 0x674]                         |         r2 = *((pc + 0x674));
                                                             |     }
                                                             |     if (r2 != 0) {
    0x000175a8 addeq r2, pc, r2                              |         r2 = pc + r2;
                                                             |     }
    0x000175ac b 0x175d0                                     |     goto label_2;
                                                             | label_27:
    0x000175b0 ldr r2, [pc, 0x66c]                           |     r2 = *(0x17c20);
    0x000175b4 cmp r5, r2                                    |     
                                                             |     if (r5 == r2) {
    0x000175b8 beq 0x17638                                   |         goto label_28;
                                                             |     }
    0x000175bc add r2, r2, 9                                 |     r2 += 9;
    0x000175c0 cmp r5, r2                                    |     
                                                             |     if (r5 != r2) {
    0x000175c4 addeq r4, r4, 0x4000                          |         r4 += 0x4000;
                                                             |     }
                                                             |     if (r5 == r2) {
    0x000175c8 ldreq r2, [r4, 0x9d0]                         |         r2 = *((r4 + 0x9d0));
                                                             |         goto label_29;
                                                             |     }
                                                             |     if (r5 != r2) {
                                                             | label_29:
    0x000175cc bne 0x174f4                                   |         goto label_0;
                                                             |     }
                                                             | label_2:
    0x000175d0 str r2, [r3]                                  |     *(r3) = r2;
                                                             | label_1:
    0x000175d4 mov r0, 0                                     |     r0 = 0;
    0x000175d8 b 0x17868                                     |     goto label_13;
                                                             | label_25:
    0x000175dc ldr r2, [pc, 0x644]                           |     r2 = *(0x17c24);
    0x000175e0 cmp r5, r2                                    |     
                                                             |     if (r5 == r2) {
    0x000175e4 beq 0x17658                                   |         goto label_30;
                                                             |     }
                                                             |     if (r5 > r2) {
    0x000175e8 bhi 0x17608                                   |         goto label_31;
                                                             |     }
    0x000175ec sub r2, r2, 4                                 |     r2 -= 4;
    0x000175f0 cmp r5, r2                                    |     
                                                             |     if (r5 != r2) {
    0x000175f4 addeq r4, r4, 0x4a00                          |         r4 += 0x4a00;
                                                             |     }
                                                             |     if (r5 == r2) {
    0x000175f8 addeq r4, r4, 0x90                            |         r4 += 0x90;
                                                             |         goto label_32;
                                                             |     }
                                                             |     if (r5 != r2) {
                                                             | label_32:
    0x000175fc bne 0x174f4                                   |         goto label_0;
                                                             |     }
                                                             | label_3:
    0x00017600 str r4, [r3]                                  |     *(r3) = r4;
    0x00017604 b 0x175d4                                     |     goto label_1;
                                                             | label_31:
    0x00017608 ldr r2, [pc, 0x61c]                           |     r2 = *(0x17c28);
    0x0001760c cmp r5, r2                                    |     
                                                             |     if (r5 == r2) {
    0x00017610 beq 0x1764c                                   |         goto label_33;
                                                             |     }
    0x00017614 add r2, r2, 8                                 |     r2 += 8;
    0x00017618 cmp r5, r2                                    |     
                                                             |     if (r5 != r2) {
    0x0001761c addeq r4, r4, 0x4000                          |         r4 += 0x4000;
                                                             |     }
                                                             |     if (r5 == r2) {
    0x00017620 ldreq r2, [r4, 0xaf8]                         |         r2 = *((r4 + 0xaf8));
                                                             |         goto label_34;
                                                             |     }
                                                             |     if (r5 == r2) {
                                                             | label_34:
    0x00017624 beq 0x175d0                                   |         goto label_2;
                                                             |     }
    0x00017628 b 0x174f4                                     |     goto label_0;
                                                             | label_26:
    0x0001762c add r4, r4, 0x4000                            |     r4 += 0x4000;
    0x00017630 ldr r2, [r4, 0xa88]                           |     r2 = *((r4 + 0xa88));
    0x00017634 b 0x175d0                                     |     goto label_2;
                                                             | label_28:
    0x00017638 ldr r2, [r4, 0x49c]                           |     r2 = *((r4 + 0x49c));
    0x0001763c b 0x175d0                                     |     goto label_2;
                                                             | label_24:
    0x00017640 add r4, r4, 0x4000                            |     r4 += 0x4000;
    0x00017644 ldr r2, [r4, 0xa8c]                           |     r2 = *((r4 + 0xa8c));
    0x00017648 b 0x175d0                                     |     goto label_2;
                                                             | label_33:
    0x0001764c add r4, r4, 0x4a00                            |     r4 += 0x4a00;
    0x00017650 add r4, r4, 0xc4                              |     r4 += 0xc4;
    0x00017654 b 0x17600                                     |     goto label_3;
                                                             | label_30:
    0x00017658 ldr r2, [r4, 0x5cc]                           |     r2 = *((r4 + 0x5cc));
    0x0001765c b 0x175d0                                     |     goto label_2;
                                                             | label_17:
    0x00017660 ldr r6, [r3]                                  |     r6 = *(r3);
    0x00017664 add r2, sp, 0x2c                              |     r2 += var_2ch;
    0x00017668 cmp r6, 0                                     |     
    0x0001766c str r2, [sp, 4]                               |     var_4h = r2;
                                                             |     if (r6 == 0) {
    0x00017670 beq 0x174f4                                   |         goto label_0;
                                                             |     }
    0x00017674 sub r5, r5, 0x200000                          |     r5 -= 0x200000;
    0x00017678 sub r5, r5, 2                                 |     r5 -= 2;
    0x0001767c cmp r5, 0x2e                                  |     
                                                             |     if (r5 > 0x2e) {
                                                             |         /* switch table (47 cases) at 0x17688 */
    0x00017680 addls pc, pc, r5, lsl 2                       |         pc += (r5 << 2);
                                                             |     }
    0x00017684 b 0x174f4                                     |     goto label_0;
    0x00017688 b 0x17744                                     |     goto label_35;
    0x0001768c b 0x174f4                                     |     goto label_0;
    0x00017690 b 0x174f4                                     |     goto label_0;
    0x00017694 b 0x174f4                                     |     goto label_0;
    0x00017698 b 0x174f4                                     |     goto label_0;
    0x0001769c b 0x174f4                                     |     goto label_0;
    0x000176a0 b 0x174f4                                     |     goto label_0;
    0x000176a4 b 0x174f4                                     |     goto label_0;
    0x000176a8 b 0x174f4                                     |     goto label_0;
    0x000176ac b 0x1776c                                     |     goto label_36;
    0x000176b0 b 0x17778                                     |     goto label_37;
    0x000176b4 b 0x17784                                     |     goto label_38;
    0x000176b8 b 0x17760                                     |     goto label_39;
    0x000176bc b 0x174f4                                     |     goto label_0;
    0x000176c0 b 0x174f4                                     |     goto label_0;
    0x000176c4 b 0x174f4                                     |     goto label_0;
    0x000176c8 b 0x174f4                                     |     goto label_0;
    0x000176cc b 0x174f4                                     |     goto label_0;
    0x000176d0 b 0x17794                                     |     goto label_40;
    0x000176d4 b 0x174f4                                     |     goto label_0;
    0x000176d8 b 0x17754                                     |     goto label_41;
    0x000176dc b 0x1779c                                     |     goto label_42;
    0x000176e0 b 0x177a8                                     |     goto label_43;
    0x000176e4 b 0x177b4                                     |     goto label_44;
    0x000176e8 b 0x177c0                                     |     goto label_45;
    0x000176ec b 0x174f4                                     |     goto label_0;
    0x000176f0 b 0x174f4                                     |     goto label_0;
    0x000176f4 b 0x177cc                                     |     goto label_46;
    0x000176f8 b 0x174f4                                     |     goto label_0;
    0x000176fc b 0x174f4                                     |     goto label_0;
    0x00017700 b 0x174f4                                     |     goto label_0;
    0x00017704 b 0x174f4                                     |     goto label_0;
    0x00017708 b 0x174f4                                     |     goto label_0;
    0x0001770c b 0x177f8                                     |     goto label_47;
    0x00017710 b 0x174f4                                     |     goto label_0;
    0x00017714 b 0x17804                                     |     goto label_48;
    0x00017718 b 0x17810                                     |     goto label_49;
    0x0001771c b 0x1781c                                     |     goto label_50;
    0x00017720 b 0x177e0                                     |     goto label_51;
    0x00017724 b 0x174f4                                     |     goto label_0;
    0x00017728 b 0x177ec                                     |     goto label_52;
    0x0001772c b 0x174f4                                     |     goto label_0;
    0x00017730 b 0x174f4                                     |     goto label_0;
    0x00017734 b 0x174f4                                     |     goto label_0;
    0x00017738 b 0x17828                                     |     goto label_53;
    0x0001773c b 0x1778c                                     |     goto label_54;
    0x00017740 b 0x17878                                     |     goto label_55;
                                                             | label_35:
    0x00017744 add r4, r4, 0x4000                            |     r4 += 0x4000;
    0x00017748 ldr r3, [r4, 0xa60]                           |     r3 = *((r4 + 0xa60));
                                                             |     do {
                                                             | label_4:
    0x0001774c str r3, [r6]                                  |         *(r6) = r3;
    0x00017750 b 0x175d4                                     |         goto label_1;
                                                             | label_41:
    0x00017754 add r4, r4, 0x4000                            |         r4 += 0x4000;
    0x00017758 ldr r3, [r4, 0xa64]                           |         r3 = *((r4 + 0xa64));
    0x0001775c b 0x1774c                                     |         
                                                             |     } while (1);
                                                             | label_39:
    0x00017760 add r4, r4, 0x4000                            |     r4 += 0x4000;
    0x00017764 ldr r3, [r4, 0xa6c]                           |     r3 = *((r4 + 0xa6c));
    0x00017768 b 0x1774c                                     |     goto label_4;
                                                             | label_36:
    0x0001776c add r4, r4, 0x4000                            |     r4 += 0x4000;
    0x00017770 ldr r3, [r4, 0xa74]                           |     r3 = *((r4 + 0xa74));
    0x00017774 b 0x1774c                                     |     goto label_4;
                                                             | label_37:
    0x00017778 add r4, r4, 0x4000                            |     r4 += 0x4000;
    0x0001777c ldr r3, [r4, 0xa78]                           |     r3 = *((r4 + 0xa78));
    0x00017780 b 0x1774c                                     |     goto label_4;
                                                             | label_38:
    0x00017784 ldr r3, [r4, 0x408]                           |     r3 = *((r4 + 0x408));
    0x00017788 b 0x1774c                                     |     goto label_4;
                                                             | label_54:
    0x0001778c ldr r3, [r4, 0x460]                           |     r3 = *((r4 + 0x460));
    0x00017790 b 0x1774c                                     |     goto label_4;
                                                             | label_40:
    0x00017794 ldr r3, [r4, 0x160]                           |     r3 = *((r4 + 0x160));
    0x00017798 b 0x1774c                                     |     goto label_4;
                                                             | label_42:
    0x0001779c add r4, r4, 0x4000                            |     r4 += 0x4000;
    0x000177a0 ldr r3, [r4, 0xa80]                           |     r3 = *((r4 + 0xa80));
    0x000177a4 b 0x1774c                                     |     goto label_4;
                                                             | label_43:
    0x000177a8 add r4, r4, 0x4000                            |     r4 += 0x4000;
    0x000177ac ldr r3, [r4, 0xa7c]                           |     r3 = *((r4 + 0xa7c));
    0x000177b0 b 0x1774c                                     |     goto label_4;
                                                             | label_44:
    0x000177b4 add r4, r4, 0x4000                            |     r4 += 0x4000;
    0x000177b8 ldr r3, [r4, 0x824]                           |     r3 = *((r4 + 0x824));
    0x000177bc b 0x1774c                                     |     goto label_4;
                                                             | label_45:
    0x000177c0 add r4, r4, 0x4000                            |     r4 += 0x4000;
    0x000177c4 ldr r3, [r4, 0xa84]                           |     r3 = *((r4 + 0xa84));
    0x000177c8 b 0x1774c                                     |     goto label_4;
                                                             | label_46:
    0x000177cc mov r1, 0                                     |     r1 = 0;
    0x000177d0 mov r0, r4                                    |     r0 = r4;
    0x000177d4 bl 0x1bb50                                    |     Curl_getconnectinfo ();
    0x000177d8 str r0, [r6]                                  |     *(r6) = r0;
    0x000177dc b 0x175d4                                     |     goto label_1;
                                                             | label_51:
    0x000177e0 add r4, r4, 0x4000                            |     r4 += 0x4000;
    0x000177e4 ldr r3, [r4, 0xac0]                           |     r3 = *((r4 + 0xac0));
    0x000177e8 b 0x1774c                                     |     goto label_4;
                                                             | label_52:
    0x000177ec add r4, r4, 0x4000                            |     r4 += 0x4000;
    0x000177f0 ldr r3, [r4, 0xaf4]                           |     r3 = *((r4 + 0xaf4));
    0x000177f4 b 0x1774c                                     |     goto label_4;
                                                             | label_47:
    0x000177f8 add r4, r4, 0x4000                            |     r4 += 0x4000;
    0x000177fc ldrb r3, [r4, 0xa70]                          |     r3 = *((r4 + 0xa70));
    0x00017800 b 0x1774c                                     |     goto label_4;
                                                             | label_48:
    0x00017804 add r4, r4, 0x4000                            |     r4 += 0x4000;
    0x00017808 ldr r3, [r4, 0xa00]                           |     r3 = *((r4 + 0xa00));
    0x0001780c b 0x1774c                                     |     goto label_4;
                                                             | label_49:
    0x00017810 add r4, r4, 0x4000                            |     r4 += 0x4000;
    0x00017814 ldr r3, [r4, 0xa04]                           |     r3 = *((r4 + 0xa04));
    0x00017818 b 0x1774c                                     |     goto label_4;
                                                             | label_50:
    0x0001781c add r4, r4, 0x4000                            |     r4 += 0x4000;
    0x00017820 ldr r3, [r4, 0xa08]                           |     r3 = *((r4 + 0xa08));
    0x00017824 b 0x1774c                                     |     goto label_4;
                                                             | label_53:
    0x00017828 add r4, r4, 0x4000                            |     r4 += 0x4000;
    0x0001782c ldr r3, [r4, 0xa68]                           |     r3 = *((r4 + 0xa68));
    0x00017830 cmp r3, 0xb                                   |     
                                                             |     if (r3 != 0xb) {
    0x00017834 beq 0x17858                                   |         
    0x00017838 cmp r3, 0x14                                  |         
    0x0001783c mov r0, 0                                     |         r0 = 0;
                                                             |         if (r3 != 0x14) {
    0x00017840 beq 0x17860                                   |             
    0x00017844 cmp r3, 0xa                                   |             
                                                             |             if (r3 != 0xa) {
    0x00017848 moveq r3, 1                                   |                 r3 = 1;
                                                             |             }
                                                             |             if (r3 == 0xa) {
    0x0001784c beq 0x17864                                   |                 goto label_56;
                                                             |             }
    0x00017850 str r0, [r6]                                  |             *(r6) = r0;
    0x00017854 b 0x17868                                     |             
                                                             |         } else {
    0x00017858 mov r3, 2                                     |             r3 = 2;
    0x0001785c b 0x1774c                                     |             goto label_4;
                                                             |         }
    0x00017860 mov r3, 3                                     |         r3 = 3;
                                                             | label_56:
    0x00017864 str r3, [r6]                                  |         *(r6) = r3;
                                                             |     }
                                                             | label_13:
    0x00017868 add sp, sp, 0xc                               |     
    0x0001786c pop {r4, r5, r6, r7, r8, lr}                  |     
    0x00017870 add sp, sp, 0xc                               |     
    0x00017874 bx lr                                         |     return;
                                                             | label_55:
    0x00017878 add r4, r4, 0x4000                            |     r4 += 0x4000;
    0x0001787c ldr r3, [r4, 0xafc]                           |     r3 = *((r4 + 0xafc));
    0x00017880 b 0x1774c                                     |     goto label_4;
                                                             | label_14:
    0x00017884 ldr r6, [sp, 0x28]                            |     r6 = var_28h;
    0x00017888 add r3, sp, 0x2c                              |     r3 += var_2ch;
    0x0001788c cmp r6, 0                                     |     
    0x00017890 str r3, [sp, 4]                               |     var_4h = r3;
                                                             |     if (r6 == 0) {
    0x00017894 beq 0x174f4                                   |         goto label_0;
                                                             |     }
    0x00017898 sub r5, r5, 0x300000                          |     r5 -= 0x300000;
    0x0001789c sub r5, r5, 3                                 |     r5 -= 3;
    0x000178a0 cmp r5, 0x1e                                  |     
                                                             |     if (r5 > 0x1e) {
                                                             |         /* switch table (31 cases) at 0x178ac */
    0x000178a4 addls pc, pc, r5, lsl 2                       |         pc += (r5 << 2);
                                                             |     }
    0x000178a8 b 0x174f4                                     |     goto label_0;
    0x000178ac b 0x17928                                     |     goto label_57;
    0x000178b0 b 0x17940                                     |     goto label_58;
    0x000178b4 b 0x17948                                     |     goto label_59;
    0x000178b8 b 0x17958                                     |     goto label_60;
    0x000178bc b 0x17968                                     |     goto label_61;
    0x000178c0 b 0x17974                                     |     goto label_62;
    0x000178c4 b 0x17988                                     |     goto label_63;
    0x000178c8 b 0x17990                                     |     goto label_64;
    0x000178cc b 0x174f4                                     |     goto label_0;
    0x000178d0 b 0x174f4                                     |     goto label_0;
    0x000178d4 b 0x174f4                                     |     goto label_0;
    0x000178d8 b 0x174f4                                     |     goto label_0;
    0x000178dc b 0x17998                                     |     goto label_65;
    0x000178e0 b 0x179b4                                     |     goto label_66;
    0x000178e4 b 0x17960                                     |     goto label_67;
    0x000178e8 b 0x174f4                                     |     goto label_0;
    0x000178ec b 0x179c8                                     |     goto label_68;
    0x000178f0 b 0x174f4                                     |     goto label_0;
    0x000178f4 b 0x174f4                                     |     goto label_0;
    0x000178f8 b 0x174f4                                     |     goto label_0;
    0x000178fc b 0x174f4                                     |     goto label_0;
    0x00017900 b 0x174f4                                     |     goto label_0;
    0x00017904 b 0x174f4                                     |     goto label_0;
    0x00017908 b 0x174f4                                     |     goto label_0;
    0x0001790c b 0x174f4                                     |     goto label_0;
    0x00017910 b 0x174f4                                     |     goto label_0;
    0x00017914 b 0x174f4                                     |     goto label_0;
    0x00017918 b 0x174f4                                     |     goto label_0;
    0x0001791c b 0x174f4                                     |     goto label_0;
    0x00017920 b 0x174f4                                     |     goto label_0;
    0x00017924 b 0x17950                                     |     goto label_69;
                                                             | label_57:
    0x00017928 ldr r0, [r4, 0x6d4]                           |     r0 = *((r4 + 0x6d4));
                                                             |     do {
                                                             | label_5:
    0x0001792c bl 0x382fc                                    |         floatsidf ();
    0x00017930 mov r2, 0                                     |         r2 = 0;
    0x00017934 ldr r3, [pc, 0x2f4]                           |         r3 = *(0x17c2c);
    0x00017938 bl 0x3864c                                    |         divdf3 ();
    0x0001793c b 0x17980                                     |         goto label_7;
                                                             | label_58:
    0x00017940 ldr r0, [r4, 0x6e8]                           |         r0 = *((r4 + 0x6e8));
    0x00017944 b 0x1792c                                     |         
                                                             |     } while (1);
                                                             | label_59:
    0x00017948 ldr r0, [r4, 0x6ec]                           |     r0 = *((r4 + 0x6ec));
    0x0001794c b 0x1792c                                     |     goto label_5;
                                                             | label_69:
    0x00017950 ldr r0, [r4, 0x6f0]                           |     r0 = *((r4 + 0x6f0));
    0x00017954 b 0x1792c                                     |     goto label_5;
                                                             | label_60:
    0x00017958 ldr r0, [r4, 0x6f4]                           |     r0 = *((r4 + 0x6f4));
    0x0001795c b 0x1792c                                     |     goto label_5;
                                                             | label_67:
    0x00017960 ldr r0, [r4, 0x6f8]                           |     r0 = *((r4 + 0x6f8));
    0x00017964 b 0x1792c                                     |     goto label_5;
                                                             | label_61:
    0x00017968 add r4, r4, 0x6c0                             |     r4 += 0x6c0;
                                                             |     do {
                                                             | label_8:
    0x0001796c ldrd r0, r1, [r4, -8]                         |         __asm ("ldrd r0, r1, [r4, -8]");
    0x00017970 b 0x1797c                                     |         goto label_70;
                                                             | label_62:
    0x00017974 add r4, r4, 0x6b0                             |         r4 += 0x6b0;
                                                             | label_6:
    0x00017978 ldrd r0, r1, [r4]                             |         __asm ("ldrd r0, r1, [r4]");
                                                             | label_70:
    0x0001797c bl 0x38380                                    |         floatdidf ();
                                                             | label_7:
    0x00017980 strd r0, r1, [r6]                             |         __asm ("strd r0, r1, [r6]");
    0x00017984 b 0x175d4                                     |         goto label_1;
                                                             | label_63:
    0x00017988 add r4, r4, 0x6e0                             |         r4 += 0x6e0;
    0x0001798c b 0x1796c                                     |         
                                                             |     } while (1);
                                                             | label_64:
    0x00017990 add r4, r4, 0x6e0                             |     r4 += 0x6e0;
    0x00017994 b 0x17978                                     |     goto label_6;
                                                             | label_65:
    0x00017998 ldr r3, [r4, 0x6d0]                           |     r3 = *((r4 + 0x6d0));
    0x0001799c tst r3, 0x40                                  |     
                                                             |     if ((r3 & 0x40) != 0) {
    0x000179a0 addne r4, r4, 0x6a0                           |         r4 += 0x6a0;
                                                             |         goto label_71;
                                                             |     }
                                                             |     if ((r3 & 0x40) != 0) {
                                                             | label_71:
    0x000179a4 bne 0x17978                                   |         goto label_6;
                                                             |     }
                                                             |     do {
    0x000179a8 mov r0, 0                                     |         r0 = 0;
    0x000179ac ldr r1, [pc, 0x280]                           |         r1 = *(0x17c30);
    0x000179b0 b 0x17980                                     |         goto label_7;
                                                             | label_66:
    0x000179b4 ldr r3, [r4, 0x6d0]                           |         r3 = *((r4 + 0x6d0));
    0x000179b8 tst r3, 0x20                                  |         
    0x000179bc beq 0x179a8                                   |         
                                                             |     } while ((r3 & 0x20) == 0);
    0x000179c0 add r4, r4, 0x6b0                             |     r4 += 0x6b0;
    0x000179c4 b 0x1796c                                     |     goto label_8;
                                                             | label_68:
    0x000179c8 ldr r0, [r4, 0x6fc]                           |     r0 = *((r4 + 0x6fc));
    0x000179cc b 0x1792c                                     |     goto label_5;
                                                             | label_19:
    0x000179d0 ldr r3, [r3]                                  |     r3 = *(r3);
    0x000179d4 add r2, sp, 0x2c                              |     r2 += var_2ch;
    0x000179d8 cmp r3, 0                                     |     
    0x000179dc str r2, [sp, 4]                               |     var_4h = r2;
                                                             |     if (r3 == 0) {
    0x000179e0 beq 0x174f4                                   |         goto label_0;
                                                             |     }
    0x000179e4 ldr r2, [pc, 0x24c]                           |     r2 = *(0x17c34);
    0x000179e8 cmp r5, r2                                    |     
                                                             |     if (r5 == r2) {
    0x000179ec beq 0x17ae0                                   |         goto label_72;
                                                             |     }
                                                             |     if (r5 > r2) {
    0x000179f0 bhi 0x17a4c                                   |         goto label_73;
                                                             |     }
    0x000179f4 sub r2, r2, 7                                 |     r2 -= 7;
    0x000179f8 cmp r5, r2                                    |     
                                                             |     if (r5 == r2) {
    0x000179fc beq 0x17ac4                                   |         goto label_74;
                                                             |     }
                                                             |     if (r5 > r2) {
    0x00017a00 bhi 0x17a28                                   |         goto label_75;
                                                             |     }
    0x00017a04 sub r2, r2, 2                                 |     r2 -= 2;
    0x00017a08 cmp r5, r2                                    |     
                                                             |     if (r5 == r2) {
    0x00017a0c beq 0x17ab4                                   |         goto label_76;
                                                             |     }
    0x00017a10 add r2, r2, 1                                 |     r2++;
    0x00017a14 cmp r5, r2                                    |     
                                                             |     if (r5 == r2) {
    0x00017a18 addeq r4, r4, 0x6b0                           |         r4 += 0x6b0;
                                                             |         goto label_77;
                                                             |     }
                                                             |     if (r5 != r2) {
                                                             | label_77:
    0x00017a1c bne 0x174f4                                   |         goto label_0;
                                                             |     }
                                                             |     do {
                                                             | label_10:
    0x00017a20 ldrd r0, r1, [r4]                             |         __asm ("ldrd r0, r1, [r4]");
    0x00017a24 b 0x17abc                                     |         goto label_12;
                                                             | label_75:
    0x00017a28 ldr r2, [pc, 0x20c]                           |         r2 = *(0x17c38);
    0x00017a2c cmp r5, r2                                    |         
                                                             |         if (r5 == r2) {
    0x00017a30 beq 0x17aa8                                   |             goto label_78;
                                                             |         }
                                                             |         if (r5 > r2) {
    0x00017a34 bhi 0x17acc                                   |             goto label_79;
                                                             |         }
    0x00017a38 sub r2, r2, 4                                 |         r2 -= 4;
    0x00017a3c cmp r5, r2                                    |         
                                                             |         if (r5 != r2) {
    0x00017a40 addeq r4, r4, 0x6e0                           |             r4 += 0x6e0;
                                                             |         }
    0x00017a44 beq 0x17a20                                   |         
                                                             |     } while (r5 == r2);
    0x00017a48 b 0x174f4                                     |     goto label_0;
                                                             | label_73:
    0x00017a4c ldr r2, [pc, 0x1ec]                           |     r2 = *(0x17c3c);
    0x00017a50 cmp r5, r2                                    |     
                                                             |     if (r5 == r2) {
    0x00017a54 beq 0x17b0c                                   |         goto label_80;
                                                             |     }
                                                             |     if (r5 > r2) {
    0x00017a58 bhi 0x17a84                                   |         goto label_81;
                                                             |     }
    0x00017a5c sub r2, r2, 2                                 |     r2 -= 2;
    0x00017a60 cmp r5, r2                                    |     
                                                             |     if (r5 == r2) {
    0x00017a64 beq 0x17afc                                   |         goto label_82;
                                                             |     }
                                                             |     if (r5 > r2) {
    0x00017a68 bhi 0x17b04                                   |         goto label_83;
                                                             |     }
    0x00017a6c sub r2, r2, 1                                 |     r2--;
    0x00017a70 cmp r5, r2                                    |     
                                                             |     if (r5 == r2) {
    0x00017a74 ldreq r0, [r4, 0x6d4]                         |         r0 = *((r4 + 0x6d4));
                                                             |         goto label_84;
                                                             |     }
                                                             |     if (r5 != r2) {
                                                             | label_84:
    0x00017a78 bne 0x174f4                                   |         goto label_0;
                                                             |     }
                                                             |     do {
                                                             | label_9:
    0x00017a7c asr r1, r0, 0x1f                              |         r1 = r0 >> 0x1f;
    0x00017a80 b 0x17abc                                     |         goto label_12;
                                                             | label_81:
    0x00017a84 ldr r2, [pc, 0x1b8]                           |         r2 = *(0x17c40);
    0x00017a88 cmp r5, r2                                    |         
                                                             |         if (r5 == r2) {
    0x00017a8c beq 0x17b1c                                   |             goto label_85;
                                                             |         }
                                                             |         if (r5 <= r2) {
    0x00017a90 blo 0x17b14                                   |             goto label_86;
                                                             |         }
    0x00017a94 add r2, r2, 1                                 |         r2++;
    0x00017a98 cmp r5, r2                                    |         
                                                             |         if (r5 != r2) {
    0x00017a9c ldreq r0, [r4, 0x6f0]                         |             r0 = *((r4 + 0x6f0));
                                                             |         }
    0x00017aa0 beq 0x17a7c                                   |         
                                                             |     } while (r5 == r2);
    0x00017aa4 b 0x174f4                                     |     goto label_0;
                                                             | label_78:
    0x00017aa8 add r4, r4, 0x4000                            |     r4 += 0x4000;
    0x00017aac ldr r0, [r4, 0xa6c]                           |     r0 = *((r4 + 0xa6c));
    0x00017ab0 b 0x17a7c                                     |     goto label_9;
                                                             | label_76:
    0x00017ab4 add r4, r4, 0x6c0                             |     r4 += 0x6c0;
                                                             |     do {
                                                             | label_11:
    0x00017ab8 ldrd r0, r1, [r4, -8]                         |         __asm ("ldrd r0, r1, [r4, -8]");
                                                             | label_12:
    0x00017abc strd r0, r1, [r3]                             |         __asm ("strd r0, r1, [r3]");
    0x00017ac0 b 0x175d4                                     |         goto label_1;
                                                             | label_74:
    0x00017ac4 add r4, r4, 0x6e0                             |         r4 += 0x6e0;
    0x00017ac8 b 0x17ab8                                     |         
                                                             |     } while (1);
                                                             | label_79:
    0x00017acc ldr r2, [r4, 0x6d0]                           |     r2 = *((r4 + 0x6d0));
    0x00017ad0 tst r2, 0x40                                  |     
                                                             |     if ((r2 & 0x40) == 0) {
    0x00017ad4 beq 0x17af0                                   |         goto label_87;
                                                             |     }
    0x00017ad8 add r4, r4, 0x6a0                             |     r4 += 0x6a0;
    0x00017adc b 0x17a20                                     |     goto label_10;
                                                             | label_72:
    0x00017ae0 ldr r2, [r4, 0x6d0]                           |     r2 = *((r4 + 0x6d0));
    0x00017ae4 tst r2, 0x20                                  |     
                                                             |     if ((r2 & 0x20) != 0) {
    0x00017ae8 addne r4, r4, 0x6b0                           |         r4 += 0x6b0;
                                                             |         goto label_88;
                                                             |     }
                                                             |     if ((r2 & 0x20) != 0) {
                                                             | label_88:
    0x00017aec bne 0x17ab8                                   |         goto label_11;
                                                             |     }
                                                             | label_87:
    0x00017af0 mvn r0, 0                                     |     r0 = ~0;
    0x00017af4 mvn r1, 0                                     |     r1 = ~0;
    0x00017af8 b 0x17abc                                     |     goto label_12;
                                                             | label_82:
    0x00017afc ldr r0, [r4, 0x6e8]                           |     r0 = *((r4 + 0x6e8));
    0x00017b00 b 0x17a7c                                     |     goto label_9;
                                                             | label_83:
    0x00017b04 ldr r0, [r4, 0x6ec]                           |     r0 = *((r4 + 0x6ec));
    0x00017b08 b 0x17a7c                                     |     goto label_9;
                                                             | label_80:
    0x00017b0c ldr r0, [r4, 0x6f4]                           |     r0 = *((r4 + 0x6f4));
    0x00017b10 b 0x17a7c                                     |     goto label_9;
                                                             | label_86:
    0x00017b14 ldr r0, [r4, 0x6f8]                           |     r0 = *((r4 + 0x6f8));
    0x00017b18 b 0x17a7c                                     |     goto label_9;
                                                             | label_85:
    0x00017b1c ldr r0, [r4, 0x6fc]                           |     r0 = *((r4 + 0x6fc));
    0x00017b20 b 0x17a7c                                     |     goto label_9;
                                                             | label_21:
    0x00017b24 ldr r3, [pc, 0x11c]                           |     r3 = *(0x17c44);
    0x00017b28 cmp r5, r3                                    |     
                                                             |     if (r5 == r3) {
    0x00017b2c beq 0x17b3c                                   |         goto label_89;
                                                             |     }
    0x00017b30 add r3, r3, 2                                 |     r3 += 2;
    0x00017b34 cmp r5, r3                                    |     
                                                             |     if (r5 != r3) {
    0x00017b38 bne 0x174f4                                   |         goto label_0;
                                                             |     }
                                                             | label_89:
    0x00017b3c add r3, r4, 0x4b00                            |     r3 = r4 + 0x4b00;
    0x00017b40 add r3, r3, 8                                 |     r3 += 8;
    0x00017b44 ldr r6, [r4, 8]                               |     r6 = *((r4 + 8));
    0x00017b48 str r3, [r8]                                  |     *(r8) = r3;
    0x00017b4c bl 0x36d54                                    |     Curl_ssl_backend ();
    0x00017b50 mov r2, 0                                     |     r2 = 0;
    0x00017b54 subs r3, r6, r2                               |     r3 = r6 - r2;
    0x00017b58 add r4, r4, 0x4000                            |     r4 += 0x4000;
                                                             |     if (r3 == r6) {
    0x00017b5c movne r3, 1                                   |         r3 = 1;
                                                             |     }
    0x00017b60 str r2, [r4, 0xb0c]                           |     *((r4 + 0xb0c)) = r2;
    0x00017b64 cmp r0, r2                                    |     
    0x00017b68 str r0, [r4, 0xb08]                           |     *((r4 + 0xb08)) = r0;
                                                             |     if (r0 == r2) {
    0x00017b6c movne r0, r3                                  |         r0 = r3;
                                                             |     }
                                                             |     if (r0 != r2) {
    0x00017b70 moveq r0, r2                                  |         r0 = r2;
                                                             |     }
    0x00017b74 cmp r0, r2                                    |     
                                                             |     if (r0 == r2) {
    0x00017b78 beq 0x17868                                   |         goto label_13;
                                                             |     }
    0x00017b7c ldrb r3, [r6, 0x1bc]                          |     r3 = *((r6 + 0x1bc));
    0x00017b80 cmp r3, r2                                    |     
                                                             |     if (r3 != r2) {
    0x00017b84 bne 0x17bdc                                   |         goto label_90;
                                                             |     }
    0x00017b88 ldrb r0, [r6, 0x1cc]                          |     r0 = *((r6 + 0x1cc));
    0x00017b8c cmp r0, r2                                    |     
                                                             |     if (r0 != r2) {
    0x00017b90 movne r0, 1                                   |         r0 = 1;
                                                             |         goto label_91;
                                                             |     }
                                                             |     if (r0 == r2) {
                                                             | label_91:
    0x00017b94 beq 0x17868                                   |         goto label_13;
                                                             |     }
                                                             |     do {
    0x00017b98 ldr r3, [pc, 0xac]                            |         
    0x00017b9c add r0, r6, r0, lsl 4                         |         r0 = r6 + (r0 << 4);
    0x00017ba0 ldr r3, [r7, r3]                              |         r3 = *((r7 + r3));
    0x00017ba4 mov r1, r5                                    |         r1 = r5;
    0x00017ba8 ldr r3, [r3]                                  |         
    0x00017bac add r0, r0, 0x1bc                             |         r0 += 0x1bc;
    0x00017bb0 ldr r3, [r3, 0x38]                            |         r3 = *(0x17c80);
    0x00017bb4 blx r3                                        |         uint32_t (*r3)(uint32_t, uint32_t, uint32_t) (r0, r1, r3);
    0x00017bb8 str r0, [r4, 0xb0c]                           |         *((r4 + 0xb0c)) = r0;
    0x00017bbc b 0x175d4                                     |         goto label_1;
                                                             | label_22:
    0x00017bc0 mov r0, r4                                    |         r0 = r4;
    0x00017bc4 bl 0x375f4                                    |         Curl_ssl_engines_list ();
                                                             | label_23:
    0x00017bc8 str r0, [r8]                                  |         *(r8) = r0;
    0x00017bcc b 0x175d4                                     |         goto label_1;
                                                             | label_20:
    0x00017bd0 add r4, r4, 0x4b00                            |         r4 += 0x4b00;
    0x00017bd4 str r4, [r8]                                  |         *(r8) = r4;
    0x00017bd8 b 0x175d4                                     |         goto label_1;
                                                             | label_90:
    0x00017bdc mov r0, r2                                    |         r0 = r2;
    0x00017be0 b 0x17b98                                     |         
                                                             |     } while (1);
                                                             | label_18:
    0x00017be4 ldr r4, [r3]                                  |     r4 = *(r3);
    0x00017be8 add r2, sp, 0x2c                              |     r2 += var_2ch;
    0x00017bec cmp r4, 0                                     |     
    0x00017bf0 str r2, [sp, 4]                               |     var_4h = r2;
                                                             |     if (r4 == 0) {
    0x00017bf4 beq 0x174f4                                   |         goto label_0;
                                                             |     }
    0x00017bf8 ldr r3, [pc, 0x50]                            |     r3 = *(0x17c4c);
    0x00017bfc cmp r5, r3                                    |     
                                                             |     if (r5 != r3) {
    0x00017c00 bne 0x174f4                                   |         goto label_0;
                                                             |     }
    0x00017c04 mov r1, 0                                     |     r1 = 0;
    0x00017c08 bl 0x1bb50                                    |     Curl_getconnectinfo ();
    0x00017c0c str r0, [r4]                                  |     *(r4) = r0;
    0x00017c10 b 0x175d4                                     |     goto label_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/lib/libcurl.so @ 0x1d1e4 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.Curl_hash_str ()             | void Curl_hash_str (int32_t arg1, int32_t arg2) {
                                             |     r0 = arg1;
                                             |     r1 = arg2;
    0x0001d1e4 mov ip, r0                    |     
    0x0001d1e8 add r1, r0, r1                |     r1 = r0 + r1;
    0x0001d1ec ldr r0, [pc, 0x28]            |     r0 = *(0x1d218);
    0x0001d1f0 push {r4, lr}                 |     
                                             |     do {
    0x0001d1f4 cmp ip, r1                    |         
                                             |         if (ip > r1) {
    0x0001d1f8 blo 0x1d20c                   |             
    0x0001d1fc mov r1, r2                    |             r1 = r2;
    0x0001d200 bl 0x37f04                    |             aeabi_uidivmod ();
    0x0001d204 mov r0, r1                    |             r0 = r1;
    0x0001d208 pop {r4, pc}                  |             
                                             |         }
    0x0001d20c add r3, r0, r0, lsl 5         |         r3 = r0 + (r0 << 5);
    0x0001d210 ldrb r0, [ip], 1              |         r0 = *(ip);
                                             |         ip++;
    0x0001d214 eor r0, r0, r3                |         r0 ^= r3;
    0x0001d218 b 0x1d1f4                     |         
                                             |     } 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/lib/libcurl.so @ 0xb9b8 */
                                                 | #include <stdint.h>
                                                 |  
    ; (fcn) sym.Curl_http_setup_conn ()          | void Curl_http_setup_conn (int32_t arg1) {
                                                 |     r0 = arg1;
    0x0000b9b8 ldr r3, [pc, 0x4c]                |     
    0x0000b9bc ldr r2, [pc, 0x4c]                |     r2 = $d;
    0x0000b9c0 add r3, pc, r3                    |     r3 = pc + r3;
    0x0000b9c4 push {r4, r5, r6, lr}             |     
    0x0000b9c8 ldr r3, [r3, r2]                  |     
    0x0000b9cc mov r5, r0                        |     r5 = r0;
    0x0000b9d0 ldr r3, [r3]                      |     r3 = *(0xba08);
    0x0000b9d4 mov r1, 0x1b8                     |     r1 = 0x1b8;
    0x0000b9d8 mov r0, 1                         |     r0 = 1;
    0x0000b9dc blx r3                            |     r0 = uint32_t (*r3)(uint32_t, uint32_t, uint32_t, uint32_t) (r0, r1, r2, r3);
    0x0000b9e0 subs r4, r0, 0                    |     r4 = r0 - 0;
                                                 |     if (r4 != r0) {
    0x0000b9e4 beq 0xba04                        |         
    0x0000b9e8 add r0, r4, 0x30                  |         r0 = r4 + 0x30;
    0x0000b9ec ldr r1, [r5]                      |         r1 = *(r5);
    0x0000b9f0 bl 0x2bb08                        |         Curl_mime_initpart ();
    0x0000b9f4 ldr r3, [r5]                      |         r3 = *(r5);
    0x0000b9f8 mov r0, 0                         |         r0 = 0;
    0x0000b9fc str r4, [r3, 0x12c]               |         *((r3 + 0x12c)) = r4;
    0x0000ba00 pop {r4, r5, r6, pc}              |         
                                                 |     }
    0x0000ba04 mov r0, 0x1b                      |     r0 = 0x1b;
    0x0000ba08 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/lib/libcurl.so @ 0xc2dc */
                                                     | #include <stdint.h>
                                                     |  
    ; (fcn) sym.Curl_http_auth_act ()                | void Curl_http_auth_act (int32_t arg1) {
                                                     |     r0 = arg1;
    0x0000c2dc push {r4, r5, r6, r7, r8, lr}         |     
    0x0000c2e0 ldr r4, [r0]                          |     r4 = *(r0);
    0x0000c2e4 ldr r8, [pc, 0x1d4]                   |     r8 = *(0xc4bc);
    0x0000c2e8 ldr r3, [r4, 0xe8]                    |     r3 = *((r4 + 0xe8));
    0x0000c2ec add r8, pc, r8                        |     r8 = pc + r8;
    0x0000c2f0 sub r2, r3, 0x64                      |     r2 = r3 - 0x64;
    0x0000c2f4 cmp r2, 0x63                          |     
                                                     |     if (r2 < 0x63) {
    0x0000c2f8 bls 0xc318                            |         goto label_2;
                                                     |     }
    0x0000c2fc add r7, r4, 0x4000                    |     r7 = r4 + 0x4000;
    0x0000c300 ldrb r2, [r7, 0x8a0]                  |     r2 = *((r7 + 0x8a0));
    0x0000c304 cmp r2, 0                             |     
                                                     |     if (r2 == 0) {
    0x0000c308 beq 0xc320                            |         goto label_3;
                                                     |     }
    0x0000c30c ldrb r3, [r4, 0x4c8]                  |     r3 = *((r4 + 0x4c8));
    0x0000c310 cmp r3, 0                             |     
                                                     |     if (r3 != 0) {
    0x0000c314 bne 0xc458                            |         goto label_4;
                                                     |     }
                                                     |     do {
                                                     | label_2:
    0x0000c318 mov r0, 0                             |         r0 = 0;
    0x0000c31c pop {r4, r5, r6, r7, r8, pc}          |         
                                                     | label_3:
    0x0000c320 ldrb r6, [r0, 0x258]                  |         r6 = *((r0 + 0x258));
    0x0000c324 mov r5, r0                            |         r5 = r0;
    0x0000c328 cmp r6, 0                             |         
                                                     |         if (r6 != 0) {
    0x0000c32c beq 0xc36c                            |             
    0x0000c330 ldr r2, [pc, 0x18c]                   |             r2 = $d;
    0x0000c334 cmp r3, r2                            |             
                                                     |             if (r3 != r2) {
    0x0000c338 beq 0xc354                            |                 
    0x0000c33c ldrb r6, [r0, 0x262]                  |                 r6 = *((r0 + 0x262));
    0x0000c340 cmp r3, 0x12c                         |                 
                                                     |                 if (r3 < 0x12c) {
    0x0000c344 movge r6, 0                           |                     r6 = 0;
                                                     |                 }
                                                     |                 if (r3 >= 0x12c) {
    0x0000c348 andlt r6, r6, 1                       |                     r6 &= 1;
                                                     |                 }
    0x0000c34c cmp r6, 0                             |                 
                                                     |                 if (r6 == 0) {
    0x0000c350 beq 0xc36c                            |                     goto label_5;
                                                     |                 }
                                                     |             }
    0x0000c354 add r0, r4, 0x4800                    |             r0 = r4 + 0x4800;
    0x0000c358 add r0, r0, 0x80                      |             r0 += 0x80;
    0x0000c35c bl 0xb868                             |             r0 = pickoneauth ();
    0x0000c360 subs r6, r0, 0                        |             r6 = r0 - 0;
                                                     |             if (r6 != r0) {
    0x0000c364 moveq r3, 1                           |                 r3 = 1;
                                                     |             }
                                                     |             if (r6 == r0) {
    0x0000c368 strbeq r3, [r7, 0x8a0]                |                 *((r7 + 0x8a0)) = r3;
                                                     |                 goto label_5;
                                                     |             }
                                                     |         }
                                                     | label_5:
    0x0000c36c ldrb r0, [r5, 0x259]                  |         r0 = *((r5 + 0x259));
    0x0000c370 cmp r0, 0                             |         
                                                     |         if (r0 != 0) {
    0x0000c374 beq 0xc3b8                            |             
    0x0000c378 ldr r3, [r4, 0xe8]                    |             r3 = *((r4 + 0xe8));
    0x0000c37c ldr r2, [pc, 0x144]                   |             r2 = *(0xc4c4);
    0x0000c380 cmp r3, r2                            |             
                                                     |             if (r3 != r2) {
    0x0000c384 beq 0xc3a0                            |                 
    0x0000c388 ldrb r0, [r5, 0x262]                  |                 r0 = *((r5 + 0x262));
    0x0000c38c cmp r3, 0x12c                         |                 
                                                     |                 if (r3 < 0x12c) {
    0x0000c390 movge r0, 0                           |                     r0 = 0;
                                                     |                 }
                                                     |                 if (r3 >= 0x12c) {
    0x0000c394 andlt r0, r0, 1                       |                     r0 &= 1;
                                                     |                 }
    0x0000c398 cmp r0, 0                             |                 
                                                     |                 if (r0 == 0) {
    0x0000c39c beq 0xc3b8                            |                     goto label_6;
                                                     |                 }
                                                     |             }
    0x0000c3a0 add r0, r4, 0x4800                    |             r0 = r4 + 0x4800;
    0x0000c3a4 add r0, r0, 0x90                      |             r0 += 0x90;
    0x0000c3a8 bl 0xb868                             |             r0 = pickoneauth ();
    0x0000c3ac cmp r0, 0                             |             
                                                     |             if (r0 != 0) {
    0x0000c3b0 moveq r3, 1                           |                 r3 = 1;
                                                     |             }
                                                     |             if (r0 == 0) {
    0x0000c3b4 strbeq r3, [r7, 0x8a0]                |                 *((r7 + 0x8a0)) = r3;
                                                     |                 goto label_6;
                                                     |             }
                                                     |         }
                                                     | label_6:
    0x0000c3b8 orr r6, r6, r0                        |         r6 |= r0;
    0x0000c3bc tst r6, 0xff                          |         
                                                     |         if ((r6 & 0xff) == 0) {
    0x0000c3c0 beq 0xc460                            |             goto label_7;
                                                     |         }
    0x0000c3c4 ldr r3, [pc, 0x100]                   |         
    0x0000c3c8 ldr r0, [r4, 0x11c]                   |         r0 = *((r4 + 0x11c));
    0x0000c3cc ldr r3, [r8, r3]                      |         r3 = *((r8 + r3));
    0x0000c3d0 ldr r3, [r3]                          |         r3 = *(0xc4c8);
    0x0000c3d4 blx r3                                |         uint32_t (*r3)(uint32_t, uint32_t) (r0, r3);
    0x0000c3d8 mov r3, 0                             |         r3 = 0;
    0x0000c3dc str r3, [r4, 0x11c]                   |         *((r4 + 0x11c)) = r3;
    0x0000c3e0 ldr r3, [pc, 0xe8]                    |         
    0x0000c3e4 ldr r0, [r4, 0x678]                   |         r0 = *((r4 + 0x678));
    0x0000c3e8 ldr r3, [r8, r3]                      |         r3 = *((r8 + r3));
    0x0000c3ec ldr r3, [r3]                          |         r3 = *(0xc4cc);
    0x0000c3f0 blx r3                                |         r0 = uint32_t (*r3)(uint32_t, uint32_t) (r0, r3);
    0x0000c3f4 cmp r0, 0                             |         
    0x0000c3f8 str r0, [r4, 0x11c]                   |         *((r4 + 0x11c)) = r0;
                                                     |         if (r0 == 0) {
    0x0000c3fc bne 0xc408                            |             
                                                     | label_1:
    0x0000c400 mov r0, 0x1b                          |             r0 = 0x1b;
    0x0000c404 pop {r4, r5, r6, r7, r8, pc}          |             
                                                     |         }
    0x0000c408 ldr r3, [r4, 0x3d0]                   |         r3 = *((r4 + 0x3d0));
    0x0000c40c cmp r3, 1                             |         
    0x0000c410 cmpne r3, 6                           |         __asm ("cmpne r3, 6");
                                                     |         if (r3 != 1) {
    0x0000c414 beq 0xc434                            |             
    0x0000c418 ldrb r3, [r5, 0x263]                  |             r3 = *((r5 + 0x263));
    0x0000c41c cmp r3, 0                             |             
                                                     |             if (r3 != 0) {
    0x0000c420 bne 0xc434                            |                 goto label_0;
                                                     |             }
    0x0000c424 mov r0, r5                            |             r0 = r5;
    0x0000c428 bl 0xbbe8                             |             r0 = http_perhapsrewind ();
    0x0000c42c cmp r0, 0                             |             
    0x0000c430 popne {r4, r5, r6, r7, r8, pc}        |             
                                                     |         }
                                                     | label_0:
    0x0000c434 mov r0, r5                            |         r0 = r5;
    0x0000c438 bl 0xb8e4                             |         r0 = http_should_fail ();
    0x0000c43c cmp r0, 0                             |         
    0x0000c440 beq 0xc318                            |         
                                                     |     } while (r0 == 0);
    0x0000c444 ldr r1, [pc, 0x88]                    |     r1 = *(0xc4d0);
    0x0000c448 ldr r2, [r4, 0xe8]                    |     r2 = *((r4 + 0xe8));
    0x0000c44c add r1, pc, r1                        |     r1 = pc + r1;
    0x0000c450 mov r0, r4                            |     r0 = r4;
    0x0000c454 bl 0x10544                            |     Curl_failf ();
                                                     | label_4:
    0x0000c458 mov r0, 0x16                          |     r0 = 0x16;
    0x0000c45c pop {r4, r5, r6, r7, r8, pc}          |     
                                                     | label_7:
    0x0000c460 ldr r3, [r4, 0xe8]                    |     r3 = *((r4 + 0xe8));
    0x0000c464 cmp r3, 0x12c                         |     
                                                     |     if (r3 >= 0x12c) {
    0x0000c468 bge 0xc434                            |         goto label_0;
                                                     |     }
    0x0000c46c ldrb r3, [r7, 0x88c]                  |     r3 = *((r7 + 0x88c));
    0x0000c470 cmp r3, 0                             |     
                                                     |     if (r3 != 0) {
    0x0000c474 bne 0xc434                            |         goto label_0;
                                                     |     }
    0x0000c478 ldrb r3, [r5, 0x262]                  |     r3 = *((r5 + 0x262));
    0x0000c47c cmp r3, 0                             |     
                                                     |     if (r3 == 0) {
    0x0000c480 beq 0xc434                            |         goto label_0;
                                                     |     }
    0x0000c484 ldr r3, [r4, 0x3d0]                   |     r3 = *((r4 + 0x3d0));
    0x0000c488 cmp r3, 1                             |     
    0x0000c48c cmpne r3, 6                           |     __asm ("cmpne r3, 6");
                                                     |     if (r3 == 1) {
    0x0000c490 beq 0xc434                            |         goto label_0;
                                                     |     }
    0x0000c494 ldr r3, [pc, 0x34]                    |     
    0x0000c498 ldr r0, [r4, 0x678]                   |     r0 = *((r4 + 0x678));
    0x0000c49c ldr r3, [r8, r3]                      |     r3 = *((r8 + r3));
    0x0000c4a0 ldr r3, [r3]                          |     r3 = *(0xc4cc);
    0x0000c4a4 blx r3                                |     r0 = uint32_t (*r3)(uint32_t, uint32_t) (r0, r3);
    0x0000c4a8 cmp r0, 0                             |     
    0x0000c4ac str r0, [r4, 0x11c]                   |     *((r4 + 0x11c)) = r0;
                                                     |     if (r0 == 0) {
    0x0000c4b0 beq 0xc400                            |         goto label_1;
                                                     |     }
    0x0000c4b4 mov r3, 1                             |     r3 = 1;
    0x0000c4b8 strb r3, [r7, 0x88c]                  |     *((r7 + 0x88c)) = r3;
    0x0000c4bc b 0xc434                              |     goto label_0;
                                                     | }
    ; 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/lib/libcurl.so @ 0xc4d8 */
                                                                     | #include <stdint.h>
                                                                     |  
    ; (fcn) sym.Curl_http_output_auth ()                             | void Curl_http_output_auth (int32_t arg1, int32_t arg2) {
                                                                     |     int32_t var_0h;
                                                                     |     int32_t var_8h;
                                                                     |     r0 = arg1;
                                                                     |     r1 = arg2;
    0x0000c4d8 push {r0, r1, r4, r5, r6, r7, r8, sb, sl, lr}         |     
    0x0000c4dc ldr r8, [r0]                                          |     r8 = *(r0);
    0x0000c4e0 ldrb sl, [r0, 0x256]                                  |     sl = *((r0 + 0x256));
    0x0000c4e4 add lr, r8, 0x4800                                    |     lr = r8 + 0x4800;
    0x0000c4e8 cmp sl, 0                                             |     
    0x0000c4ec add r7, lr, 0x80                                      |     r7 = lr + 0x80;
    0x0000c4f0 add r4, r8, 0x4000                                    |     r4 = r8 + 0x4000;
                                                                     |     if (sl != 0) {
    0x0000c4f4 beq 0xc504                                            |         
    0x0000c4f8 ldrb ip, [r0, 0x259]                                  |         ip = *((r0 + 0x259));
    0x0000c4fc cmp ip, 0                                             |         
                                                                     |         if (ip != 0) {
    0x0000c500 bne 0xc534                                            |             goto label_2;
                                                                     |         }
                                                                     |     }
    0x0000c504 ldrb ip, [r0, 0x258]                                  |     ip = *((r0 + 0x258));
    0x0000c508 cmp ip, 0                                             |     
                                                                     |     if (ip != 0) {
    0x0000c50c bne 0xc534                                            |         goto label_2;
                                                                     |     }
    0x0000c510 ldr ip, [r0, 0x17c]                                   |     ip = *((r0 + 0x17c));
    0x0000c514 cmp ip, 0                                             |     
                                                                     |     if (ip != 0) {
    0x0000c518 bne 0xc534                                            |         goto label_2;
                                                                     |     }
    0x0000c51c mov r3, 1                                             |     r3 = 1;
    0x0000c520 mov r0, ip                                            |     r0 = ip;
    0x0000c524 strb r3, [r4, 0x88c]                                  |     *((r4 + 0x88c)) = r3;
    0x0000c528 strb r3, [r4, 0x89c]                                  |     *((r4 + 0x89c)) = r3;
                                                                     |     do {
                                                                     | label_0:
    0x0000c52c add sp, sp, 8                                         |         
    0x0000c530 pop {r4, r5, r6, r7, r8, sb, sl, pc}                  |         
                                                                     | label_2:
    0x0000c534 ldr ip, [r4, 0x880]                                   |         ip = *((r4 + 0x880));
    0x0000c538 cmp ip, 0                                             |         
                                                                     |         if (ip != 0) {
    0x0000c53c beq 0xc54c                                            |             
    0x0000c540 ldr r5, [r4, 0x884]                                   |             r5 = *((r4 + 0x884));
    0x0000c544 cmp r5, 0                                             |             
                                                                     |             if (r5 == 0) {
    0x0000c548 streq ip, [r4, 0x884]                                 |                 *((r4 + 0x884)) = ip;
                                                                     |                 goto label_3;
                                                                     |             }
                                                                     |         }
                                                                     | label_3:
    0x0000c54c ldr ip, [r4, 0x890]                                   |         ip = *((r4 + 0x890));
    0x0000c550 cmp ip, 0                                             |         
                                                                     |         if (ip != 0) {
    0x0000c554 beq 0xc564                                            |             
    0x0000c558 ldr r5, [r4, 0x894]                                   |             r5 = *((r4 + 0x894));
    0x0000c55c cmp r5, 0                                             |             
                                                                     |             if (r5 == 0) {
    0x0000c560 streq ip, [r4, 0x894]                                 |                 *((r4 + 0x894)) = ip;
                                                                     |                 goto label_4;
                                                                     |             }
                                                                     |         }
                                                                     | label_4:
    0x0000c564 cmp sl, 0                                             |         
    0x0000c568 mov r6, r2                                            |         r6 = r2;
    0x0000c56c mov r5, r1                                            |         r5 = r1;
    0x0000c570 mov sb, r0                                            |         sb = r0;
                                                                     |         if (sl == 0) {
    0x0000c574 beq 0xc5d0                                            |             goto label_5;
                                                                     |         }
    0x0000c578 ldrb r2, [r0, 0x261]                                  |         r2 = *((r0 + 0x261));
    0x0000c57c cmp r2, r3                                            |         
                                                                     |         if (r2 != r3) {
    0x0000c580 bne 0xc5d0                                            |             goto label_5;
                                                                     |         }
    0x0000c584 mov r3, 1                                             |         r3 = 1;
    0x0000c588 str r3, [sp]                                          |         *(sp) = r3;
    0x0000c58c mov r2, r1                                            |         r2 = r1;
    0x0000c590 mov r3, r6                                            |         r3 = r6;
    0x0000c594 add r1, lr, 0x90                                      |         r1 = lr + 0x90;
    0x0000c598 bl 0xbebc                                             |         r0 = output_auth_headers ();
    0x0000c59c cmp r0, 0                                             |         
    0x0000c5a0 bne 0xc52c                                            |         
                                                                     |     } while (r0 != 0);
                                                                     |     do {
    0x0000c5a4 ldrb r3, [r4, 0x7e0]                                  |         r3 = *((r4 + 0x7e0));
    0x0000c5a8 cmp r3, 0                                             |         
                                                                     |         if (r3 != 0) {
    0x0000c5ac bne 0xc5dc                                            |             goto label_6;
                                                                     |         }
                                                                     | label_1:
    0x0000c5b0 mov r3, 0                                             |         r3 = 0;
    0x0000c5b4 str r3, [sp]                                          |         *(sp) = r3;
    0x0000c5b8 mov r2, r5                                            |         r2 = r5;
    0x0000c5bc mov r3, r6                                            |         r3 = r6;
    0x0000c5c0 mov r1, r7                                            |         r1 = r7;
    0x0000c5c4 mov r0, sb                                            |         r0 = sb;
    0x0000c5c8 bl 0xbebc                                             |         output_auth_headers ();
    0x0000c5cc b 0xc52c                                              |         goto label_0;
                                                                     | label_5:
    0x0000c5d0 mov r3, 1                                             |         r3 = 1;
    0x0000c5d4 strb r3, [r4, 0x89c]                                  |         *((r4 + 0x89c)) = r3;
    0x0000c5d8 b 0xc5a4                                              |         
                                                                     |     } while (1);
                                                                     | label_6:
    0x0000c5dc ldrb r3, [sb, 0x267]                                  |     r3 = *((sb + 0x267));
    0x0000c5e0 cmp r3, 0                                             |     
                                                                     |     if (r3 != 0) {
    0x0000c5e4 bne 0xc5b0                                            |         goto label_1;
                                                                     |     }
    0x0000c5e8 ldr r0, [r4, 0x7e4]                                   |     r0 = *((r4 + 0x7e4));
    0x0000c5ec cmp r0, 0                                             |     
                                                                     |     if (r0 == 0) {
    0x0000c5f0 beq 0xc5b0                                            |         goto label_1;
                                                                     |     }
    0x0000c5f4 ldrb r3, [r8, 0x4cc]                                  |     r3 = *((r8 + 0x4cc));
    0x0000c5f8 cmp r3, 0                                             |     
                                                                     |     if (r3 != 0) {
    0x0000c5fc bne 0xc5b0                                            |         goto label_1;
                                                                     |     }
    0x0000c600 ldr r1, [sb, 0xa0]                                    |     r1 = *((sb + 0xa0));
    0x0000c604 bl 0x19dc0                                            |     r0 = Curl_strcasecompare ();
    0x0000c608 cmp r0, 0                                             |     
                                                                     |     if (r0 != 0) {
    0x0000c60c bne 0xc5b0                                            |         goto label_1;
                                                                     |     }
    0x0000c610 mov r3, 1                                             |     r3 = 1;
    0x0000c614 strb r3, [r4, 0x88c]                                  |     *((r4 + 0x88c)) = r3;
    0x0000c618 b 0xc52c                                              |     goto label_0;
                                                                     | }
    ; 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/lib/libcurl.so @ 0xc61c */
                                                                 | #include <stdint.h>
                                                                 |  
    ; (fcn) sym.Curl_http_input_auth ()                          | void Curl_http_input_auth (int32_t arg_8a0h, int32_t arg1, int32_t arg2) {
                                                                 |     int32_t var_4h;
                                                                 |     int32_t var_8h;
                                                                 |     int32_t var_ch;
                                                                 |     int32_t var_14h;
                                                                 |     r0 = arg1;
                                                                 |     r1 = arg2;
    0x0000c61c ldr r3, [pc, 0x274]                               |     r3 = *(0xc894);
    0x0000c620 push {r4, r5, r6, r7, r8, sb, sl, fp, lr}         |     
    0x0000c624 ldr r7, [r0]                                      |     r7 = *(r0);
    0x0000c628 sub sp, sp, 0x14                                  |     
    0x0000c62c add r3, pc, r3                                    |     r3 = pc + r3;
    0x0000c630 str r3, [sp, 4]                                   |     var_4h = r3;
    0x0000c634 ldr sl, [pc, 0x260]                               |     sl = $d;
    0x0000c638 ldr r3, [pc, 0x260]                               |     r3 = *(0xc89c);
    0x0000c63c subs sb, r1, 0                                    |     sb = r1 - 0;
    0x0000c640 add r6, r7, 0x4a00                                |     r6 = r7 + 0x4a00;
    0x0000c644 add r4, r7, 0x4800                                |     r4 = r7 + 0x4800;
    0x0000c648 add r3, pc, r3                                    |     r3 = pc + r3;
    0x0000c64c mov r8, r0                                        |     r8 = r0;
    0x0000c650 mov r5, r2                                        |     r5 = r2;
                                                                 |     if (sb == r1) {
    0x0000c654 addne r6, r6, 0x7c                                |         r6 += 0x7c;
                                                                 |     }
                                                                 |     if (sb == r1) {
    0x0000c658 addne r4, r4, 0x90                                |         r4 += 0x90;
                                                                 |     }
                                                                 |     if (sb != r1) {
    0x0000c65c addeq r6, r6, 0x80                                |         r6 += 0x80;
                                                                 |     }
                                                                 |     if (sb != r1) {
    0x0000c660 addeq r4, r4, 0x80                                |         r4 += 0x80;
                                                                 |     }
    0x0000c664 add sl, pc, sl                                    |     sl = pc + sl;
    0x0000c668 str r3, [sp, 8]                                   |     var_8h = r3;
                                                                 | label_0:
    0x0000c66c ldrb r0, [r5]                                     |     r0 = *(r5);
    0x0000c670 cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x0000c674 bne 0xc680                                        |         
    0x0000c678 add sp, sp, 0x14                                  |         
    0x0000c67c pop {r4, r5, r6, r7, r8, sb, sl, fp, pc}          |         
                                                                 |     }
    0x0000c680 mov r2, 4                                         |     r2 = 4;
    0x0000c684 mov r1, r5                                        |     r1 = r5;
    0x0000c688 ldr r0, [sp, 4]                                   |     r0 = var_4h;
    0x0000c68c bl 0x5bd4                                         |     r0 = fcn_00005bd4 ();
    0x0000c690 cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x0000c694 beq 0xc750                                        |         goto label_4;
                                                                 |     }
    0x0000c698 ldr r3, [r4, 8]                                   |     r3 = *((r4 + 8));
    0x0000c69c tst r3, 0x28                                      |     
    0x0000c6a0 beq 0xc708                                        |     
                                                                 |     while (r0 != 0) {
    0x0000c6a4 ldr r3, [r6]                                      |         r3 = *(r6);
    0x0000c6a8 orr r3, r3, 8                                     |         r3 |= 8;
    0x0000c6ac str r3, [r6]                                      |         *(r6) = r3;
    0x0000c6b0 ldr r3, [r4, 8]                                   |         r3 = *((r4 + 8));
    0x0000c6b4 orr r3, r3, 8                                     |         r3 |= 8;
    0x0000c6b8 str r3, [r4, 8]                                   |         *((r4 + 8)) = r3;
    0x0000c6bc ldr r3, [r4, 4]                                   |         r3 = *((r4 + 4));
    0x0000c6c0 cmp r3, 0x20                                      |         
    0x0000c6c4 cmpne r3, 8                                       |         __asm ("cmpne r3, 8");
                                                                 |         if (r3 != 0x20) {
    0x0000c6c8 bne 0xc714                                        |             goto label_2;
                                                                 |         }
    0x0000c6cc mov r2, r5                                        |         r2 = r5;
    0x0000c6d0 mov r1, sb                                        |         r1 = sb;
    0x0000c6d4 mov r0, r8                                        |         r0 = r8;
    0x0000c6d8 bl 0x26dd4                                        |         Curl_input_ntlm ();
    0x0000c6dc add fp, r7, 0x4000                                |         
    0x0000c6e0 cmp r0, 0                                         |         
                                                                 |         if (r0 != 0) {
    0x0000c6e4 strbeq r0, [fp, 0x8a0]                            |             *(arg_8a0h) = r0;
                                                                 |         }
                                                                 |         if (r0 == 0) {
    0x0000c6e8 beq 0xc714                                        |             goto label_2;
                                                                 |         }
    0x0000c6ec ldr r1, [pc, 0x1b0]                               |         r1 = *(0xc8a0);
    0x0000c6f0 mov r0, r7                                        |         r0 = r7;
    0x0000c6f4 add r1, pc, r1                                    |         r1 = pc + r1;
    0x0000c6f8 bl 0x104cc                                        |         Curl_infof ();
    0x0000c6fc mov r3, 1                                         |         r3 = 1;
    0x0000c700 strb r3, [fp, 0x8a0]                              |         *(arg_8a0h) = r3;
    0x0000c704 b 0xc714                                          |         goto label_2;
    0x0000c708 bl 0x31304                                        |         r0 = Curl_auth_is_ntlm_supported ();
    0x0000c70c cmp r0, 0                                         |         
    0x0000c710 bne 0xc6a4                                        |         
                                                                 |     }
                                                                 |     do {
                                                                 | label_2:
    0x0000c714 mov fp, r5                                        |         
    0x0000c718 ldrb r3, [r5], 1                                  |         r3 = *(r5);
                                                                 |         r5++;
    0x0000c71c cmp r3, 0                                         |         
    0x0000c720 cmpne r3, 0x2c                                    |         __asm ("cmpne r3, 0x2c");
    0x0000c724 bne 0xc714                                        |         
                                                                 |     } while (r3 != 0);
    0x0000c728 cmp r3, 0x2c                                      |     
                                                                 |     if (r3 != 0x2c) {
    0x0000c72c moveq fp, r5                                      |         
                                                                 |     }
                                                                 | label_1:
    0x0000c730 mov r5, fp                                        |     r5 = fp;
    0x0000c734 ldrb r0, [fp], 1                                  |     r0 = *(fp);
                                                                 |     fp++;
    0x0000c738 cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x0000c73c beq 0xc66c                                        |         goto label_0;
                                                                 |     }
    0x0000c740 bl 0x2f898                                        |     r0 = Curl_isspace ();
    0x0000c744 cmp r0, 0                                         |     
                                                                 |     if (r0 != 0) {
    0x0000c748 bne 0xc730                                        |         goto label_1;
                                                                 |     }
    0x0000c74c b 0xc66c                                          |     goto label_0;
                                                                 | label_4:
    0x0000c750 mov r2, 6                                         |     r2 = 6;
    0x0000c754 mov r1, r5                                        |     r1 = r5;
    0x0000c758 ldr r0, [sp, 8]                                   |     r0 = var_8h;
    0x0000c75c bl 0x5bd4                                         |     r0 = fcn_00005bd4 ();
    0x0000c760 subs r3, r0, 0                                    |     r3 = r0 - 0;
                                                                 |     if (r3 == r0) {
    0x0000c764 beq 0xc7e4                                        |         goto label_5;
                                                                 |     }
    0x0000c768 ldr r3, [r4, 8]                                   |     r3 = *((r4 + 8));
    0x0000c76c tst r3, 2                                         |     
                                                                 |     if ((r3 & 2) != 0) {
    0x0000c770 beq 0xc788                                        |         
    0x0000c774 ldr r1, [pc, 0x12c]                               |         r1 = *(0xc8a4);
    0x0000c778 mov r0, r7                                        |         r0 = r7;
    0x0000c77c add r1, pc, r1                                    |         r1 = pc + r1;
    0x0000c780 bl 0x104cc                                        |         Curl_infof ();
    0x0000c784 b 0xc714                                          |         goto label_2;
                                                                 |     }
    0x0000c788 bl 0x305cc                                        |     r0 = Curl_auth_is_digest_supported ();
    0x0000c78c cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x0000c790 beq 0xc714                                        |         goto label_2;
                                                                 |     }
    0x0000c794 ldr r3, [r6]                                      |     r3 = *(r6);
    0x0000c798 mov r2, r5                                        |     r2 = r5;
    0x0000c79c orr r3, r3, 2                                     |     r3 |= 2;
    0x0000c7a0 str r3, [r6]                                      |     *(r6) = r3;
    0x0000c7a4 ldr r3, [r4, 8]                                   |     r3 = *((r4 + 8));
    0x0000c7a8 mov r1, sb                                        |     r1 = sb;
    0x0000c7ac orr r3, r3, 2                                     |     r3 |= 2;
    0x0000c7b0 str r3, [r4, 8]                                   |     *((r4 + 8)) = r3;
    0x0000c7b4 mov r0, r8                                        |     r0 = r8;
    0x0000c7b8 bl 0x214f0                                        |     r0 = Curl_input_digest ();
    0x0000c7bc cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x0000c7c0 beq 0xc714                                        |         goto label_2;
                                                                 |     }
    0x0000c7c4 ldr r1, [pc, 0xe0]                                |     r1 = *(0xc8a8);
    0x0000c7c8 add r1, pc, r1                                    |     r1 = pc + r1;
                                                                 | label_3:
    0x0000c7cc mov r0, r7                                        |     r0 = r7;
    0x0000c7d0 bl 0x104cc                                        |     Curl_infof ();
    0x0000c7d4 add r3, r7, 0x4000                                |     r3 = r7 + 0x4000;
    0x0000c7d8 mov r2, 1                                         |     r2 = 1;
    0x0000c7dc strb r2, [r3, 0x8a0]                              |     *((r3 + 0x8a0)) = r2;
    0x0000c7e0 b 0xc714                                          |     goto label_2;
                                                                 | label_5:
    0x0000c7e4 mov r2, 5                                         |     r2 = 5;
    0x0000c7e8 mov r1, r5                                        |     r1 = r5;
    0x0000c7ec mov r0, sl                                        |     r0 = sl;
    0x0000c7f0 str r3, [sp, 0xc]                                 |     var_ch = r3;
    0x0000c7f4 bl 0x5bd4                                         |     r0 = fcn_00005bd4 ();
    0x0000c7f8 subs fp, r0, 0                                    |     
                                                                 |     if (fp == r0) {
    0x0000c7fc beq 0xc848                                        |         goto label_6;
                                                                 |     }
    0x0000c800 ldr r2, [r6]                                      |     r2 = *(r6);
    0x0000c804 ldr r3, [sp, 0xc]                                 |     r3 = var_ch;
    0x0000c808 orr r2, r2, 1                                     |     r2 |= 1;
    0x0000c80c str r2, [r6]                                      |     *(r6) = r2;
    0x0000c810 ldr r2, [r4, 8]                                   |     r2 = *((r4 + 8));
    0x0000c814 ldr fp, [r4, 4]                                   |     fp = *((r4 + 4));
    0x0000c818 orr r2, r2, 1                                     |     r2 |= 1;
    0x0000c81c cmp fp, 1                                         |     
    0x0000c820 str r2, [r4, 8]                                   |     *((r4 + 8)) = r2;
                                                                 |     if (fp != 1) {
    0x0000c824 bne 0xc714                                        |         goto label_2;
                                                                 |     }
    0x0000c828 ldr r1, [pc, 0x80]                                |     r1 = *(0xc8ac);
    0x0000c82c str r3, [r4, 8]                                   |     *((r4 + 8)) = r3;
    0x0000c830 add r1, pc, r1                                    |     r1 = pc + r1;
    0x0000c834 mov r0, r7                                        |     r0 = r7;
    0x0000c838 bl 0x104cc                                        |     Curl_infof ();
    0x0000c83c add r3, r7, 0x4000                                |     r3 = r7 + 0x4000;
    0x0000c840 strb fp, [r3, 0x8a0]                              |     *((r3 + 0x8a0)) = fp;
    0x0000c844 b 0xc714                                          |     goto label_2;
                                                                 | label_6:
    0x0000c848 ldr r0, [pc, 0x64]                                |     r0 = *(0xc8b0);
    0x0000c84c mov r2, 6                                         |     r2 = 6;
    0x0000c850 mov r1, r5                                        |     r1 = r5;
    0x0000c854 add r0, pc, r0                                    |     r0 = pc + r0;
    0x0000c858 bl 0x5bd4                                         |     r0 = fcn_00005bd4 ();
    0x0000c85c cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x0000c860 beq 0xc714                                        |         goto label_2;
                                                                 |     }
    0x0000c864 ldr r3, [r6]                                      |     r3 = *(r6);
    0x0000c868 orr r3, r3, 0x40                                  |     r3 |= 0x40;
    0x0000c86c str r3, [r6]                                      |     *(r6) = r3;
    0x0000c870 ldr r3, [r4, 8]                                   |     r3 = *((r4 + 8));
    0x0000c874 orr r3, r3, 0x40                                  |     r3 |= 0x40;
    0x0000c878 str r3, [r4, 8]                                   |     *((r4 + 8)) = r3;
    0x0000c87c ldr r3, [r4, 4]                                   |     r3 = *((r4 + 4));
    0x0000c880 cmp r3, 0x40                                      |     
                                                                 |     if (r3 != 0x40) {
    0x0000c884 bne 0xc714                                        |         goto label_2;
                                                                 |     }
    0x0000c888 ldr r1, [pc, 0x28]                                |     r1 = *(0xc8b4);
    0x0000c88c str fp, [r4, 8]                                   |     *((r4 + 8)) = fp;
    0x0000c890 add r1, pc, r1                                    |     r1 = pc + r1;
    0x0000c894 b 0xc7cc                                          |     goto label_3;
                                                                 | }
    ; 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/lib/libcurl.so @ 0xc924 */
                                                                     | #include <stdint.h>
                                                                     |  
    ; (fcn) sym.Curl_http_done ()                                    | void Curl_http_done (int32_t arg1, int32_t arg2) {
                                                                     |     r0 = arg1;
                                                                     |     r1 = arg2;
    0x0000c924 push {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr}         |     
    0x0000c928 ldr r4, [r0]                                          |     r4 = *(r0);
    0x0000c92c mov sb, 0                                             |     sb = 0;
    0x0000c930 add r3, r4, 0x4000                                    |     r3 = r4 + 0x4000;
    0x0000c934 ldr r8, [r4, 0x12c]                                   |     r8 = *((r4 + 0x12c));
    0x0000c938 strb sb, [r3, 0x88d]                                  |     *((r3 + 0x88d)) = sb;
    0x0000c93c strb sb, [r3, 0x89d]                                  |     *((r3 + 0x89d)) = sb;
    0x0000c940 mov r6, r0                                            |     r6 = r0;
    0x0000c944 mov r5, r1                                            |     r5 = r1;
    0x0000c948 mov r7, r2                                            |     r7 = r2;
    0x0000c94c bl 0x20ed0                                            |     Curl_unencode_cleanup ();
    0x0000c950 ldr r3, [r4, 0x174]                                   |     r3 = *((r4 + 0x174));
    0x0000c954 cmp r8, sb                                            |     
    0x0000c958 str r3, [r6, 0x2f0]                                   |     *((r6 + 0x2f0)) = r3;
    0x0000c95c ldr r3, [r4, 0x1c8]                                   |     r3 = *((r4 + 0x1c8));
    0x0000c960 str r3, [r6, 0x2f4]                                   |     *((r6 + 0x2f4)) = r3;
                                                                     |     if (r8 != sb) {
    0x0000c964 bne 0xc974                                            |         goto label_2;
                                                                     |     }
                                                                     | label_0:
    0x0000c968 mov r5, 0                                             |     r5 = 0;
                                                                     |     do {
                                                                     | label_1:
    0x0000c96c mov r0, r5                                            |         r0 = r5;
    0x0000c970 pop {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}          |         
                                                                     | label_2:
    0x0000c974 ldr r0, [r8, 0x1b4]                                   |         r0 = *((r8 + 0x1b4));
    0x0000c978 cmp r0, 0                                             |         
                                                                     |         if (r0 != 0) {
    0x0000c97c beq 0xc988                                            |             
    0x0000c980 bl 0xc8e4                                             |             Curl_add_buffer_free ();
    0x0000c984 str sb, [r8, 0x1b4]                                   |             *((r8 + 0x1b4)) = sb;
                                                                     |         }
    0x0000c988 add r0, r8, 0x30                                      |         r0 = r8 + 0x30;
    0x0000c98c bl 0x2bb24                                            |         Curl_mime_cleanpart ();
    0x0000c990 ldr r3, [r4, 0x3d0]                                   |         r3 = *((r4 + 0x3d0));
    0x0000c994 sub r3, r3, 3                                         |         r3 -= 3;
    0x0000c998 cmp r3, 2                                             |         
                                                                     |         if (r3 <= 2) {
    0x0000c99c bhi 0xc9b4                                            |             
    0x0000c9a0 ldrd r2, r3, [r8, 0x20]                               |             __asm ("ldrd r2, r3, [r8, 0x20]");
    0x0000c9a4 ldrd r0, r1, [r8, 0x28]                               |             __asm ("ldrd r0, r1, [r8, 0x28]");
    0x0000c9a8 adds sl, r2, r0                                       |             sl = r2 + r0;
    0x0000c9ac adc fp, r3, r1                                        |             __asm ("adc fp, r3, r1");
    0x0000c9b0 strd sl, fp, [r4, 0x90]                               |             __asm ("strd sl, fp, [r4, 0x90]");
                                                                     |         }
    0x0000c9b4 cmp r5, 0                                             |         
    0x0000c9b8 bne 0xc96c                                            |         
                                                                     |     } while (r5 != 0);
    0x0000c9bc cmp r7, 0                                             |     
                                                                     |     if (r7 != 0) {
    0x0000c9c0 bne 0xc968                                            |         goto label_0;
                                                                     |     }
    0x0000c9c4 ldrb r3, [r6, 0x260]                                  |     r3 = *((r6 + 0x260));
    0x0000c9c8 cmp r3, 0                                             |     
                                                                     |     if (r3 != 0) {
    0x0000c9cc bne 0xc968                                            |         goto label_0;
                                                                     |     }
    0x0000c9d0 ldrb r3, [r4, 0x4f1]                                  |     r3 = *((r4 + 0x4f1));
    0x0000c9d4 cmp r3, 0                                             |     
                                                                     |     if (r3 != 0) {
    0x0000c9d8 bne 0xc968                                            |         goto label_0;
                                                                     |     }
    0x0000c9dc ldrd r2, r3, [r8, 0x20]                               |     __asm ("ldrd r2, r3, [r8, 0x20]");
    0x0000c9e0 ldr r1, [r4, 0xa0]                                    |     r1 = *((r4 + 0xa0));
    0x0000c9e4 adds r6, r2, r1                                       |     r6 = r2 + r1;
    0x0000c9e8 adc r7, r3, r1, asr 31                                |     __asm ("adc r7, r3, r1, asr 31");
    0x0000c9ec ldr r1, [r4, 0xa4]                                    |     r1 = *((r4 + 0xa4));
    0x0000c9f0 subs r2, r6, r1                                       |     r2 = r6 - r1;
    0x0000c9f4 sbc r3, r7, r1, asr 31                                |     __asm ("sbc r3, r7, r1, asr 31");
    0x0000c9f8 cmp r2, 1                                             |     
    0x0000c9fc sbcs r3, r3, 0                                        |     __asm ("sbcs r3, r3, 0");
                                                                     |     if (r2 >= 1) {
    0x0000ca00 bge 0xc968                                            |         goto label_0;
                                                                     |     }
    0x0000ca04 ldr r1, [pc, 0x10]                                    |     r1 = *(0xca18);
    0x0000ca08 mov r0, r4                                            |     r0 = r4;
    0x0000ca0c add r1, pc, r1                                        |     r1 = pc + r1;
    0x0000ca10 bl 0x10544                                            |     Curl_failf ();
    0x0000ca14 mov r5, 0x34                                          |     r5 = 0x34;
    0x0000ca18 b 0xc96c                                              |     goto label_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/lib/libcurl.so @ 0xcdac */
                                                     | #include <stdint.h>
                                                     |  
    ; (fcn) sym.Curl_http_connect ()                 | void Curl_http_connect (int32_t arg1, int32_t arg2) {
                                                     |     int32_t var_0h;
                                                     |     int32_t var_4h;
                                                     |     int32_t var_8h;
                                                     |     int32_t var_ch;
                                                     |     char * dest;
                                                     |     int32_t var_18h;
                                                     |     int32_t var_98h;
                                                     |     r0 = arg1;
                                                     |     r1 = arg2;
    0x0000cdac push {r4, r5, r6, r7, r8, lr}         |     
    0x0000cdb0 mov r4, r0                            |     r4 = r0;
    0x0000cdb4 sub sp, sp, 0x98                      |     
    0x0000cdb8 mov r7, r1                            |     r7 = r1;
    0x0000cdbc mov r1, 0                             |     r1 = 0;
    0x0000cdc0 bl 0x1cb34                            |     Curl_conncontrol ();
    0x0000cdc4 mov r1, 0                             |     r1 = 0;
    0x0000cdc8 mov r0, r4                            |     r0 = r4;
    0x0000cdcc bl 0x26274                            |     r0 = Curl_proxy_connect ();
    0x0000cdd0 subs r6, r0, 0                        |     r6 = r0 - 0;
                                                     |     if (r6 != r0) {
    0x0000cdd4 bne 0xcef4                            |         goto label_1;
                                                     |     }
    0x0000cdd8 ldrb r3, [r4, 0x26a]                  |     r3 = *((r4 + 0x26a));
    0x0000cddc cmp r3, 0                             |     
                                                     |     if (r3 != 0) {
    0x0000cde0 bne 0xcef4                            |         goto label_1;
                                                     |     }
    0x0000cde4 ldr r3, [r4, 0xf0]                    |     r3 = *((r4 + 0xf0));
    0x0000cde8 cmp r3, 2                             |     
                                                     |     if (r3 == 2) {
    0x0000cdec bne 0xcdfc                            |         
    0x0000cdf0 ldrb r3, [r4, 0x271]                  |         r3 = *((r4 + 0x271));
    0x0000cdf4 cmp r3, 0                             |         
                                                     |         if (r3 == 0) {
    0x0000cdf8 beq 0xcef4                            |             goto label_1;
                                                     |         }
                                                     |     }
    0x0000cdfc mov r0, r4                            |     r0 = r4;
    0x0000ce00 bl 0x255fc                            |     r0 = Curl_connect_ongoing ();
    0x0000ce04 cmp r0, 0                             |     
                                                     |     if (r0 != 0) {
    0x0000ce08 bne 0xcef4                            |         goto label_1;
                                                     |     }
    0x0000ce0c ldr r5, [r4]                          |     r5 = *(r4);
    0x0000ce10 ldrb r3, [r5, 0x65c]                  |     r3 = *((r5 + 0x65c));
    0x0000ce14 cmp r3, 0                             |     
    0x0000ce18 bne 0xce44                            |     
                                                     |     while (r0 == 0) {
    0x0000ce1c ldr r3, [r4, 0x288]                   |         r3 = *((r4 + 0x288));
    0x0000ce20 ldr r3, [r3, 0x40]                    |         r3 = *((r3 + 0x40));
    0x0000ce24 tst r3, 2                             |         
                                                     |         if ((r3 & 2) != 0) {
    0x0000ce28 moveq r3, 1                           |             r3 = 1;
                                                     |         }
                                                     |         if ((r3 & 2) != 0) {
    0x0000ce2c strbeq r3, [r7]                       |             *(r7) = r3;
                                                     |         }
                                                     |         if ((r3 & 2) == 0) {
    0x0000ce30 beq 0xcef4                            |             goto label_1;
                                                     |         }
    0x0000ce34 mov r1, r7                            |         r1 = r7;
    0x0000ce38 mov r0, r4                            |         r0 = r4;
    0x0000ce3c bl 0xb988                             |         https_connecting ();
    0x0000ce40 b 0xcef0                              |         goto label_2;
    0x0000ce44 ldrb r3, [r4, 0x25b]                  |         r3 = *((r4 + 0x25b));
    0x0000ce48 cmp r3, 0                             |         
    0x0000ce4c add r3, sp, 0x10                      |         r3 += dest;
                                                     |         if (r3 == 0) {
    0x0000ce50 beq 0xcf00                            |             goto label_3;
                                                     |         }
    0x0000ce54 ldr r1, [pc, 0xb0]                    |         r1 = *(0xcf08);
    0x0000ce58 add r1, pc, r1                        |         r1 = pc + r1;
                                                     | label_0:
    0x0000ce5c mov r0, r3                            |         r0 = r3;
    0x0000ce60 bl 0x5c28                             |         strcpy (r0, r1);
    0x0000ce64 add r2, r5, 0x4000                    |         r2 = r5 + 0x4000;
    0x0000ce68 ldr r1, [r2, 0xac0]                   |         r1 = *((r2 + 0xac0));
    0x0000ce6c add r5, r5, 0x4a00                    |         r5 += 0x4a00;
    0x0000ce70 str r1, [sp, 0xc]                     |         var_ch = r1;
    0x0000ce74 ldr r2, [r2, 0xaf4]                   |         r2 = *((r2 + 0xaf4));
    0x0000ce78 add r8, sp, 0x18                      |         r8 += var_18h;
    0x0000ce7c str r2, [sp, 8]                       |         var_8h = r2;
    0x0000ce80 add r2, r5, 0x90                      |         r2 = r5 + 0x90;
    0x0000ce84 str r2, [sp, 4]                       |         var_4h = r2;
    0x0000ce88 ldr r2, [pc, 0x80]                    |         r2 = $d;
    0x0000ce8c add r5, r5, 0xc4                      |         r5 += 0xc4;
    0x0000ce90 str r5, [sp]                          |         *(sp) = r5;
    0x0000ce94 add r2, pc, r2                        |         r2 = pc + r2;
    0x0000ce98 mov r1, 0x80                          |         r1 = 0x80;
    0x0000ce9c mov r3, r0                            |         r3 = r0;
    0x0000cea0 mov r0, r8                            |         r0 = r8;
    0x0000cea4 bl 0x579c                             |         fcn_0000579c ();
    0x0000cea8 bl 0xc8bc                             |         Curl_add_buffer_init ();
    0x0000ceac subs r5, r0, 0                        |         r5 -= var_18h;
                                                     |         if (r5 != var_18h) {
    0x0000ceb0 moveq r6, 0x1b                        |             r6 = 0x1b;
                                                     |         }
                                                     |         if (r5 == var_18h) {
    0x0000ceb4 beq 0xcef4                            |             goto label_1;
                                                     |         }
    0x0000ceb8 mov r1, r8                            |         r1 = r8;
    0x0000cebc bl 0xcd18                             |         Curl_add_bufferf ();
    0x0000cec0 subs r3, r0, 0                        |         r3 -= var_18h;
                                                     |         if (r3 == var_18h) {
    0x0000cec4 movne r6, r3                          |             r6 = r3;
                                                     |         }
                                                     |         if (r3 != var_18h) {
    0x0000cec8 bne 0xcef4                            |             goto label_1;
                                                     |         }
    0x0000cecc ldr r2, [r4]                          |         r2 = *(r4);
    0x0000ced0 str r3, [sp]                          |         *(sp) = r3;
    0x0000ced4 add r2, r2, 0x4a00                    |         r2 += 0x4a00;
    0x0000ced8 add r2, r2, 0x78                      |         r2 += 0x78;
    0x0000cedc mov r1, r4                            |         r1 = r4;
    0x0000cee0 mov r0, r5                            |         r0 = r5;
    0x0000cee4 bl 0xca20                             |         r0 = Curl_add_buffer_send ();
    0x0000cee8 cmp r0, 0                             |         
    0x0000ceec beq 0xce1c                            |         
                                                     |     }
                                                     | label_2:
    0x0000cef0 mov r6, r0                            |     r6 = r0;
                                                     | label_1:
    0x0000cef4 mov r0, r6                            |     r0 = r6;
    0x0000cef8 add sp, sp, 0x98                      |     
    0x0000cefc pop {r4, r5, r6, r7, r8, pc}          |     
                                                     | label_3:
    0x0000cf00 ldr r1, [pc, 0xc]                     |     r1 = *(0xcf10);
    0x0000cf04 add r1, pc, r1                        |     r1 = pc + r1;
    0x0000cf08 b 0xce5c                              |     goto label_0;
                                                     | }
    ; 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/lib/libcurl.so @ 0xd478 */
                                                                 | #include <stdint.h>
                                                                 |  
    ; (fcn) sym.Curl_http ()                                     | void Curl_http (int32_t arg1, int32_t arg2) {
                                                                 |     int32_t var_0h;
                                                                 |     int32_t var_4h;
                                                                 |     int32_t var_8h;
                                                                 |     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_30h;
                                                                 |     int32_t var_38h;
                                                                 |     int32_t var_3ch;
                                                                 |     char * s;
                                                                 |     int32_t var_44h;
                                                                 |     int32_t var_48h;
                                                                 |     int32_t var_48h_2;
                                                                 |     int32_t var_50h;
                                                                 |     int32_t var_54h;
                                                                 |     size_t nmeb;
                                                                 |     void * s1;
                                                                 |     int32_t var_60h;
                                                                 |     int32_t var_64h;
                                                                 |     int32_t var_6ch;
                                                                 |     int32_t var_6dh;
                                                                 |     int32_t var_70h;
                                                                 |     int32_t var_74h;
                                                                 |     int32_t var_7ch;
                                                                 |     r0 = arg1;
                                                                 |     r1 = arg2;
    0x0000d478 push {r4, r5, r6, r7, r8, sb, sl, fp, lr}         |     
    0x0000d47c ldr sl, [r0]                                      |     sl = *(r0);
    0x0000d480 ldr r3, [pc, 0xf0c]                               |     r3 = *(0xe390);
    0x0000d484 sub sp, sp, 0x7c                                  |     
    0x0000d488 add r3, pc, r3                                    |     r3 = pc + r3;
    0x0000d48c add r6, sl, 0x4000                                |     r6 = sl + 0x4000;
    0x0000d490 str r3, [sp, 0x44]                                |     var_44h = r3;
    0x0000d494 ldr r3, [r6, 0x9ec]                               |     r3 = *((r6 + 0x9ec));
    0x0000d498 mov r5, 1                                         |     r5 = 1;
    0x0000d49c str r3, [sp, 0x40]                                |     s = r3;
    0x0000d4a0 mov r3, 0                                         |     r3 = 0;
    0x0000d4a4 str r3, [sp, 0x6c]                                |     var_6ch = r3;
    0x0000d4a8 str r3, [sp, 0x70]                                |     var_70h = r3;
    0x0000d4ac strb r3, [sp, 0x74]                               |     var_74h = r3;
    0x0000d4b0 ldr r3, [r0, 0xa0]                                |     r3 = *((r0 + 0xa0));
    0x0000d4b4 str r3, [sp, 0x58]                                |     nmeb = r3;
    0x0000d4b8 ldr r3, [sl, 0x3d0]                               |     r3 = *((sl + 0x3d0));
    0x0000d4bc strb r5, [r1]                                     |     *(r1) = r5;
    0x0000d4c0 str r3, [sp, 0x30]                                |     var_30h = r3;
    0x0000d4c4 ldr r3, [r0, 0x180]                               |     r3 = *((r0 + 0x180));
    0x0000d4c8 cmp r3, 0x13                                      |     
                                                                 |     if (r3 > 0x13) {
    0x0000d4cc bgt 0xd540                                        |         goto label_8;
                                                                 |     }
    0x0000d4d0 ldr r3, [r0, 0x504]                               |     r3 = *((r0 + 0x504));
    0x0000d4d4 cmp r3, 3                                         |     
                                                                 |     if (r3 != 3) {
    0x0000d4d8 moveq r3, 0x14                                    |         r3 = 0x14;
                                                                 |     }
                                                                 |     if (r3 != 3) {
    0x0000d4dc streq r3, [r0, 0x180]                             |         *((r0 + 0x180)) = r3;
                                                                 |     }
                                                                 |     if (r3 == 3) {
    0x0000d4e0 beq 0xd540                                        |         goto label_8;
                                                                 |     }
    0x0000d4e4 ldrb r3, [r6, 0x7e0]                              |     r3 = *((r6 + 0x7e0));
    0x0000d4e8 mov r4, r0                                        |     r4 = r0;
    0x0000d4ec cmp r3, 0                                         |     
    0x0000d4f0 ldr sb, [sl, 0x12c]                               |     sb = *((sl + 0x12c));
                                                                 |     if (r3 != 0) {
    0x0000d4f4 bne 0xd54c                                        |         goto label_33;
                                                                 |     }
    0x0000d4f8 ldr r2, [sp, 0x44]                                |     r2 = var_44h;
    0x0000d4fc ldr r3, [pc, 0xe94]                               |     
    0x0000d500 ldr r0, [r6, 0x7e4]                               |     r0 = *((r6 + 0x7e4));
    0x0000d504 ldr r3, [r2, r3]                                  |     r3 = *((r2 + r3));
    0x0000d508 ldr r3, [r3]                                      |     r3 = $d;
    0x0000d50c blx r3                                            |     uint32_t (*r3)(uint32_t, uint32_t, uint32_t) (r0, r2, r3);
    0x0000d510 ldr r2, [sp, 0x44]                                |     r2 = var_44h;
    0x0000d514 ldr r3, [pc, 0xe80]                               |     
    0x0000d518 ldr r0, [r4, 0xa0]                                |     r0 = *((r4 + 0xa0));
    0x0000d51c ldr r3, [r2, r3]                                  |     r3 = *((r2 + r3));
    0x0000d520 ldr r3, [r3]                                      |     r3 = *(0xe398);
    0x0000d524 blx r3                                            |     r0 = uint32_t (*r3)(uint32_t, uint32_t, uint32_t) (r0, r2, r3);
    0x0000d528 cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x0000d52c ldrne r3, [r4, 0x100]                             |         r3 = *((r4 + 0x100));
                                                                 |     }
    0x0000d530 str r0, [r6, 0x7e4]                               |     *((r6 + 0x7e4)) = r0;
                                                                 |     if (r0 == 0) {
    0x0000d534 strne r3, [r6, 0x7e8]                             |         *((r6 + 0x7e8)) = r3;
                                                                 |     }
                                                                 |     if (r0 != 0) {
    0x0000d538 bne 0xd54c                                        |         goto label_33;
                                                                 |     }
                                                                 | label_0:
    0x0000d53c mov r5, 0x1b                                      |     r5 = 0x1b;
                                                                 |     do {
                                                                 | label_8:
    0x0000d540 mov r0, r5                                        |         r0 = r5;
    0x0000d544 add sp, sp, 0x7c                                  |         
    0x0000d548 pop {r4, r5, r6, r7, r8, sb, sl, fp, pc}          |         
                                                                 | label_33:
    0x0000d54c mov r3, 0                                         |         r3 = 0;
    0x0000d550 mov r2, 0                                         |         r2 = 0;
    0x0000d554 strd r2, r3, [sb, 0x20]                           |         __asm ("strd r2, r3, [sb, 0x20]");
    0x0000d558 strd r2, r3, [sb, 0x28]                           |         __asm ("strd r2, r3, [sb, 0x28]");
    0x0000d55c ldr r3, [r4, 0x284]                               |         r3 = *((r4 + 0x284));
    0x0000d560 ldr r3, [r3, 0x40]                                |         r3 = *((r3 + 0x40));
    0x0000d564 tst r3, 7                                         |         
                                                                 |         if ((r3 & 7) != 0) {
    0x0000d568 beq 0xd580                                        |             
    0x0000d56c ldrb r3, [sl, 0x4d1]                              |             r3 = *((sl + 0x4d1));
    0x0000d570 cmp r3, 0                                         |             
    0x0000d574 ldr r3, [sp, 0x30]                                |             r3 = var_30h;
                                                                 |             if (r3 == 0) {
    0x0000d578 movne r3, 5                                       |                 r3 = 5;
                                                                 |             }
    0x0000d57c str r3, [sp, 0x30]                                |             var_30h = r3;
                                                                 |         }
    0x0000d580 ldr r3, [sl, 0x520]                               |         r3 = *((sl + 0x520));
    0x0000d584 cmp r3, 0                                         |         
    0x0000d588 str r3, [sp, 0x38]                                |         var_38h = r3;
                                                                 |         if (r3 == 0) {
    0x0000d58c bne 0xd5d4                                        |             
    0x0000d590 ldrb r3, [sl, 0x4d0]                              |             r3 = *((sl + 0x4d0));
    0x0000d594 cmp r3, 0                                         |             
                                                                 |             if (r3 != 0) {
    0x0000d598 bne 0xd77c                                        |                 goto label_34;
                                                                 |             }
    0x0000d59c ldr r3, [sp, 0x30]                                |             r3 = var_30h;
    0x0000d5a0 sub r3, r3, 2                                     |             r3 -= 2;
    0x0000d5a4 cmp r3, 5                                         |             
                                                                 |             if (r3 > 5) {
                                                                 |                 /* switch table (6 cases) at 0xd5b0 */
    0x0000d5a8 addls pc, pc, r3, lsl 2                           |                 pc += (r3 << 2);
                                                                 |             }
    0x0000d5ac b 0xd764                                          |             goto label_35;
    0x0000d5b0 b 0xd5c8                                          |             goto label_36;
    0x0000d5b4 b 0xd5c8                                          |             goto label_36;
    0x0000d5b8 b 0xd5c8                                          |             goto label_36;
    0x0000d5bc b 0xd788                                          |             goto label_37;
    0x0000d5c0 b 0xd770                                          |             goto label_38;
    0x0000d5c4 b 0xd758                                          |             goto label_39;
                                                                 | label_36:
    0x0000d5c8 ldr r3, [pc, 0xdd0]                               |             r3 = *(0xe39c);
    0x0000d5cc add r3, pc, r3                                    |             r3 = pc + r3;
                                                                 | label_1:
    0x0000d5d0 str r3, [sp, 0x38]                                |             var_38h = r3;
                                                                 |         }
    0x0000d5d4 ldr r1, [pc, 0xdc8]                               |         r1 = *(0xe3a0);
    0x0000d5d8 mov r0, r4                                        |         r0 = r4;
    0x0000d5dc add r1, pc, r1                                    |         r1 = pc + r1;
    0x0000d5e0 bl 0x17e50                                        |         r0 = Curl_checkheaders ();
    0x0000d5e4 cmp r0, 0                                         |         
                                                                 |         if (r0 != 0) {
    0x0000d5e8 beq 0xd60c                                        |             
    0x0000d5ec ldr r2, [sp, 0x44]                                |             r2 = var_44h;
    0x0000d5f0 ldr r3, [pc, 0xda0]                               |             
    0x0000d5f4 ldr r0, [r4, 0x29c]                               |             r0 = *((r4 + 0x29c));
    0x0000d5f8 ldr r3, [r2, r3]                                  |             r3 = *((r2 + r3));
    0x0000d5fc ldr r3, [r3]                                      |             r3 = $d;
    0x0000d600 blx r3                                            |             uint32_t (*r3)(uint32_t, uint32_t, uint32_t) (r0, r2, r3);
    0x0000d604 mov r3, 0                                         |             r3 = 0;
    0x0000d608 str r3, [r4, 0x29c]                               |             *((r4 + 0x29c)) = r3;
                                                                 |         }
    0x0000d60c mov r3, 0                                         |         r3 = 0;
    0x0000d610 ldr r2, [sp, 0x40]                                |         r2 = s;
    0x0000d614 ldr r1, [sp, 0x38]                                |         r1 = var_38h;
    0x0000d618 mov r0, r4                                        |         r0 = r4;
    0x0000d61c bl 0xc4d8                                         |         r0 = Curl_http_output_auth ();
    0x0000d620 subs r5, r0, 0                                    |         r5 = r0 - 0;
    0x0000d624 bne 0xd540                                        |         
                                                                 |     } while (r5 != r0);
    0x0000d628 ldrb r3, [r6, 0x88d]                              |     r3 = *((r6 + 0x88d));
    0x0000d62c cmp r3, 0                                         |     
                                                                 |     if (r3 == 0) {
    0x0000d630 bne 0xd640                                        |         
    0x0000d634 ldrb r3, [r6, 0x89d]                              |         r3 = *((r6 + 0x89d));
    0x0000d638 cmp r3, 0                                         |         
                                                                 |         if (r3 == 0) {
    0x0000d63c beq 0xd654                                        |             goto label_40;
                                                                 |         }
                                                                 |     }
    0x0000d640 ldr r3, [sp, 0x30]                                |     r3 = var_30h;
    0x0000d644 cmp r3, 1                                         |     
    0x0000d648 cmpne r3, 6                                       |     __asm ("cmpne r3, 6");
                                                                 |     if (r3 == 1) {
    0x0000d64c movne r3, 1                                       |         r3 = 1;
                                                                 |     }
                                                                 |     if (r3 == 1) {
    0x0000d650 bne 0xd658                                        |         
                                                                 | label_40:
    0x0000d654 mov r3, 0                                         |         r3 = 0;
                                                                 |     }
    0x0000d658 strb r3, [r4, 0x262]                              |     *((r4 + 0x262)) = r3;
    0x0000d65c ldr r2, [sp, 0x44]                                |     r2 = var_44h;
    0x0000d660 ldr r3, [pc, 0xd30]                               |     r3 = $d;
    0x0000d664 ldr r0, [r4, 0x2ac]                               |     r0 = *((r4 + 0x2ac));
    0x0000d668 ldr r8, [r2, r3]                                  |     r8 = *((r2 + r3));
    0x0000d66c ldr r3, [r8]                                      |     r3 = *(r8);
    0x0000d670 blx r3                                            |     uint32_t (*r3)(uint32_t, uint32_t, uint32_t) (r0, r2, r3);
    0x0000d674 mov r3, 0                                         |     r3 = 0;
    0x0000d678 str r3, [r4, 0x2ac]                               |     *((r4 + 0x2ac)) = r3;
    0x0000d67c ldr r3, [sl, 0x680]                               |     r3 = *((sl + 0x680));
    0x0000d680 cmp r3, 0                                         |     
                                                                 |     if (r3 == 0) {
    0x0000d684 beq 0xd794                                        |         goto label_41;
                                                                 |     }
    0x0000d688 ldr r1, [pc, 0xd18]                               |     r1 = *(0xe3a4);
    0x0000d68c mov r0, r4                                        |     r0 = r4;
    0x0000d690 add r1, pc, r1                                    |     r1 = pc + r1;
    0x0000d694 bl 0x17e50                                        |     r0 = Curl_checkheaders ();
    0x0000d698 cmp r0, 0                                         |     
                                                                 |     if (r0 != 0) {
    0x0000d69c bne 0xd794                                        |         goto label_41;
                                                                 |     }
    0x0000d6a0 ldr r0, [pc, 0xd04]                               |     r0 = *(0xe3a8);
    0x0000d6a4 ldr r1, [sl, 0x680]                               |     r1 = *((sl + 0x680));
    0x0000d6a8 add r0, pc, r0                                    |     r0 = pc + r0;
    0x0000d6ac bl 0x5b80                                         |     r0 = fcn_00005b80 ();
    0x0000d6b0 cmp r0, 0                                         |     
    0x0000d6b4 str r0, [r4, 0x2ac]                               |     *((r4 + 0x2ac)) = r0;
                                                                 |     if (r0 == 0) {
    0x0000d6b8 beq 0xd53c                                        |         goto label_0;
                                                                 |     }
                                                                 | label_2:
    0x0000d6bc ldr r3, [sl, 0x518]                               |     r3 = *((sl + 0x518));
    0x0000d6c0 cmp r3, 0                                         |     
                                                                 |     if (r3 != 0) {
    0x0000d6c4 bne 0xd7a0                                        |         goto label_42;
                                                                 |     }
                                                                 | label_3:
    0x0000d6c8 mov r3, 0                                         |     r3 = 0;
                                                                 | label_4:
    0x0000d6cc ldr r1, [pc, 0xcdc]                               |     r1 = *(0xe3ac);
    0x0000d6d0 mov r0, r4                                        |     r0 = r4;
    0x0000d6d4 add r1, pc, r1                                    |     r1 = pc + r1;
    0x0000d6d8 str r3, [sp, 0x50]                                |     var_50h = r3;
    0x0000d6dc bl 0x17e50                                        |     r0 = Curl_checkheaders ();
    0x0000d6e0 subs r5, r0, 0                                    |     r5 = r0 - 0;
                                                                 |     if (r5 != r0) {
    0x0000d6e4 bne 0xd7c0                                        |         goto label_43;
                                                                 |     }
    0x0000d6e8 ldr r2, [sl, 0x52c]                               |     r2 = *((sl + 0x52c));
    0x0000d6ec ldr r3, [r8]                                      |     r3 = *(r8);
    0x0000d6f0 cmp r2, 0                                         |     
    0x0000d6f4 ldr r0, [r4, 0x2a0]                               |     r0 = *((r4 + 0x2a0));
                                                                 |     if (r2 == 0) {
    0x0000d6f8 beq 0xd7c0                                        |         goto label_43;
                                                                 |     }
    0x0000d6fc blx r3                                            |     uint32_t (*r3)(uint32_t) (r0);
    0x0000d700 ldr r0, [pc, 0xcac]                               |     r0 = *(0xe3b0);
    0x0000d704 str r5, [r4, 0x2a0]                               |     *((r4 + 0x2a0)) = r5;
    0x0000d708 ldr r1, [sl, 0x52c]                               |     r1 = *((sl + 0x52c));
    0x0000d70c add r0, pc, r0                                    |     r0 = pc + r0;
    0x0000d710 bl 0x5b80                                         |     r0 = fcn_00005b80 ();
    0x0000d714 cmp r0, 0                                         |     
    0x0000d718 str r0, [r4, 0x2a0]                               |     *((r4 + 0x2a0)) = r0;
                                                                 |     if (r0 == 0) {
    0x0000d71c beq 0xd53c                                        |         goto label_0;
                                                                 |     }
                                                                 | label_5:
    0x0000d720 ldr r1, [pc, 0xc90]                               |     r1 = *(0xe3b4);
    0x0000d724 mov r0, r4                                        |     r0 = r4;
    0x0000d728 add r1, pc, r1                                    |     r1 = pc + r1;
    0x0000d72c bl 0x17e50                                        |     r0 = Curl_checkheaders ();
    0x0000d730 subs r7, r0, 0                                    |     r7 = r0 - 0;
                                                                 |     if (r7 == r0) {
    0x0000d734 beq 0xd7d8                                        |         goto label_44;
                                                                 |     }
                                                                 | label_6:
    0x0000d738 ldr r3, [sp, 0x30]                                |     r3 = var_30h;
    0x0000d73c cmp r3, 3                                         |     
                                                                 |     if (r3 == 3) {
    0x0000d740 beq 0xd880                                        |         goto label_45;
                                                                 |     }
    0x0000d744 cmp r3, 4                                         |     
                                                                 |     if (r3 != 4) {
    0x0000d748 addeq r3, sl, 0x238                               |         r3 = sl + 0x238;
                                                                 |     }
                                                                 |     if (r3 == 4) {
    0x0000d74c movne r3, 0                                       |         r3 = 0;
                                                                 |     }
    0x0000d750 str r3, [sb]                                      |     *(sb) = r3;
    0x0000d754 b 0xd8ac                                          |     goto label_46;
                                                                 | label_39:
    0x0000d758 ldr r3, [pc, 0xc5c]                               |     r3 = *(0xe3b8);
    0x0000d75c add r3, pc, r3                                    |     r3 = pc + r3;
    0x0000d760 b 0xd5d0                                          |     goto label_1;
                                                                 | label_35:
    0x0000d764 ldr r3, [pc, 0xc54]                               |     r3 = *(0xe3bc);
    0x0000d768 add r3, pc, r3                                    |     r3 = pc + r3;
    0x0000d76c b 0xd5d0                                          |     goto label_1;
                                                                 | label_38:
    0x0000d770 ldr r3, [pc, 0xc4c]                               |     r3 = *(0xe3c0);
    0x0000d774 add r3, pc, r3                                    |     r3 = pc + r3;
    0x0000d778 b 0xd5d0                                          |     goto label_1;
                                                                 | label_34:
    0x0000d77c ldr r3, [pc, 0xc44]                               |     r3 = *(0xe3c4);
    0x0000d780 add r3, pc, r3                                    |     r3 = pc + r3;
    0x0000d784 b 0xd5d0                                          |     goto label_1;
                                                                 | label_37:
    0x0000d788 ldr r3, [pc, 0xc3c]                               |     r3 = *(0xe3c8);
    0x0000d78c add r3, pc, r3                                    |     r3 = pc + r3;
    0x0000d790 b 0xd5d0                                          |     goto label_1;
                                                                 | label_41:
    0x0000d794 mov r3, 0                                         |     r3 = 0;
    0x0000d798 str r3, [r4, 0x2ac]                               |     *((r4 + 0x2ac)) = r3;
    0x0000d79c b 0xd6bc                                          |     goto label_2;
                                                                 | label_42:
    0x0000d7a0 ldr r1, [pc, 0xc28]                               |     r1 = *(0xe3cc);
    0x0000d7a4 mov r0, r4                                        |     r0 = r4;
    0x0000d7a8 add r1, pc, r1                                    |     r1 = pc + r1;
    0x0000d7ac bl 0x17e50                                        |     r0 = Curl_checkheaders ();
    0x0000d7b0 cmp r0, 0                                         |     
                                                                 |     if (r0 != 0) {
    0x0000d7b4 bne 0xd6c8                                        |         goto label_3;
                                                                 |     }
    0x0000d7b8 ldr r3, [sl, 0x518]                               |     r3 = *((sl + 0x518));
    0x0000d7bc b 0xd6cc                                          |     goto label_4;
                                                                 | label_43:
    0x0000d7c0 ldr r3, [r8]                                      |     r3 = *(r8);
    0x0000d7c4 ldr r0, [r4, 0x2a0]                               |     r0 = *((r4 + 0x2a0));
    0x0000d7c8 blx r3                                            |     uint32_t (*r3)(uint32_t, uint32_t) (r0, r3);
    0x0000d7cc mov r3, 0                                         |     r3 = 0;
    0x0000d7d0 str r3, [r4, 0x2a0]                               |     *((r4 + 0x2a0)) = r3;
    0x0000d7d4 b 0xd720                                          |     goto label_5;
                                                                 | label_44:
    0x0000d7d8 ldrb r3, [sl, 0x4cb]                              |     r3 = *((sl + 0x4cb));
    0x0000d7dc cmp r3, 0                                         |     
                                                                 |     if (r3 == 0) {
    0x0000d7e0 beq 0xd738                                        |         goto label_6;
                                                                 |     }
    0x0000d7e4 ldr r1, [pc, 0xbe8]                               |     r1 = *(0xe3d0);
    0x0000d7e8 mov r0, r4                                        |     r0 = r4;
    0x0000d7ec add r1, pc, r1                                    |     r1 = pc + r1;
    0x0000d7f0 bl 0x17e50                                        |     Curl_checkheaders ();
    0x0000d7f4 ldr r3, [r8]                                      |     r3 = *(r8);
    0x0000d7f8 mov r5, r0                                        |     r5 = r0;
    0x0000d7fc ldr r0, [r4, 0x2bc]                               |     r0 = *((r4 + 0x2bc));
    0x0000d800 blx r3                                            |     uint32_t (*r3)(uint32_t, uint32_t) (r0, r3);
    0x0000d804 cmp r5, 0                                         |     
    0x0000d808 str r7, [r4, 0x2bc]                               |     *((r4 + 0x2bc)) = r7;
                                                                 |     if (r5 == 0) {
    0x0000d80c beq 0xd83c                                        |         goto label_47;
                                                                 |     }
    0x0000d810 mov r0, r5                                        |     r0 = r5;
    0x0000d814 bl 0xc1ec                                         |     r0 = Curl_copy_header_value ();
    0x0000d818 subs r5, r0, 0                                    |     r5 = r0 - 0;
                                                                 |     if (r5 == r0) {
    0x0000d81c beq 0xd53c                                        |         goto label_0;
                                                                 |     }
    0x0000d820 ldrb r3, [r5]                                     |     r3 = *(r5);
    0x0000d824 mov r1, r5                                        |     r1 = r5;
    0x0000d828 cmp r3, 0                                         |     
                                                                 |     if (r3 == 0) {
    0x0000d82c beq 0xd874                                        |         goto label_48;
                                                                 |     }
    0x0000d830 ldr r2, [pc, 0xba0]                               |     r2 = *(0xe3d4);
    0x0000d834 add r2, pc, r2                                    |     r2 = pc + r2;
    0x0000d838 b 0xd848                                          |     goto label_7;
                                                                 | label_47:
    0x0000d83c ldr r1, [pc, 0xb98]                               |     r1 = *(0xe3d8);
    0x0000d840 add r1, pc, r1                                    |     r1 = pc + r1;
    0x0000d844 mov r2, r1                                        |     r2 = r1;
                                                                 | label_7:
    0x0000d848 ldr r0, [pc, 0xb90]                               |     r0 = *(0xe3dc);
    0x0000d84c add r0, pc, r0                                    |     r0 = pc + r0;
    0x0000d850 bl 0x5b80                                         |     fcn_00005b80 ();
    0x0000d854 ldr r3, [r8]                                      |     r3 = *(r8);
    0x0000d858 str r0, [r4, 0x2bc]                               |     *((r4 + 0x2bc)) = r0;
    0x0000d85c mov r0, r5                                        |     r0 = r5;
    0x0000d860 blx r3                                            |     uint32_t (*r3)(uint32_t, uint32_t) (r0, r3);
    0x0000d864 ldr r3, [r4, 0x2bc]                               |     r3 = *((r4 + 0x2bc));
    0x0000d868 cmp r3, 0                                         |     
                                                                 |     if (r3 != 0) {
    0x0000d86c bne 0xd738                                        |         goto label_6;
                                                                 |     }
    0x0000d870 b 0xd53c                                          |     goto label_0;
                                                                 | label_48:
    0x0000d874 ldr r2, [pc, 0xb68]                               |     r2 = *(0xe3e0);
    0x0000d878 add r2, pc, r2                                    |     r2 = pc + r2;
    0x0000d87c b 0xd848                                          |     goto label_7;
                                                                 | label_45:
    0x0000d880 add r7, sb, 0x30                                  |     r7 = sb + 0x30;
    0x0000d884 mov r0, r7                                        |     r0 = r7;
    0x0000d888 bl 0x2bb24                                        |     Curl_mime_cleanpart ();
    0x0000d88c ldr r3, [r6, 0xa20]                               |     r3 = *((r6 + 0xa20));
    0x0000d890 ldr r2, [sl, 0x230]                               |     r2 = *((sl + 0x230));
    0x0000d894 mov r1, r7                                        |     r1 = r7;
    0x0000d898 mov r0, sl                                        |     r0 = sl;
    0x0000d89c bl 0x9610                                         |     r0 = Curl_getformdata ();
    0x0000d8a0 subs r5, r0, 0                                    |     r5 = r0 - 0;
                                                                 |     if (r5 == r0) {
    0x0000d8a4 streq r7, [sb]                                    |         *(sb) = r7;
                                                                 |         goto label_49;
                                                                 |     }
                                                                 |     if (r5 != r0) {
                                                                 | label_49:
    0x0000d8a8 bne 0xd540                                        |         goto label_8;
                                                                 |     }
                                                                 | label_46:
    0x0000d8ac ldr r3, [sb]                                      |     r3 = *(sb);
    0x0000d8b0 cmp r3, 0                                         |     
                                                                 |     if (r3 == 0) {
    0x0000d8b4 beq 0xd954                                        |         goto label_50;
                                                                 |     }
    0x0000d8b8 ldr r1, [pc, 0xb28]                               |     r1 = *(0xe3e4);
    0x0000d8bc mov r0, r4                                        |     r0 = r4;
    0x0000d8c0 add r1, pc, r1                                    |     r1 = pc + r1;
    0x0000d8c4 bl 0x17e50                                        |     Curl_checkheaders ();
    0x0000d8c8 ldr r3, [sb]                                      |     r3 = *(sb);
    0x0000d8cc ldr r2, [r3, 0x48]                                |     r2 = *((r3 + 0x48));
    0x0000d8d0 orr r2, r2, 2                                     |     r2 |= 2;
    0x0000d8d4 str r2, [r3, 0x48]                                |     *((r3 + 0x48)) = r2;
    0x0000d8d8 subs r5, r0, 0                                    |     r5 = r0 - 0;
                                                                 |     if (r5 == r0) {
    0x0000d8dc beq 0xdb9c                                        |         goto label_51;
                                                                 |     }
    0x0000d8e0 add r2, r5, 0xd                                   |     r2 = r5 + 0xd;
                                                                 |     do {
    0x0000d8e4 mov r5, r2                                        |         r5 = r2;
    0x0000d8e8 ldrb r1, [r5]                                     |         r1 = *(r5);
    0x0000d8ec add r2, r2, 1                                     |         r2++;
    0x0000d8f0 cmp r1, 0x20                                      |         
    0x0000d8f4 beq 0xd8e4                                        |         
                                                                 |     } while (r1 == 0x20);
                                                                 | label_9:
    0x0000d8f8 mov r2, 0                                         |     r2 = 0;
    0x0000d8fc ldr r1, [sl, 0x228]                               |     r1 = *((sl + 0x228));
    0x0000d900 mov r0, r3                                        |     r0 = r3;
    0x0000d904 bl 0x57fc                                         |     fcn_000057fc ();
    0x0000d908 mov r1, r5                                        |     r1 = r5;
    0x0000d90c mov r3, 1                                         |     r3 = 1;
    0x0000d910 mov r2, 0                                         |     r2 = 0;
    0x0000d914 ldr r0, [sb]                                      |     r0 = *(sb);
    0x0000d918 bl 0x2c738                                        |     Curl_mime_prepare_headers ();
    0x0000d91c mov r2, 0                                         |     r2 = 0;
    0x0000d920 mov r1, r2                                        |     r1 = r2;
    0x0000d924 mov r5, r0                                        |     r5 = r0;
    0x0000d928 ldr r0, [sb]                                      |     r0 = *(sb);
    0x0000d92c bl 0x57fc                                         |     fcn_000057fc ();
    0x0000d930 cmp r5, 0                                         |     
                                                                 |     if (r5 != 0) {
    0x0000d934 bne 0xd540                                        |         goto label_8;
                                                                 |     }
    0x0000d938 ldr r0, [sb]                                      |     r0 = *(sb);
    0x0000d93c bl 0x2c4b4                                        |     r0 = Curl_mime_rewind ();
    0x0000d940 subs r5, r0, 0                                    |     r5 = r0 - 0;
                                                                 |     if (r5 != r0) {
    0x0000d944 bne 0xd540                                        |         goto label_8;
                                                                 |     }
    0x0000d948 ldr r0, [sb]                                      |     r0 = *(sb);
    0x0000d94c bl 0x2c4cc                                        |     Curl_mime_size ();
    0x0000d950 strd r0, r1, [sb, 8]                              |     __asm ("strd r0, r1, [sb, 8]");
                                                                 | label_50:
    0x0000d954 ldr r1, [pc, 0xa90]                               |     r1 = *(0xe3e8);
    0x0000d958 mov r0, r4                                        |     r0 = r4;
    0x0000d95c add r1, pc, r1                                    |     r1 = pc + r1;
    0x0000d960 bl 0x17e50                                        |     r0 = Curl_checkheaders ();
    0x0000d964 cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x0000d968 beq 0xdbb0                                        |         goto label_52;
                                                                 |     }
    0x0000d96c ldr r2, [pc, 0xa7c]                               |     r2 = *(0xe3ec);
    0x0000d970 ldr r1, [pc, 0xa7c]                               |     r1 = *(0xe3f0);
    0x0000d974 add r2, pc, r2                                    |     r2 = pc + r2;
    0x0000d978 add r1, pc, r1                                    |     r1 = pc + r1;
    0x0000d97c bl 0xcf18                                         |     Curl_compareheader ();
    0x0000d980 ldr r3, [pc, 0xa70]                               |     r3 = *(0xe3f4);
    0x0000d984 add r3, pc, r3                                    |     r3 = pc + r3;
    0x0000d988 strb r0, [sl, 0x129]                              |     *((sl + 0x129)) = r0;
                                                                 | label_10:
    0x0000d98c str r3, [sp, 0x54]                                |     var_54h = r3;
    0x0000d990 ldr r0, [r4, 0x2b0]                               |     r0 = *((r4 + 0x2b0));
    0x0000d994 ldr r3, [r8]                                      |     r3 = *(r8);
    0x0000d998 blx r3                                            |     uint32_t (*r3)(uint32_t, uint32_t) (r0, r3);
    0x0000d99c ldr r1, [pc, 0xa58]                               |     r1 = *(0xe3f8);
    0x0000d9a0 mov r3, 0                                         |     r3 = 0;
    0x0000d9a4 str r3, [r4, 0x2b0]                               |     *((r4 + 0x2b0)) = r3;
    0x0000d9a8 add r1, pc, r1                                    |     r1 = pc + r1;
    0x0000d9ac mov r0, r4                                        |     r0 = r4;
    0x0000d9b0 bl 0x17e50                                        |     r0 = Curl_checkheaders ();
    0x0000d9b4 subs r6, r0, 0                                    |     r6 = r0 - 0;
                                                                 |     if (r6 == r0) {
    0x0000d9b8 beq 0xdc90                                        |         goto label_53;
                                                                 |     }
    0x0000d9bc add r3, sl, 0x4000                                |     r3 = sl + 0x4000;
    0x0000d9c0 ldrb r2, [r3, 0x7e0]                              |     r2 = *((r3 + 0x7e0));
    0x0000d9c4 cmp r2, 0                                         |     
                                                                 |     if (r2 != 0) {
    0x0000d9c8 bne 0xdc7c                                        |         goto label_54;
                                                                 |     }
                                                                 | label_11:
    0x0000d9cc mov r0, r6                                        |     r0 = r6;
    0x0000d9d0 bl 0xc1ec                                         |     r0 = Curl_copy_header_value ();
    0x0000d9d4 subs r5, r0, 0                                    |     r5 = r0 - 0;
                                                                 |     if (r5 == r0) {
    0x0000d9d8 beq 0xd53c                                        |         goto label_0;
                                                                 |     }
    0x0000d9dc ldrb r3, [r5]                                     |     r3 = *(r5);
    0x0000d9e0 cmp r3, 0                                         |     
                                                                 |     if (r3 != 0) {
    0x0000d9e4 bne 0xdcf8                                        |         goto label_55;
                                                                 |     }
    0x0000d9e8 ldr r3, [r8]                                      |     r3 = *(r8);
    0x0000d9ec blx r3                                            |     uint32_t (*r3)(uint32_t) (r3);
                                                                 | label_13:
    0x0000d9f0 ldr r0, [pc, 0xa08]                               |     r0 = *(0xe3fc);
    0x0000d9f4 mov r1, r6                                        |     r1 = r6;
    0x0000d9f8 add r0, pc, r0                                    |     r0 = pc + r0;
    0x0000d9fc bl 0x5a30                                         |     r0 = strcmp (r0, r1);
    0x0000da00 cmp r0, 0                                         |     
                                                                 |     if (r0 != 0) {
    0x0000da04 streq r0, [r4, 0x2b0]                             |         *((r4 + 0x2b0)) = r0;
                                                                 |     }
                                                                 |     if (r0 == 0) {
    0x0000da08 beq 0xda28                                        |         goto label_56;
                                                                 |     }
    0x0000da0c ldr r0, [pc, 0x9f0]                               |     r0 = *(0xe400);
    0x0000da10 add r1, r6, 5                                     |     r1 = r6 + 5;
    0x0000da14 add r0, pc, r0                                    |     r0 = pc + r0;
    0x0000da18 bl 0x5b80                                         |     r0 = fcn_00005b80 ();
    0x0000da1c cmp r0, 0                                         |     
    0x0000da20 str r0, [r4, 0x2b0]                               |     *((r4 + 0x2b0)) = r0;
                                                                 |     if (r0 == 0) {
                                                                 | label_12:
    0x0000da24 beq 0xd53c                                        |         goto label_0;
                                                                 |     }
                                                                 | label_56:
    0x0000da28 ldrb r3, [r4, 0x256]                              |     r3 = *((r4 + 0x256));
    0x0000da2c cmp r3, 0                                         |     
    0x0000da30 str r3, [sp, 0x3c]                                |     var_3ch = r3;
                                                                 |     if (r3 == 0) {
    0x0000da34 beq 0xddec                                        |         goto label_18;
                                                                 |     }
    0x0000da38 ldrb r3, [r4, 0x261]                              |     r3 = *((r4 + 0x261));
    0x0000da3c cmp r3, 0                                         |     
    0x0000da40 str r3, [sp, 0x3c]                                |     var_3ch = r3;
                                                                 |     if (r3 != 0) {
    0x0000da44 bne 0xdf18                                        |         goto label_57;
                                                                 |     }
    0x0000da48 ldr r6, [r4, 0xa4]                                |     r6 = *((r4 + 0xa4));
    0x0000da4c ldr r5, [r4, 0xa0]                                |     r5 = *((r4 + 0xa0));
    0x0000da50 ldr r7, [sl, 0x678]                               |     r7 = *((sl + 0x678));
    0x0000da54 cmp r6, r5                                        |     
                                                                 |     if (r6 == r5) {
    0x0000da58 beq 0xdb38                                        |         goto label_58;
                                                                 |     }
    0x0000da5c mov r1, r6                                        |     r1 = r6;
    0x0000da60 mov r0, r7                                        |     r0 = r7;
    0x0000da64 bl 0x5a18                                         |     r0 = strstr (r0, r1);
    0x0000da68 subs r3, r0, 0                                    |     r3 = r0 - 0;
    0x0000da6c str r3, [sp, 0x40]                                |     s = r3;
                                                                 |     if (r3 == r0) {
    0x0000da70 beq 0xdb38                                        |         goto label_58;
                                                                 |     }
    0x0000da74 mov r0, r6                                        |     r0 = r6;
    0x0000da78 bl 0x5250                                         |     r0 = strlen (r0);
    0x0000da7c mov fp, r0                                        |     
    0x0000da80 mov r0, r5                                        |     r0 = r5;
    0x0000da84 bl 0x5250                                         |     r0 = strlen (r0);
    0x0000da88 mov r6, r0                                        |     r6 = r0;
    0x0000da8c mov r0, r7                                        |     r0 = r7;
    0x0000da90 bl 0x5250                                         |     strlen (r0);
    0x0000da94 ldr r2, [sp, 0x44]                                |     r2 = var_44h;
    0x0000da98 ldr r3, [pc, 0x968]                               |     
    0x0000da9c str r0, [sp, 0x48]                                |     var_48h = r0;
    0x0000daa0 ldr r3, [r2, r3]                                  |     r3 = *((r2 + r3));
    0x0000daa4 add r0, r6, r0                                    |     r0 = r6 + r0;
    0x0000daa8 add r0, r0, 1                                     |     r0++;
    0x0000daac ldr r3, [r3]                                      |     r3 = *(0xe404);
    0x0000dab0 sub r0, r0, fp                                    |     r0 -= fp;
    0x0000dab4 blx r3                                            |     r0 = uint32_t (*r3)(uint32_t, uint32_t, uint32_t) (r0, r2, r3);
    0x0000dab8 subs r5, r0, 0                                    |     r5 = r0 - 0;
                                                                 |     if (r5 == r0) {
    0x0000dabc beq 0xd53c                                        |         goto label_0;
                                                                 |     }
    0x0000dac0 ldr r3, [sp, 0x40]                                |     r3 = s;
    0x0000dac4 mov r1, r7                                        |     r1 = r7;
    0x0000dac8 sub r3, r3, r7                                    |     r3 -= r7;
    0x0000dacc mov r2, r3                                        |     r2 = r3;
    0x0000dad0 str r3, [sp, 0x5c]                                |     s1 = r3;
    0x0000dad4 bl 0x4f5c                                         |     memcpy (r0, r1, r2);
    0x0000dad8 ldr r3, [sp, 0x5c]                                |     r3 = s1;
    0x0000dadc mov r2, r6                                        |     r2 = r6;
    0x0000dae0 ldr r1, [r4, 0xa0]                                |     r1 = *((r4 + 0xa0));
    0x0000dae4 add r0, r5, r3                                    |     r0 = r5 + r3;
    0x0000dae8 bl 0x4f5c                                         |     memcpy (r0, r1, r2);
    0x0000daec ldr r3, [sp, 0x5c]                                |     r3 = s1;
    0x0000daf0 ldr r2, [sp, 0x48]                                |     r2 = var_48h;
    0x0000daf4 add r0, r3, r6                                    |     r0 = r3 + r6;
    0x0000daf8 sub r2, r2, r3                                    |     r2 -= r3;
    0x0000dafc ldr r3, [sp, 0x40]                                |     r3 = s;
    0x0000db00 sub r2, r2, fp                                    |     r2 -= fp;
    0x0000db04 add r1, r3, fp                                    |     r1 = r3 + fp;
    0x0000db08 add r2, r2, 1                                     |     r2++;
    0x0000db0c add r0, r5, r0                                    |     r0 = r5 + r0;
    0x0000db10 bl 0x4f5c                                         |     memcpy (r0, r1, r2);
    0x0000db14 ldrb r3, [sl, 0x67c]                              |     r3 = *((sl + 0x67c));
    0x0000db18 cmp r3, 0                                         |     
                                                                 |     if (r3 != 0) {
    0x0000db1c beq 0xdb2c                                        |         
    0x0000db20 ldr r3, [r8]                                      |         r3 = *(r8);
    0x0000db24 ldr r0, [sl, 0x678]                               |         r0 = *((sl + 0x678));
    0x0000db28 blx r3                                            |         uint32_t (*r3)(uint32_t, uint32_t) (r0, r3);
                                                                 |     }
    0x0000db2c mov r3, 1                                         |     r3 = 1;
    0x0000db30 str r5, [sl, 0x678]                               |     *((sl + 0x678)) = r5;
    0x0000db34 strb r3, [sl, 0x67c]                              |     *((sl + 0x67c)) = r3;
                                                                 | label_58:
    0x0000db38 ldr r3, [sl, 0x678]                               |     r3 = *((sl + 0x678));
    0x0000db3c ldr r0, [pc, 0x8c8]                               |     r0 = *(0xe408);
    0x0000db40 mov r2, 6                                         |     r2 = 6;
    0x0000db44 mov r1, r3                                        |     r1 = r3;
    0x0000db48 add r0, pc, r0                                    |     r0 = pc + r0;
    0x0000db4c str r3, [sp, 0x40]                                |     s = r3;
    0x0000db50 bl 0x5bd4                                         |     r0 = fcn_00005bd4 ();
    0x0000db54 cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x0000db58 beq 0xddec                                        |         goto label_18;
                                                                 |     }
    0x0000db5c ldrb r3, [sl, 0x504]                              |     r3 = *((sl + 0x504));
    0x0000db60 cmp r3, 0                                         |     
                                                                 |     if (r3 == 0) {
    0x0000db64 beq 0xddd4                                        |         goto label_17;
                                                                 |     }
    0x0000db68 ldr r1, [pc, 0x8a0]                               |     r1 = *(0xe40c);
    0x0000db6c ldr r0, [sp, 0x40]                                |     r0 = s;
    0x0000db70 add r1, pc, r1                                    |     r1 = pc + r1;
    0x0000db74 bl 0x5a18                                         |     r0 = strstr (r0, r1);
    0x0000db78 subs r3, r0, 0                                    |     r3 = r0 - 0;
                                                                 |     if (r3 != r0) {
    0x0000db7c bne 0xdd98                                        |         goto label_59;
                                                                 |     }
                                                                 | label_15:
    0x0000db80 add r3, sl, 0x4000                                |     r3 = sl + 0x4000;
    0x0000db84 ldr r3, [r3, 0x9ec]                               |     r3 = *((r3 + 0x9ec));
    0x0000db88 ldrb r3, [r3]                                     |     r3 = *(r3);
    0x0000db8c cmp r3, 0                                         |     
                                                                 |     if (r3 == 0) {
    0x0000db90 beq 0xdecc                                        |         goto label_60;
                                                                 |     }
                                                                 | label_16:
    0x0000db94 add r0, sp, 0x6c                                  |     r0 += var_6ch;
    0x0000db98 b 0xdef4                                          |     goto label_61;
                                                                 | label_51:
    0x0000db9c ldr r2, [r3, 0xc]                                 |     r2 = *((r3 + 0xc));
    0x0000dba0 cmp r2, 4                                         |     
                                                                 |     if (r2 != 4) {
    0x0000dba4 ldreq r5, [pc, 0x868]                             |         r5 = *(0x0000e414);
                                                                 |     }
                                                                 |     if (r2 != 4) {
    0x0000dba8 addeq r5, pc, r5                                  |         r5 = pc + r5;
                                                                 |     }
    0x0000dbac b 0xd8f8                                          |     goto label_9;
                                                                 | label_52:
    0x0000dbb0 ldr r3, [r4, 0x284]                               |     r3 = *((r4 + 0x284));
    0x0000dbb4 ldr r3, [r3, 0x40]                                |     r3 = *((r3 + 0x40));
    0x0000dbb8 tst r3, 3                                         |     
                                                                 |     if ((r3 & 3) != 0) {
    0x0000dbbc beq 0xdc54                                        |         
    0x0000dbc0 ldr r3, [sp, 0x30]                                |         r3 = var_30h;
    0x0000dbc4 sub r3, r3, 3                                     |         r3 -= 3;
    0x0000dbc8 cmp r3, 1                                         |         
                                                                 |         if (r3 <= 1) {
    0x0000dbcc bhi 0xdbe0                                        |             
    0x0000dbd0 ldrd r2, r3, [sb, 8]                              |             __asm ("ldrd r2, r3, [sb, 8]");
    0x0000dbd4 cmp r2, 0                                         |             
    0x0000dbd8 sbcs r3, r3, 0                                    |             __asm ("sbcs r3, r3, 0");
                                                                 |             if (r2 < 0) {
    0x0000dbdc blt 0xdc08                                        |                 goto label_62;
                                                                 |             }
                                                                 |         }
    0x0000dbe0 ldrb r3, [sl, 0x4d1]                              |         r3 = *((sl + 0x4d1));
    0x0000dbe4 cmp r3, 0                                         |         
                                                                 |         if (r3 == 0) {
    0x0000dbe8 beq 0xdc54                                        |             goto label_63;
                                                                 |         }
    0x0000dbec add r3, sl, 0x4a00                                |         r3 = sl + 0x4a00;
    0x0000dbf0 ldrd r0, r1, [r3, 0x10]                           |         __asm ("ldrd r0, r1, [r3, 0x10]");
    0x0000dbf4 mvn r3, 0                                         |         r3 = ~0;
    0x0000dbf8 mvn r2, 0                                         |         r2 = ~0;
    0x0000dbfc cmp r1, r3                                        |         
    0x0000dc00 cmpeq r0, r2                                      |         __asm ("cmpeq r0, r2");
                                                                 |         if (r1 != r3) {
    0x0000dc04 bne 0xdc54                                        |             goto label_63;
                                                                 |         }
                                                                 | label_62:
    0x0000dc08 ldrb r3, [r4, 0x262]                              |         r3 = *((r4 + 0x262));
    0x0000dc0c cmp r3, 0                                         |         
                                                                 |         if (r3 != 0) {
    0x0000dc10 bne 0xdc5c                                        |             goto label_64;
                                                                 |         }
    0x0000dc14 add r3, sl, 0x4000                                |         r3 = sl + 0x4000;
    0x0000dc18 ldr r3, [r3, 0x9d8]                               |         r3 = *((r3 + 0x9d8));
    0x0000dc1c cmp r3, 0xa                                       |         
                                                                 |         if (r3 != 0xa) {
    0x0000dc20 beq 0xdc3c                                        |             
    0x0000dc24 add r1, r4, 0x180                                 |             r1 = r4 + 0x180;
    0x0000dc28 mov r0, sl                                        |             r0 = sl;
    0x0000dc2c bl 0xbd88                                         |             r0 = use_http_1_1plus_isra_0_part_1 ();
    0x0000dc30 cmp r0, 0                                         |             
                                                                 |             if (r0 == 0) {
    0x0000dc34 movne r3, 1                                       |                 r3 = 1;
                                                                 |             }
                                                                 |             if (r0 != 0) {
    0x0000dc38 bne 0xdc58                                        |                 goto label_65;
                                                                 |             }
                                                                 |         }
    0x0000dc3c ldr r1, [pc, 0x7d4]                               |         r1 = *(0xe414);
    0x0000dc40 mov r0, sl                                        |         r0 = sl;
    0x0000dc44 add r1, pc, r1                                    |         r1 = pc + r1;
    0x0000dc48 bl 0x10544                                        |         Curl_failf ();
    0x0000dc4c mov r5, 0x19                                      |         r5 = 0x19;
    0x0000dc50 b 0xd540                                          |         goto label_8;
                                                                 |     }
                                                                 | label_63:
    0x0000dc54 mov r3, 0                                         |     r3 = 0;
                                                                 | label_65:
    0x0000dc58 strb r3, [sl, 0x129]                              |     *((sl + 0x129)) = r3;
                                                                 | label_64:
    0x0000dc5c ldrb r3, [sl, 0x129]                              |     r3 = *((sl + 0x129));
    0x0000dc60 cmp r3, 0                                         |     
                                                                 |     if (r3 != 0) {
    0x0000dc64 ldreq r3, [pc, 0x7b0]                             |         r3 = *((pc + 0x7b0));
                                                                 |     }
                                                                 |     if (r3 == 0) {
    0x0000dc68 addeq r3, pc, r3                                  |         r3 = pc + r3;
                                                                 |         goto label_66;
                                                                 |     }
                                                                 |     if (r3 == 0) {
                                                                 | label_66:
    0x0000dc6c beq 0xd98c                                        |         goto label_10;
                                                                 |     }
    0x0000dc70 ldr r3, [pc, 0x7a8]                               |     r3 = *(0xe41c);
    0x0000dc74 add r3, pc, r3                                    |     r3 = pc + r3;
    0x0000dc78 b 0xd98c                                          |     goto label_10;
                                                                 | label_54:
    0x0000dc7c ldr r1, [r4, 0xa0]                                |     r1 = *((r4 + 0xa0));
    0x0000dc80 ldr r0, [r3, 0x7e4]                               |     r0 = *((r3 + 0x7e4));
    0x0000dc84 bl 0x19dc0                                        |     r0 = Curl_strcasecompare ();
    0x0000dc88 cmp r0, 0                                         |     
                                                                 |     if (r0 != 0) {
    0x0000dc8c bne 0xd9cc                                        |         goto label_11;
                                                                 |     }
                                                                 | label_53:
    0x0000dc90 ldr r3, [r4, 0x288]                               |     r3 = *((r4 + 0x288));
    0x0000dc94 ldr r2, [r4, 0x100]                               |     r2 = *((r4 + 0x100));
    0x0000dc98 ldr r1, [r3, 0x40]                                |     r1 = *((r3 + 0x40));
    0x0000dc9c ldrb r3, [r4, 0x25a]                              |     r3 = *((r4 + 0x25a));
    0x0000dca0 tst r1, 2                                         |     
                                                                 |     if ((r1 & 2) != 0) {
    0x0000dca4 beq 0xdcb4                                        |         
    0x0000dca8 ldr r0, [pc, 0x774]                               |         r0 = *(0xe420);
    0x0000dcac cmp r2, r0                                        |         
                                                                 |         if (r2 == r0) {
    0x0000dcb0 beq 0xdcc4                                        |             goto label_67;
                                                                 |         }
                                                                 |     }
    0x0000dcb4 tst r1, 1                                         |     
                                                                 |     if ((r1 & 1) == 0) {
    0x0000dcb8 beq 0xdd58                                        |         goto label_68;
                                                                 |     }
    0x0000dcbc cmp r2, 0x50                                      |     
                                                                 |     if (r2 != 0x50) {
    0x0000dcc0 bne 0xdd58                                        |         goto label_68;
                                                                 |     }
                                                                 | label_67:
    0x0000dcc4 cmp r3, 0                                         |     
                                                                 |     if (r3 != 0) {
    0x0000dcc8 bne 0xdd44                                        |         goto label_69;
                                                                 |     }
    0x0000dccc ldr r1, [pc, 0x754]                               |     r1 = *(0xe424);
    0x0000dcd0 add r1, pc, r1                                    |     r1 = pc + r1;
    0x0000dcd4 mov r3, r1                                        |     r3 = r1;
                                                                 |     do {
    0x0000dcd8 ldr r0, [pc, 0x74c]                               |         r0 = *(0xe428);
    0x0000dcdc ldr r2, [sp, 0x58]                                |         r2 = nmeb;
    0x0000dce0 add r0, pc, r0                                    |         r0 = pc + r0;
    0x0000dce4 bl 0x5b80                                         |         fcn_00005b80 ();
                                                                 | label_14:
    0x0000dce8 str r0, [r4, 0x2b0]                               |         *((r4 + 0x2b0)) = r0;
    0x0000dcec ldr r3, [r4, 0x2b0]                               |         r3 = *((r4 + 0x2b0));
    0x0000dcf0 cmp r3, 0                                         |         
    0x0000dcf4 b 0xda24                                          |         goto label_12;
                                                                 | label_55:
    0x0000dcf8 cmp r3, 0x5b                                      |         
                                                                 |         if (r3 == 0x5b) {
    0x0000dcfc movne r1, 0x3a                                    |             r1 = 0x3a;
                                                                 |         }
                                                                 |         if (r3 == 0x5b) {
    0x0000dd00 bne 0xdd20                                        |             
    0x0000dd04 bl 0x5250                                         |             strlen (r0);
    0x0000dd08 add r1, r5, 1                                     |             r1 = r5 + 1;
    0x0000dd0c sub r2, r0, 1                                     |             r2 = r0 - 1;
    0x0000dd10 mov r0, r5                                        |             r0 = r5;
    0x0000dd14 bl 0x5448                                         |             memmove (r0, r1, r2);
    0x0000dd18 mov r1, 0x5d                                      |             r1 = 0x5d;
    0x0000dd1c mov r0, r5                                        |             r0 = r5;
                                                                 |         }
    0x0000dd20 bl 0x5b38                                         |         r0 = strchr (r0, r1);
    0x0000dd24 cmp r0, 0                                         |         
                                                                 |         if (r0 == 0) {
    0x0000dd28 movne r3, 0                                       |             r3 = 0;
                                                                 |         }
                                                                 |         if (r0 == 0) {
    0x0000dd2c strbne r3, [r0]                                   |             *(r0) = r3;
                                                                 |         }
    0x0000dd30 ldr r3, [r8]                                      |         r3 = *(r8);
    0x0000dd34 ldr r0, [r4, 0x2b4]                               |         r0 = *((r4 + 0x2b4));
    0x0000dd38 blx r3                                            |         uint32_t (*r3)(uint32_t, uint32_t) (r0, r3);
    0x0000dd3c str r5, [r4, 0x2b4]                               |         *((r4 + 0x2b4)) = r5;
    0x0000dd40 b 0xd9f0                                          |         goto label_13;
                                                                 | label_69:
    0x0000dd44 ldr r1, [pc, 0x6e4]                               |         r1 = *(0xe42c);
    0x0000dd48 ldr r3, [pc, 0x6e4]                               |         r3 = *(0xe430);
    0x0000dd4c add r1, pc, r1                                    |         r1 = pc + r1;
    0x0000dd50 add r3, pc, r3                                    |         r3 = pc + r3;
    0x0000dd54 b 0xdcd8                                          |         
                                                                 |     } while (1);
                                                                 | label_68:
    0x0000dd58 cmp r3, 0                                         |     
                                                                 |     if (r3 != 0) {
    0x0000dd5c bne 0xdd84                                        |         goto label_70;
                                                                 |     }
    0x0000dd60 ldr r1, [pc, 0x6d0]                               |     r1 = *(0xe434);
    0x0000dd64 add r1, pc, r1                                    |     r1 = pc + r1;
    0x0000dd68 mov r3, r1                                        |     r3 = r1;
                                                                 |     do {
    0x0000dd6c ldr r0, [pc, 0x6c8]                               |         r0 = *(0xe438);
    0x0000dd70 str r2, [sp]                                      |         *(sp) = r2;
    0x0000dd74 add r0, pc, r0                                    |         r0 = pc + r0;
    0x0000dd78 ldr r2, [sp, 0x58]                                |         r2 = nmeb;
    0x0000dd7c bl 0x5b80                                         |         fcn_00005b80 ();
    0x0000dd80 b 0xdce8                                          |         goto label_14;
                                                                 | label_70:
    0x0000dd84 ldr r1, [pc, 0x6b4]                               |         r1 = *(0xe43c);
    0x0000dd88 ldr r3, [pc, 0x6b4]                               |         r3 = "rinfo";
    0x0000dd8c add r1, pc, r1                                    |         r1 = pc + r1;
    0x0000dd90 add r3, pc, r3                                    |         r3 = pc + r3;
    0x0000dd94 b 0xdd6c                                          |         
                                                                 |     } while (1);
                                                                 | label_59:
    0x0000dd98 ldrb r0, [r3, 6]                                  |     r0 = *((r3 + 6));
    0x0000dd9c cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x0000dda0 beq 0xddd4                                        |         goto label_17;
                                                                 |     }
    0x0000dda4 ldrb r3, [r3, 7]                                  |     r3 = *((r3 + 7));
    0x0000dda8 cmp r3, 0                                         |     
                                                                 |     if (r3 != 0) {
    0x0000ddac bne 0xddd4                                        |         goto label_17;
                                                                 |     }
    0x0000ddb0 bl 0x19dac                                        |     r0 = Curl_raw_toupper ();
    0x0000ddb4 sub r0, r0, 0x41                                  |     r0 -= 0x41;
    0x0000ddb8 and r0, r0, 0xff                                  |     r0 &= 0xff;
    0x0000ddbc cmp r0, 8                                         |     
                                                                 |     if (r0 > 8) {
    0x0000ddc0 bhi 0xdb80                                        |         goto label_15;
                                                                 |     }
    0x0000ddc4 ldr r3, [pc, 0x67c]                               |     r3 = *(0xe444);
    0x0000ddc8 mov r2, 1                                         |     r2 = 1;
    0x0000ddcc ands r3, r3, r2, lsl r0                           |     r3 &= (r2 << r0);
                                                                 |     if (r3 == r3) {
    0x0000ddd0 beq 0xdb80                                        |         goto label_15;
                                                                 |     }
                                                                 | label_17:
    0x0000ddd4 ldrb r3, [r4, 0x258]                              |     r3 = *((r4 + 0x258));
    0x0000ddd8 cmp r3, 0                                         |     
    0x0000dddc str r3, [sp, 0x3c]                                |     var_3ch = r3;
                                                                 |     if (r3 == 0) {
    0x0000dde0 ldrbne r3, [r4, 0x268]                            |         r3 = *((r4 + 0x268));
                                                                 |     }
                                                                 |     if (r3 == 0) {
    0x0000dde4 eorne r3, r3, 1                                   |         r3 ^= 1;
                                                                 |     }
                                                                 |     if (r3 != 0) {
    0x0000dde8 bne 0xdf1c                                        |         goto label_71;
                                                                 |     }
                                                                 | label_18:
    0x0000ddec ldr r1, [pc, 0x658]                               |     r1 = *(0xe448);
    0x0000ddf0 mov r0, r4                                        |     r0 = r4;
    0x0000ddf4 add r1, pc, r1                                    |     r1 = pc + r1;
    0x0000ddf8 bl 0x17e50                                        |     r0 = Curl_checkheaders ();
    0x0000ddfc cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x0000de00 movne r3, 0                                       |         r3 = 0;
                                                                 |     }
                                                                 |     if (r0 != 0) {
    0x0000de04 ldreq r3, [pc, 0x644]                             |         r3 = *((pc + 0x644));
                                                                 |     }
                                                                 |     if (r0 != 0) {
    0x0000de08 addeq r3, pc, r3                                  |         r3 = pc + r3;
                                                                 |     }
    0x0000de0c str r3, [sb, 0x18]                                |     *((sb + 0x18)) = r3;
    0x0000de10 ldr r3, [sp, 0x30]                                |     r3 = var_30h;
    0x0000de14 cmp r3, 5                                         |     
    0x0000de18 cmpne r3, 2                                       |     __asm ("cmpne r3, 2");
                                                                 |     if (r3 != 5) {
    0x0000de1c moveq fp, 1                                       |         
                                                                 |     }
                                                                 |     if (r3 == 5) {
    0x0000de20 movne fp, 0                                       |         
                                                                 |     }
                                                                 |     if (r3 != 5) {
    0x0000de24 bne 0xe02c                                        |         goto label_72;
                                                                 |     }
    0x0000de28 add r6, sl, 0x4a00                                |     r6 = sl + 0x4a00;
    0x0000de2c ldrd r2, r3, [r6, -8]                             |     __asm ("ldrd r2, r3, [r6, -8]");
    0x0000de30 orrs r1, r2, r3                                   |     r1 = r2 | r3;
                                                                 |     if (r1 == r2) {
    0x0000de34 beq 0xe02c                                        |         goto label_72;
                                                                 |     }
    0x0000de38 cmp r2, 0                                         |     
    0x0000de3c sbcs r3, r3, 0                                    |     __asm ("sbcs r3, r3, 0");
                                                                 |     if (r2 >= 0) {
    0x0000de40 movlt r2, 0                                       |         r2 = 0;
                                                                 |     }
                                                                 |     if (r2 >= 0) {
    0x0000de44 movlt r3, 0                                       |         r3 = 0;
                                                                 |     }
    0x0000de48 strdlt r2, r3, [r6, -8]                           |     __asm ("strdlt r2, r3, [r6, -8]");
    0x0000de4c ldrd r2, r3, [r6, -8]                             |     __asm ("ldrd r2, r3, [r6, -8]");
    0x0000de50 orrs r3, r2, r3                                   |     r3 = r2 | r3;
                                                                 |     if (r3 == r2) {
    0x0000de54 beq 0xe02c                                        |         goto label_72;
                                                                 |     }
    0x0000de58 add r3, sl, 0x4000                                |     r3 = sl + 0x4000;
    0x0000de5c ldrb r5, [r3, 0x7e0]                              |     r5 = *((r3 + 0x7e0));
    0x0000de60 cmp r5, 0                                         |     
                                                                 |     if (r5 != 0) {
    0x0000de64 bne 0xe02c                                        |         goto label_72;
                                                                 |     }
    0x0000de68 ldr r3, [r4, 0x2f0]                               |     r3 = *((r4 + 0x2f0));
    0x0000de6c cmp r3, 0                                         |     
                                                                 |     if (r3 == 0) {
    0x0000de70 beq 0xdf24                                        |         goto label_73;
                                                                 |     }
    0x0000de74 mov r1, 1                                         |     r1 = 1;
    0x0000de78 mov r0, sl                                        |     r0 = sl;
    0x0000de7c bl 0x203dc                                        |     Curl_set_in_callback ();
    0x0000de80 ldrd r2, r3, [r6, -8]                             |     __asm ("ldrd r2, r3, [r6, -8]");
    0x0000de84 str r5, [sp]                                      |     *(sp) = r5;
    0x0000de88 ldr r1, [r4, 0x2f0]                               |     r1 = *((r4 + 0x2f0));
    0x0000de8c ldr r0, [r4, 0x2f4]                               |     r0 = *((r4 + 0x2f4));
    0x0000de90 blx r1                                            |     uint32_t (*r1)(uint32_t, uint32_t, uint32_t) (r0, r1, r2);
    0x0000de94 mov r1, r5                                        |     r1 = r5;
    0x0000de98 mov r6, r0                                        |     r6 = r0;
    0x0000de9c mov r0, sl                                        |     r0 = sl;
    0x0000dea0 bl 0x203dc                                        |     Curl_set_in_callback ();
    0x0000dea4 cmp r6, 0                                         |     
                                                                 |     if (r6 == 0) {
    0x0000dea8 beq 0xdfdc                                        |         goto label_74;
                                                                 |     }
    0x0000deac cmp r6, 2                                         |     
                                                                 |     if (r6 == 2) {
    0x0000deb0 beq 0xdf24                                        |         goto label_73;
                                                                 |     }
    0x0000deb4 ldr r1, [pc, 0x598]                               |     r1 = *(0xe450);
    0x0000deb8 mov r0, sl                                        |     r0 = sl;
    0x0000debc add r1, pc, r1                                    |     r1 = pc + r1;
    0x0000dec0 bl 0x10544                                        |     Curl_failf ();
                                                                 | label_19:
    0x0000dec4 mov r5, 0x1a                                      |     r5 = 0x1a;
    0x0000dec8 b 0xd540                                          |     goto label_8;
                                                                 | label_60:
    0x0000decc ldr r0, [sp, 0x40]                                |     r0 = s;
    0x0000ded0 bl 0x5250                                         |     strlen (r0);
    0x0000ded4 ldr r3, [sp, 0x40]                                |     r3 = s;
    0x0000ded8 add r0, r3, r0                                    |     r0 = r3 + r0;
    0x0000dedc ldrb r3, [r0, -1]                                 |     r3 = *((r0 - 1));
    0x0000dee0 cmp r3, 0x2f                                      |     
                                                                 |     if (r3 == 0x2f) {
    0x0000dee4 movne r3, 0x2f                                    |         r3 = 0x2f;
                                                                 |     }
                                                                 |     if (r3 == 0x2f) {
    0x0000dee8 strbne r3, [sp, 0x6c]                             |         var_6ch = r3;
                                                                 |     }
                                                                 |     if (r3 != 0x2f) {
    0x0000deec addne r0, sp, 0x6d                                |         r0 += var_6dh;
                                                                 |         goto label_75;
                                                                 |     }
                                                                 |     if (r3 == 0x2f) {
                                                                 | label_75:
    0x0000def0 beq 0xdb94                                        |         goto label_16;
                                                                 |     }
                                                                 | label_61:
    0x0000def4 ldrb r3, [sl, 0x4c3]                              |     r3 = *((sl + 0x4c3));
    0x0000def8 ldr r2, [pc, 0x558]                               |     r2 = *(0xe454);
    0x0000defc cmp r3, 0                                         |     
                                                                 |     if (r3 != 0) {
    0x0000df00 moveq r3, 0x69                                    |         r3 = 0x69;
                                                                 |     }
                                                                 |     if (r3 == 0) {
    0x0000df04 movne r3, 0x61                                    |         r3 = 0x61;
                                                                 |     }
    0x0000df08 add r2, pc, r2                                    |     r2 = pc + r2;
    0x0000df0c mov r1, 8                                         |     r1 = 8;
    0x0000df10 bl 0x579c                                         |     fcn_0000579c ();
    0x0000df14 b 0xddd4                                          |     goto label_17;
                                                                 | label_57:
    0x0000df18 mov r3, 0                                         |     r3 = 0;
                                                                 | label_71:
    0x0000df1c str r3, [sp, 0x3c]                                |     var_3ch = r3;
    0x0000df20 b 0xddec                                          |     goto label_18;
                                                                 | label_73:
    0x0000df24 mov r2, 0                                         |     r2 = 0;
    0x0000df28 mov r3, 0                                         |     r3 = 0;
    0x0000df2c add r6, sl, 0x4a00                                |     r6 = sl + 0x4a00;
    0x0000df30 add r7, sl, 0x4000                                |     r7 = sl + 0x4000;
    0x0000df34 strd r2, r3, [sp, 0x48]                           |     __asm ("strd r2, r3, [var_48h]");
                                                                 |     do {
    0x0000df38 ldr r5, [sl, 0x498]                               |         r5 = *((sl + 0x498));
    0x0000df3c ldrd r0, r1, [r6, -8]                             |         __asm ("ldrd r0, r1, [r6, -8]");
    0x0000df40 ldrd r2, r3, [sp, 0x48]                           |         __asm ("ldrd r2, r3, [var_48h]");
    0x0000df44 subs r2, r0, r2                                   |         r2 = r0 - r2;
    0x0000df48 sbc r3, r1, r3                                    |         __asm ("sbc r3, r1, r3");
    0x0000df4c mov r0, r2                                        |         r0 = r2;
    0x0000df50 mov r1, r3                                        |         r1 = r3;
    0x0000df54 cmp r5, r0                                        |         
    0x0000df58 asr r3, r5, 0x1f                                  |         r3 = r5 >> 0x1f;
    0x0000df5c sbcs r3, r3, r1                                   |         __asm ("sbcs r3, r3, r1");
                                                                 |         if (r5 >= r0) {
    0x0000df60 blt 0xdf6c                                        |             
    0x0000df64 bl 0x25364                                        |             r0 = curlx_sotouz ();
    0x0000df68 mov r5, r0                                        |             r5 = r0;
                                                                 |         }
    0x0000df6c mov r2, r5                                        |         r2 = r5;
    0x0000df70 ldr r3, [r7, 0xa24]                               |         r3 = *((r7 + 0xa24));
    0x0000df74 mov r1, 1                                         |         r1 = 1;
    0x0000df78 ldr r0, [sl, 0x7cc]                               |         r0 = *((sl + 0x7cc));
    0x0000df7c ldr ip, [r7, 0xa20]                               |         ip = *((r7 + 0xa20));
    0x0000df80 blx ip                                            |         ip (r0, r1, r2, r3);
    0x0000df84 ldrd r2, r3, [sp, 0x48]                           |         __asm ("ldrd r2, r3, [var_48h]");
    0x0000df88 adds r2, r2, r0                                   |         r2 += r0;
    0x0000df8c adc r3, r3, 0                                     |         __asm ("adc r3, r3, 0");
    0x0000df90 cmp r5, r0                                        |         
                                                                 |         if (r5 < r0) {
    0x0000df94 movhs r5, 0                                       |             r5 = 0;
                                                                 |         }
                                                                 |         if (r5 >= r0) {
    0x0000df98 movlo r5, 1                                       |             r5 = 1;
                                                                 |         }
    0x0000df9c cmp r0, 0                                         |         
                                                                 |         if (r0 == 0) {
    0x0000dfa0 movne r0, r5                                      |             r0 = r5;
                                                                 |         }
                                                                 |         if (r0 != 0) {
    0x0000dfa4 moveq r0, 1                                       |             r0 = 1;
                                                                 |         }
    0x0000dfa8 cmp r0, 0                                         |         
    0x0000dfac strd r2, r3, [sp, 0x48]                           |         __asm ("strd r2, r3, [var_48h]");
                                                                 |         if (r0 != 0) {
    0x0000dfb0 beq 0xdfc8                                        |             
    0x0000dfb4 ldr r1, [pc, 0x4a0]                               |             r1 = *(0xe458);
    0x0000dfb8 mov r0, sl                                        |             r0 = sl;
    0x0000dfbc add r1, pc, r1                                    |             r1 = pc + r1;
    0x0000dfc0 bl 0x10544                                        |             Curl_failf ();
    0x0000dfc4 b 0xdec4                                          |             goto label_19;
                                                                 |         }
    0x0000dfc8 ldrd r2, r3, [r6, -8]                             |         __asm ("ldrd r2, r3, [r6, -8]");
    0x0000dfcc ldrd r0, r1, [sp, 0x48]                           |         __asm ("ldrd r0, r1, [var_48h]");
    0x0000dfd0 cmp r0, r2                                        |         
    0x0000dfd4 sbcs r3, r1, r3                                   |         __asm ("sbcs r3, r1, r3");
    0x0000dfd8 blt 0xdf38                                        |         
                                                                 |     } while (r0 < r2);
                                                                 | label_74:
    0x0000dfdc add ip, sl, 0x4a00                                |     
    0x0000dfe0 ldrd r0, r1, [ip, 0x10]                           |     __asm ("ldrd r0, r1, [ip, 0x10]");
    0x0000dfe4 cmp r0, 1                                         |     
    0x0000dfe8 sbcs r3, r1, 0                                    |     __asm ("sbcs r3, r1, 0");
                                                                 |     if (r0 >= 1) {
    0x0000dfec blt 0xe02c                                        |         
    0x0000dff0 ldrd r2, r3, [ip, -8]                             |         __asm ("ldrd r2, r3, [ip, -8]");
    0x0000dff4 subs r0, r0, r2                                   |         r0 -= r2;
    0x0000dff8 sbc r1, r1, r3                                    |         __asm ("sbc r1, r1, r3");
    0x0000dffc cmp r0, 1                                         |         
    0x0000e000 mov r6, r0                                        |         r6 = r0;
    0x0000e004 mov r7, r1                                        |         r7 = r1;
    0x0000e008 sbcs r3, r1, 0                                    |         __asm ("sbcs r3, r1, 0");
    0x0000e00c strd r6, r7, [ip, 0x10]                           |         __asm ("strd r6, r7, [ip, 0x10]");
                                                                 |         if (r0 >= 1) {
    0x0000e010 bge 0xe02c                                        |             goto label_72;
                                                                 |         }
    0x0000e014 ldr r1, [pc, 0x444]                               |         r1 = *(0xe45c);
    0x0000e018 mov r0, sl                                        |         r0 = sl;
    0x0000e01c add r1, pc, r1                                    |         r1 = pc + r1;
    0x0000e020 bl 0x10544                                        |         Curl_failf ();
    0x0000e024 mov r5, 0x12                                      |         r5 = 0x12;
    0x0000e028 b 0xd540                                          |         goto label_8;
                                                                 |     }
                                                                 | label_72:
    0x0000e02c add r5, sl, 0x4000                                |     r5 = sl + 0x4000;
    0x0000e030 ldrb r3, [r5, 0x9f1]                              |     r3 = *((r5 + 0x9f1));
    0x0000e034 cmp r3, 0                                         |     
                                                                 |     if (r3 != 0) {
    0x0000e038 beq 0xe084                                        |         
    0x0000e03c ldr r3, [sp, 0x30]                                |         r3 = var_30h;
    0x0000e040 cmp r3, 6                                         |         
    0x0000e044 cmpne r3, 1                                       |         __asm ("cmpne r3, 1");
                                                                 |         if (r3 != 6) {
    0x0000e048 bne 0xe584                                        |             goto label_76;
                                                                 |         }
    0x0000e04c ldr r1, [pc, 0x410]                               |         r1 = *(0xe460);
    0x0000e050 mov r0, r4                                        |         r0 = r4;
    0x0000e054 add r1, pc, r1                                    |         r1 = pc + r1;
    0x0000e058 bl 0x17e50                                        |         r0 = Curl_checkheaders ();
    0x0000e05c cmp r0, 0                                         |         
                                                                 |         if (r0 != 0) {
    0x0000e060 bne 0xe584                                        |             goto label_76;
                                                                 |         }
    0x0000e064 ldr r3, [r8]                                      |         r3 = *(r8);
    0x0000e068 ldr r0, [r4, 0x2a8]                               |         r0 = *((r4 + 0x2a8));
    0x0000e06c blx r3                                            |         uint32_t (*r3)(uint32_t, uint32_t) (r0, r3);
    0x0000e070 ldr r0, [pc, 0x3f0]                               |         r0 = *(0xe464);
    0x0000e074 ldr r1, [r5, 0x9f4]                               |         r1 = *((r5 + 0x9f4));
    0x0000e078 add r0, pc, r0                                    |         r0 = pc + r0;
    0x0000e07c bl 0x5b80                                         |         fcn_00005b80 ();
    0x0000e080 str r0, [r4, 0x2a8]                               |         *((r4 + 0x2a8)) = r0;
                                                                 |     }
                                                                 | label_20:
    0x0000e084 add r3, sl, 0x4000                                |     r3 = sl + 0x4000;
    0x0000e088 ldr r3, [r3, 0x9d8]                               |     r3 = *((r3 + 0x9d8));
    0x0000e08c cmp r3, 0xa                                       |     
                                                                 |     if (r3 == 0xa) {
    0x0000e090 beq 0xe64c                                        |         goto label_77;
                                                                 |     }
    0x0000e094 add r1, r4, 0x180                                 |     r1 = r4 + 0x180;
    0x0000e098 mov r0, sl                                        |     r0 = sl;
    0x0000e09c bl 0xbd88                                         |     r0 = use_http_1_1plus_isra_0_part_1 ();
    0x0000e0a0 cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x0000e0a4 beq 0xe658                                        |         goto label_78;
                                                                 |     }
    0x0000e0a8 ldr r3, [pc, 0x3bc]                               |     r3 = *(0xe468);
    0x0000e0ac add r3, pc, r3                                    |     r3 = pc + r3;
                                                                 | label_22:
    0x0000e0b0 str r3, [sp, 0x5c]                                |     s1 = r3;
    0x0000e0b4 bl 0xc8bc                                         |     r0 = Curl_add_buffer_init ();
    0x0000e0b8 subs fp, r0, 0                                    |     
                                                                 |     if (fp == r0) {
    0x0000e0bc beq 0xd53c                                        |         goto label_0;
                                                                 |     }
    0x0000e0c0 ldr r1, [pc, 0x3a8]                               |     r1 = *(0xe46c);
    0x0000e0c4 ldr r2, [sp, 0x38]                                |     r2 = var_38h;
    0x0000e0c8 add r1, pc, r1                                    |     r1 = pc + r1;
    0x0000e0cc bl 0xcd18                                         |     r0 = Curl_add_bufferf ();
    0x0000e0d0 subs r5, r0, 0                                    |     r5 = r0 - 0;
                                                                 |     if (r5 != r0) {
    0x0000e0d4 bne 0xd540                                        |         goto label_8;
                                                                 |     }
    0x0000e0d8 ldr r5, [sl, 0x5f0]                               |     r5 = *((sl + 0x5f0));
    0x0000e0dc ldr r3, [sp, 0x40]                                |     r3 = s;
    0x0000e0e0 cmp r5, 0                                         |     
                                                                 |     if (r5 != 0) {
    0x0000e0e4 moveq r5, r3                                      |         r5 = r3;
                                                                 |     }
    0x0000e0e8 ldr r3, [sp, 0x3c]                                |     r3 = var_3ch;
    0x0000e0ec cmp r3, 0                                         |     
                                                                 |     if (r3 == 0) {
    0x0000e0f0 beq 0xe664                                        |         goto label_79;
                                                                 |     }
    0x0000e0f4 ldr r1, [pc, 0x378]                               |     r1 = *(0xe470);
    0x0000e0f8 add r5, r5, 6                                     |     r5 += 6;
    0x0000e0fc str r5, [sp]                                      |     *(sp) = r5;
    0x0000e100 add r1, pc, r1                                    |     r1 = pc + r1;
    0x0000e104 ldr r3, [r4, 0x174]                               |     r3 = *((r4 + 0x174));
    0x0000e108 ldr r2, [r4, 0x170]                               |     r2 = *((r4 + 0x170));
    0x0000e10c mov r0, fp                                        |     r0 = fp;
    0x0000e110 bl 0xcd18                                         |     r0 = Curl_add_bufferf ();
                                                                 | label_23:
    0x0000e114 cmp r0, 0                                         |     
    0x0000e118 mov r5, r0                                        |     r5 = r0;
                                                                 |     if (r0 != 0) {
    0x0000e11c bne 0xd540                                        |         goto label_8;
                                                                 |     }
    0x0000e120 ldr r3, [r4, 0x2b0]                               |     r3 = *((r4 + 0x2b0));
    0x0000e124 cmp r3, 0                                         |     
    0x0000e128 str r3, [sp, 0x38]                                |     var_38h = r3;
                                                                 |     if (r3 != 0) {
    0x0000e12c ldreq r3, [pc, 0x344]                             |         r3 = *((pc + 0x344));
                                                                 |     }
                                                                 |     if (r3 != 0) {
    0x0000e130 addeq r3, pc, r3                                  |         r3 = pc + r3;
                                                                 |     }
                                                                 |     if (r3 != 0) {
    0x0000e134 streq r3, [sp, 0x38]                              |         var_38h = r3;
                                                                 |     }
    0x0000e138 ldr r3, [r4, 0x298]                               |     r3 = *((r4 + 0x298));
    0x0000e13c cmp r3, 0                                         |     
    0x0000e140 str r3, [sp, 0x3c]                                |     var_3ch = r3;
                                                                 |     if (r3 != 0) {
    0x0000e144 ldreq r3, [pc, 0x330]                             |         r3 = *((pc + 0x330));
                                                                 |     }
                                                                 |     if (r3 != 0) {
    0x0000e148 addeq r3, pc, r3                                  |         r3 = pc + r3;
                                                                 |     }
                                                                 |     if (r3 != 0) {
    0x0000e14c streq r3, [sp, 0x3c]                              |         var_3ch = r3;
                                                                 |     }
    0x0000e150 ldr r2, [r4, 0x2a4]                               |     r2 = *((r4 + 0x2a4));
    0x0000e154 cmp r2, 0                                         |     
                                                                 |     if (r2 != 0) {
    0x0000e158 ldreq r2, [pc, 0x320]                             |         r2 = *((pc + 0x320));
                                                                 |     }
                                                                 |     if (r2 != 0) {
    0x0000e15c addeq r2, pc, r2                                  |         r2 = pc + r2;
                                                                 |     }
    0x0000e160 add r3, sl, 0x4000                                |     r3 = sl + 0x4000;
    0x0000e164 ldrb r3, [r3, 0x9f1]                              |     r3 = *((r3 + 0x9f1));
    0x0000e168 cmp r3, 0                                         |     
                                                                 |     if (r3 == 0) {
    0x0000e16c beq 0xe680                                        |         goto label_80;
                                                                 |     }
    0x0000e170 ldr r3, [r4, 0x2a8]                               |     r3 = *((r4 + 0x2a8));
    0x0000e174 cmp r3, 0                                         |     
                                                                 |     if (r3 != 0) {
    0x0000e178 ldreq r3, [pc, 0x304]                             |         r3 = *((pc + 0x304));
                                                                 |     }
                                                                 |     if (r3 != 0) {
    0x0000e17c addeq r3, pc, r3                                  |         r3 = pc + r3;
                                                                 |     }
                                                                 | label_24:
    0x0000e180 ldr r1, [sl, 0x5a0]                               |     r1 = *((sl + 0x5a0));
    0x0000e184 cmp r1, 0                                         |     
                                                                 |     if (r1 == 0) {
    0x0000e188 beq 0xe68c                                        |         goto label_81;
                                                                 |     }
    0x0000e18c ldrb r1, [r1]                                     |     r1 = *(r1);
    0x0000e190 cmp r1, 0                                         |     
                                                                 |     if (r1 == 0) {
    0x0000e194 beq 0xe698                                        |         goto label_82;
                                                                 |     }
    0x0000e198 ldr r5, [r4, 0x29c]                               |     r5 = *((r4 + 0x29c));
    0x0000e19c cmp r5, 0                                         |     
                                                                 |     if (r5 != 0) {
    0x0000e1a0 ldreq r5, [pc, 0x2e0]                             |         r5 = *((pc + 0x2e0));
                                                                 |     }
                                                                 |     if (r5 != 0) {
    0x0000e1a4 addeq r5, pc, r5                                  |         r5 = pc + r5;
                                                                 |     }
                                                                 | label_25:
    0x0000e1a8 ldr r1, [sb, 0x18]                                |     r1 = *((sb + 0x18));
    0x0000e1ac cmp r1, 0                                         |     
    0x0000e1b0 str r1, [sp, 0x40]                                |     s = r1;
                                                                 |     if (r1 != 0) {
    0x0000e1b4 ldreq r1, [pc, 0x2d0]                             |         r1 = *((pc + 0x2d0));
                                                                 |     }
                                                                 |     if (r1 != 0) {
    0x0000e1b8 addeq r1, pc, r1                                  |         r1 = pc + r1;
                                                                 |     }
                                                                 |     if (r1 != 0) {
    0x0000e1bc streq r1, [sp, 0x40]                              |         s = r1;
                                                                 |     }
    0x0000e1c0 ldr r1, [r4, 0x2bc]                               |     r1 = *((r4 + 0x2bc));
    0x0000e1c4 cmp r1, 0                                         |     
    0x0000e1c8 str r1, [sp, 0x48]                                |     var_48h = r1;
                                                                 |     if (r1 != 0) {
    0x0000e1cc ldreq r1, [pc, 0x2bc]                             |         r1 = *((pc + 0x2bc));
                                                                 |     }
                                                                 |     if (r1 != 0) {
    0x0000e1d0 addeq r1, pc, r1                                  |         r1 = pc + r1;
                                                                 |     }
                                                                 |     if (r1 != 0) {
    0x0000e1d4 streq r1, [sp, 0x48]                              |         var_48h = r1;
                                                                 |     }
    0x0000e1d8 ldr r1, [sl, 0x52c]                               |     r1 = *((sl + 0x52c));
    0x0000e1dc cmp r1, 0                                         |     
                                                                 |     if (r1 == 0) {
    0x0000e1e0 beq 0xe6a4                                        |         goto label_83;
                                                                 |     }
    0x0000e1e4 ldrb r1, [r1]                                     |     r1 = *(r1);
    0x0000e1e8 cmp r1, 0                                         |     
                                                                 |     if (r1 == 0) {
    0x0000e1ec beq 0xe6b0                                        |         goto label_84;
                                                                 |     }
    0x0000e1f0 ldr r6, [r4, 0x2a0]                               |     r6 = *((r4 + 0x2a0));
    0x0000e1f4 cmp r6, 0                                         |     
                                                                 |     if (r6 != 0) {
    0x0000e1f8 ldreq r6, [pc, 0x294]                             |         r6 = *((pc + 0x294));
                                                                 |     }
                                                                 |     if (r6 != 0) {
    0x0000e1fc addeq r6, pc, r6                                  |         r6 = pc + r6;
                                                                 |     }
                                                                 | label_26:
    0x0000e200 ldr r1, [sl, 0x680]                               |     r1 = *((sl + 0x680));
    0x0000e204 cmp r1, 0                                         |     
                                                                 |     if (r1 == 0) {
    0x0000e208 beq 0xe6bc                                        |         goto label_85;
                                                                 |     }
    0x0000e20c ldr r7, [r4, 0x2ac]                               |     r7 = *((r4 + 0x2ac));
    0x0000e210 cmp r7, 0                                         |     
                                                                 |     if (r7 != 0) {
    0x0000e214 ldreq r7, [pc, 0x27c]                             |         r7 = *((pc + 0x27c));
                                                                 |     }
                                                                 |     if (r7 != 0) {
    0x0000e218 addeq r7, pc, r7                                  |         r7 = pc + r7;
                                                                 |     }
                                                                 | label_27:
    0x0000e21c ldrb r1, [r4, 0x256]                              |     r1 = *((r4 + 0x256));
    0x0000e220 cmp r1, 0                                         |     
                                                                 |     if (r1 != 0) {
    0x0000e224 beq 0xe25c                                        |         
    0x0000e228 ldrb r1, [r4, 0x261]                              |         r1 = *((r4 + 0x261));
    0x0000e22c cmp r1, 0                                         |         
                                                                 |         if (r1 != 0) {
    0x0000e230 bne 0xe25c                                        |             goto label_86;
                                                                 |         }
    0x0000e234 ldr r1, [pc, 0x260]                               |         r1 = *(0xe498);
    0x0000e238 mov r0, r4                                        |         r0 = r4;
    0x0000e23c add r1, pc, r1                                    |         r1 = pc + r1;
    0x0000e240 str r3, [sp, 0x64]                                |         var_64h = r3;
    0x0000e244 str r2, [sp, 0x60]                                |         var_60h = r2;
    0x0000e248 bl 0xbe3c                                         |         Curl_checkProxyheaders ();
    0x0000e24c ldr r2, [sp, 0x60]                                |         r2 = var_60h;
    0x0000e250 ldr r3, [sp, 0x64]                                |         r3 = var_64h;
    0x0000e254 cmp r0, 0                                         |         
                                                                 |         if (r0 == 0) {
    0x0000e258 beq 0xe6c8                                        |             goto label_87;
                                                                 |         }
                                                                 |     }
                                                                 | label_86:
    0x0000e25c ldr r1, [pc, 0x23c]                               |     r1 = *(0xe49c);
    0x0000e260 add r1, pc, r1                                    |     r1 = pc + r1;
                                                                 | label_28:
    0x0000e264 str r1, [sp, 0x24]                                |     var_24h = r1;
    0x0000e268 ldr r1, [sp, 0x48]                                |     r1 = var_48h;
    0x0000e26c str r3, [sp, 0xc]                                 |     var_ch = r3;
    0x0000e270 str r1, [sp, 0x18]                                |     var_18h = r1;
    0x0000e274 ldr r3, [sp, 0x3c]                                |     r3 = var_3ch;
    0x0000e278 ldr r1, [sp, 0x40]                                |     r1 = s;
    0x0000e27c ldr r0, [sp, 0x54]                                |     r0 = var_54h;
    0x0000e280 str r1, [sp, 0x14]                                |     var_14h = r1;
    0x0000e284 str r3, [sp, 4]                                   |     var_4h = r3;
    0x0000e288 ldr r1, [pc, 0x214]                               |     r1 = *(0xe4a0);
    0x0000e28c ldr r3, [sp, 0x38]                                |     r3 = var_38h;
    0x0000e290 add r1, pc, r1                                    |     r1 = pc + r1;
    0x0000e294 str r0, [sp, 0x28]                                |     var_28h = r0;
    0x0000e298 str r6, [sp, 0x1c]                                |     var_1ch = r6;
    0x0000e29c str r5, [sp, 0x10]                                |     var_10h = r5;
    0x0000e2a0 str r2, [sp, 8]                                   |     var_8h = r2;
    0x0000e2a4 str r3, [sp]                                      |     *(sp) = r3;
    0x0000e2a8 add r2, sp, 0x6c                                  |     r2 += var_6ch;
    0x0000e2ac ldr r3, [sp, 0x5c]                                |     r3 = s1;
    0x0000e2b0 str r7, [sp, 0x20]                                |     var_20h = r7;
    0x0000e2b4 mov r0, fp                                        |     r0 = fp;
    0x0000e2b8 bl 0xcd18                                         |     Curl_add_bufferf ();
    0x0000e2bc mov r6, 0                                         |     r6 = 0;
    0x0000e2c0 ldr r3, [r8]                                      |     r3 = *(r8);
    0x0000e2c4 mov r5, r0                                        |     r5 = r0;
    0x0000e2c8 ldr r0, [r4, 0x2a4]                               |     r0 = *((r4 + 0x2a4));
    0x0000e2cc blx r3                                            |     uint32_t (*r3)(uint32_t, uint32_t) (r0, r3);
    0x0000e2d0 str r6, [r4, 0x2a4]                               |     *((r4 + 0x2a4)) = r6;
    0x0000e2d4 ldr r3, [r8]                                      |     r3 = *(r8);
    0x0000e2d8 ldr r0, [r4, 0x298]                               |     r0 = *((r4 + 0x298));
    0x0000e2dc blx r3                                            |     uint32_t (*r3)(uint32_t, uint32_t) (r0, r3);
    0x0000e2e0 cmp r5, r6                                        |     
    0x0000e2e4 str r6, [r4, 0x298]                               |     *((r4 + 0x298)) = r6;
                                                                 |     if (r5 != r6) {
    0x0000e2e8 bne 0xd540                                        |         goto label_8;
                                                                 |     }
    0x0000e2ec ldr r3, [r4, 0x284]                               |     r3 = *((r4 + 0x284));
    0x0000e2f0 ldr r3, [r3, 0x44]                                |     r3 = *((r3 + 0x44));
    0x0000e2f4 tst r3, 1                                         |     
                                                                 |     if ((r3 & 1) != 0) {
    0x0000e2f8 bne 0xe318                                        |         goto label_88;
                                                                 |     }
    0x0000e2fc ldr r3, [r4, 0x180]                               |     r3 = *((r4 + 0x180));
    0x0000e300 cmp r3, 0x14                                      |     
                                                                 |     if (r3 == 0x14) {
    0x0000e304 beq 0xe318                                        |         goto label_88;
                                                                 |     }
    0x0000e308 ldr r3, [sl, 0x3d4]                               |     r3 = *((sl + 0x3d4));
    0x0000e30c cmp r3, 3                                         |     
                                                                 |     if (r3 == 3) {
    0x0000e310 moveq r5, 1                                       |         r5 = 1;
                                                                 |         goto label_89;
                                                                 |     }
                                                                 |     if (r3 == 3) {
                                                                 | label_89:
    0x0000e314 beq 0xd540                                        |         goto label_8;
                                                                 |     }
                                                                 | label_88:
    0x0000e318 ldr r3, [sl, 0x690]                               |     r3 = *((sl + 0x690));
    0x0000e31c cmp r3, 0                                         |     
                                                                 |     if (r3 != 0) {
    0x0000e320 bne 0xe778                                        |         goto label_90;
                                                                 |     }
    0x0000e324 ldr r3, [sp, 0x50]                                |     r3 = var_50h;
    0x0000e328 cmp r3, 0                                         |     
                                                                 |     if (r3 != 0) {
    0x0000e32c bne 0xe6d4                                        |         goto label_30;
                                                                 |     }
                                                                 | label_29:
    0x0000e330 mov r1, fp                                        |     r1 = fp;
    0x0000e334 mov r0, sl                                        |     r0 = sl;
    0x0000e338 bl 0xd328                                         |     r0 = Curl_add_timecondition ();
    0x0000e33c subs r5, r0, 0                                    |     r5 = r0 - 0;
                                                                 |     if (r5 != r0) {
    0x0000e340 bne 0xd540                                        |         goto label_8;
                                                                 |     }
    0x0000e344 mov r1, r5                                        |     r1 = r5;
    0x0000e348 mov r2, fp                                        |     r2 = fp;
    0x0000e34c mov r0, r4                                        |     r0 = r4;
    0x0000e350 bl 0xcfec                                         |     r0 = Curl_add_custom_headers ();
    0x0000e354 subs r5, r0, 0                                    |     r5 = r0 - 0;
                                                                 |     if (r5 != r0) {
    0x0000e358 bne 0xd540                                        |         goto label_8;
                                                                 |     }
    0x0000e35c mvn r3, 0                                         |     r3 = ~0;
    0x0000e360 str r5, [sb, 0x10]                                |     *((sb + 0x10)) = r5;
    0x0000e364 mvn r2, 0                                         |     r2 = ~0;
    0x0000e368 mov r0, sl                                        |     r0 = sl;
    0x0000e36c bl 0x82d8                                         |     Curl_pgrsSetUploadSize ();
    0x0000e370 ldr r3, [sp, 0x30]                                |     r3 = var_30h;
    0x0000e374 sub r3, r3, 2                                     |     r3 -= 2;
    0x0000e378 cmp r3, 3                                         |     
                                                                 |     if (r3 > 3) {
                                                                 |         /* switch table (4 cases) at 0xe384 */
    0x0000e37c addls pc, pc, r3, lsl 2                           |         pc += (r3 << 2);
                                                                 |     }
    0x0000e380 b 0xeff8                                          |     goto label_91;
    0x0000e384 b 0xec68                                          |     goto label_92;
    0x0000e388 b 0xe988                                          |     goto label_93;
    0x0000e38c b 0xe988                                          |     goto label_93;
    0x0000e390 b 0xe87c                                          |     goto label_94;
                                                                 | label_76:
    0x0000e584 cmp fp, 0                                         |     
                                                                 |     if (fp == 0) {
    0x0000e588 beq 0xe084                                        |         goto label_20;
                                                                 |     }
    0x0000e58c ldr r1, [pc, -0xec]                               |     r1 = *(0x0000e4a8);
    0x0000e590 mov r0, r4                                        |     r0 = r4;
    0x0000e594 add r1, pc, r1                                    |     r1 = pc + r1;
    0x0000e598 bl 0x17e50                                        |     r0 = Curl_checkheaders ();
    0x0000e59c cmp r0, 0                                         |     
                                                                 |     if (r0 != 0) {
    0x0000e5a0 bne 0xe084                                        |         goto label_20;
                                                                 |     }
    0x0000e5a4 ldr r3, [r8]                                      |     r3 = *(r8);
    0x0000e5a8 ldr r0, [r4, 0x2a8]                               |     r0 = *((r4 + 0x2a8));
    0x0000e5ac blx r3                                            |     uint32_t (*r3)(uint32_t, uint32_t) (r0, r3);
    0x0000e5b0 add r3, sl, 0x220                                 |     r3 = sl + 0x220;
    0x0000e5b4 ldrd r2, r3, [r3]                                 |     __asm ("ldrd r2, r3, [r3]");
    0x0000e5b8 cmp r2, 0                                         |     
    0x0000e5bc sbcs r3, r3, 0                                    |     __asm ("sbcs r3, r3, 0");
    0x0000e5c0 add r3, sl, 0x4a00                                |     r3 = sl + 0x4a00;
                                                                 |     if (r2 >= 0) {
    0x0000e5c4 bge 0xe5f8                                        |         goto label_95;
                                                                 |     }
    0x0000e5c8 ldrd r0, r1, [r3, 0x10]                           |     __asm ("ldrd r0, r1, [r3, 0x10]");
    0x0000e5cc subs r2, r0, 1                                    |     r2 = r0 - 1;
    0x0000e5d0 strd r0, r1, [sp]                                 |     __asm ("strd r0, r1, [sp]");
    0x0000e5d4 ldr r0, [pc, -0x130]                              |     r0 = *(0xe4a8);
    0x0000e5d8 sbc r3, r1, 0                                     |     __asm ("sbc r3, r1, 0");
    0x0000e5dc add r0, pc, r0                                    |     r0 = pc + r0;
    0x0000e5e0 bl 0x5b80                                         |     fcn_00005b80 ();
                                                                 | label_21:
    0x0000e5e4 str r0, [r4, 0x2a8]                               |     *((r4 + 0x2a8)) = r0;
    0x0000e5e8 ldr r3, [r4, 0x2a8]                               |     r3 = *((r4 + 0x2a8));
    0x0000e5ec cmp r3, 0                                         |     
                                                                 |     if (r3 != 0) {
    0x0000e5f0 bne 0xe084                                        |         goto label_20;
                                                                 |     }
    0x0000e5f4 b 0xd53c                                          |     goto label_0;
                                                                 | label_95:
    0x0000e5f8 ldrd r0, r1, [r3, -8]                             |     __asm ("ldrd r0, r1, [r3, -8]");
    0x0000e5fc add r2, sl, 0x4000                                |     r2 = sl + 0x4000;
    0x0000e600 orrs lr, r0, r1                                   |     lr = r0 | r1;
    0x0000e604 ldr ip, [r2, 0x9f4]                               |     ip = *((r2 + 0x9f4));
    0x0000e608 ldrd r2, r3, [r3, 0x10]                           |     __asm ("ldrd r2, r3, [r3, 0x10]");
                                                                 |     if (lr != r0) {
    0x0000e60c beq 0xe638                                        |         
    0x0000e610 adds r6, r2, r0                                   |         r6 = r2 + r0;
    0x0000e614 ldr r0, [pc, -0x16c]                              |         r0 = *(0xe4ac);
    0x0000e618 adc r7, r3, r1                                    |         __asm ("adc r7, r3, r1");
    0x0000e61c subs r2, r6, 1                                    |         r2 = r6 - 1;
    0x0000e620 strd r6, r7, [sp]                                 |         __asm ("strd r6, r7, [sp]");
    0x0000e624 sbc r3, r7, 0                                     |         __asm ("sbc r3, r7, 0");
    0x0000e628 mov r1, ip                                        |         r1 = ip;
    0x0000e62c add r0, pc, r0                                    |         r0 = pc + r0;
    0x0000e630 bl 0x5b80                                         |         fcn_00005b80 ();
    0x0000e634 b 0xe5e4                                          |         goto label_21;
                                                                 |     }
    0x0000e638 ldr r0, [pc, -0x18c]                              |     r0 = *(0x0000e4b4);
    0x0000e63c mov r1, ip                                        |     r1 = ip;
    0x0000e640 add r0, pc, r0                                    |     r0 = pc + r0;
    0x0000e644 bl 0x5b80                                         |     fcn_00005b80 ();
    0x0000e648 b 0xe5e4                                          |     goto label_21;
                                                                 | label_77:
    0x0000e64c ldr r3, [pc, -0x19c]                              |     r3 = *(0xe4b4);
    0x0000e650 add r3, pc, r3                                    |     r3 = pc + r3;
    0x0000e654 b 0xe0b0                                          |     goto label_22;
                                                                 | label_78:
    0x0000e658 ldr r3, [pc, -0x1a4]                              |     r3 = *(0xe4b8);
    0x0000e65c add r3, pc, r3                                    |     r3 = pc + r3;
    0x0000e660 b 0xe0b0                                          |     goto label_22;
                                                                 | label_79:
    0x0000e664 mov r0, r5                                        |     r0 = r5;
    0x0000e668 bl 0x5250                                         |     strlen (r0);
    0x0000e66c mov r1, r5                                        |     r1 = r5;
    0x0000e670 mov r2, r0                                        |     r2 = r0;
    0x0000e674 mov r0, fp                                        |     r0 = fp;
    0x0000e678 bl 0xcc00                                         |     Curl_add_buffer ();
    0x0000e67c b 0xe114                                          |     goto label_23;
                                                                 | label_80:
    0x0000e680 ldr r3, [pc, -0x1c8]                              |     r3 = *(0xe4bc);
    0x0000e684 add r3, pc, r3                                    |     r3 = pc + r3;
    0x0000e688 b 0xe180                                          |     goto label_24;
                                                                 | label_81:
    0x0000e68c ldr r5, [pc, -0x1d0]                              |     r5 = *(0xe4c0);
    0x0000e690 add r5, pc, r5                                    |     r5 = pc + r5;
    0x0000e694 b 0xe1a8                                          |     goto label_25;
                                                                 | label_82:
    0x0000e698 ldr r5, [pc, -0x1d8]                              |     r5 = *(0xe4c4);
    0x0000e69c add r5, pc, r5                                    |     r5 = pc + r5;
    0x0000e6a0 b 0xe1a8                                          |     goto label_25;
                                                                 | label_83:
    0x0000e6a4 ldr r6, [pc, -0x1e0]                              |     r6 = *(0xe4c8);
    0x0000e6a8 add r6, pc, r6                                    |     r6 = pc + r6;
    0x0000e6ac b 0xe200                                          |     goto label_26;
                                                                 | label_84:
    0x0000e6b0 ldr r6, [pc, -0x1e8]                              |     r6 = *(0xe4cc);
    0x0000e6b4 add r6, pc, r6                                    |     r6 = pc + r6;
    0x0000e6b8 b 0xe200                                          |     goto label_26;
                                                                 | label_85:
    0x0000e6bc ldr r7, [pc, -0x1f0]                              |     r7 = *(0xe4d0);
    0x0000e6c0 add r7, pc, r7                                    |     r7 = pc + r7;
    0x0000e6c4 b 0xe21c                                          |     goto label_27;
                                                                 | label_87:
    0x0000e6c8 ldr r1, [pc, -0x1f8]                              |     r1 = *(0x0000e4d8);
    0x0000e6cc add r1, pc, r1                                    |     r1 = pc + r1;
    0x0000e6d0 b 0xe264                                          |     goto label_28;
                                                                 | label_30:
    0x0000e6d4 mov r6, 0                                         |     r6 = 0;
                                                                 | label_31:
    0x0000e6d8 ldr r2, [sp, 0x50]                                |     r2 = var_50h;
    0x0000e6dc clz r3, r5                                        |     r3 &= r5;
    0x0000e6e0 lsr r3, r3, 5                                     |     r3 >>= 5;
    0x0000e6e4 cmp r2, 0                                         |     
                                                                 |     if (r2 != 0) {
    0x0000e6e8 moveq r3, 0                                       |         r3 = 0;
                                                                 |     }
    0x0000e6ec cmp r3, 0                                         |     
                                                                 |     if (r3 != 0) {
    0x0000e6f0 beq 0xe738                                        |         
    0x0000e6f4 cmp r6, 0                                         |         
                                                                 |         if (r6 != 0) {
    0x0000e6f8 bne 0xe870                                        |             goto label_96;
                                                                 |         }
    0x0000e6fc ldr r1, [pc, -0x228]                              |         r1 = *(0xe4d8);
    0x0000e700 mov r0, fp                                        |         r0 = fp;
    0x0000e704 add r1, pc, r1                                    |         r1 = pc + r1;
    0x0000e708 bl 0xcd18                                         |         r0 = Curl_add_bufferf ();
    0x0000e70c subs r5, r0, 0                                    |         r5 = r0 - 0;
                                                                 |         if (r5 != r0) {
    0x0000e710 bne 0xe738                                        |             goto label_97;
                                                                 |         }
    0x0000e714 ldr r2, [pc, -0x23c]                              |         r2 = *(0xe4dc);
    0x0000e718 add r2, pc, r2                                    |         r2 = pc + r2;
                                                                 | label_32:
    0x0000e71c ldr r1, [pc, -0x240]                              |         r1 = *(0x0000e4e4);
    0x0000e720 ldr r3, [sp, 0x50]                                |         r3 = var_50h;
    0x0000e724 add r1, pc, r1                                    |         r1 = pc + r1;
    0x0000e728 mov r0, fp                                        |         r0 = fp;
    0x0000e72c bl 0xcd18                                         |         Curl_add_bufferf ();
    0x0000e730 add r6, r6, 1                                     |         r6++;
    0x0000e734 mov r5, r0                                        |         r5 = r0;
                                                                 |     }
                                                                 | label_97:
    0x0000e738 cmp r6, 0                                         |     
    0x0000e73c clz r3, r5                                        |     r3 &= r5;
    0x0000e740 lsr r3, r3, 5                                     |     r3 >>= 5;
                                                                 |     if (r6 == 0) {
    0x0000e744 movne r6, r3                                      |         r6 = r3;
                                                                 |     }
                                                                 |     if (r6 != 0) {
    0x0000e748 moveq r6, 0                                       |         r6 = 0;
                                                                 |     }
    0x0000e74c cmp r6, 0                                         |     
                                                                 |     if (r6 != 0) {
    0x0000e750 beq 0xe76c                                        |         
    0x0000e754 ldr r1, [pc, -0x274]                              |         r1 = *(0xe4e4);
    0x0000e758 mov r2, 2                                         |         r2 = 2;
    0x0000e75c add r1, pc, r1                                    |         r1 = pc + r1;
    0x0000e760 mov r0, fp                                        |         r0 = fp;
    0x0000e764 bl 0xcc00                                         |         r0 = Curl_add_buffer ();
    0x0000e768 mov r5, r0                                        |         r5 = r0;
                                                                 |     }
    0x0000e76c cmp r5, 0                                         |     
                                                                 |     if (r5 == 0) {
    0x0000e770 beq 0xe330                                        |         goto label_29;
                                                                 |     }
    0x0000e774 b 0xd540                                          |     goto label_8;
                                                                 | label_90:
    0x0000e778 mov r2, 2                                         |     r2 = 2;
    0x0000e77c mov r1, r2                                        |     r1 = r2;
    0x0000e780 mov r0, sl                                        |     r0 = sl;
    0x0000e784 bl 0x21464                                        |     Curl_share_lock ();
    0x0000e788 ldr r3, [r4, 0x284]                               |     r3 = *((r4 + 0x284));
    0x0000e78c ldr r1, [r4, 0x2b4]                               |     r1 = *((r4 + 0x2b4));
    0x0000e790 ldr r3, [r3, 0x40]                                |     r3 = *((r3 + 0x40));
    0x0000e794 ldr r0, [sp, 0x58]                                |     r0 = nmeb;
    0x0000e798 cmp r1, 0                                         |     
    0x0000e79c lsr r3, r3, 1                                     |     r3 >>= 1;
    0x0000e7a0 add r2, sl, 0x4000                                |     r2 = sl + 0x4000;
                                                                 |     if (r1 != 0) {
    0x0000e7a4 moveq r1, r0                                      |         r1 = r0;
                                                                 |     }
    0x0000e7a8 and r3, r3, 1                                     |     r3 &= 1;
    0x0000e7ac ldr r2, [r2, 0x9ec]                               |     r2 = *((r2 + 0x9ec));
    0x0000e7b0 ldr r0, [sl, 0x690]                               |     r0 = *((sl + 0x690));
    0x0000e7b4 bl 0xaca0                                         |     Curl_cookie_getlist ();
    0x0000e7b8 mov r1, 2                                         |     r1 = 2;
    0x0000e7bc mov r8, r0                                        |     r8 = r0;
    0x0000e7c0 mov r0, sl                                        |     r0 = sl;
    0x0000e7c4 bl 0x214ac                                        |     Curl_share_unlock ();
    0x0000e7c8 cmp r8, 0                                         |     
                                                                 |     if (r8 == 0) {
    0x0000e7cc beq 0xe6d4                                        |         goto label_30;
                                                                 |     }
    0x0000e7d0 ldr r3, [pc, -0x2ec]                              |     r3 = *(0xe4e8);
    0x0000e7d4 mov r7, r8                                        |     r7 = r8;
    0x0000e7d8 add r3, pc, r3                                    |     r3 = pc + r3;
    0x0000e7dc str r3, [sp, 0x38]                                |     var_38h = r3;
    0x0000e7e0 ldr r3, [pc, -0x2f8]                              |     r3 = *(0xe4ec);
    0x0000e7e4 mov r6, 0                                         |     r6 = 0;
    0x0000e7e8 add r3, pc, r3                                    |     r3 = pc + r3;
    0x0000e7ec str r3, [sp, 0x3c]                                |     var_3ch = r3;
    0x0000e7f0 ldr r3, [pc, -0x304]                              |     r3 = *(0xe4f0);
    0x0000e7f4 add r3, pc, r3                                    |     r3 = pc + r3;
    0x0000e7f8 str r3, [sp, 0x40]                                |     s = r3;
                                                                 |     do {
    0x0000e7fc ldr r3, [r7, 8]                                   |         r3 = *((r7 + 8));
    0x0000e800 cmp r3, 0                                         |         
                                                                 |         if (r3 != 0) {
    0x0000e804 beq 0xe854                                        |             
    0x0000e808 cmp r6, 0                                         |             
                                                                 |             if (r6 == 0) {
    0x0000e80c ldrne r2, [sp, 0x3c]                              |                 r2 = var_3ch;
                                                                 |             }
                                                                 |             if (r6 == 0) {
    0x0000e810 bne 0xe830                                        |                 
    0x0000e814 ldr r1, [sp, 0x40]                                |                 r1 = s;
    0x0000e818 mov r0, fp                                        |                 r0 = fp;
    0x0000e81c bl 0xcd18                                         |                 r0 = Curl_add_bufferf ();
    0x0000e820 subs r5, r0, 0                                    |                 r5 = r0 - 0;
                                                                 |                 if (r5 != r0) {
    0x0000e824 bne 0xe864                                        |                     goto label_98;
                                                                 |                 }
    0x0000e828 ldr r2, [pc, -0x338]                              |                 r2 = *(0xe4f4);
    0x0000e82c add r2, pc, r2                                    |                 r2 = pc + r2;
                                                                 |             }
    0x0000e830 ldr r3, [r7, 8]                                   |             r3 = *((r7 + 8));
    0x0000e834 ldr r1, [sp, 0x38]                                |             r1 = var_38h;
    0x0000e838 str r3, [sp]                                      |             *(sp) = r3;
    0x0000e83c mov r0, fp                                        |             r0 = fp;
    0x0000e840 ldr r3, [r7, 4]                                   |             r3 = *((r7 + 4));
    0x0000e844 bl 0xcd18                                         |             r0 = Curl_add_bufferf ();
    0x0000e848 subs r5, r0, 0                                    |             r5 = r0 - 0;
                                                                 |             if (r5 != r0) {
    0x0000e84c bne 0xe864                                        |                 goto label_98;
                                                                 |             }
    0x0000e850 add r6, r6, 1                                     |             r6++;
                                                                 |         }
    0x0000e854 ldr r7, [r7]                                      |         r7 = *(r7);
    0x0000e858 cmp r7, 0                                         |         
    0x0000e85c bne 0xe7fc                                        |         
                                                                 |     } while (r7 != 0);
    0x0000e860 mov r5, r7                                        |     r5 = r7;
                                                                 | label_98:
    0x0000e864 mov r0, r8                                        |     r0 = r8;
    0x0000e868 bl 0xac7c                                         |     Curl_cookie_freelist ();
    0x0000e86c b 0xe6d8                                          |     goto label_31;
                                                                 | label_96:
    0x0000e870 ldr r2, [pc, -0x37c]                              |     r2 = *(0xe4f8);
    0x0000e874 add r2, pc, r2                                    |     r2 = pc + r2;
    0x0000e878 b 0xe71c                                          |     goto label_32;
                                                                 | label_94:
    0x0000e87c ldrb r3, [r4, 0x262]                              |     r3 = *((r4 + 0x262));
    0x0000e880 cmp r3, 0                                         |     
                                                                 |     if (r3 != 0) {
    0x0000e884 bne 0xe8c0                                        |         void (*0xe8c0)() ();
                                                                 |     }
                                                                 | label_93:
    0x0000e988 ldrb r3, [r4, 0x262]                              |     r3 = *((r4 + 0x262));
    0x0000e98c cmp r3, 0                                         |     
                                                                 |     if (r3 == 0) {
    0x0000e990 beq 0xea14                                        |         void (*0xea14)() ();
                                                                 |     }
                                                                 | label_92:
    0x0000ec68 ldrb r3, [r4, 0x262]                              |     r3 = *((r4 + 0x262));
    0x0000ec6c cmp r3, 0                                         |     
                                                                 |     if (r3 != 0) {
    0x0000ec70 bne 0xecf0                                        |         void (*0xecf0)() ();
                                                                 |     }
                                                                 | label_91:
    0x0000eff8 ldr r1, [pc, -0xa84]                              |     r1 = *(0xe578);
    0x0000effc mov r2, 2                                         |     r2 = 2;
    0x0000f000 add r1, pc, r1                                    |     r1 = pc + r1;
    0x0000f004 mov r0, fp                                        |     r0 = fp;
    0x0000f008 bl 0xcc00                                         |     r0 = Curl_add_buffer ();
    0x0000f00c subs r5, r0, 0                                    |     r5 = r0 - 0;
                                                                 |     if (r5 != r0) {
    0x0000f010 bne 0xd540                                        |         goto label_8;
                                                                 |     }
    0x0000f014 add r2, sl, 0x4a00                                |     r2 = sl + 0x4a00;
    0x0000f018 str r5, [sp]                                      |     *(sp) = r5;
    0x0000f01c mov r3, r5                                        |     r3 = r5;
    0x0000f020 add r2, r2, 0x78                                  |     r2 += 0x78;
    0x0000f024 mov r1, r4                                        |     r1 = r4;
    0x0000f028 mov r0, fp                                        |     r0 = fp;
    0x0000f02c bl 0xca20                                         |     r0 = Curl_add_buffer_send ();
    0x0000f030 subs r5, r0, 0                                    |     r5 = r0 - 0;
                                                                 |     if (r5 == r0) {
    0x0000f034 ldrne r1, [pc, -0xabc]                            |         r1 = *((pc - 0xabc));
                                                                 |     }
                                                                 |     if (r5 == r0) {
    0x0000f038 addne r1, pc, r1                                  |         r1 = pc + r1;
                                                                 |     }
                                                                 |     /* Beware that this jump is a conditional jump.
                                                                 |      * r2dec transformed it as a return, due being the
                                                                 |      * last instruction. Please, check 'pdda' output
                                                                 |      * for more hints. */
    0x0000f03c bne 0xe934                                        |     return void (*0xe934)() ();
                                                                 | }
    ; 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/lib/libcurl.so @ 0xf060 */
                                                             | #include <stdint.h>
                                                             |  
                                                             | #define BIT_MASK(t,v) ((t)(-((v)!= 0)))&(((t)-1)>>((sizeof(t)*CHAR_BIT)-(v)))
                                                             |  
    ; (fcn) sym.Curl_http_readwrite_headers ()               | void Curl_http_readwrite_headers (int32_t arg_1h, int32_t arg_9d8h, int32_t arg_9dch, int32_t arg_a60h, int32_t arg_a68h, int32_t arg_a70h, int32_t arg_a74h, int32_t arg1, int32_t arg2) {
                                                             |     int32_t var_1h;
                                                             |     int32_t var_0h;
                                                             |     int32_t var_4h;
                                                             |     int32_t var_8h;
                                                             |     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_34h;
                                                             |     int32_t var_38h;
                                                             |     int32_t var_38h_2;
                                                             |     int32_t var_40h;
                                                             |     int32_t var_44h;
                                                             |     r0 = arg1;
                                                             |     r1 = arg2;
    0x0000f060 push {r4, r5, r6, r7, r8, sb, sl, fp, lr}     |     
    0x0000f064 ldr r7, [pc, 0xf9c]                           |     r7 = *(0x10004);
    0x0000f068 sub sp, sp, 0x44                              |     
    0x0000f06c mov sl, r3                                    |     sl = r3;
    0x0000f070 add r3, r0, 0x70                              |     r3 = r0 + 0x70;
    0x0000f074 str r3, [sp, 0x14]                            |     var_14h = r3;
    0x0000f078 ldr r3, [r2]                                  |     r3 = *(r2);
    0x0000f07c mov r4, r0                                    |     r4 = r0;
    0x0000f080 str r3, [sp, 0x18]                            |     var_18h = r3;
    0x0000f084 ldr r3, [r0, 0xcc]                            |     r3 = *((r0 + 0xcc));
    0x0000f088 mov r5, r1                                    |     r5 = r1;
    0x0000f08c str r3, [sp, 0x1c]                            |     var_1ch = r3;
    0x0000f090 ldr r3, [pc, 0xf74]                           |     r3 = $d;
    0x0000f094 mov sb, r2                                    |     sb = r2;
    0x0000f098 add r3, pc, r3                                |     r3 = pc + r3;
    0x0000f09c str r3, [sp, 0x20]                            |     var_20h = r3;
    0x0000f0a0 ldr r3, [pc, 0xf68]                           |     r3 = *(0x1000c);
    0x0000f0a4 add r7, pc, r7                                |     r7 = pc + r7;
    0x0000f0a8 add r3, pc, r3                                |     r3 = pc + r3;
    0x0000f0ac str r3, [sp, 0x24]                            |     var_24h = r3;
    0x0000f0b0 ldr r3, [pc, 0xf5c]                           |     r3 = *(0x10010);
    0x0000f0b4 add r3, pc, r3                                |     r3 = pc + r3;
    0x0000f0b8 str r3, [sp, 0x28]                            |     var_28h = r3;
                                                             | label_7:
    0x0000f0bc ldr r8, [r4, 0xcc]                            |     r8 = *((r4 + 0xcc));
    0x0000f0c0 ldr r6, [sb]                                  |     r6 = *(sb);
    0x0000f0c4 str r8, [r4, 0xd0]                            |     *((r4 + 0xd0)) = r8;
    0x0000f0c8 mov r2, r6                                    |     r2 = r6;
    0x0000f0cc mov r1, 0xa                                   |     r1 = 0xa;
    0x0000f0d0 mov r0, r8                                    |     r0 = r8;
    0x0000f0d4 bl 0x58f8                                     |     r0 = memchr (r0, r1, r2);
    0x0000f0d8 cmp r0, 0                                     |     
    0x0000f0dc str r0, [r4, 0xd4]                            |     *((r4 + 0xd4)) = r0;
                                                             |     if (r0 != 0) {
    0x0000f0e0 bne 0xf148                                    |         goto label_22;
                                                             |     }
    0x0000f0e4 mov r2, r6                                    |     r2 = r6;
    0x0000f0e8 ldr r1, [sp, 0x14]                            |     r1 = var_14h;
    0x0000f0ec mov r0, r4                                    |     r0 = r4;
    0x0000f0f0 bl 0xbaf8                                     |     r0 = header_append ();
    0x0000f0f4 subs r6, r0, 0                                |     r6 = r0 - 0;
                                                             |     if (r6 != r0) {
    0x0000f0f8 bne 0xf13c                                    |         goto label_2;
                                                             |     }
    0x0000f0fc ldr r3, [r4, 0xc0]                            |     r3 = *((r4 + 0xc0));
    0x0000f100 cmp r3, 0                                     |     
    0x0000f104 beq 0xf110                                    |     
                                                             |     while (r3 < 5) {
                                                             | label_0:
    0x0000f108 mov r6, 0                                     |         r6 = 0;
    0x0000f10c b 0xf13c                                      |         goto label_2;
    0x0000f110 ldr r3, [r4, 0xc8]                            |         r3 = *((r4 + 0xc8));
    0x0000f114 cmp r3, 5                                     |         
    0x0000f118 bls 0xf108                                    |         
                                                             |     }
    0x0000f11c ldr r1, [r4, 0x7c4]                           |     r1 = *((r4 + 0x7c4));
    0x0000f120 ldr r0, [r4, 0x4a0]                           |     r0 = *((r4 + 0x4a0));
    0x0000f124 bl 0xbdd4                                     |     r0 = checkhttpprefix_isra_2 ();
    0x0000f128 cmp r0, 0                                     |     
                                                             |     if (r0 != 0) {
    0x0000f12c strbeq r6, [r4, 0xb8]                         |         *((r4 + 0xb8)) = r6;
                                                             |     }
                                                             |     if (r0 == 0) {
    0x0000f130 moveq r3, 2                                   |         r3 = 2;
                                                             |         goto label_23;
                                                             |     }
                                                             |     if (r0 != 0) {
                                                             | label_23:
    0x0000f134 bne 0xf108                                    |         goto label_0;
                                                             |     }
                                                             | label_1:
    0x0000f138 str r3, [r4, 0xbc]                            |     *((r4 + 0xbc)) = r3;
                                                             |     do {
                                                             | label_2:
    0x0000f13c mov r0, r6                                    |         r0 = r6;
    0x0000f140 add sp, sp, 0x44                              |         
    0x0000f144 pop {r4, r5, r6, r7, r8, sb, sl, fp, pc}      |         
                                                             | label_22:
    0x0000f148 sub r3, r0, r8                                |         r3 = r0 - r8;
    0x0000f14c add r3, r3, 1                                 |         r3++;
    0x0000f150 sub r6, r6, r3                                |         r6 -= r3;
    0x0000f154 add r2, r0, 1                                 |         r2 = r0 + 1;
    0x0000f158 str r6, [sb]                                  |         *(sb) = r6;
    0x0000f15c ldr r1, [sp, 0x14]                            |         r1 = var_14h;
    0x0000f160 str r2, [r4, 0xcc]                            |         *((r4 + 0xcc)) = r2;
    0x0000f164 mov r0, r4                                    |         r0 = r4;
    0x0000f168 sub r2, r2, r8                                |         r2 -= r8;
    0x0000f16c bl 0xbaf8                                     |         r0 = header_append ();
    0x0000f170 subs r6, r0, 0                                |         r6 = r0 - 0;
    0x0000f174 bne 0xf13c                                    |         
                                                             |     } while (r6 != r0);
    0x0000f178 ldr r3, [r4, 0xc4]                            |     r3 = *((r4 + 0xc4));
    0x0000f17c ldr r1, [r4, 0x7c4]                           |     r1 = *((r4 + 0x7c4));
    0x0000f180 str r3, [r4, 0xd4]                            |     *((r4 + 0xd4)) = r3;
    0x0000f184 ldr r3, [r4, 0xc0]                            |     r3 = *((r4 + 0xc0));
    0x0000f188 str r1, [r4, 0xd8]                            |     *((r4 + 0xd8)) = r1;
    0x0000f18c cmp r3, 0                                     |     
                                                             |     if (r3 != 0) {
    0x0000f190 bne 0xf1e0                                    |         goto label_24;
                                                             |     }
    0x0000f194 ldr r3, [r4, 0xc8]                            |     r3 = *((r4 + 0xc8));
    0x0000f198 cmp r3, 5                                     |     
                                                             |     if (r3 < 5) {
    0x0000f19c bls 0xf1e0                                    |         goto label_24;
                                                             |     }
    0x0000f1a0 ldr r0, [r4, 0x4a0]                           |     r0 = *((r4 + 0x4a0));
    0x0000f1a4 bl 0xbdd4                                     |     r0 = checkhttpprefix_isra_2 ();
    0x0000f1a8 cmp r0, 0                                     |     
                                                             |     if (r0 != 0) {
    0x0000f1ac bne 0xf1e0                                    |         goto label_24;
                                                             |     }
    0x0000f1b0 ldr r3, [sb]                                  |     r3 = *(sb);
    0x0000f1b4 strb r6, [r4, 0xb8]                           |     *((r4 + 0xb8)) = r6;
    0x0000f1b8 cmp r3, 0                                     |     
                                                             |     if (r3 != 0) {
    0x0000f1bc movne r3, 1                                   |         r3 = 1;
                                                             |         goto label_25;
                                                             |     }
                                                             |     if (r3 != 0) {
                                                             | label_25:
    0x0000f1c0 bne 0xf138                                    |         goto label_1;
                                                             |     }
    0x0000f1c4 mov r3, 2                                     |     r3 = 2;
    0x0000f1c8 str r3, [r4, 0xbc]                            |     *((r4 + 0xbc)) = r3;
    0x0000f1cc ldr r3, [sp, 0x18]                            |     r3 = var_18h;
    0x0000f1d0 str r3, [sb]                                  |     *(sb) = r3;
    0x0000f1d4 ldr r3, [sp, 0x1c]                            |     r3 = var_1ch;
    0x0000f1d8 str r3, [r4, 0xcc]                            |     *((r4 + 0xcc)) = r3;
    0x0000f1dc b 0xf13c                                      |     goto label_2;
                                                             | label_24:
    0x0000f1e0 ldr r0, [r4, 0xd8]                            |     r0 = *((r4 + 0xd8));
    0x0000f1e4 ldrb r3, [r0]                                 |     r3 = *(r0);
    0x0000f1e8 cmp r3, 0xd                                   |     
    0x0000f1ec cmpne r3, 0xa                                 |     __asm ("cmpne r3, 0xa");
                                                             |     if (r3 != 0xd) {
    0x0000f1f0 bne 0xf5f0                                    |         goto label_26;
                                                             |     }
    0x0000f1f4 cmp r3, 0xd                                   |     
                                                             |     if (r3 != 0xd) {
    0x0000f1f8 addeq r0, r0, 1                               |         r0++;
                                                             |     }
                                                             |     if (r3 != 0xd) {
    0x0000f1fc streq r0, [r4, 0xd8]                          |         *((r4 + 0xd8)) = r0;
                                                             |     }
    0x0000f200 ldr r3, [r4, 0xd8]                            |     r3 = *((r4 + 0xd8));
    0x0000f204 ldrb r2, [r3]                                 |     r2 = *(r3);
    0x0000f208 cmp r2, 0xa                                   |     
                                                             |     if (r2 != 0xa) {
    0x0000f20c addeq r3, r3, 1                               |         r3++;
                                                             |     }
                                                             |     if (r2 != 0xa) {
    0x0000f210 streq r3, [r4, 0xd8]                          |         *((r4 + 0xd8)) = r3;
                                                             |     }
    0x0000f214 ldr r3, [r4, 0xe8]                            |     r3 = *((r4 + 0xe8));
    0x0000f218 sub r2, r3, 0x64                              |     r2 = r3 - 0x64;
    0x0000f21c cmp r2, 0x63                                  |     
                                                             |     if (r2 > 0x63) {
    0x0000f220 bhi 0xf334                                    |         goto label_27;
                                                             |     }
    0x0000f224 cmp r3, 0x64                                  |     
                                                             |     if (r3 != 0x64) {
    0x0000f228 beq 0xf248                                    |         
    0x0000f22c cmp r3, 0x65                                  |         
    0x0000f230 mov r8, 0                                     |         r8 = 0;
                                                             |         if (r3 == 0x65) {
    0x0000f234 beq 0xf2f8                                    |             goto label_28;
                                                             |         }
    0x0000f238 mov r3, 1                                     |         r3 = 1;
    0x0000f23c strb r3, [r4, 0xb8]                           |         *((r4 + 0xb8)) = r3;
    0x0000f240 str r8, [r4, 0xc0]                            |         *((r4 + 0xc0)) = r8;
    0x0000f244 b 0xf27c                                      |         
                                                             |     } else {
    0x0000f248 mov r3, 1                                     |         r3 = 1;
    0x0000f24c strb r3, [r4, 0xb8]                           |         *((r4 + 0xb8)) = r3;
    0x0000f250 ldr r3, [r4, 0xf4]                            |         r3 = *((r4 + 0xf4));
    0x0000f254 mov r1, 0                                     |         r1 = 0;
    0x0000f258 cmp r3, r1                                    |         
    0x0000f25c str r1, [r4, 0xc0]                            |         *((r4 + 0xc0)) = r1;
                                                             |         if (r3 == r1) {
    0x0000f260 beq 0xf27c                                    |             goto label_3;
                                                             |         }
    0x0000f264 ldr r3, [r4, 0x110]                           |         r3 = *((r4 + 0x110));
    0x0000f268 str r1, [r4, 0xf4]                            |         *((r4 + 0xf4)) = r1;
    0x0000f26c orr r3, r3, 2                                 |         r3 |= 2;
    0x0000f270 str r3, [r4, 0x110]                           |         *((r4 + 0x110)) = r3;
    0x0000f274 mov r0, r4                                    |         r0 = r4;
    0x0000f278 bl 0x1eb2c                                    |         Curl_expire_done ();
                                                             |     }
                                                             |     do {
                                                             | label_3:
    0x0000f27c ldrb r3, [r5, 0x251]                          |         r3 = *((r5 + 0x251));
    0x0000f280 cmp r3, 0                                     |         
                                                             |         if (r3 != 0) {
    0x0000f284 beq 0xf2d0                                    |             
                                                             | label_4:
    0x0000f288 ldr r3, [r4, 0xe8]                            |             r3 = *((r4 + 0xe8));
    0x0000f28c ldr r2, [pc, 0xd84]                           |             r2 = *(0x10014);
    0x0000f290 cmp r3, r2                                    |             
                                                             |             if (r3 != r2) {
    0x0000f294 ldreq r3, [r5, 0x2f8]                         |                 r3 = *((r5 + 0x2f8));
                                                             |             }
                                                             |             if (r3 != r2) {
    0x0000f298 beq 0xf2ac                                    |                 
    0x0000f29c ldr r2, [pc, 0xd78]                           |                 r2 = *(0x10018);
    0x0000f2a0 cmp r3, r2                                    |                 
                                                             |                 if (r3 != r2) {
    0x0000f2a4 bne 0xf2d0                                    |                     goto label_5;
                                                             |                 }
    0x0000f2a8 ldr r3, [r5, 0x310]                           |                 r3 = *((r5 + 0x310));
                                                             |             }
    0x0000f2ac cmp r3, 2                                     |             
                                                             |             if (r3 != 2) {
    0x0000f2b0 bne 0xf2d0                                    |                 goto label_5;
                                                             |             }
    0x0000f2b4 ldr r1, [pc, 0xd64]                           |             r1 = *(0x1001c);
    0x0000f2b8 mov r0, r4                                    |             r0 = r4;
    0x0000f2bc add r1, pc, r1                                |             r1 = pc + r1;
    0x0000f2c0 bl 0x104cc                                    |             Curl_infof ();
    0x0000f2c4 add r3, r4, 0x4000                            |             r3 = r4 + 0x4000;
    0x0000f2c8 mov r2, 1                                     |             r2 = 1;
    0x0000f2cc strb r2, [r3, 0x8a0]                          |             *((r3 + 0x8a0)) = r2;
                                                             |         }
                                                             | label_5:
    0x0000f2d0 mov r0, r5                                    |         r0 = r5;
    0x0000f2d4 bl 0xb8e4                                     |         r0 = http_should_fail ();
    0x0000f2d8 cmp r0, 0                                     |         
                                                             |         if (r0 == 0) {
    0x0000f2dc beq 0xf3b4                                    |             goto label_29;
                                                             |         }
    0x0000f2e0 ldr r1, [pc, 0xd3c]                           |         r1 = *(0x10020);
    0x0000f2e4 ldr r2, [r4, 0xe8]                            |         r2 = *((r4 + 0xe8));
    0x0000f2e8 add r1, pc, r1                                |         r1 = pc + r1;
                                                             | label_8:
    0x0000f2ec mov r0, r4                                    |         r0 = r4;
    0x0000f2f0 bl 0x10544                                    |         Curl_failf ();
    0x0000f2f4 b 0xf8b8                                      |         goto label_30;
                                                             | label_28:
    0x0000f2f8 ldr fp, [r4, 0xf8]                            |         fp = *((r4 + 0xf8));
    0x0000f2fc cmp fp, 1                                     |         
                                                             |         if (fp == 1) {
    0x0000f300 bne 0xf32c                                    |             
    0x0000f304 ldr r1, [pc, 0xd1c]                           |             r1 = *(0x10024);
    0x0000f308 mov r0, r4                                    |             r0 = r4;
    0x0000f30c add r1, pc, r1                                |             r1 = pc + r1;
    0x0000f310 bl 0x104cc                                    |             Curl_infof ();
    0x0000f314 mov r3, 2                                     |             r3 = 2;
    0x0000f318 str r3, [r4, 0xf8]                            |             *((r4 + 0xf8)) = r3;
    0x0000f31c strb fp, [r4, 0xb8]                           |             *((r4 + 0xb8)) = fp;
    0x0000f320 str r8, [r4, 0xc0]                            |             *((r4 + 0xc0)) = r8;
    0x0000f324 mov r6, 1                                     |             r6 = 1;
    0x0000f328 b 0xf13c                                      |             goto label_2;
                                                             |         }
    0x0000f32c strb r8, [r4, 0xb8]                           |         *((r4 + 0xb8)) = r8;
    0x0000f330 b 0xf27c                                      |         
                                                             |     } while (1);
                                                             | label_27:
    0x0000f334 mov r3, 0                                     |     r3 = 0;
    0x0000f338 strb r3, [r4, 0xb8]                           |     *((r4 + 0xb8)) = r3;
    0x0000f33c ldrd r2, r3, [r4, 0x70]                       |     __asm ("ldrd r2, r3, [r4, 0x70]");
    0x0000f340 mvn r1, 0                                     |     r1 = ~0;
    0x0000f344 mvn r0, 0                                     |     r0 = ~0;
    0x0000f348 cmp r3, r1                                    |     
    0x0000f34c cmpeq r2, r0                                  |     __asm ("cmpeq r2, r0");
                                                             |     if (r3 != r1) {
    0x0000f350 bne 0xf27c                                    |         goto label_3;
                                                             |     }
    0x0000f354 ldrb r3, [r4, 0x128]                          |     r3 = *((r4 + 0x128));
    0x0000f358 cmp r3, 0                                     |     
                                                             |     if (r3 != 0) {
    0x0000f35c bne 0xf27c                                    |         goto label_3;
                                                             |     }
    0x0000f360 ldrb r3, [r5, 0x251]                          |     r3 = *((r5 + 0x251));
    0x0000f364 cmp r3, 0                                     |     
                                                             |     if (r3 != 0) {
    0x0000f368 bne 0xf288                                    |         goto label_4;
                                                             |     }
    0x0000f36c ldr r3, [r5, 0x180]                           |     r3 = *((r5 + 0x180));
    0x0000f370 cmp r3, 0xb                                   |     
                                                             |     if (r3 != 0xb) {
    0x0000f374 bne 0xf2d0                                    |         goto label_5;
                                                             |     }
    0x0000f378 ldr r3, [r5, 0x284]                           |     r3 = *((r5 + 0x284));
    0x0000f37c ldr r3, [r3, 0x40]                            |     r3 = *((r3 + 0x40));
    0x0000f380 tst r3, 0x40000                               |     
                                                             |     if ((r3 & 0x40000) != 0) {
    0x0000f384 bne 0xf2d0                                    |         goto label_5;
                                                             |     }
    0x0000f388 ldr r3, [r4, 0x3d0]                           |     r3 = *((r4 + 0x3d0));
    0x0000f38c cmp r3, 6                                     |     
                                                             |     if (r3 == 6) {
    0x0000f390 beq 0xf2d0                                    |         goto label_5;
                                                             |     }
    0x0000f394 ldr r1, [pc, 0xc90]                           |     r1 = *(0x10028);
    0x0000f398 mov r0, r4                                    |     r0 = r4;
    0x0000f39c add r1, pc, r1                                |     r1 = pc + r1;
    0x0000f3a0 bl 0x104cc                                    |     Curl_infof ();
    0x0000f3a4 mov r1, 2                                     |     r1 = 2;
    0x0000f3a8 mov r0, r5                                    |     r0 = r5;
    0x0000f3ac bl 0x1cb34                                    |     Curl_conncontrol ();
    0x0000f3b0 b 0xf27c                                      |     goto label_3;
                                                             | label_29:
    0x0000f3b4 ldrb r3, [r4, 0x4cd]                          |     r3 = *((r4 + 0x4cd));
    0x0000f3b8 ldr r2, [r4, 0x7c4]                           |     r2 = *((r4 + 0x7c4));
    0x0000f3bc ldr r8, [r4, 0xd8]                            |     r8 = *((r4 + 0xd8));
    0x0000f3c0 cmp r3, 0                                     |     
    0x0000f3c4 sub r8, r8, r2                                |     r8 -= r2;
                                                             |     if (r3 == 0) {
    0x0000f3c8 movne r1, 3                                   |         r1 = 3;
                                                             |     }
                                                             |     if (r3 != 0) {
    0x0000f3cc moveq r1, 2                                   |         r1 = 2;
                                                             |     }
    0x0000f3d0 mov r3, r8                                    |     r3 = r8;
    0x0000f3d4 mov r0, r5                                    |     r0 = r5;
    0x0000f3d8 bl 0x107cc                                    |     r0 = Curl_client_write ();
    0x0000f3dc cmp r0, 0                                     |     
                                                             |     if (r0 != 0) {
    0x0000f3e0 bne 0xfd50                                    |         goto label_31;
                                                             |     }
    0x0000f3e4 add fp, r4, 0x4000                            |     
    0x0000f3e8 ldr r3, [fp, 0xa74]                           |     r3 = *(arg_a74h);
    0x0000f3ec ldr r2, [r4, 0xe8]                            |     r2 = *((r4 + 0xe8));
    0x0000f3f0 add r3, r3, r8                                |     r3 += r8;
    0x0000f3f4 str r3, [fp, 0xa74]                           |     *(arg_a74h) = r3;
    0x0000f3f8 ldr r3, [r4, 0xa0]                            |     r3 = *((r4 + 0xa0));
    0x0000f3fc sub r2, r2, 0x64                              |     r2 -= 0x64;
    0x0000f400 add r3, r8, r3                                |     r3 = r8 + r3;
    0x0000f404 cmp r2, 0x64                                  |     
    0x0000f408 str r3, [r4, 0xa0]                            |     *((r4 + 0xa0)) = r3;
                                                             |     if (r2 < 0x64) {
    0x0000f40c movhs r3, 0                                   |         r3 = 0;
                                                             |     }
    0x0000f410 str r3, [r4, 0xa4]                            |     *((r4 + 0xa4)) = r3;
    0x0000f414 mov r0, r5                                    |     r0 = r5;
    0x0000f418 bl 0xc2dc                                     |     r0 = Curl_http_auth_act ();
    0x0000f41c subs r3, r0, 0                                |     r3 = r0 - 0;
                                                             |     if (r3 != r0) {
    0x0000f420 bne 0x10114                                   |         goto label_32;
                                                             |     }
    0x0000f424 ldr r2, [r4, 0xe8]                            |     r2 = *((r4 + 0xe8));
    0x0000f428 cmp r2, 0x12c                                 |     
                                                             |     if (r2 >= 0x12c) {
    0x0000f42c blt 0xf4e0                                    |         
    0x0000f430 ldrb r2, [r5, 0x262]                          |         r2 = *((r5 + 0x262));
    0x0000f434 cmp r2, 0                                     |         
                                                             |         if (r2 == 0) {
    0x0000f438 bne 0xf4b8                                    |             
    0x0000f43c ldrb r2, [r5, 0x251]                          |             r2 = *((r5 + 0x251));
    0x0000f440 cmp r2, 0                                     |             
                                                             |             if (r2 != 0) {
    0x0000f444 bne 0xf4b8                                    |                 goto label_6;
                                                             |             }
    0x0000f448 ldrb r2, [r5, 0x263]                          |             r2 = *((r5 + 0x263));
    0x0000f44c cmp r2, 0                                     |             
                                                             |             if (r2 != 0) {
    0x0000f450 bne 0xf4c4                                    |                 goto label_33;
                                                             |             }
    0x0000f454 ldr r2, [r4, 0x3d0]                           |             r2 = *((r4 + 0x3d0));
    0x0000f458 sub r2, r2, 2                                 |             r2 -= 2;
    0x0000f45c cmp r2, 3                                     |             
                                                             |             if (r2 > 3) {
    0x0000f460 bhi 0xf4b8                                    |                 goto label_6;
                                                             |             }
    0x0000f464 mov r1, r3                                    |             r1 = r3;
    0x0000f468 mov r0, r4                                    |             r0 = r4;
    0x0000f46c str r3, [sp, 0x2c]                            |             var_2ch = r3;
    0x0000f470 bl 0x1eb2c                                    |             Curl_expire_done ();
    0x0000f474 ldrb r2, [r4, 0x114]                          |             r2 = *((r4 + 0x114));
    0x0000f478 cmp r2, 0                                     |             
                                                             |             if (r2 != 0) {
    0x0000f47c bne 0xf4b8                                    |                 goto label_6;
                                                             |             }
    0x0000f480 ldrb r2, [r4, 0x4c9]                          |             r2 = *((r4 + 0x4c9));
    0x0000f484 cmp r2, 0                                     |             
                                                             |             if (r2 == 0) {
    0x0000f488 beq 0xf588                                    |                 goto label_34;
                                                             |             }
    0x0000f48c ldr r1, [pc, 0xb9c]                           |             r1 = *(0x1002c);
    0x0000f490 mov r0, r4                                    |             r0 = r4;
    0x0000f494 add r1, pc, r1                                |             r1 = pc + r1;
    0x0000f498 bl 0x104cc                                    |             Curl_infof ();
    0x0000f49c ldr r2, [r4, 0xf4]                            |             r2 = *((r4 + 0xf4));
    0x0000f4a0 cmp r2, 0                                     |             
                                                             |             if (r2 == 0) {
    0x0000f4a4 ldrne r3, [sp, 0x2c]                          |                 r3 = var_2ch;
                                                             |             }
                                                             |             if (r2 == 0) {
    0x0000f4a8 strne r3, [r4, 0xf4]                          |                 *((r4 + 0xf4)) = r3;
                                                             |             }
                                                             |             if (r2 == 0) {
    0x0000f4ac ldrne r3, [r4, 0x110]                         |                 r3 = *((r4 + 0x110));
                                                             |             }
                                                             |             if (r2 == 0) {
    0x0000f4b0 orrne r3, r3, 2                               |                 r3 |= 2;
                                                             |             }
                                                             |             if (r2 != 0) {
    0x0000f4b4 strne r3, [r4, 0x110]                         |                 *((r4 + 0x110)) = r3;
                                                             |                 goto label_6;
                                                             |             }
                                                             |         }
                                                             | label_6:
    0x0000f4b8 ldrb r3, [r5, 0x263]                          |         r3 = *((r5 + 0x263));
    0x0000f4bc cmp r3, 0                                     |         
                                                             |         if (r3 == 0) {
    0x0000f4c0 beq 0xf4e0                                    |             goto label_35;
                                                             |         }
                                                             | label_33:
    0x0000f4c4 ldr r1, [pc, 0xb68]                           |         r1 = *(0x10030);
    0x0000f4c8 mov r0, r4                                    |         r0 = r4;
    0x0000f4cc add r1, pc, r1                                |         r1 = pc + r1;
    0x0000f4d0 bl 0x104cc                                    |         Curl_infof ();
    0x0000f4d4 ldr r3, [r4, 0x110]                           |         r3 = *((r4 + 0x110));
    0x0000f4d8 orr r3, r3, 2                                 |         r3 |= 2;
    0x0000f4dc str r3, [r4, 0x110]                           |         *((r4 + 0x110)) = r3;
                                                             |     }
                                                             | label_35:
    0x0000f4e0 ldrb r3, [r4, 0xb8]                           |     r3 = *((r4 + 0xb8));
    0x0000f4e4 cmp r3, 0                                     |     
                                                             |     if (r3 != 0) {
    0x0000f4e8 bne 0xf5cc                                    |         goto label_36;
                                                             |     }
    0x0000f4ec ldrb r3, [r4, 0x4d0]                          |     r3 = *((r4 + 0x4d0));
    0x0000f4f0 cmp r3, 0                                     |     
                                                             |     if (r3 == 0) {
    0x0000f4f4 movne r3, 1                                   |         r3 = 1;
                                                             |     }
                                                             |     if (r3 == 0) {
    0x0000f4f8 strbne r3, [sl]                               |         *(sl) = r3;
                                                             |     }
                                                             |     if (r3 == 0) {
    0x0000f4fc bne 0xf518                                    |         
    0x0000f500 ldrb r3, [r4, 0x128]                          |         r3 = *((r4 + 0x128));
    0x0000f504 cmp r3, 0                                     |         
                                                             |         if (r3 == 0) {
    0x0000f508 mvnne r2, 0                                   |             r2 = ~0;
                                                             |         }
                                                             |         if (r3 == 0) {
    0x0000f50c mvnne r3, 0                                   |             r3 = ~0;
                                                             |         }
    0x0000f510 strdne r2, r3, [r4, 0x70]                     |         __asm ("strdne r2, r3, [r4, 0x70]");
    0x0000f514 strdne r2, r3, [r4, 0x80]                     |         __asm ("strdne r2, r3, [r4, 0x80]");
                                                             |     }
    0x0000f518 ldrd r2, r3, [r4, 0x70]                       |     __asm ("ldrd r2, r3, [r4, 0x70]");
    0x0000f51c mvn r1, 0                                     |     r1 = ~0;
    0x0000f520 mvn r0, 0                                     |     r0 = ~0;
    0x0000f524 cmp r3, r1                                    |     
    0x0000f528 cmpeq r2, r0                                  |     __asm ("cmpeq r2, r0");
                                                             |     if (r3 != r1) {
    0x0000f52c beq 0xf540                                    |         
    0x0000f530 mov r0, r4                                    |         r0 = r4;
    0x0000f534 bl 0x8294                                     |         Curl_pgrsSetDownloadSize ();
    0x0000f538 ldrd r2, r3, [r4, 0x70]                       |         __asm ("ldrd r2, r3, [r4, 0x70]");
    0x0000f53c strd r2, r3, [r4, 0x80]                       |         __asm ("strd r2, r3, [r4, 0x80]");
                                                             |     }
    0x0000f540 ldrd r2, r3, [r4, 0x80]                       |     __asm ("ldrd r2, r3, [r4, 0x80]");
    0x0000f544 orrs r3, r2, r3                               |     r3 = r2 | r3;
                                                             |     if (r3 != r2) {
    0x0000f548 moveq r3, 1                                   |         r3 = 1;
                                                             |     }
                                                             |     if (r3 != r2) {
    0x0000f54c strbeq r3, [sl]                               |         *(sl) = r3;
                                                             |     }
    0x0000f550 ldrb r3, [sl]                                 |     r3 = *(sl);
    0x0000f554 cmp r3, 0                                     |     
                                                             |     if (r3 == 0) {
    0x0000f558 ldrne r3, [r4, 0x110]                         |         r3 = *((r4 + 0x110));
                                                             |     }
    0x0000f55c bicne r3, r3, 1                               |     __asm ("bicne r3, r3, 1");
                                                             |     if (r3 == 0) {
    0x0000f560 strne r3, [r4, 0x110]                         |         *((r4 + 0x110)) = r3;
                                                             |     }
    0x0000f564 ldrb r3, [r4, 0x4d8]                          |     r3 = *((r4 + 0x4d8));
    0x0000f568 cmp r3, 0                                     |     
                                                             |     if (r3 == 0) {
    0x0000f56c beq 0xf108                                    |         goto label_0;
                                                             |     }
    0x0000f570 mov r3, r8                                    |     r3 = r8;
    0x0000f574 ldr r2, [r4, 0xd0]                            |     r2 = *((r4 + 0xd0));
    0x0000f578 mov r1, 1                                     |     r1 = 1;
    0x0000f57c mov r0, r4                                    |     r0 = r4;
    0x0000f580 bl 0x10424                                    |     Curl_debug ();
    0x0000f584 b 0xf108                                      |     goto label_0;
                                                             | label_34:
    0x0000f588 ldr r1, [pc, 0xaa8]                           |     r1 = *(0x10034);
    0x0000f58c mov r0, r4                                    |     r0 = r4;
    0x0000f590 add r1, pc, r1                                |     r1 = pc + r1;
    0x0000f594 bl 0x104cc                                    |     Curl_infof ();
    0x0000f598 mov r1, 2                                     |     r1 = 2;
    0x0000f59c mov r0, r5                                    |     r0 = r5;
    0x0000f5a0 bl 0x1cb34                                    |     Curl_conncontrol ();
    0x0000f5a4 mov r3, 1                                     |     r3 = 1;
    0x0000f5a8 strb r3, [r4, 0x114]                          |     *((r4 + 0x114)) = r3;
    0x0000f5ac ldr r3, [r4, 0x110]                           |     r3 = *((r4 + 0x110));
    0x0000f5b0 bic r3, r3, 2                                 |     r3 = BIT_MASK (r3, 2);
    0x0000f5b4 str r3, [r4, 0x110]                           |     *((r4 + 0x110)) = r3;
    0x0000f5b8 ldrb r3, [fp, 0x9dc]                          |     r3 = *(arg_9dch);
    0x0000f5bc cmp r3, 0                                     |     
                                                             |     if (r3 == 0) {
    0x0000f5c0 movne r3, 3                                   |         r3 = 3;
                                                             |     }
                                                             |     if (r3 == 0) {
    0x0000f5c4 strne r3, [r4, 0xf4]                          |         *((r4 + 0xf4)) = r3;
                                                             |     }
    0x0000f5c8 b 0xf4b8                                      |     goto label_6;
                                                             | label_36:
    0x0000f5cc ldr r3, [r4, 0x7c4]                           |     r3 = *((r4 + 0x7c4));
    0x0000f5d0 str r3, [r4, 0xc4]                            |     *((r4 + 0xc4)) = r3;
    0x0000f5d4 mov r3, 0                                     |     r3 = 0;
    0x0000f5d8 str r3, [r4, 0xc8]                            |     *((r4 + 0xc8)) = r3;
                                                             | label_12:
    0x0000f5dc ldr r3, [r4, 0xcc]                            |     r3 = *((r4 + 0xcc));
    0x0000f5e0 ldrb r3, [r3]                                 |     r3 = *(r3);
    0x0000f5e4 cmp r3, 0                                     |     
                                                             |     if (r3 != 0) {
    0x0000f5e8 bne 0xf0bc                                    |         goto label_7;
                                                             |     }
    0x0000f5ec b 0xf13c                                      |     goto label_2;
                                                             | label_26:
    0x0000f5f0 ldr fp, [r4, 0xc0]                            |     fp = *((r4 + 0xc0));
    0x0000f5f4 add r3, fp, 1                                 |     r3 += arg_1h;
    0x0000f5f8 cmp fp, 0                                     |     
    0x0000f5fc str r3, [r4, 0xc0]                            |     *((r4 + 0xc0)) = r3;
                                                             |     if (fp != 0) {
    0x0000f600 bne 0xf920                                    |         goto label_37;
                                                             |     }
    0x0000f604 ldr r3, [r5, 0x284]                           |     r3 = *((r5 + 0x284));
    0x0000f608 ldr r3, [r3, 0x40]                            |     r3 = *((r3 + 0x40));
    0x0000f60c tst r3, 3                                     |     
                                                             |     if ((r3 & 3) == 0) {
    0x0000f610 beq 0xf838                                    |         goto label_38;
                                                             |     }
    0x0000f614 ldr r1, [pc, 0xa20]                           |     r1 = *(0x10038);
    0x0000f618 add r3, sp, 0x38                              |     r3 += var_38h;
    0x0000f61c add r8, r4, 0xe8                              |     r8 = r4 + 0xe8;
    0x0000f620 str r3, [sp]                                  |     *(sp) = r3;
    0x0000f624 str r8, [sp, 4]                               |     var_4h = r8;
    0x0000f628 add r3, r5, 0x180                             |     r3 = r5 + 0x180;
    0x0000f62c add r2, sp, 0x34                              |     r2 += var_34h;
    0x0000f630 add r1, pc, r1                                |     r1 = pc + r1;
    0x0000f634 bl 0x5658                                     |     r0 = sscanf (r0, r1, r2);
    0x0000f638 cmp r0, 1                                     |     
                                                             |     if (r0 != 1) {
    0x0000f63c bne 0xf7e0                                    |         goto label_39;
                                                             |     }
    0x0000f640 ldr r3, [sp, 0x34]                            |     r3 = var_34h;
    0x0000f644 cmp r3, 2                                     |     
                                                             |     if (r3 != 2) {
    0x0000f648 bne 0x1011c                                   |         goto label_40;
                                                             |     }
    0x0000f64c ldr r1, [pc, 0x9ec]                           |     r1 = *(0x1003c);
    0x0000f650 mov r2, r8                                    |     r2 = r8;
    0x0000f654 add r1, pc, r1                                |     r1 = pc + r1;
    0x0000f658 ldr r0, [r4, 0xd8]                            |     r0 = *((r4 + 0xd8));
    0x0000f65c bl 0x5658                                     |     r0 = sscanf (r0, r1, r2);
    0x0000f660 cmp r0, 1                                     |     
                                                             |     if (r0 != 1) {
    0x0000f664 bne 0x1011c                                   |         goto label_40;
                                                             |     }
    0x0000f668 mov r3, 0x20                                  |     r3 = 0x20;
    0x0000f66c str fp, [r5, 0x180]                           |     *((r5 + 0x180)) = fp;
    0x0000f670 strb r3, [sp, 0x38]                           |     var_38h = r3;
                                                             |     do {
    0x0000f674 ldrb r3, [sp, 0x38]                           |         r3 = var_38h;
    0x0000f678 cmp r3, 0x20                                  |         
                                                             |         if (r3 != 0x20) {
    0x0000f67c bne 0x1011c                                   |             goto label_40;
                                                             |         }
    0x0000f680 ldr r2, [r5, 0x180]                           |         r2 = *((r5 + 0x180));
    0x0000f684 ldr r3, [sp, 0x34]                            |         r3 = var_34h;
    0x0000f688 mov r1, 0xa                                   |         r1 = 0xa;
    0x0000f68c mla r0, r1, r3, r2                            |         __asm ("mla r0, r1, r3, r2");
    0x0000f690 ldr r3, [r4, 0xf8]                            |         r3 = *((r4 + 0xf8));
    0x0000f694 cmp r0, 0x14                                  |         
    0x0000f698 sub r2, r3, 2                                 |         r2 = r3 - 2;
    0x0000f69c clz r2, r2                                    |         r2 &= r2;
    0x0000f6a0 lsr r2, r2, 5                                 |         r2 >>= 5;
                                                             |         if (r0 != 0x14) {
    0x0000f6a4 moveq r2, 0                                   |             r2 = 0;
                                                             |         }
    0x0000f6a8 cmp r2, 0                                     |         
    0x0000f6ac str r0, [r5, 0x180]                           |         *((r5 + 0x180)) = r0;
                                                             |         if (r2 != 0) {
    0x0000f6b0 beq 0xf6c4                                    |             
    0x0000f6b4 ldr r1, [pc, 0x988]                           |             r1 = *(0x10040);
    0x0000f6b8 mov r0, r4                                    |             r0 = r4;
    0x0000f6bc add r1, pc, r1                                |             r1 = pc + r1;
    0x0000f6c0 bl 0x104cc                                    |             Curl_infof ();
                                                             |         }
                                                             | label_9:
    0x0000f6c4 add fp, r4, 0x4000                            |         
    0x0000f6c8 ldr r2, [fp, 0x9d8]                           |         r2 = *(arg_9d8h);
    0x0000f6cc ldr r1, [r5, 0x180]                           |         r1 = *((r5 + 0x180));
    0x0000f6d0 clz r3, r2                                    |         r3 &= r2;
    0x0000f6d4 lsr r3, r3, 5                                 |         r3 >>= 5;
    0x0000f6d8 cmp r1, r2                                    |         
                                                             |         if (r1 >= r2) {
    0x0000f6dc orrlt r3, r3, 1                               |             r3 |= 1;
                                                             |         }
    0x0000f6e0 cmp r3, 0                                     |         
    0x0000f6e4 add r3, r4, 0x4a00                            |         r3 = r4 + 0x4a00;
    0x0000f6e8 ldrd r2, r3, [r3, -8]                         |         __asm ("ldrd r2, r3, [r3, -8]");
    0x0000f6ec ldr r8, [r4, 0xe8]                            |         r8 = *((r4 + 0xe8));
                                                             |         if (r3 == 0) {
    0x0000f6f0 strne r1, [fp, 0x9d8]                         |             *(arg_9d8h) = r1;
                                                             |         }
    0x0000f6f4 orrs r3, r2, r3                               |         r3 = r2 | r3;
    0x0000f6f8 str r8, [fp, 0xa60]                           |         *(arg_a60h) = r8;
    0x0000f6fc str r1, [fp, 0xa68]                           |         *(arg_a68h) = r1;
                                                             |         if (r3 != r2) {
    0x0000f700 beq 0xf71c                                    |             
    0x0000f704 ldr r3, [r4, 0x3d0]                           |             r3 = *((r4 + 0x3d0));
    0x0000f708 cmp r3, 1                                     |             
    0x0000f70c cmpeq r8, 0x1a0                               |             __asm ("cmpeq r8, aav.0x000000ff");
                                                             |             if (r3 != 1) {
    0x0000f710 moveq r3, 1                                   |                 r3 = 1;
                                                             |             }
                                                             |             if (r3 != 1) {
    0x0000f714 strbeq r3, [r4, 0x115]                        |                 *((r4 + 0x115)) = r3;
                                                             |             }
                                                             |             if (r3 == 1) {
    0x0000f718 beq 0xf8c0                                    |                 goto label_41;
                                                             |             }
                                                             |         }
    0x0000f71c ldrb r3, [r4, 0x4c8]                          |         r3 = *((r4 + 0x4c8));
    0x0000f720 cmp r8, 0x190                                 |         
                                                             |         if (r8 >= 0x190) {
    0x0000f724 movlt r3, 0                                   |             r3 = 0;
                                                             |         }
                                                             |         if (r8 < 0x190) {
    0x0000f728 andge r3, r3, 1                               |             r3 &= 1;
                                                             |         }
    0x0000f72c cmp r3, 0                                     |         
                                                             |         if (r3 == 0) {
    0x0000f730 beq 0xf8c0                                    |             goto label_41;
                                                             |         }
    0x0000f734 ldr r3, [pc, 0x8dc]                           |         r3 = *(0x10014);
    0x0000f738 cmp r8, r3                                    |         
                                                             |         if (r8 != r3) {
    0x0000f73c ldrbeq r3, [r5, 0x258]                        |             r3 = *((r5 + 0x258));
                                                             |         }
                                                             |         if (r8 != r3) {
    0x0000f740 beq 0xf754                                    |             
    0x0000f744 ldr r3, [pc, 0x8d0]                           |             r3 = *(0x10018);
    0x0000f748 cmp r8, r3                                    |             
                                                             |             if (r8 != r3) {
    0x0000f74c bne 0xf75c                                    |                 goto label_42;
                                                             |             }
    0x0000f750 ldrb r3, [r5, 0x259]                          |             r3 = *((r5 + 0x259));
                                                             |         }
    0x0000f754 cmp r3, 0                                     |         
                                                             |         if (r3 != 0) {
    0x0000f758 bne 0xf8c0                                    |             goto label_41;
                                                             |         }
                                                             | label_42:
    0x0000f75c ldr r5, [r4, 0xd8]                            |         r5 = *((r4 + 0xd8));
    0x0000f760 ldr r1, [pc, 0x8e0]                           |         r1 = *(0x10044);
    0x0000f764 mov r2, 4                                     |         r2 = 4;
    0x0000f768 add r1, pc, r1                                |         r1 = pc + r1;
    0x0000f76c mov r0, r5                                    |         r0 = r5;
    0x0000f770 bl 0x516c                                     |         r0 = strncmp (r0, r1, r2);
    0x0000f774 cmp r0, 0                                     |         
                                                             |         if (r0 == 0) {
    0x0000f778 bne 0xf7d0                                    |             
    0x0000f77c mov r1, 0x20                                  |             r1 = 0x20;
    0x0000f780 mov r0, r5                                    |             r0 = r5;
    0x0000f784 bl 0x5b38                                     |             r0 = strchr (r0, r1);
    0x0000f788 cmp r0, 0                                     |             
                                                             |             if (r0 == 0) {
    0x0000f78c beq 0xf7d0                                    |                 goto label_43;
                                                             |             }
    0x0000f790 ldrb r3, [r0, 1]                              |             r3 = *((r0 + 1));
    0x0000f794 cmp r3, 0                                     |             
                                                             |             if (r3 == 0) {
    0x0000f798 beq 0xf7d0                                    |                 goto label_43;
                                                             |             }
    0x0000f79c add r5, r0, 1                                 |             r5 = r0 + 1;
    0x0000f7a0 mov r1, 0xd                                   |             r1 = 0xd;
    0x0000f7a4 mov r0, r5                                    |             r0 = r5;
    0x0000f7a8 bl 0x5b38                                     |             r0 = strchr (r0, r1);
    0x0000f7ac subs r6, r0, 0                                |             r6 = r0 - 0;
                                                             |             if (r6 == r0) {
    0x0000f7b0 movne r7, 0xd                                 |                 r7 = 0xd;
                                                             |             }
                                                             |             if (r6 != r0) {
    0x0000f7b4 bne 0xf898                                    |                 goto label_44;
                                                             |             }
    0x0000f7b8 mov r1, 0xa                                   |             r1 = 0xa;
    0x0000f7bc mov r0, r5                                    |             r0 = r5;
    0x0000f7c0 bl 0x5b38                                     |             r0 = strchr (r0, r1);
    0x0000f7c4 subs r6, r0, 0                                |             r6 = r0 - 0;
                                                             |             if (r6 == r0) {
    0x0000f7c8 movne r7, 0xa                                 |                 r7 = 0xa;
                                                             |             }
                                                             |             if (r6 != r0) {
    0x0000f7cc bne 0xf898                                    |                 goto label_44;
                                                             |             }
                                                             |         }
                                                             | label_43:
    0x0000f7d0 ldr r1, [pc, 0x874]                           |         r1 = *(0x10048);
    0x0000f7d4 mov r2, r8                                    |         r2 = r8;
    0x0000f7d8 add r1, pc, r1                                |         r1 = pc + r1;
    0x0000f7dc b 0xf2ec                                      |         goto label_8;
                                                             | label_39:
    0x0000f7e0 cmp r0, 4                                     |         
    0x0000f7e4 beq 0xf674                                    |         
                                                             |     } while (r0 == 4);
    0x0000f7e8 cmp r0, 0                                     |     
                                                             |     if (r0 != 0) {
    0x0000f7ec bne 0x1011c                                   |         goto label_40;
                                                             |     }
    0x0000f7f0 ldr r1, [pc, 0x858]                           |     r1 = *(0x1004c);
    0x0000f7f4 mov r2, r8                                    |     r2 = r8;
    0x0000f7f8 add r1, pc, r1                                |     r1 = pc + r1;
    0x0000f7fc ldr r0, [r4, 0xd8]                            |     r0 = *((r4 + 0xd8));
    0x0000f800 bl 0x5658                                     |     sscanf (r0, r1, r2);
    0x0000f804 mov r8, 0xa                                   |     r8 = 0xa;
    0x0000f808 str r8, [r5, 0x180]                           |     *((r5 + 0x180)) = r8;
    0x0000f80c cmp r0, 0                                     |     
                                                             |     if (r0 != 0) {
    0x0000f810 bne 0xf6c4                                    |         goto label_9;
                                                             |     }
    0x0000f814 ldr r1, [r4, 0xd8]                            |     r1 = *((r4 + 0xd8));
    0x0000f818 ldr r0, [r4, 0x4a0]                           |     r0 = *((r4 + 0x4a0));
    0x0000f81c bl 0xbdd4                                     |     r0 = checkhttpprefix_isra_2 ();
    0x0000f820 cmp r0, 0                                     |     
                                                             |     if (r0 == 0) {
    0x0000f824 beq 0xfa14                                    |         goto label_45;
                                                             |     }
    0x0000f828 mov r3, 0xc8                                  |     r3 = 0xc8;
    0x0000f82c str r3, [r4, 0xe8]                            |     *((r4 + 0xe8)) = r3;
    0x0000f830 str r8, [r5, 0x180]                           |     *((r5 + 0x180)) = r8;
    0x0000f834 b 0xf6c4                                      |     goto label_9;
                                                             | label_38:
    0x0000f838 tst r3, 0x40000                               |     
                                                             |     if ((r3 & 0x40000) == 0) {
    0x0000f83c beq 0xfa14                                    |         goto label_45;
                                                             |     }
    0x0000f840 ldr r1, [pc, 0x80c]                           |     r1 = *(0x10050);
    0x0000f844 add r3, r4, 0xe8                              |     r3 = r4 + 0xe8;
    0x0000f848 str r3, [sp, 4]                               |     var_4h = r3;
    0x0000f84c add r3, sp, 0x34                              |     r3 += var_34h;
    0x0000f850 str r3, [sp]                                  |     *(sp) = r3;
    0x0000f854 add r2, sp, 0x38                              |     r2 += var_38h;
    0x0000f858 add r3, r5, 0x184                             |     r3 = r5 + 0x184;
    0x0000f85c add r1, pc, r1                                |     r1 = pc + r1;
    0x0000f860 bl 0x5658                                     |     r0 = sscanf (r0, r1, r2);
    0x0000f864 cmp r0, 4                                     |     
                                                             |     if (r0 != 4) {
    0x0000f868 bne 0xfa14                                    |         goto label_45;
                                                             |     }
    0x0000f86c ldrb r3, [sp, 0x34]                           |     r3 = var_34h;
    0x0000f870 cmp r3, 0x20                                  |     
                                                             |     if (r3 != 0x20) {
    0x0000f874 bne 0xfa14                                    |         goto label_45;
                                                             |     }
    0x0000f878 ldr r2, [r5, 0x184]                           |     r2 = *((r5 + 0x184));
    0x0000f87c ldr r0, [sp, 0x38]                            |     r0 = var_38h;
    0x0000f880 mov r1, 0xa                                   |     r1 = 0xa;
    0x0000f884 mla r3, r1, r0, r2                            |     __asm ("mla r3, r1, r0, r2");
    0x0000f888 str r3, [r5, 0x184]                           |     *((r5 + 0x184)) = r3;
    0x0000f88c mov r3, 0xb                                   |     r3 = 0xb;
    0x0000f890 str r3, [r5, 0x180]                           |     *((r5 + 0x180)) = r3;
    0x0000f894 b 0xf6c4                                      |     goto label_9;
                                                             | label_44:
    0x0000f898 ldr r1, [pc, 0x7b8]                           |     r1 = *(0x10054);
    0x0000f89c mov r3, 0                                     |     r3 = 0;
    0x0000f8a0 strb r3, [r6]                                 |     *(r6) = r3;
    0x0000f8a4 mov r2, r5                                    |     r2 = r5;
    0x0000f8a8 add r1, pc, r1                                |     r1 = pc + r1;
    0x0000f8ac mov r0, r4                                    |     r0 = r4;
    0x0000f8b0 bl 0x10544                                    |     Curl_failf ();
    0x0000f8b4 strb r7, [r6]                                 |     *(r6) = r7;
                                                             | label_30:
    0x0000f8b8 mov r6, 0x16                                  |     r6 = 0x16;
    0x0000f8bc b 0xf13c                                      |     goto label_2;
                                                             | label_41:
    0x0000f8c0 cmp r1, 0xa                                   |     
                                                             |     if (r1 != 0xa) {
    0x0000f8c4 bne 0xf9ac                                    |         goto label_46;
                                                             |     }
    0x0000f8c8 ldr r1, [pc, 0x78c]                           |     r1 = *(0x10058);
    0x0000f8cc mov r0, r4                                    |     r0 = r4;
    0x0000f8d0 add r1, pc, r1                                |     r1 = pc + r1;
    0x0000f8d4 bl 0x104cc                                    |     Curl_infof ();
    0x0000f8d8 mov r1, 1                                     |     r1 = 1;
    0x0000f8dc mov r0, r5                                    |     r0 = r5;
    0x0000f8e0 bl 0x1cb34                                    |     Curl_conncontrol ();
                                                             |     do {
                                                             | label_10:
    0x0000f8e4 ldr r3, [r4, 0xe8]                            |         r3 = *((r4 + 0xe8));
    0x0000f8e8 cmp r3, 0xcc                                  |         
                                                             |         if (r3 != 0xcc) {
    0x0000f8ec beq 0xf8f8                                    |             
    0x0000f8f0 cmp r3, 0x130                                 |             
                                                             |             if (r3 != 0x130) {
    0x0000f8f4 bne 0xf920                                    |                 goto label_37;
                                                             |             }
                                                             |         }
    0x0000f8f8 ldr r3, [r4, 0x3c8]                           |         r3 = *((r4 + 0x3c8));
    0x0000f8fc mov r2, 0                                     |         r2 = 0;
    0x0000f900 cmp r3, 0                                     |         
                                                             |         if (r3 == 0) {
    0x0000f904 movne r3, 1                                   |             r3 = 1;
                                                             |         }
                                                             |         if (r3 == 0) {
    0x0000f908 strbne r3, [fp, 0xa70]                        |             *(arg_a70h) = r3;
                                                             |         }
    0x0000f90c mov r3, 0                                     |         r3 = 0;
    0x0000f910 strd r2, r3, [r4, 0x70]                       |         __asm ("strd r2, r3, [r4, 0x70]");
    0x0000f914 strd r2, r3, [r4, 0x80]                       |         __asm ("strd r2, r3, [r4, 0x80]");
    0x0000f918 mov r3, 1                                     |         r3 = 1;
    0x0000f91c strb r3, [r4, 0x116]                          |         *((r4 + 0x116)) = r3;
                                                             | label_37:
    0x0000f920 ldrb r3, [r4, 0x116]                          |         r3 = *((r4 + 0x116));
    0x0000f924 cmp r3, 0                                     |         
                                                             |         if (r3 != 0) {
    0x0000f928 bne 0xfafc                                    |             goto label_47;
                                                             |         }
    0x0000f92c ldrb r8, [r4, 0x4ef]                          |         r8 = *((r4 + 0x4ef));
    0x0000f930 cmp r8, 0                                     |         
                                                             |         if (r8 != 0) {
    0x0000f934 bne 0xfafc                                    |             goto label_47;
                                                             |         }
    0x0000f938 ldr r0, [pc, 0x720]                           |         r0 = *(0x1005c);
    0x0000f93c mov r2, 0xf                                   |         r2 = 0xf;
    0x0000f940 ldr r1, [r4, 0xd8]                            |         r1 = *((r4 + 0xd8));
    0x0000f944 add r0, pc, r0                                |         r0 = pc + r0;
    0x0000f948 bl 0x5bd4                                     |         r0 = fcn_00005bd4 ();
    0x0000f94c cmp r0, 0                                     |         
                                                             |         if (r0 == 0) {
    0x0000f950 beq 0xfafc                                    |             goto label_47;
                                                             |         }
    0x0000f954 ldr r0, [r4, 0xd8]                            |         r0 = *((r4 + 0xd8));
    0x0000f958 add r3, sp, 0x38                              |         r3 += var_38h;
    0x0000f95c mov r2, 0xa                                   |         r2 = 0xa;
    0x0000f960 mov r1, r8                                    |         r1 = r8;
    0x0000f964 add r0, r0, 0xf                               |         r0 += 0xf;
    0x0000f968 bl 0x2188c                                    |         r0 = curlx_strtoofft ();
    0x0000f96c cmp r0, 0                                     |         
                                                             |         if (r0 != 0) {
    0x0000f970 bne 0xfaac                                    |             goto label_48;
                                                             |         }
    0x0000f974 add r3, r4, 0x4b0                             |         r3 = r4 + 0x4b0;
    0x0000f978 ldrd r0, r1, [r3, -8]                         |         __asm ("ldrd r0, r1, [r3, -8]");
    0x0000f97c ldrd r2, r3, [sp, 0x38]                       |         __asm ("ldrd r2, r3, [var_38h]");
    0x0000f980 orrs ip, r0, r1                               |         
                                                             |         if (ip == r0) {
    0x0000f984 beq 0xfa20                                    |             goto label_49;
                                                             |         }
    0x0000f988 cmp r0, r2                                    |         
    0x0000f98c sbcs r1, r1, r3                               |         __asm ("sbcs r1, r1, r3");
                                                             |         if (r0 >= r2) {
    0x0000f990 bge 0xfa20                                    |             goto label_49;
                                                             |         }
                                                             | label_13:
    0x0000f994 ldr r1, [pc, 0x6c8]                           |         r1 = *(0x10060);
    0x0000f998 mov r0, r4                                    |         r0 = r4;
    0x0000f99c add r1, pc, r1                                |         r1 = pc + r1;
    0x0000f9a0 bl 0x10544                                    |         Curl_failf ();
    0x0000f9a4 mov r6, 0x3f                                  |         r6 = 0x3f;
    0x0000f9a8 b 0xf13c                                      |         goto label_2;
                                                             | label_46:
    0x0000f9ac cmp r1, 0x14                                  |         
                                                             |         if (r1 != 0x14) {
    0x0000f9b0 beq 0xf9c4                                    |             
    0x0000f9b4 ldr r3, [r4, 0xf8]                            |             r3 = *((r4 + 0xf8));
    0x0000f9b8 cmp r3, 1                                     |             
    0x0000f9bc cmpeq r8, 0x65                                |             __asm ("cmpeq r8, 0x65");
                                                             |             if (r3 != 1) {
    0x0000f9c0 bne 0xf9d4                                    |                 goto label_50;
                                                             |             }
                                                             |         }
    0x0000f9c4 ldr r3, [r5, 0x500]                           |         r3 = *((r5 + 0x500));
    0x0000f9c8 mov r2, 2                                     |         r2 = 2;
                                                             | label_11:
    0x0000f9cc str r2, [r3]                                  |         *(r3) = r2;
    0x0000f9d0 b 0xf8e4                                      |         
                                                             |     } while (1);
                                                             | label_50:
    0x0000f9d4 cmp r1, 0xa                                   |     
                                                             |     if (r1 <= 0xa) {
    0x0000f9d8 ble 0xf8e4                                    |         goto label_10;
                                                             |     }
    0x0000f9dc ldrb r3, [r5, 0x251]                          |     r3 = *((r5 + 0x251));
    0x0000f9e0 cmp r3, 0                                     |     
                                                             |     if (r3 != 0) {
    0x0000f9e4 bne 0xf8e4                                    |         goto label_10;
                                                             |     }
    0x0000f9e8 ldr r3, [r5, 0x500]                           |     r3 = *((r5 + 0x500));
    0x0000f9ec cmp r3, 0                                     |     
                                                             |     if (r3 == 0) {
    0x0000f9f0 beq 0xf8e4                                    |         goto label_10;
                                                             |     }
    0x0000f9f4 mov r1, r5                                    |     r1 = r5;
    0x0000f9f8 mov r0, r4                                    |     r0 = r4;
    0x0000f9fc bl 0x29094                                    |     r0 = Curl_pipeline_site_blacklisted ();
    0x0000fa00 cmp r0, 0                                     |     
                                                             |     if (r0 != 0) {
    0x0000fa04 bne 0xf8e4                                    |         goto label_10;
                                                             |     }
    0x0000fa08 ldr r3, [r5, 0x500]                           |     r3 = *((r5 + 0x500));
    0x0000fa0c mov r2, 1                                     |     r2 = 1;
    0x0000fa10 b 0xf9cc                                      |     goto label_11;
                                                             | label_45:
    0x0000fa14 mov r3, 0                                     |     r3 = 0;
    0x0000fa18 strb r3, [r4, 0xb8]                           |     *((r4 + 0xb8)) = r3;
    0x0000fa1c b 0xf13c                                      |     goto label_2;
                                                             | label_49:
    0x0000fa20 strd r2, r3, [r4, 0x70]                       |     __asm ("strd r2, r3, [r4, 0x70]");
    0x0000fa24 strd r2, r3, [r4, 0x80]                       |     __asm ("strd r2, r3, [r4, 0x80]");
    0x0000fa28 mov r0, r4                                    |     r0 = r4;
    0x0000fa2c bl 0x8294                                     |     Curl_pgrsSetDownloadSize ();
                                                             | label_14:
    0x0000fa30 ldrb r3, [r4, 0x4cd]                          |     r3 = *((r4 + 0x4cd));
    0x0000fa34 cmp r3, 0                                     |     
    0x0000fa38 ldrb r3, [r4, 0x4d8]                          |     r3 = *((r4 + 0x4d8));
                                                             |     if (r3 == 0) {
    0x0000fa3c movne r8, 3                                   |         r8 = 3;
                                                             |     }
                                                             |     if (r3 != 0) {
    0x0000fa40 moveq r8, 2                                   |         r8 = 2;
                                                             |     }
    0x0000fa44 cmp r3, 0                                     |     
                                                             |     if (r3 != 0) {
    0x0000fa48 beq 0xfa60                                    |         
    0x0000fa4c ldr r3, [r4, 0xc8]                            |         r3 = *((r4 + 0xc8));
    0x0000fa50 ldr r2, [r4, 0xd8]                            |         r2 = *((r4 + 0xd8));
    0x0000fa54 mov r1, 1                                     |         r1 = 1;
    0x0000fa58 mov r0, r4                                    |         r0 = r4;
    0x0000fa5c bl 0x10424                                    |         Curl_debug ();
                                                             |     }
    0x0000fa60 ldr r3, [r4, 0xc8]                            |     r3 = *((r4 + 0xc8));
    0x0000fa64 ldr r2, [r4, 0xd8]                            |     r2 = *((r4 + 0xd8));
    0x0000fa68 mov r1, r8                                    |     r1 = r8;
    0x0000fa6c mov r0, r5                                    |     r0 = r5;
    0x0000fa70 bl 0x107cc                                    |     r0 = Curl_client_write ();
    0x0000fa74 cmp r0, 0                                     |     
                                                             |     if (r0 != 0) {
    0x0000fa78 bne 0xfd50                                    |         goto label_31;
                                                             |     }
    0x0000fa7c add r3, r4, 0x4000                            |     r3 = r4 + 0x4000;
    0x0000fa80 ldr r2, [r3, 0xa74]                           |     r2 = *((r3 + 0xa74));
    0x0000fa84 ldr r1, [r4, 0xc8]                            |     r1 = *((r4 + 0xc8));
    0x0000fa88 add r2, r2, r1                                |     r2 += r1;
    0x0000fa8c str r2, [r3, 0xa74]                           |     *((r3 + 0xa74)) = r2;
    0x0000fa90 ldr r3, [r4, 0xa0]                            |     r3 = *((r4 + 0xa0));
    0x0000fa94 str r0, [r4, 0xc8]                            |     *((r4 + 0xc8)) = r0;
    0x0000fa98 add r3, r3, r1                                |     r3 += r1;
    0x0000fa9c str r3, [r4, 0xa0]                            |     *((r4 + 0xa0)) = r3;
    0x0000faa0 ldr r3, [r4, 0x7c4]                           |     r3 = *((r4 + 0x7c4));
    0x0000faa4 str r3, [r4, 0xc4]                            |     *((r4 + 0xc4)) = r3;
    0x0000faa8 b 0xf5dc                                      |     goto label_12;
                                                             | label_48:
    0x0000faac cmp r0, 1                                     |     
                                                             |     if (r0 != 1) {
    0x0000fab0 bne 0xfae4                                    |         goto label_51;
                                                             |     }
    0x0000fab4 add r3, r4, 0x4b0                             |     r3 = r4 + 0x4b0;
    0x0000fab8 ldrd r2, r3, [r3, -8]                         |     __asm ("ldrd r2, r3, [r3, -8]");
    0x0000fabc orrs r3, r2, r3                               |     r3 = r2 | r3;
                                                             |     if (r3 != r2) {
    0x0000fac0 bne 0xf994                                    |         goto label_13;
                                                             |     }
    0x0000fac4 mov r1, 2                                     |     r1 = 2;
    0x0000fac8 mov r0, r5                                    |     r0 = r5;
    0x0000facc bl 0x1cb34                                    |     Curl_conncontrol ();
    0x0000fad0 ldr r1, [pc, 0x590]                           |     r1 = *(0x10064);
    0x0000fad4 add r1, pc, r1                                |     r1 = pc + r1;
                                                             | label_16:
    0x0000fad8 mov r0, r4                                    |     r0 = r4;
    0x0000fadc bl 0x104cc                                    |     Curl_infof ();
    0x0000fae0 b 0xfa30                                      |     goto label_14;
                                                             | label_51:
    0x0000fae4 ldr r1, [pc, 0x580]                           |     r1 = *(0x10068);
    0x0000fae8 mov r0, r4                                    |     r0 = r4;
    0x0000faec add r1, pc, r1                                |     r1 = pc + r1;
    0x0000faf0 bl 0x10544                                    |     Curl_failf ();
    0x0000faf4 mov r6, 8                                     |     r6 = 8;
    0x0000faf8 b 0xf13c                                      |     goto label_2;
                                                             | label_47:
    0x0000fafc mov r2, 0xd                                   |     r2 = 0xd;
    0x0000fb00 ldr r1, [r4, 0xd8]                            |     r1 = *((r4 + 0xd8));
    0x0000fb04 ldr r0, [sp, 0x20]                            |     r0 = var_20h;
    0x0000fb08 bl 0x5bd4                                     |     r0 = fcn_00005bd4 ();
    0x0000fb0c cmp r0, 0                                     |     
                                                             |     if (r0 != 0) {
    0x0000fb10 beq 0xfb60                                    |         
    0x0000fb14 ldr r0, [r4, 0xd8]                            |         r0 = *((r4 + 0xd8));
    0x0000fb18 bl 0xc1ec                                     |         r0 = Curl_copy_header_value ();
    0x0000fb1c subs fp, r0, 0                                |         
                                                             |         if (fp == r0) {
    0x0000fb20 bne 0xfb2c                                    |             
                                                             | label_19:
    0x0000fb24 mov r6, 0x1b                                  |             r6 = 0x1b;
    0x0000fb28 b 0xf13c                                      |             goto label_2;
                                                             |         }
    0x0000fb2c ldr r3, [pc, 0x53c]                           |         
    0x0000fb30 ldrb r2, [fp]                                 |         r2 = *(fp);
    0x0000fb34 ldr r3, [r7, r3]                              |         r3 = *((r7 + r3));
    0x0000fb38 cmp r2, 0                                     |         
    0x0000fb3c ldr r3, [r3]                                  |         r3 = *(0x1006c);
                                                             |         if (r2 == 0) {
    0x0000fb40 bne 0xfb4c                                    |             
                                                             | label_15:
    0x0000fb44 blx r3                                        |             uint32_t (*r3)() ();
    0x0000fb48 b 0xfa30                                      |             goto label_14;
                                                             |         }
    0x0000fb4c add r8, r4, 0x4000                            |         r8 = r4 + 0x4000;
    0x0000fb50 ldr r0, [r8, 0xa88]                           |         r0 = *((r8 + 0xa88));
    0x0000fb54 blx r3                                        |         uint32_t (*r3)(uint32_t) (r0);
    0x0000fb58 str fp, [r8, 0xa88]                           |         *((r8 + 0xa88)) = fp;
    0x0000fb5c b 0xfa30                                      |         goto label_14;
                                                             |     }
    0x0000fb60 mov r2, 7                                     |     r2 = 7;
    0x0000fb64 ldr r1, [r4, 0xd8]                            |     r1 = *((r4 + 0xd8));
    0x0000fb68 ldr r0, [sp, 0x24]                            |     r0 = var_24h;
    0x0000fb6c bl 0x5bd4                                     |     fcn_00005bd4 ();
    0x0000fb70 ldr r3, [r5, 0x180]                           |     r3 = *((r5 + 0x180));
    0x0000fb74 subs r8, r0, 0                                |     r8 = r0 - 0;
                                                             |     if (r8 == r0) {
    0x0000fb78 beq 0xfbd8                                    |         goto label_52;
                                                             |     }
    0x0000fb7c cmp r3, 0x13                                  |     
                                                             |     if (r3 > 0x13) {
    0x0000fb80 bgt 0xfa30                                    |         goto label_14;
                                                             |     }
    0x0000fb84 ldr r0, [r4, 0xd8]                            |     r0 = *((r4 + 0xd8));
    0x0000fb88 bl 0xc1ec                                     |     Curl_copy_header_value ();
    0x0000fb8c ldr r3, [r5, 0x500]                           |     r3 = *((r5 + 0x500));
    0x0000fb90 cmp r3, 0                                     |     
    0x0000fb94 mov r8, r0                                    |     r8 = r0;
                                                             |     if (r3 != 0) {
    0x0000fb98 beq 0xfbc4                                    |         
    0x0000fb9c ldr r3, [r3]                                  |         r3 = *(r3);
    0x0000fba0 cmp r3, 1                                     |         
                                                             |         if (r3 != 1) {
    0x0000fba4 bne 0xfbc4                                    |             goto label_53;
                                                             |         }
    0x0000fba8 mov r1, r0                                    |         r1 = r0;
    0x0000fbac mov r0, r4                                    |         r0 = r4;
    0x0000fbb0 bl 0x29218                                    |         r0 = Curl_pipeline_server_blacklisted ();
    0x0000fbb4 cmp r0, 0                                     |         
                                                             |         if (r0 == 0) {
    0x0000fbb8 ldrne r3, [r5, 0x500]                         |             r3 = *((r5 + 0x500));
                                                             |         }
                                                             |         if (r0 == 0) {
    0x0000fbbc mvnne r2, 0                                   |             r2 = ~0;
                                                             |         }
                                                             |         if (r0 != 0) {
    0x0000fbc0 strne r2, [r3]                                |             *(r3) = r2;
                                                             |             goto label_53;
                                                             |         }
                                                             |     }
                                                             | label_53:
    0x0000fbc4 ldr r3, [pc, 0x4a4]                           |     
    0x0000fbc8 mov r0, r8                                    |     r0 = r8;
    0x0000fbcc ldr r3, [r7, r3]                              |     r3 = *((r7 + r3));
    0x0000fbd0 ldr r3, [r3]                                  |     r3 = *(0x1006c);
    0x0000fbd4 b 0xfb44                                      |     goto label_15;
                                                             | label_52:
    0x0000fbd8 cmp r3, 0xa                                   |     
                                                             |     if (r3 == 0xa) {
    0x0000fbdc bne 0xfc24                                    |         
    0x0000fbe0 ldrb r3, [r5, 0x256]                          |         r3 = *((r5 + 0x256));
    0x0000fbe4 cmp r3, 0                                     |         
                                                             |         if (r3 == 0) {
    0x0000fbe8 beq 0xfc24                                    |             goto label_54;
                                                             |         }
    0x0000fbec ldr r2, [pc, 0x480]                           |         r2 = *(0x10070);
    0x0000fbf0 ldr r1, [pc, 0x480]                           |         r1 = *(0x10074);
    0x0000fbf4 add r2, pc, r2                                |         r2 = pc + r2;
    0x0000fbf8 add r1, pc, r1                                |         r1 = pc + r1;
    0x0000fbfc ldr r0, [r4, 0xd8]                            |         r0 = *((r4 + 0xd8));
    0x0000fc00 bl 0xcf18                                     |         r0 = Curl_compareheader ();
    0x0000fc04 cmp r0, 0                                     |         
                                                             |         if (r0 == 0) {
    0x0000fc08 beq 0xfc24                                    |             goto label_54;
                                                             |         }
    0x0000fc0c mov r1, r8                                    |         r1 = r8;
    0x0000fc10 mov r0, r5                                    |         r0 = r5;
    0x0000fc14 bl 0x1cb34                                    |         Curl_conncontrol ();
    0x0000fc18 ldr r1, [pc, 0x45c]                           |         r1 = "___error:__s";
    0x0000fc1c add r1, pc, r1                                |         r1 = pc + r1;
    0x0000fc20 b 0xfad8                                      |         goto label_16;
                                                             |     }
                                                             | label_54:
    0x0000fc24 ldr r3, [r5, 0x180]                           |     r3 = *((r5 + 0x180));
    0x0000fc28 cmp r3, 0xb                                   |     
                                                             |     if (r3 == 0xb) {
    0x0000fc2c bne 0xfc74                                    |         
    0x0000fc30 ldrb r3, [r5, 0x256]                          |         r3 = *((r5 + 0x256));
    0x0000fc34 cmp r3, 0                                     |         
                                                             |         if (r3 == 0) {
    0x0000fc38 beq 0xfc74                                    |             goto label_55;
                                                             |         }
    0x0000fc3c ldr r2, [pc, 0x43c]                           |         r2 = *(0x1007c);
    0x0000fc40 ldr r1, [pc, 0x43c]                           |         r1 = *(0x10080);
    0x0000fc44 add r2, pc, r2                                |         r2 = pc + r2;
    0x0000fc48 add r1, pc, r1                                |         r1 = pc + r1;
    0x0000fc4c ldr r0, [r4, 0xd8]                            |         r0 = *((r4 + 0xd8));
    0x0000fc50 bl 0xcf18                                     |         r0 = Curl_compareheader ();
    0x0000fc54 cmp r0, 0                                     |         
                                                             |         if (r0 == 0) {
    0x0000fc58 beq 0xfc74                                    |             goto label_55;
                                                             |         }
    0x0000fc5c mov r1, 1                                     |         r1 = 1;
    0x0000fc60 mov r0, r5                                    |         r0 = r5;
    0x0000fc64 bl 0x1cb34                                    |         Curl_conncontrol ();
    0x0000fc68 ldr r1, [pc, 0x418]                           |         r1 = *(0x10084);
    0x0000fc6c add r1, pc, r1                                |         r1 = pc + r1;
    0x0000fc70 b 0xfad8                                      |         goto label_16;
                                                             |     }
                                                             | label_55:
    0x0000fc74 ldr r3, [r5, 0x180]                           |     r3 = *((r5 + 0x180));
    0x0000fc78 cmp r3, 0xa                                   |     
                                                             |     if (r3 == 0xa) {
    0x0000fc7c bne 0xfcb8                                    |         
    0x0000fc80 ldr r2, [pc, 0x404]                           |         r2 = *(0x10088);
    0x0000fc84 ldr r1, [pc, 0x404]                           |         r1 = *(0x1008c);
    0x0000fc88 add r2, pc, r2                                |         r2 = pc + r2;
    0x0000fc8c add r1, pc, r1                                |         r1 = pc + r1;
    0x0000fc90 ldr r0, [r4, 0xd8]                            |         r0 = *((r4 + 0xd8));
    0x0000fc94 bl 0xcf18                                     |         r0 = Curl_compareheader ();
    0x0000fc98 cmp r0, 0                                     |         
                                                             |         if (r0 == 0) {
    0x0000fc9c beq 0xfcb8                                    |             goto label_56;
                                                             |         }
    0x0000fca0 mov r1, 0                                     |         r1 = 0;
    0x0000fca4 mov r0, r5                                    |         r0 = r5;
    0x0000fca8 bl 0x1cb34                                    |         Curl_conncontrol ();
    0x0000fcac ldr r1, [pc, 0x3e0]                           |         r1 = *(0x10090);
    0x0000fcb0 add r1, pc, r1                                |         r1 = pc + r1;
    0x0000fcb4 b 0xfad8                                      |         goto label_16;
                                                             |     }
                                                             | label_56:
    0x0000fcb8 ldr r1, [pc, 0x3d8]                           |     r1 = *(0x10094);
    0x0000fcbc ldr r2, [sp, 0x28]                            |     r2 = var_28h;
    0x0000fcc0 add r1, pc, r1                                |     r1 = pc + r1;
    0x0000fcc4 ldr r0, [r4, 0xd8]                            |     r0 = *((r4 + 0xd8));
    0x0000fcc8 bl 0xcf18                                     |     r0 = Curl_compareheader ();
    0x0000fccc cmp r0, 0                                     |     
                                                             |     if (r0 != 0) {
    0x0000fcd0 beq 0xfce4                                    |         
    0x0000fcd4 mov r1, 2                                     |         r1 = 2;
    0x0000fcd8 mov r0, r5                                    |         r0 = r5;
    0x0000fcdc bl 0x1cb34                                    |         Curl_conncontrol ();
    0x0000fce0 b 0xfa30                                      |         goto label_14;
                                                             |     }
    0x0000fce4 ldr r0, [pc, 0x3b0]                           |     r0 = *(0x10098);
    0x0000fce8 ldr r1, [r4, 0xd8]                            |     r1 = *((r4 + 0xd8));
    0x0000fcec mov r2, 0x12                                  |     r2 = 0x12;
    0x0000fcf0 add r0, pc, r0                                |     r0 = pc + r0;
    0x0000fcf4 bl 0x5bd4                                     |     r0 = fcn_00005bd4 ();
    0x0000fcf8 subs r8, r0, 0                                |     r8 = r0 - 0;
                                                             |     if (r8 == r0) {
    0x0000fcfc ldrne r1, [r4, 0xd8]                          |         r1 = *((r4 + 0xd8));
                                                             |     }
                                                             |     if (r8 == r0) {
    0x0000fd00 movne r2, 1                                   |         r2 = 1;
                                                             |     }
                                                             |     if (r8 == r0) {
    0x0000fd04 addne r1, r1, 0x12                            |         r1 += 0x12;
                                                             |     }
                                                             |     if (r8 == r0) {
    0x0000fd08 bne 0xfd40                                    |         
    0x0000fd0c ldr r0, [pc, 0x38c]                           |         r0 = *(0x1009c);
    0x0000fd10 mov r2, 0x11                                  |         r2 = 0x11;
    0x0000fd14 ldr r1, [r4, 0xd8]                            |         r1 = *((r4 + 0xd8));
    0x0000fd18 add r0, pc, r0                                |         r0 = pc + r0;
    0x0000fd1c bl 0x5bd4                                     |         r0 = fcn_00005bd4 ();
    0x0000fd20 cmp r0, 0                                     |         
                                                             |         if (r0 == 0) {
    0x0000fd24 beq 0xfd58                                    |             goto label_57;
                                                             |         }
    0x0000fd28 ldr r3, [r4, 0x52c]                           |         r3 = *((r4 + 0x52c));
    0x0000fd2c cmp r3, 0                                     |         
                                                             |         if (r3 == 0) {
    0x0000fd30 beq 0xfd58                                    |             goto label_57;
                                                             |         }
    0x0000fd34 ldr r1, [r4, 0xd8]                            |         r1 = *((r4 + 0xd8));
    0x0000fd38 mov r2, r8                                    |         r2 = r8;
    0x0000fd3c add r1, r1, 0x11                              |         r1 += 0x11;
                                                             |     }
    0x0000fd40 mov r0, r5                                    |     r0 = r5;
    0x0000fd44 bl 0x20f2c                                    |     r0 = Curl_build_unencoding_stack ();
                                                             | label_21:
    0x0000fd48 cmp r0, 0                                     |     
                                                             |     if (r0 == 0) {
    0x0000fd4c beq 0xfa30                                    |         goto label_14;
                                                             |     }
                                                             | label_31:
    0x0000fd50 mov r6, r0                                    |     r6 = r0;
    0x0000fd54 b 0xf13c                                      |     goto label_2;
                                                             | label_57:
    0x0000fd58 ldr r0, [pc, 0x344]                           |     r0 = *(0x100a0);
    0x0000fd5c mov r2, 0xe                                   |     r2 = 0xe;
    0x0000fd60 ldr r1, [r4, 0xd8]                            |     r1 = *((r4 + 0xd8));
    0x0000fd64 add r0, pc, r0                                |     r0 = pc + r0;
    0x0000fd68 bl 0x5bd4                                     |     r0 = fcn_00005bd4 ();
    0x0000fd6c cmp r0, 0                                     |     
                                                             |     if (r0 == 0) {
    0x0000fd70 beq 0xfe08                                    |         goto label_58;
                                                             |     }
    0x0000fd74 ldr fp, [r4, 0xd8]                            |     fp = *((r4 + 0xd8));
    0x0000fd78 add fp, fp, 0xe                               |     
                                                             | label_18:
    0x0000fd7c mov r8, fp                                    |     r8 = fp;
    0x0000fd80 ldrb r0, [fp], 1                              |     r0 = *(fp);
                                                             |     fp++;
    0x0000fd84 cmp r0, 0                                     |     
                                                             |     if (r0 != 0) {
    0x0000fd88 bne 0xfdd8                                    |         goto label_59;
                                                             |     }
                                                             | label_17:
    0x0000fd8c ldrb r0, [r8]                                 |     r0 = *(r8);
    0x0000fd90 bl 0x2f8c0                                    |     r0 = Curl_isdigit ();
    0x0000fd94 cmp r0, 0                                     |     
                                                             |     if (r0 == 0) {
    0x0000fd98 beq 0xfdf4                                    |         goto label_60;
                                                             |     }
    0x0000fd9c add r3, r4, 0xe0                              |     r3 = r4 + 0xe0;
    0x0000fda0 mov r2, 0xa                                   |     r2 = 0xa;
    0x0000fda4 mov r1, 0                                     |     r1 = 0;
    0x0000fda8 mov r0, r8                                    |     r0 = r8;
    0x0000fdac bl 0x2188c                                    |     r0 = curlx_strtoofft ();
    0x0000fdb0 cmp r0, 0                                     |     
                                                             |     if (r0 != 0) {
    0x0000fdb4 bne 0xfa30                                    |         goto label_14;
                                                             |     }
    0x0000fdb8 add r3, r4, 0x4a00                            |     r3 = r4 + 0x4a00;
    0x0000fdbc ldrd r0, r1, [r3, -8]                         |     __asm ("ldrd r0, r1, [r3, -8]");
    0x0000fdc0 ldrd r2, r3, [r4, 0xe0]                       |     __asm ("ldrd r2, r3, [r4, 0xe0]");
    0x0000fdc4 cmp r1, r3                                    |     
    0x0000fdc8 cmpeq r0, r2                                  |     __asm ("cmpeq r0, r2");
                                                             |     if (r1 != r3) {
    0x0000fdcc moveq r3, 1                                   |         r3 = 1;
                                                             |     }
                                                             |     if (r1 != r3) {
    0x0000fdd0 strbeq r3, [r4, 0xdc]                         |         *((r4 + 0xdc)) = r3;
                                                             |     }
    0x0000fdd4 b 0xfa30                                      |     goto label_14;
                                                             | label_59:
    0x0000fdd8 bl 0x2f8c0                                    |     r0 = Curl_isdigit ();
    0x0000fddc cmp r0, 0                                     |     
                                                             |     if (r0 != 0) {
    0x0000fde0 bne 0xfd8c                                    |         goto label_17;
                                                             |     }
    0x0000fde4 ldrb r3, [fp, -1]                             |     r3 = var_1h;
    0x0000fde8 cmp r3, 0x2a                                  |     
                                                             |     if (r3 != 0x2a) {
    0x0000fdec bne 0xfd7c                                    |         goto label_18;
                                                             |     }
    0x0000fdf0 b 0xfd8c                                      |     goto label_17;
                                                             | label_60:
    0x0000fdf4 add r3, r4, 0x4a00                            |     r3 = r4 + 0x4a00;
    0x0000fdf8 mov r0, 0                                     |     r0 = 0;
    0x0000fdfc mov r1, 0                                     |     r1 = 0;
    0x0000fe00 strd r0, r1, [r3, -8]                         |     __asm ("strd r0, r1, [r3, -8]");
    0x0000fe04 b 0xfa30                                      |     goto label_14;
                                                             | label_58:
    0x0000fe08 ldr r3, [r4, 0x690]                           |     r3 = *((r4 + 0x690));
    0x0000fe0c cmp r3, 0                                     |     
                                                             |     if (r3 != 0) {
    0x0000fe10 beq 0xfe8c                                    |         
    0x0000fe14 ldr r0, [pc, 0x28c]                           |         r0 = *(0x100a4);
    0x0000fe18 mov r2, 0xb                                   |         r2 = 0xb;
    0x0000fe1c ldr r1, [r4, 0xd8]                            |         r1 = *((r4 + 0xd8));
    0x0000fe20 add r0, pc, r0                                |         r0 = pc + r0;
    0x0000fe24 bl 0x5bd4                                     |         r0 = fcn_00005bd4 ();
    0x0000fe28 cmp r0, 0                                     |         
                                                             |         if (r0 == 0) {
    0x0000fe2c beq 0xfe8c                                    |             goto label_61;
                                                             |         }
    0x0000fe30 mov r2, 2                                     |         r2 = 2;
    0x0000fe34 mov r1, r2                                    |         r1 = r2;
    0x0000fe38 mov r0, r4                                    |         r0 = r4;
    0x0000fe3c bl 0x21464                                    |         Curl_share_lock ();
    0x0000fe40 ldr r2, [r5, 0x2b4]                           |         r2 = *((r5 + 0x2b4));
    0x0000fe44 ldr r3, [r4, 0xd8]                            |         r3 = *((r4 + 0xd8));
    0x0000fe48 cmp r2, 0                                     |         
    0x0000fe4c add r0, r4, 0x4000                            |         r0 = r4 + 0x4000;
                                                             |         if (r2 != 0) {
    0x0000fe50 ldreq r2, [r5, 0xa0]                          |             r2 = *((r5 + 0xa0));
                                                             |         }
    0x0000fe54 ldr r0, [r0, 0x9ec]                           |         r0 = *((r0 + 0x9ec));
    0x0000fe58 add r3, r3, 0xb                               |         r3 += 0xb;
    0x0000fe5c ldr r1, [r4, 0x690]                           |         r1 = *((r4 + 0x690));
    0x0000fe60 str r0, [sp, 8]                               |         var_8h = r0;
    0x0000fe64 str r2, [sp, 4]                               |         var_4h = r2;
    0x0000fe68 str r3, [sp]                                  |         *(sp) = r3;
    0x0000fe6c mov r2, 1                                     |         r2 = 1;
    0x0000fe70 mov r3, 0                                     |         r3 = 0;
    0x0000fe74 mov r0, r4                                    |         r0 = r4;
    0x0000fe78 bl 0x9f7c                                     |         Curl_cookie_add ();
    0x0000fe7c mov r1, 2                                     |         r1 = 2;
    0x0000fe80 mov r0, r4                                    |         r0 = r4;
    0x0000fe84 bl 0x214ac                                    |         Curl_share_unlock ();
    0x0000fe88 b 0xfa30                                      |         goto label_14;
                                                             |     }
                                                             | label_61:
    0x0000fe8c ldr r0, [pc, 0x218]                           |     r0 = *(0x100a8);
    0x0000fe90 mov r2, 0xe                                   |     r2 = 0xe;
    0x0000fe94 ldr r1, [r4, 0xd8]                            |     r1 = *((r4 + 0xd8));
    0x0000fe98 add r0, pc, r0                                |     r0 = pc + r0;
    0x0000fe9c bl 0x5bd4                                     |     r0 = fcn_00005bd4 ();
    0x0000fea0 cmp r0, 0                                     |     
                                                             |     if (r0 != 0) {
    0x0000fea4 beq 0xfef4                                    |         
    0x0000fea8 ldr r3, [r4, 0x3c8]                           |         r3 = *((r4 + 0x3c8));
    0x0000feac cmp r3, 0                                     |         
                                                             |         if (r3 == 0) {
    0x0000feb0 bne 0xfec0                                    |             
    0x0000feb4 ldrb r3, [r4, 0x4c1]                          |             r3 = *((r4 + 0x4c1));
    0x0000feb8 cmp r3, 0                                     |             
                                                             |             if (r3 == 0) {
    0x0000febc beq 0xfef4                                    |                 goto label_62;
                                                             |             }
                                                             |         }
    0x0000fec0 mov r0, 0                                     |         r0 = 0;
    0x0000fec4 bl 0x5544                                     |         time (r0);
    0x0000fec8 add r1, sp, 0x40                              |         r1 += var_40h;
    0x0000fecc str r0, [r1, -8]!                             |         *((r1 -= 8)) = r0;
    0x0000fed0 ldr r0, [r4, 0xd8]                            |         r0 = *((r4 + 0xd8));
    0x0000fed4 add r0, r0, 0xe                               |         r0 += 0xe;
    0x0000fed8 bl 0x5a60                                     |         fcn_00005a60 ();
    0x0000fedc ldrb r3, [r4, 0x4c1]                          |         r3 = *((r4 + 0x4c1));
    0x0000fee0 cmp r3, 0                                     |         
                                                             |         if (r3 == 0) {
    0x0000fee4 addne r3, r4, 0x4000                          |             r3 = r4 + 0x4000;
                                                             |         }
    0x0000fee8 str r0, [r4, 0x100]                           |         *((r4 + 0x100)) = r0;
                                                             |         if (r3 == 0) {
    0x0000feec strne r0, [r3, 0xa6c]                         |             *((r3 + 0xa6c)) = r0;
                                                             |         }
    0x0000fef0 b 0xfa30                                      |         goto label_14;
                                                             |     }
                                                             | label_62:
    0x0000fef4 ldr r0, [pc, 0x1b4]                           |     r0 = *(0x100ac);
    0x0000fef8 mov r2, 0x11                                  |     r2 = 0x11;
    0x0000fefc ldr r1, [r4, 0xd8]                            |     r1 = *((r4 + 0xd8));
    0x0000ff00 add r0, pc, r0                                |     r0 = pc + r0;
    0x0000ff04 bl 0x5bd4                                     |     r0 = fcn_00005bd4 ();
    0x0000ff08 cmp r0, 0                                     |     
                                                             |     if (r0 == 0) {
    0x0000ff0c beq 0xff7c                                    |         goto label_63;
                                                             |     }
    0x0000ff10 ldr r2, [r4, 0xe8]                            |     r2 = *((r4 + 0xe8));
    0x0000ff14 ldr r3, [pc, 0xfc]                            |     r3 = *(0x10014);
    0x0000ff18 cmp r2, r3                                    |     
                                                             |     if (r2 != r3) {
    0x0000ff1c bne 0xff7c                                    |         goto label_63;
                                                             |     }
                                                             | label_20:
    0x0000ff20 ldr fp, [r4, 0xe8]                            |     fp = *((r4 + 0xe8));
    0x0000ff24 ldr r1, [pc, 0xf0]                            |     r1 = *(0x10018);
    0x0000ff28 ldr r0, [r4, 0xd8]                            |     r0 = *((r4 + 0xd8));
    0x0000ff2c sub fp, fp, r1                                |     
    0x0000ff30 bl 0xc1ec                                     |     Curl_copy_header_value ();
    0x0000ff34 clz fp, fp                                    |     
    0x0000ff38 lsr fp, fp, 5                                 |     
    0x0000ff3c subs r8, r0, 0                                |     r8 = r0 - 0;
                                                             |     if (r8 == r0) {
    0x0000ff40 beq 0xfb24                                    |         goto label_19;
                                                             |     }
    0x0000ff44 mov r1, fp                                    |     r1 = fp;
    0x0000ff48 mov r2, r8                                    |     r2 = r8;
    0x0000ff4c mov r0, r5                                    |     r0 = r5;
    0x0000ff50 bl 0xc61c                                     |     Curl_http_input_auth ();
    0x0000ff54 ldr r3, [pc, 0x114]                           |     
    0x0000ff58 ldr r3, [r7, r3]                              |     r3 = *((r7 + r3));
    0x0000ff5c ldr r3, [r3]                                  |     r3 = *(0x1006c);
    0x0000ff60 mov fp, r0                                    |     
    0x0000ff64 mov r0, r8                                    |     r0 = r8;
    0x0000ff68 blx r3                                        |     uint32_t (*r3)(uint32_t, uint32_t) (r0, r3);
    0x0000ff6c cmp fp, 0                                     |     
                                                             |     if (fp == 0) {
    0x0000ff70 beq 0xfa30                                    |         goto label_14;
                                                             |     }
    0x0000ff74 mov r6, fp                                    |     r6 = fp;
    0x0000ff78 b 0xf13c                                      |     goto label_2;
                                                             | label_63:
    0x0000ff7c ldr r0, [pc, 0x130]                           |     r0 = *(0x100b0);
    0x0000ff80 mov r2, 0x13                                  |     r2 = 0x13;
    0x0000ff84 ldr r1, [r4, 0xd8]                            |     r1 = *((r4 + 0xd8));
    0x0000ff88 add r0, pc, r0                                |     r0 = pc + r0;
    0x0000ff8c bl 0x5bd4                                     |     fcn_00005bd4 ();
    0x0000ff90 ldr r3, [r4, 0xe8]                            |     r3 = *((r4 + 0xe8));
    0x0000ff94 cmp r0, 0                                     |     
                                                             |     if (r0 == 0) {
    0x0000ff98 beq 0xffa8                                    |         goto label_64;
                                                             |     }
    0x0000ff9c ldr r2, [pc, 0x78]                            |     r2 = *(0x10018);
    0x0000ffa0 cmp r3, r2                                    |     
                                                             |     if (r3 == r2) {
    0x0000ffa4 beq 0xff20                                    |         goto label_20;
                                                             |     }
                                                             | label_64:
    0x0000ffa8 sub r3, r3, 0x12c                             |     r3 -= 0x12c;
    0x0000ffac cmp r3, 0x63                                  |     
                                                             |     if (r3 > 0x63) {
    0x0000ffb0 bhi 0x100fc                                   |         goto label_65;
                                                             |     }
    0x0000ffb4 ldr r0, [pc, 0xfc]                            |     r0 = *(0x100b4);
    0x0000ffb8 mov r2, 9                                     |     r2 = 9;
    0x0000ffbc ldr r1, [r4, 0xd8]                            |     r1 = *((r4 + 0xd8));
    0x0000ffc0 add r0, pc, r0                                |     r0 = pc + r0;
    0x0000ffc4 bl 0x5bd4                                     |     r0 = fcn_00005bd4 ();
    0x0000ffc8 cmp r0, 0                                     |     
                                                             |     if (r0 == 0) {
    0x0000ffcc beq 0x100fc                                   |         goto label_65;
                                                             |     }
    0x0000ffd0 ldr r3, [r4, 0x118]                           |     r3 = *((r4 + 0x118));
    0x0000ffd4 cmp r3, 0                                     |     
                                                             |     if (r3 != 0) {
    0x0000ffd8 bne 0x100fc                                   |         goto label_65;
                                                             |     }
    0x0000ffdc ldr r0, [r4, 0xd8]                            |     r0 = *((r4 + 0xd8));
    0x0000ffe0 bl 0xc1ec                                     |     r0 = Curl_copy_header_value ();
    0x0000ffe4 subs r3, r0, 0                                |     r3 = r0 - 0;
                                                             |     if (r3 == r0) {
    0x0000ffe8 beq 0xfb24                                    |         goto label_19;
                                                             |     }
    0x0000ffec ldrb r2, [r3]                                 |     r2 = *(r3);
    0x0000fff0 cmp r2, 0                                     |     
                                                             |     if (r2 == 0) {
    0x0000fff4 bne 0x100c4                                   |         
    0x0000fff8 ldr r3, [pc, 0x70]                            |         r3 = *(0x1006c);
    0x0000fffc addseq r3, r7, r3                             |         __asm ("addseq r3, r7, r3");
                                                             |         if (r2 != 0) {
    0x00010000 andeq r0, r0, r0                              |             r0 &= r0;
                                                             |         }
    0x00010004 b 0xfb44                                      |         goto label_15;
                                                             |     }
    0x000100c4 str r3, [r4, 0x118]                           |     *((r4 + 0x118)) = r3;
    0x000100c8 ldrb r3, [r4, 0x4ca]                          |     r3 = *((r4 + 0x4ca));
    0x000100cc cmp r3, 0                                     |     
                                                             |     if (r3 == 0) {
    0x000100d0 beq 0xfa30                                    |         goto label_14;
                                                             |     }
    0x000100d4 ldr r3, [pc, -0x20]                           |     
    0x000100d8 ldr r3, [r7, r3]                              |     r3 = *((r7 + r3));
    0x000100dc ldr r3, [r3]                                  |     r3 = *(0x100b8);
    0x000100e0 blx r3                                        |     r0 = uint32_t (*r3)(uint32_t) (r3);
    0x000100e4 cmp r0, 0                                     |     
    0x000100e8 str r0, [r4, 0x11c]                           |     *((r4 + 0x11c)) = r0;
                                                             |     if (r0 == 0) {
    0x000100ec beq 0xfb24                                    |         goto label_19;
                                                             |     }
    0x000100f0 mov r0, r5                                    |     r0 = r5;
    0x000100f4 bl 0xbbe8                                     |     http_perhapsrewind ();
    0x000100f8 b 0xfd48                                      |     goto label_21;
                                                             | label_65:
    0x000100fc ldr r3, [r5, 0x284]                           |     r3 = *((r5 + 0x284));
    0x00010100 ldr r3, [r3, 0x40]                            |     r3 = *((r3 + 0x40));
    0x00010104 tst r3, 0x40000                               |     
                                                             |     if ((r3 & 0x40000) == 0) {
    0x00010108 beq 0xfa30                                    |         goto label_14;
                                                             |     }
    0x0001010c mov r6, 4                                     |     r6 = 4;
    0x00010110 b 0xf13c                                      |     goto label_2;
                                                             | label_32:
    0x00010114 mov r6, r3                                    |     r6 = r3;
    0x00010118 b 0xf13c                                      |     goto label_2;
                                                             | label_40:
    0x0001011c ldr r1, [pc, -0x64]                           |     r1 = *(0x000100c0);
    0x00010120 mov r0, r4                                    |     r0 = r4;
    0x00010124 add r1, pc, r1                                |     r1 = pc + r1;
    0x00010128 b 0x10060                                     |     void (*0x10060)() ();
    0x0001012c ldrd r0, r1, [r0, r0]!                        |     __asm ("ldrd r0, r1, [r0, r0]!");
                                                             | }
    ; 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/lib/libcurl.so @ 0x1b220 */
                                                 | #include <stdint.h>
                                                 |  
    ; (fcn) sym.Curl_httpchunk_init ()           | void Curl_httpchunk_init (int32_t arg1) {
                                                 |     r0 = arg1;
    0x0001b220 mov r3, 0                         |     r3 = 0;
    0x0001b224 str r3, [r0, 0x24]                |     *((r0 + 0x24)) = r3;
    0x0001b228 str r3, [r0, 0x38]                |     *((r0 + 0x38)) = r3;
    0x0001b22c str r3, [r0, 0x28]                |     *((r0 + 0x28)) = r3;
    0x0001b230 bx lr                             |     return;
                                                 | }
    ; 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/lib/libcurl.so @ 0x1b234 */
                                                                             | #include <stdint.h>
                                                                             |  
    ; (fcn) sym.Curl_httpchunk_read ()                                       | void Curl_httpchunk_read (int32_t arg_0h, int32_t arg1, int32_t arg2) {
                                                                             |     int32_t var_4h;
                                                                             |     int32_t var_ch;
                                                                             |     r0 = arg1;
                                                                             |     r1 = arg2;
    0x0001b234 push {r0, r1, r2, r4, r5, r6, r7, r8, sb, sl, fp, lr}         |     
    0x0001b238 ldr r8, [r0]                                                  |     r8 = *(r0);
    0x0001b23c mov sl, r3                                                    |     sl = r3;
    0x0001b240 mov r3, 0                                                     |     r3 = 0;
    0x0001b244 str r3, [sl]                                                  |     *(sl) = r3;
    0x0001b248 ldrb r3, [r8, 0x4f8]                                          |     r3 = *((r8 + 0x4f8));
    0x0001b24c ldr fp, [pc, 0x3c4]                                           |     fp = *(0x1b614);
    0x0001b250 cmp r3, 0                                                     |     
    0x0001b254 add fp, pc, fp                                                |     
    0x0001b258 mov r4, r0                                                    |     r4 = r0;
    0x0001b25c mov r5, r1                                                    |     r5 = r1;
    0x0001b260 mov r6, r2                                                    |     r6 = r2;
    0x0001b264 asr r7, r2, 0x1f                                              |     r7 = r2 >> 0x1f;
                                                                             |     if (r3 == 0) {
    0x0001b268 beq 0x1b304                                                   |         goto label_1;
                                                                             |     }
    0x0001b26c ldrb r3, [r8, 0x115]                                          |     r3 = *((r8 + 0x115));
    0x0001b270 cmp r3, 0                                                     |     
                                                                             |     if (r3 != 0) {
    0x0001b274 bne 0x1b304                                                   |         goto label_1;
                                                                             |     }
    0x0001b278 mov r3, r2                                                    |     r3 = r2;
    0x0001b27c mov r2, r1                                                    |     r2 = r1;
    0x0001b280 mov r1, 1                                                     |     r1 = 1;
    0x0001b284 bl 0x107cc                                                    |     r0 = Curl_client_write ();
    0x0001b288 cmp r0, 0                                                     |     
                                                                             |     if (r0 == 0) {
    0x0001b28c beq 0x1b304                                                   |         goto label_1;
                                                                             |     }
                                                                             | label_4:
    0x0001b290 mov r0, 4                                                     |     r0 = 4;
                                                                             | label_0:
    0x0001b294 add sp, sp, 0xc                                               |     
    0x0001b298 pop {r4, r5, r6, r7, r8, sb, sl, fp, pc}                      |     
                                                                             |     do {
    0x0001b29c ldr r3, [r4, 0x28]                                            |         r3 = *((r4 + 0x28));
    0x0001b2a0 cmp r3, 7                                                     |         
                                                                             |         if (r3 > 7) {
                                                                             |             /* switch table (8 cases) at 0x1b2ac */
    0x0001b2a4 addls pc, pc, r3, lsl 2                                       |             pc += (r3 << 2);
                                                                             |         }
    0x0001b2a8 b 0x1b304                                                     |         goto label_1;
    0x0001b2ac b 0x1b2cc                                                     |         goto label_10;
    0x0001b2b0 b 0x1b354                                                     |         goto label_11;
    0x0001b2b4 b 0x1b398                                                     |         goto label_12;
    0x0001b2b8 b 0x1b450                                                     |         goto label_13;
    0x0001b2bc b 0x1b5e4                                                     |         goto label_14;
    0x0001b2c0 b 0x1b478                                                     |         goto label_15;
    0x0001b2c4 b 0x1b5a0                                                     |         goto label_16;
    0x0001b2c8 b 0x1b5b4                                                     |         goto label_17;
                                                                             | label_10:
    0x0001b2cc ldrb r0, [r5]                                                 |         r0 = *(r5);
    0x0001b2d0 bl 0x2f910                                                    |         Curl_isxdigit ();
    0x0001b2d4 ldr r3, [r4, 0x24]                                            |         r3 = *((r4 + 0x24));
    0x0001b2d8 cmp r0, 0                                                     |         
                                                                             |         if (r0 == 0) {
    0x0001b2dc beq 0x1b314                                                   |             goto label_18;
                                                                             |         }
    0x0001b2e0 cmp r3, 0xf                                                   |         
                                                                             |         if (r3 > 0xf) {
    0x0001b2e4 bgt 0x1b608                                                   |             goto label_19;
                                                                             |         }
    0x0001b2e8 ldrb r1, [r5], 1                                              |         r1 = *(r5);
                                                                             |         r5++;
    0x0001b2ec subs r6, r6, 1                                                |         r6--;
    0x0001b2f0 add r2, r4, r3                                                |         r2 = r4 + r3;
    0x0001b2f4 sbc r7, r7, 0                                                 |         __asm ("sbc r7, r7, 0");
    0x0001b2f8 add r3, r3, 1                                                 |         r3++;
    0x0001b2fc strb r1, [r2, 0x10]                                           |         *((r2 + 0x10)) = r1;
    0x0001b300 str r3, [r4, 0x24]                                            |         *((r4 + 0x24)) = r3;
                                                                             | label_1:
    0x0001b304 orrs r3, r6, r7                                               |         r3 = r6 | r7;
    0x0001b308 bne 0x1b29c                                                   |         
                                                                             |     } while (r3 != r6);
    0x0001b30c mov r0, 0                                                     |     r0 = 0;
    0x0001b310 b 0x1b294                                                     |     goto label_0;
                                                                             | label_18:
    0x0001b314 cmp r3, 0                                                     |     
                                                                             |     if (r3 != 0) {
    0x0001b318 beq 0x1b34c                                                   |         
    0x0001b31c add r3, r4, r3                                                |         r3 = r4 + r3;
    0x0001b320 mov r2, 0x10                                                  |         r2 = 0x10;
    0x0001b324 strb r0, [r3, 0x10]                                           |         *((r3 + 0x10)) = r0;
    0x0001b328 add r1, sp, 4                                                 |         r1 += var_4h;
    0x0001b32c add r3, r4, 0x30                                              |         r3 = r4 + 0x30;
    0x0001b330 add r0, r4, r2                                                |         r0 = r4 + r2;
    0x0001b334 bl 0x2188c                                                    |         r0 = curlx_strtoofft ();
    0x0001b338 cmp r0, 0                                                     |         
                                                                             |         if (r0 != 0) {
    0x0001b33c bne 0x1b34c                                                   |             goto label_20;
                                                                             |         }
    0x0001b340 mov r3, 1                                                     |         r3 = 1;
                                                                             | label_2:
    0x0001b344 str r3, [r4, 0x28]                                            |         *((r4 + 0x28)) = r3;
    0x0001b348 b 0x1b304                                                     |         goto label_1;
                                                                             |     }
                                                                             | label_20:
    0x0001b34c mov r0, 2                                                     |     r0 = 2;
    0x0001b350 b 0x1b294                                                     |     goto label_0;
                                                                             | label_11:
    0x0001b354 ldrb r3, [r5]                                                 |     r3 = *(r5);
    0x0001b358 cmp r3, 0xa                                                   |     
                                                                             |     if (r3 != 0xa) {
    0x0001b35c bne 0x1b37c                                                   |         goto label_7;
                                                                             |     }
    0x0001b360 ldrd r2, r3, [r4, 0x30]                                       |     __asm ("ldrd r2, r3, [r4, 0x30]");
    0x0001b364 orrs r3, r2, r3                                               |     r3 = r2 | r3;
                                                                             |     if (r3 != r2) {
    0x0001b368 bne 0x1b38c                                                   |         goto label_21;
                                                                             |     }
    0x0001b36c mov r3, 5                                                     |     r3 = 5;
    0x0001b370 str r3, [r4, 0x28]                                            |     *((r4 + 0x28)) = r3;
    0x0001b374 mov r3, 0                                                     |     r3 = 0;
    0x0001b378 str r3, [r4, 0x448]                                           |     *((r4 + 0x448)) = r3;
                                                                             |     do {
                                                                             | label_7:
    0x0001b37c subs r6, r6, 1                                                |         r6--;
    0x0001b380 add r5, r5, 1                                                 |         r5++;
    0x0001b384 sbc r7, r7, 0                                                 |         __asm ("sbc r7, r7, 0");
    0x0001b388 b 0x1b304                                                     |         goto label_1;
                                                                             | label_21:
    0x0001b38c mov r3, 2                                                     |         r3 = 2;
                                                                             | label_6:
    0x0001b390 str r3, [r4, 0x28]                                            |         *((r4 + 0x28)) = r3;
    0x0001b394 b 0x1b37c                                                     |         
                                                                             |     } while (1);
                                                                             | label_12:
    0x0001b398 ldrd r0, r1, [r4, 0x30]                                       |     __asm ("ldrd r0, r1, [r4, 0x30]");
    0x0001b39c cmp r6, r0                                                    |     
    0x0001b3a0 sbcs r3, r7, r1                                               |     __asm ("sbcs r3, r7, r1");
                                                                             |     if (r6 >= r0) {
    0x0001b3a4 movlt r0, r6                                                  |         r0 = r6;
                                                                             |     }
                                                                             |     if (r6 >= r0) {
    0x0001b3a8 movlt r1, r7                                                  |         r1 = r7;
                                                                             |     }
    0x0001b3ac bl 0x25364                                                    |     curlx_sotouz ();
    0x0001b3b0 ldr r3, [r4]                                                  |     r3 = *(r4);
    0x0001b3b4 ldrb r2, [r3, 0x4f8]                                          |     r2 = *((r3 + 0x4f8));
    0x0001b3b8 cmp r2, 0                                                     |     
    0x0001b3bc mov sb, r0                                                    |     sb = r0;
                                                                             |     if (r2 == 0) {
    0x0001b3c0 beq 0x1b400                                                   |         goto label_22;
                                                                             |     }
                                                                             | label_3:
    0x0001b3c4 ldr r3, [sl]                                                  |     r3 = *(sl);
    0x0001b3c8 mov r1, 0                                                     |     r1 = 0;
    0x0001b3cc add r3, r3, sb                                                |     r3 += sb;
    0x0001b3d0 str r3, [sl]                                                  |     *(sl) = r3;
    0x0001b3d4 ldrd r2, r3, [r4, 0x30]                                       |     __asm ("ldrd r2, r3, [r4, 0x30]");
    0x0001b3d8 add r5, r5, sb                                                |     r5 += sb;
    0x0001b3dc subs r2, r2, sb                                               |     r2 -= sb;
    0x0001b3e0 sbc r3, r3, r1                                                |     __asm ("sbc r3, r3, r1");
    0x0001b3e4 subs r6, r6, sb                                               |     r6 -= sb;
    0x0001b3e8 strd r2, r3, [r4, 0x30]                                       |     __asm ("strd r2, r3, [r4, 0x30]");
    0x0001b3ec sbc r7, r7, r1                                                |     __asm ("sbc r7, r7, r1");
    0x0001b3f0 orrs r3, r2, r3                                               |     r3 = r2 | r3;
                                                                             |     if (r3 != r2) {
    0x0001b3f4 bne 0x1b304                                                   |         goto label_1;
                                                                             |     }
    0x0001b3f8 mov r3, 3                                                     |     r3 = 3;
    0x0001b3fc b 0x1b344                                                     |     goto label_2;
                                                                             | label_22:
    0x0001b400 ldrb r2, [r8, 0x115]                                          |     r2 = *((r8 + 0x115));
    0x0001b404 cmp r2, 0                                                     |     
                                                                             |     if (r2 != 0) {
    0x0001b408 bne 0x1b3c4                                                   |         goto label_3;
                                                                             |     }
    0x0001b40c ldrb r3, [r3, 0x4f9]                                          |     r3 = *((r3 + 0x4f9));
    0x0001b410 mov r2, r5                                                    |     r2 = r5;
    0x0001b414 cmp r3, 0                                                     |     
    0x0001b418 mov r3, r0                                                    |     r3 = r0;
                                                                             |     if (r3 != 0) {
    0x0001b41c bne 0x1b440                                                   |         goto label_23;
                                                                             |     }
    0x0001b420 ldr r1, [r8, 0xfc]                                            |     r1 = *((r8 + 0xfc));
    0x0001b424 cmp r1, 0                                                     |     
                                                                             |     if (r1 == 0) {
    0x0001b428 beq 0x1b440                                                   |         goto label_23;
                                                                             |     }
    0x0001b42c mov r0, r4                                                    |     r0 = r4;
    0x0001b430 bl 0x20a70                                                    |     r0 = Curl_unencode_write ();
                                                                             | label_5:
    0x0001b434 cmp r0, 0                                                     |     
                                                                             |     if (r0 == 0) {
    0x0001b438 beq 0x1b3c4                                                   |         goto label_3;
                                                                             |     }
    0x0001b43c b 0x1b290                                                     |     goto label_4;
                                                                             | label_23:
    0x0001b440 mov r1, 1                                                     |     r1 = 1;
    0x0001b444 mov r0, r4                                                    |     r0 = r4;
    0x0001b448 bl 0x107cc                                                    |     Curl_client_write ();
    0x0001b44c b 0x1b434                                                     |     goto label_5;
                                                                             | label_13:
    0x0001b450 ldrb r3, [r5]                                                 |     r3 = *(r5);
    0x0001b454 cmp r3, 0xa                                                   |     
                                                                             |     if (r3 != 0xa) {
    0x0001b458 moveq r3, 0                                                   |         r3 = 0;
                                                                             |     }
                                                                             |     if (r3 != 0xa) {
    0x0001b45c streq r3, [r4, 0x24]                                          |         *((r4 + 0x24)) = r3;
                                                                             |     }
                                                                             |     if (r3 == 0xa) {
    0x0001b460 streq r3, [r4, 0x38]                                          |         *((r4 + 0x38)) = r3;
                                                                             |         goto label_24;
                                                                             |     }
                                                                             |     if (r3 == 0xa) {
                                                                             | label_24:
    0x0001b464 beq 0x1b390                                                   |         goto label_6;
                                                                             |     }
    0x0001b468 cmp r3, 0xd                                                   |     
                                                                             |     if (r3 == 0xd) {
    0x0001b46c beq 0x1b37c                                                   |         goto label_7;
                                                                             |     }
                                                                             | label_9:
    0x0001b470 mov r0, 3                                                     |     r0 = 3;
    0x0001b474 b 0x1b294                                                     |     goto label_0;
                                                                             | label_15:
    0x0001b478 ldrb r2, [r5]                                                 |     r2 = *(r5);
    0x0001b47c ldr r3, [r4, 0x448]                                           |     r3 = *((r4 + 0x448));
    0x0001b480 cmp r2, 0xa                                                   |     
    0x0001b484 cmpne r2, 0xd                                                 |     __asm ("cmpne r2, 0xd");
                                                                             |     if (r2 != 0xa) {
    0x0001b488 bne 0x1b524                                                   |         goto label_25;
                                                                             |     }
    0x0001b48c cmp r3, 0                                                     |     
                                                                             |     if (r3 == 0) {
    0x0001b490 beq 0x1b51c                                                   |         goto label_26;
                                                                             |     }
    0x0001b494 ldr r2, [r4, 0x440]                                           |     r2 = *((r4 + 0x440));
    0x0001b498 add r1, r3, 1                                                 |     r1 = r3 + 1;
    0x0001b49c str r1, [r4, 0x448]                                           |     *((r4 + 0x448)) = r1;
    0x0001b4a0 mov r1, 0xd                                                   |     r1 = 0xd;
    0x0001b4a4 strb r1, [r2, r3]                                             |     *((r2 + r3)) = r1;
    0x0001b4a8 ldr r3, [r4, 0x448]                                           |     r3 = *((r4 + 0x448));
    0x0001b4ac ldr r2, [r4, 0x440]                                           |     r2 = *((r4 + 0x440));
    0x0001b4b0 add r1, r3, 1                                                 |     r1 = r3 + 1;
    0x0001b4b4 str r1, [r4, 0x448]                                           |     *((r4 + 0x448)) = r1;
    0x0001b4b8 mov r1, 0xa                                                   |     r1 = 0xa;
    0x0001b4bc strb r1, [r2, r3]                                             |     *((r2 + r3)) = r1;
    0x0001b4c0 ldr r3, [r4, 0x448]                                           |     r3 = *((r4 + 0x448));
    0x0001b4c4 ldr r2, [r4, 0x440]                                           |     r2 = *((r4 + 0x440));
    0x0001b4c8 mov r1, 0                                                     |     r1 = 0;
    0x0001b4cc strb r1, [r2, r3]                                             |     *((r2 + r3)) = r1;
    0x0001b4d0 ldrb r3, [r8, 0x4f8]                                          |     r3 = *((r8 + 0x4f8));
    0x0001b4d4 cmp r3, r1                                                    |     
                                                                             |     if (r3 == r1) {
    0x0001b4d8 beq 0x1b4fc                                                   |         goto label_27;
                                                                             |     }
                                                                             | label_8:
    0x0001b4dc mov r3, 0                                                     |     r3 = 0;
    0x0001b4e0 str r3, [r4, 0x448]                                           |     *((r4 + 0x448)) = r3;
    0x0001b4e4 mov r3, 6                                                     |     r3 = 6;
    0x0001b4e8 str r3, [r4, 0x28]                                            |     *((r4 + 0x28)) = r3;
    0x0001b4ec ldrb r3, [r5]                                                 |     r3 = *(r5);
    0x0001b4f0 cmp r3, 0xa                                                   |     
                                                                             |     if (r3 != 0xa) {
    0x0001b4f4 bne 0x1b37c                                                   |         goto label_7;
                                                                             |     }
    0x0001b4f8 b 0x1b304                                                     |     goto label_1;
                                                                             | label_27:
    0x0001b4fc ldr r3, [r4, 0x448]                                           |     r3 = *((r4 + 0x448));
    0x0001b500 ldr r2, [r4, 0x440]                                           |     r2 = *((r4 + 0x440));
    0x0001b504 mov r1, 2                                                     |     r1 = 2;
    0x0001b508 mov r0, r4                                                    |     r0 = r4;
    0x0001b50c bl 0x107cc                                                    |     r0 = Curl_client_write ();
    0x0001b510 cmp r0, 0                                                     |     
                                                                             |     if (r0 == 0) {
    0x0001b514 beq 0x1b4dc                                                   |         goto label_8;
                                                                             |     }
    0x0001b518 b 0x1b290                                                     |     goto label_4;
                                                                             | label_26:
    0x0001b51c mov r3, 7                                                     |     r3 = 7;
    0x0001b520 b 0x1b344                                                     |     goto label_2;
                                                                             | label_25:
    0x0001b524 ldr r1, [r4, 0x444]                                           |     r1 = *((r4 + 0x444));
    0x0001b528 cmp r1, r3                                                    |     
                                                                             |     if (r1 > r3) {
    0x0001b52c bgt 0x1b564                                                   |         goto label_28;
                                                                             |     }
    0x0001b530 cmp r1, 0                                                     |     
                                                                             |     if (r1 == 0) {
    0x0001b534 beq 0x1b580                                                   |         goto label_29;
                                                                             |     }
    0x0001b538 ldr r3, [pc, 0xdc]                                            |     
    0x0001b53c lsl r1, r1, 1                                                 |     r1 <<= 1;
    0x0001b540 str r1, [r4, 0x444]                                           |     *((r4 + 0x444)) = r1;
    0x0001b544 ldr r3, [fp, r3]                                              |     r3 = *((fp + r3));
    0x0001b548 add r1, r1, 3                                                 |     r1 += 3;
    0x0001b54c ldr r3, [r3]                                                  |     r3 = $d;
    0x0001b550 ldr r0, [r4, 0x440]                                           |     r0 = *((r4 + 0x440));
    0x0001b554 blx r3                                                        |     r0 = uint32_t (*r3)(uint32_t, uint32_t, uint32_t) (r0, r1, r3);
                                                                             |     do {
    0x0001b558 cmp r0, 0                                                     |         
                                                                             |         if (r0 == 0) {
    0x0001b55c beq 0x1b610                                                   |             goto label_30;
                                                                             |         }
    0x0001b560 str r0, [r4, 0x440]                                           |         *((r4 + 0x440)) = r0;
                                                                             | label_28:
    0x0001b564 ldr r3, [r4, 0x448]                                           |         r3 = *((r4 + 0x448));
    0x0001b568 ldr r2, [r4, 0x440]                                           |         r2 = *((r4 + 0x440));
    0x0001b56c add r1, r3, 1                                                 |         r1 = r3 + 1;
    0x0001b570 str r1, [r4, 0x448]                                           |         *((r4 + 0x448)) = r1;
    0x0001b574 ldrb r1, [r5]                                                 |         r1 = *(r5);
    0x0001b578 strb r1, [r2, r3]                                             |         *((r2 + r3)) = r1;
    0x0001b57c b 0x1b37c                                                     |         goto label_7;
                                                                             | label_29:
    0x0001b580 mov r3, 0x80                                                  |         r3 = 0x80;
    0x0001b584 str r3, [r4, 0x444]                                           |         *((r4 + 0x444)) = r3;
    0x0001b588 ldr r3, [pc, 0x90]                                            |         
    0x0001b58c mov r0, 0x83                                                  |         r0 = 0x83;
    0x0001b590 ldr r3, [fp, r3]                                              |         r3 = *((fp + r3));
    0x0001b594 ldr r3, [r3]                                                  |         r3 = *(0x1b61c);
    0x0001b598 blx r3                                                        |         uint32_t (*r3)(uint32_t, uint32_t) (r0, r3);
    0x0001b59c b 0x1b558                                                     |         
                                                                             |     } while (1);
                                                                             | label_16:
    0x0001b5a0 ldrb r3, [r5]                                                 |     r3 = *(r5);
    0x0001b5a4 cmp r3, 0xa                                                   |     
                                                                             |     if (r3 != 0xa) {
    0x0001b5a8 bne 0x1b470                                                   |         goto label_9;
                                                                             |     }
    0x0001b5ac mov r3, 7                                                     |     r3 = 7;
    0x0001b5b0 b 0x1b390                                                     |     goto label_6;
                                                                             | label_17:
    0x0001b5b4 ldrb r3, [r5]                                                 |     r3 = *(r5);
    0x0001b5b8 cmp r3, 0xd                                                   |     
    0x0001b5bc cmpne r3, 0xa                                                 |     __asm ("cmpne r3, 0xa");
                                                                             |     if (r3 != 0xd) {
    0x0001b5c0 movne r3, 5                                                   |         r3 = 5;
                                                                             |         goto label_31;
                                                                             |     }
                                                                             |     if (r3 != 0xd) {
                                                                             | label_31:
    0x0001b5c4 bne 0x1b344                                                   |         goto label_2;
                                                                             |     }
    0x0001b5c8 cmp r3, 0xd                                                   |     
                                                                             |     if (r3 == 0xd) {
    0x0001b5cc bne 0x1b5dc                                                   |         
    0x0001b5d0 subs r6, r6, 1                                                |         r6--;
    0x0001b5d4 add r5, r5, 1                                                 |         r5++;
    0x0001b5d8 sbc r7, r7, 0                                                 |         __asm ("sbc r7, r7, 0");
                                                                             |     }
    0x0001b5dc mov r3, 4                                                     |     r3 = 4;
    0x0001b5e0 b 0x1b344                                                     |     goto label_2;
                                                                             | label_14:
    0x0001b5e4 ldrb r3, [r5]                                                 |     r3 = *(r5);
    0x0001b5e8 cmp r3, 0xa                                                   |     
                                                                             |     if (r3 != 0xa) {
    0x0001b5ec bne 0x1b470                                                   |         goto label_9;
                                                                             |     }
    0x0001b5f0 subs r0, r6, 1                                                |     r0 = r6 - 1;
    0x0001b5f4 sbc r1, r7, 0                                                 |     __asm ("sbc r1, r7, 0");
    0x0001b5f8 bl 0x25364                                                    |     curlx_sotouz ();
    0x0001b5fc str r0, [r4, 0x38]                                            |     *((r4 + 0x38)) = r0;
    0x0001b600 mvn r0, 0                                                     |     r0 = ~0;
    0x0001b604 b 0x1b294                                                     |     goto label_0;
                                                                             | label_19:
    0x0001b608 mov r0, 1                                                     |     r0 = 1;
    0x0001b60c b 0x1b294                                                     |     goto label_0;
                                                                             | label_30:
    0x0001b610 mov r0, 6                                                     |     r0 = 6;
    0x0001b614 b 0x1b294                                                     |     goto label_0;
                                                                             | }
    ; 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/lib/libcurl.so @ 0x26db8 */
                                                 | #include <stdint.h>
                                                 |  
    ; (fcn) sym.Curl_http_ntlm_cleanup ()        | void Curl_http_ntlm_cleanup (int32_t arg1) {
                                                 |     r0 = arg1;
    0x00026db8 push {r4, lr}                     |     
    0x00026dbc mov r4, r0                        |     r4 = r0;
    0x00026dc0 add r0, r0, 0x2f8                 |     r0 += 0x2f8;
    0x00026dc4 bl 0x31504                        |     Curl_auth_ntlm_cleanup ();
    0x00026dc8 add r0, r4, 0x310                 |     r0 = r4 + 0x310;
    0x00026dcc pop {r4, lr}                      |     
    0x00026dd0 b 0x31504                         |     return void (*0x31504)() ();
                                                 | }
    ; 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/lib/libcurl.so @ 0xc61c */
                                                                 | #include <stdint.h>
                                                                 |  
    ; (fcn) sym.Curl_http_input_auth ()                          | void Curl_http_input_auth (int32_t arg_8a0h, int32_t arg1, int32_t arg2) {
                                                                 |     int32_t var_4h;
                                                                 |     int32_t var_8h;
                                                                 |     int32_t var_ch;
                                                                 |     int32_t var_14h;
                                                                 |     r0 = arg1;
                                                                 |     r1 = arg2;
    0x0000c61c ldr r3, [pc, 0x274]                               |     r3 = *(0xc894);
    0x0000c620 push {r4, r5, r6, r7, r8, sb, sl, fp, lr}         |     
    0x0000c624 ldr r7, [r0]                                      |     r7 = *(r0);
    0x0000c628 sub sp, sp, 0x14                                  |     
    0x0000c62c add r3, pc, r3                                    |     r3 = pc + r3;
    0x0000c630 str r3, [sp, 4]                                   |     var_4h = r3;
    0x0000c634 ldr sl, [pc, 0x260]                               |     sl = $d;
    0x0000c638 ldr r3, [pc, 0x260]                               |     r3 = *(0xc89c);
    0x0000c63c subs sb, r1, 0                                    |     sb = r1 - 0;
    0x0000c640 add r6, r7, 0x4a00                                |     r6 = r7 + 0x4a00;
    0x0000c644 add r4, r7, 0x4800                                |     r4 = r7 + 0x4800;
    0x0000c648 add r3, pc, r3                                    |     r3 = pc + r3;
    0x0000c64c mov r8, r0                                        |     r8 = r0;
    0x0000c650 mov r5, r2                                        |     r5 = r2;
                                                                 |     if (sb == r1) {
    0x0000c654 addne r6, r6, 0x7c                                |         r6 += 0x7c;
                                                                 |     }
                                                                 |     if (sb == r1) {
    0x0000c658 addne r4, r4, 0x90                                |         r4 += 0x90;
                                                                 |     }
                                                                 |     if (sb != r1) {
    0x0000c65c addeq r6, r6, 0x80                                |         r6 += 0x80;
                                                                 |     }
                                                                 |     if (sb != r1) {
    0x0000c660 addeq r4, r4, 0x80                                |         r4 += 0x80;
                                                                 |     }
    0x0000c664 add sl, pc, sl                                    |     sl = pc + sl;
    0x0000c668 str r3, [sp, 8]                                   |     var_8h = r3;
                                                                 | label_0:
    0x0000c66c ldrb r0, [r5]                                     |     r0 = *(r5);
    0x0000c670 cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x0000c674 bne 0xc680                                        |         
    0x0000c678 add sp, sp, 0x14                                  |         
    0x0000c67c pop {r4, r5, r6, r7, r8, sb, sl, fp, pc}          |         
                                                                 |     }
    0x0000c680 mov r2, 4                                         |     r2 = 4;
    0x0000c684 mov r1, r5                                        |     r1 = r5;
    0x0000c688 ldr r0, [sp, 4]                                   |     r0 = var_4h;
    0x0000c68c bl 0x5bd4                                         |     r0 = fcn_00005bd4 ();
    0x0000c690 cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x0000c694 beq 0xc750                                        |         goto label_4;
                                                                 |     }
    0x0000c698 ldr r3, [r4, 8]                                   |     r3 = *((r4 + 8));
    0x0000c69c tst r3, 0x28                                      |     
    0x0000c6a0 beq 0xc708                                        |     
                                                                 |     while (r0 != 0) {
    0x0000c6a4 ldr r3, [r6]                                      |         r3 = *(r6);
    0x0000c6a8 orr r3, r3, 8                                     |         r3 |= 8;
    0x0000c6ac str r3, [r6]                                      |         *(r6) = r3;
    0x0000c6b0 ldr r3, [r4, 8]                                   |         r3 = *((r4 + 8));
    0x0000c6b4 orr r3, r3, 8                                     |         r3 |= 8;
    0x0000c6b8 str r3, [r4, 8]                                   |         *((r4 + 8)) = r3;
    0x0000c6bc ldr r3, [r4, 4]                                   |         r3 = *((r4 + 4));
    0x0000c6c0 cmp r3, 0x20                                      |         
    0x0000c6c4 cmpne r3, 8                                       |         __asm ("cmpne r3, 8");
                                                                 |         if (r3 != 0x20) {
    0x0000c6c8 bne 0xc714                                        |             goto label_2;
                                                                 |         }
    0x0000c6cc mov r2, r5                                        |         r2 = r5;
    0x0000c6d0 mov r1, sb                                        |         r1 = sb;
    0x0000c6d4 mov r0, r8                                        |         r0 = r8;
    0x0000c6d8 bl 0x26dd4                                        |         Curl_input_ntlm ();
    0x0000c6dc add fp, r7, 0x4000                                |         
    0x0000c6e0 cmp r0, 0                                         |         
                                                                 |         if (r0 != 0) {
    0x0000c6e4 strbeq r0, [fp, 0x8a0]                            |             *(arg_8a0h) = r0;
                                                                 |         }
                                                                 |         if (r0 == 0) {
    0x0000c6e8 beq 0xc714                                        |             goto label_2;
                                                                 |         }
    0x0000c6ec ldr r1, [pc, 0x1b0]                               |         r1 = *(0xc8a0);
    0x0000c6f0 mov r0, r7                                        |         r0 = r7;
    0x0000c6f4 add r1, pc, r1                                    |         r1 = pc + r1;
    0x0000c6f8 bl 0x104cc                                        |         Curl_infof ();
    0x0000c6fc mov r3, 1                                         |         r3 = 1;
    0x0000c700 strb r3, [fp, 0x8a0]                              |         *(arg_8a0h) = r3;
    0x0000c704 b 0xc714                                          |         goto label_2;
    0x0000c708 bl 0x31304                                        |         r0 = Curl_auth_is_ntlm_supported ();
    0x0000c70c cmp r0, 0                                         |         
    0x0000c710 bne 0xc6a4                                        |         
                                                                 |     }
                                                                 |     do {
                                                                 | label_2:
    0x0000c714 mov fp, r5                                        |         
    0x0000c718 ldrb r3, [r5], 1                                  |         r3 = *(r5);
                                                                 |         r5++;
    0x0000c71c cmp r3, 0                                         |         
    0x0000c720 cmpne r3, 0x2c                                    |         __asm ("cmpne r3, 0x2c");
    0x0000c724 bne 0xc714                                        |         
                                                                 |     } while (r3 != 0);
    0x0000c728 cmp r3, 0x2c                                      |     
                                                                 |     if (r3 != 0x2c) {
    0x0000c72c moveq fp, r5                                      |         
                                                                 |     }
                                                                 | label_1:
    0x0000c730 mov r5, fp                                        |     r5 = fp;
    0x0000c734 ldrb r0, [fp], 1                                  |     r0 = *(fp);
                                                                 |     fp++;
    0x0000c738 cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x0000c73c beq 0xc66c                                        |         goto label_0;
                                                                 |     }
    0x0000c740 bl 0x2f898                                        |     r0 = Curl_isspace ();
    0x0000c744 cmp r0, 0                                         |     
                                                                 |     if (r0 != 0) {
    0x0000c748 bne 0xc730                                        |         goto label_1;
                                                                 |     }
    0x0000c74c b 0xc66c                                          |     goto label_0;
                                                                 | label_4:
    0x0000c750 mov r2, 6                                         |     r2 = 6;
    0x0000c754 mov r1, r5                                        |     r1 = r5;
    0x0000c758 ldr r0, [sp, 8]                                   |     r0 = var_8h;
    0x0000c75c bl 0x5bd4                                         |     r0 = fcn_00005bd4 ();
    0x0000c760 subs r3, r0, 0                                    |     r3 = r0 - 0;
                                                                 |     if (r3 == r0) {
    0x0000c764 beq 0xc7e4                                        |         goto label_5;
                                                                 |     }
    0x0000c768 ldr r3, [r4, 8]                                   |     r3 = *((r4 + 8));
    0x0000c76c tst r3, 2                                         |     
                                                                 |     if ((r3 & 2) != 0) {
    0x0000c770 beq 0xc788                                        |         
    0x0000c774 ldr r1, [pc, 0x12c]                               |         r1 = *(0xc8a4);
    0x0000c778 mov r0, r7                                        |         r0 = r7;
    0x0000c77c add r1, pc, r1                                    |         r1 = pc + r1;
    0x0000c780 bl 0x104cc                                        |         Curl_infof ();
    0x0000c784 b 0xc714                                          |         goto label_2;
                                                                 |     }
    0x0000c788 bl 0x305cc                                        |     r0 = Curl_auth_is_digest_supported ();
    0x0000c78c cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x0000c790 beq 0xc714                                        |         goto label_2;
                                                                 |     }
    0x0000c794 ldr r3, [r6]                                      |     r3 = *(r6);
    0x0000c798 mov r2, r5                                        |     r2 = r5;
    0x0000c79c orr r3, r3, 2                                     |     r3 |= 2;
    0x0000c7a0 str r3, [r6]                                      |     *(r6) = r3;
    0x0000c7a4 ldr r3, [r4, 8]                                   |     r3 = *((r4 + 8));
    0x0000c7a8 mov r1, sb                                        |     r1 = sb;
    0x0000c7ac orr r3, r3, 2                                     |     r3 |= 2;
    0x0000c7b0 str r3, [r4, 8]                                   |     *((r4 + 8)) = r3;
    0x0000c7b4 mov r0, r8                                        |     r0 = r8;
    0x0000c7b8 bl 0x214f0                                        |     r0 = Curl_input_digest ();
    0x0000c7bc cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x0000c7c0 beq 0xc714                                        |         goto label_2;
                                                                 |     }
    0x0000c7c4 ldr r1, [pc, 0xe0]                                |     r1 = *(0xc8a8);
    0x0000c7c8 add r1, pc, r1                                    |     r1 = pc + r1;
                                                                 | label_3:
    0x0000c7cc mov r0, r7                                        |     r0 = r7;
    0x0000c7d0 bl 0x104cc                                        |     Curl_infof ();
    0x0000c7d4 add r3, r7, 0x4000                                |     r3 = r7 + 0x4000;
    0x0000c7d8 mov r2, 1                                         |     r2 = 1;
    0x0000c7dc strb r2, [r3, 0x8a0]                              |     *((r3 + 0x8a0)) = r2;
    0x0000c7e0 b 0xc714                                          |     goto label_2;
                                                                 | label_5:
    0x0000c7e4 mov r2, 5                                         |     r2 = 5;
    0x0000c7e8 mov r1, r5                                        |     r1 = r5;
    0x0000c7ec mov r0, sl                                        |     r0 = sl;
    0x0000c7f0 str r3, [sp, 0xc]                                 |     var_ch = r3;
    0x0000c7f4 bl 0x5bd4                                         |     r0 = fcn_00005bd4 ();
    0x0000c7f8 subs fp, r0, 0                                    |     
                                                                 |     if (fp == r0) {
    0x0000c7fc beq 0xc848                                        |         goto label_6;
                                                                 |     }
    0x0000c800 ldr r2, [r6]                                      |     r2 = *(r6);
    0x0000c804 ldr r3, [sp, 0xc]                                 |     r3 = var_ch;
    0x0000c808 orr r2, r2, 1                                     |     r2 |= 1;
    0x0000c80c str r2, [r6]                                      |     *(r6) = r2;
    0x0000c810 ldr r2, [r4, 8]                                   |     r2 = *((r4 + 8));
    0x0000c814 ldr fp, [r4, 4]                                   |     fp = *((r4 + 4));
    0x0000c818 orr r2, r2, 1                                     |     r2 |= 1;
    0x0000c81c cmp fp, 1                                         |     
    0x0000c820 str r2, [r4, 8]                                   |     *((r4 + 8)) = r2;
                                                                 |     if (fp != 1) {
    0x0000c824 bne 0xc714                                        |         goto label_2;
                                                                 |     }
    0x0000c828 ldr r1, [pc, 0x80]                                |     r1 = *(0xc8ac);
    0x0000c82c str r3, [r4, 8]                                   |     *((r4 + 8)) = r3;
    0x0000c830 add r1, pc, r1                                    |     r1 = pc + r1;
    0x0000c834 mov r0, r7                                        |     r0 = r7;
    0x0000c838 bl 0x104cc                                        |     Curl_infof ();
    0x0000c83c add r3, r7, 0x4000                                |     r3 = r7 + 0x4000;
    0x0000c840 strb fp, [r3, 0x8a0]                              |     *((r3 + 0x8a0)) = fp;
    0x0000c844 b 0xc714                                          |     goto label_2;
                                                                 | label_6:
    0x0000c848 ldr r0, [pc, 0x64]                                |     r0 = *(0xc8b0);
    0x0000c84c mov r2, 6                                         |     r2 = 6;
    0x0000c850 mov r1, r5                                        |     r1 = r5;
    0x0000c854 add r0, pc, r0                                    |     r0 = pc + r0;
    0x0000c858 bl 0x5bd4                                         |     r0 = fcn_00005bd4 ();
    0x0000c85c cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x0000c860 beq 0xc714                                        |         goto label_2;
                                                                 |     }
    0x0000c864 ldr r3, [r6]                                      |     r3 = *(r6);
    0x0000c868 orr r3, r3, 0x40                                  |     r3 |= 0x40;
    0x0000c86c str r3, [r6]                                      |     *(r6) = r3;
    0x0000c870 ldr r3, [r4, 8]                                   |     r3 = *((r4 + 8));
    0x0000c874 orr r3, r3, 0x40                                  |     r3 |= 0x40;
    0x0000c878 str r3, [r4, 8]                                   |     *((r4 + 8)) = r3;
    0x0000c87c ldr r3, [r4, 4]                                   |     r3 = *((r4 + 4));
    0x0000c880 cmp r3, 0x40                                      |     
                                                                 |     if (r3 != 0x40) {
    0x0000c884 bne 0xc714                                        |         goto label_2;
                                                                 |     }
    0x0000c888 ldr r1, [pc, 0x28]                                |     r1 = *(0xc8b4);
    0x0000c88c str fp, [r4, 8]                                   |     *((r4 + 8)) = fp;
    0x0000c890 add r1, pc, r1                                    |     r1 = pc + r1;
    0x0000c894 b 0xc7cc                                          |     goto label_3;
                                                                 | }
    ; 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/lib/libcurl.so @ 0xf060 */
                                                             | #include <stdint.h>
                                                             |  
                                                             | #define BIT_MASK(t,v) ((t)(-((v)!= 0)))&(((t)-1)>>((sizeof(t)*CHAR_BIT)-(v)))
                                                             |  
    ; (fcn) sym.Curl_http_readwrite_headers ()               | void Curl_http_readwrite_headers (int32_t arg_1h, int32_t arg_9d8h, int32_t arg_9dch, int32_t arg_a60h, int32_t arg_a68h, int32_t arg_a70h, int32_t arg_a74h, int32_t arg1, int32_t arg2) {
                                                             |     int32_t var_1h;
                                                             |     int32_t var_0h;
                                                             |     int32_t var_4h;
                                                             |     int32_t var_8h;
                                                             |     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_34h;
                                                             |     int32_t var_38h;
                                                             |     int32_t var_38h_2;
                                                             |     int32_t var_40h;
                                                             |     int32_t var_44h;
                                                             |     r0 = arg1;
                                                             |     r1 = arg2;
    0x0000f060 push {r4, r5, r6, r7, r8, sb, sl, fp, lr}     |     
    0x0000f064 ldr r7, [pc, 0xf9c]                           |     r7 = *(0x10004);
    0x0000f068 sub sp, sp, 0x44                              |     
    0x0000f06c mov sl, r3                                    |     sl = r3;
    0x0000f070 add r3, r0, 0x70                              |     r3 = r0 + 0x70;
    0x0000f074 str r3, [sp, 0x14]                            |     var_14h = r3;
    0x0000f078 ldr r3, [r2]                                  |     r3 = *(r2);
    0x0000f07c mov r4, r0                                    |     r4 = r0;
    0x0000f080 str r3, [sp, 0x18]                            |     var_18h = r3;
    0x0000f084 ldr r3, [r0, 0xcc]                            |     r3 = *((r0 + 0xcc));
    0x0000f088 mov r5, r1                                    |     r5 = r1;
    0x0000f08c str r3, [sp, 0x1c]                            |     var_1ch = r3;
    0x0000f090 ldr r3, [pc, 0xf74]                           |     r3 = $d;
    0x0000f094 mov sb, r2                                    |     sb = r2;
    0x0000f098 add r3, pc, r3                                |     r3 = pc + r3;
    0x0000f09c str r3, [sp, 0x20]                            |     var_20h = r3;
    0x0000f0a0 ldr r3, [pc, 0xf68]                           |     r3 = *(0x1000c);
    0x0000f0a4 add r7, pc, r7                                |     r7 = pc + r7;
    0x0000f0a8 add r3, pc, r3                                |     r3 = pc + r3;
    0x0000f0ac str r3, [sp, 0x24]                            |     var_24h = r3;
    0x0000f0b0 ldr r3, [pc, 0xf5c]                           |     r3 = *(0x10010);
    0x0000f0b4 add r3, pc, r3                                |     r3 = pc + r3;
    0x0000f0b8 str r3, [sp, 0x28]                            |     var_28h = r3;
                                                             | label_7:
    0x0000f0bc ldr r8, [r4, 0xcc]                            |     r8 = *((r4 + 0xcc));
    0x0000f0c0 ldr r6, [sb]                                  |     r6 = *(sb);
    0x0000f0c4 str r8, [r4, 0xd0]                            |     *((r4 + 0xd0)) = r8;
    0x0000f0c8 mov r2, r6                                    |     r2 = r6;
    0x0000f0cc mov r1, 0xa                                   |     r1 = 0xa;
    0x0000f0d0 mov r0, r8                                    |     r0 = r8;
    0x0000f0d4 bl 0x58f8                                     |     r0 = memchr (r0, r1, r2);
    0x0000f0d8 cmp r0, 0                                     |     
    0x0000f0dc str r0, [r4, 0xd4]                            |     *((r4 + 0xd4)) = r0;
                                                             |     if (r0 != 0) {
    0x0000f0e0 bne 0xf148                                    |         goto label_22;
                                                             |     }
    0x0000f0e4 mov r2, r6                                    |     r2 = r6;
    0x0000f0e8 ldr r1, [sp, 0x14]                            |     r1 = var_14h;
    0x0000f0ec mov r0, r4                                    |     r0 = r4;
    0x0000f0f0 bl 0xbaf8                                     |     r0 = header_append ();
    0x0000f0f4 subs r6, r0, 0                                |     r6 = r0 - 0;
                                                             |     if (r6 != r0) {
    0x0000f0f8 bne 0xf13c                                    |         goto label_2;
                                                             |     }
    0x0000f0fc ldr r3, [r4, 0xc0]                            |     r3 = *((r4 + 0xc0));
    0x0000f100 cmp r3, 0                                     |     
    0x0000f104 beq 0xf110                                    |     
                                                             |     while (r3 < 5) {
                                                             | label_0:
    0x0000f108 mov r6, 0                                     |         r6 = 0;
    0x0000f10c b 0xf13c                                      |         goto label_2;
    0x0000f110 ldr r3, [r4, 0xc8]                            |         r3 = *((r4 + 0xc8));
    0x0000f114 cmp r3, 5                                     |         
    0x0000f118 bls 0xf108                                    |         
                                                             |     }
    0x0000f11c ldr r1, [r4, 0x7c4]                           |     r1 = *((r4 + 0x7c4));
    0x0000f120 ldr r0, [r4, 0x4a0]                           |     r0 = *((r4 + 0x4a0));
    0x0000f124 bl 0xbdd4                                     |     r0 = checkhttpprefix_isra_2 ();
    0x0000f128 cmp r0, 0                                     |     
                                                             |     if (r0 != 0) {
    0x0000f12c strbeq r6, [r4, 0xb8]                         |         *((r4 + 0xb8)) = r6;
                                                             |     }
                                                             |     if (r0 == 0) {
    0x0000f130 moveq r3, 2                                   |         r3 = 2;
                                                             |         goto label_23;
                                                             |     }
                                                             |     if (r0 != 0) {
                                                             | label_23:
    0x0000f134 bne 0xf108                                    |         goto label_0;
                                                             |     }
                                                             | label_1:
    0x0000f138 str r3, [r4, 0xbc]                            |     *((r4 + 0xbc)) = r3;
                                                             |     do {
                                                             | label_2:
    0x0000f13c mov r0, r6                                    |         r0 = r6;
    0x0000f140 add sp, sp, 0x44                              |         
    0x0000f144 pop {r4, r5, r6, r7, r8, sb, sl, fp, pc}      |         
                                                             | label_22:
    0x0000f148 sub r3, r0, r8                                |         r3 = r0 - r8;
    0x0000f14c add r3, r3, 1                                 |         r3++;
    0x0000f150 sub r6, r6, r3                                |         r6 -= r3;
    0x0000f154 add r2, r0, 1                                 |         r2 = r0 + 1;
    0x0000f158 str r6, [sb]                                  |         *(sb) = r6;
    0x0000f15c ldr r1, [sp, 0x14]                            |         r1 = var_14h;
    0x0000f160 str r2, [r4, 0xcc]                            |         *((r4 + 0xcc)) = r2;
    0x0000f164 mov r0, r4                                    |         r0 = r4;
    0x0000f168 sub r2, r2, r8                                |         r2 -= r8;
    0x0000f16c bl 0xbaf8                                     |         r0 = header_append ();
    0x0000f170 subs r6, r0, 0                                |         r6 = r0 - 0;
    0x0000f174 bne 0xf13c                                    |         
                                                             |     } while (r6 != r0);
    0x0000f178 ldr r3, [r4, 0xc4]                            |     r3 = *((r4 + 0xc4));
    0x0000f17c ldr r1, [r4, 0x7c4]                           |     r1 = *((r4 + 0x7c4));
    0x0000f180 str r3, [r4, 0xd4]                            |     *((r4 + 0xd4)) = r3;
    0x0000f184 ldr r3, [r4, 0xc0]                            |     r3 = *((r4 + 0xc0));
    0x0000f188 str r1, [r4, 0xd8]                            |     *((r4 + 0xd8)) = r1;
    0x0000f18c cmp r3, 0                                     |     
                                                             |     if (r3 != 0) {
    0x0000f190 bne 0xf1e0                                    |         goto label_24;
                                                             |     }
    0x0000f194 ldr r3, [r4, 0xc8]                            |     r3 = *((r4 + 0xc8));
    0x0000f198 cmp r3, 5                                     |     
                                                             |     if (r3 < 5) {
    0x0000f19c bls 0xf1e0                                    |         goto label_24;
                                                             |     }
    0x0000f1a0 ldr r0, [r4, 0x4a0]                           |     r0 = *((r4 + 0x4a0));
    0x0000f1a4 bl 0xbdd4                                     |     r0 = checkhttpprefix_isra_2 ();
    0x0000f1a8 cmp r0, 0                                     |     
                                                             |     if (r0 != 0) {
    0x0000f1ac bne 0xf1e0                                    |         goto label_24;
                                                             |     }
    0x0000f1b0 ldr r3, [sb]                                  |     r3 = *(sb);
    0x0000f1b4 strb r6, [r4, 0xb8]                           |     *((r4 + 0xb8)) = r6;
    0x0000f1b8 cmp r3, 0                                     |     
                                                             |     if (r3 != 0) {
    0x0000f1bc movne r3, 1                                   |         r3 = 1;
                                                             |         goto label_25;
                                                             |     }
                                                             |     if (r3 != 0) {
                                                             | label_25:
    0x0000f1c0 bne 0xf138                                    |         goto label_1;
                                                             |     }
    0x0000f1c4 mov r3, 2                                     |     r3 = 2;
    0x0000f1c8 str r3, [r4, 0xbc]                            |     *((r4 + 0xbc)) = r3;
    0x0000f1cc ldr r3, [sp, 0x18]                            |     r3 = var_18h;
    0x0000f1d0 str r3, [sb]                                  |     *(sb) = r3;
    0x0000f1d4 ldr r3, [sp, 0x1c]                            |     r3 = var_1ch;
    0x0000f1d8 str r3, [r4, 0xcc]                            |     *((r4 + 0xcc)) = r3;
    0x0000f1dc b 0xf13c                                      |     goto label_2;
                                                             | label_24:
    0x0000f1e0 ldr r0, [r4, 0xd8]                            |     r0 = *((r4 + 0xd8));
    0x0000f1e4 ldrb r3, [r0]                                 |     r3 = *(r0);
    0x0000f1e8 cmp r3, 0xd                                   |     
    0x0000f1ec cmpne r3, 0xa                                 |     __asm ("cmpne r3, 0xa");
                                                             |     if (r3 != 0xd) {
    0x0000f1f0 bne 0xf5f0                                    |         goto label_26;
                                                             |     }
    0x0000f1f4 cmp r3, 0xd                                   |     
                                                             |     if (r3 != 0xd) {
    0x0000f1f8 addeq r0, r0, 1                               |         r0++;
                                                             |     }
                                                             |     if (r3 != 0xd) {
    0x0000f1fc streq r0, [r4, 0xd8]                          |         *((r4 + 0xd8)) = r0;
                                                             |     }
    0x0000f200 ldr r3, [r4, 0xd8]                            |     r3 = *((r4 + 0xd8));
    0x0000f204 ldrb r2, [r3]                                 |     r2 = *(r3);
    0x0000f208 cmp r2, 0xa                                   |     
                                                             |     if (r2 != 0xa) {
    0x0000f20c addeq r3, r3, 1                               |         r3++;
                                                             |     }
                                                             |     if (r2 != 0xa) {
    0x0000f210 streq r3, [r4, 0xd8]                          |         *((r4 + 0xd8)) = r3;
                                                             |     }
    0x0000f214 ldr r3, [r4, 0xe8]                            |     r3 = *((r4 + 0xe8));
    0x0000f218 sub r2, r3, 0x64                              |     r2 = r3 - 0x64;
    0x0000f21c cmp r2, 0x63                                  |     
                                                             |     if (r2 > 0x63) {
    0x0000f220 bhi 0xf334                                    |         goto label_27;
                                                             |     }
    0x0000f224 cmp r3, 0x64                                  |     
                                                             |     if (r3 != 0x64) {
    0x0000f228 beq 0xf248                                    |         
    0x0000f22c cmp r3, 0x65                                  |         
    0x0000f230 mov r8, 0                                     |         r8 = 0;
                                                             |         if (r3 == 0x65) {
    0x0000f234 beq 0xf2f8                                    |             goto label_28;
                                                             |         }
    0x0000f238 mov r3, 1                                     |         r3 = 1;
    0x0000f23c strb r3, [r4, 0xb8]                           |         *((r4 + 0xb8)) = r3;
    0x0000f240 str r8, [r4, 0xc0]                            |         *((r4 + 0xc0)) = r8;
    0x0000f244 b 0xf27c                                      |         
                                                             |     } else {
    0x0000f248 mov r3, 1                                     |         r3 = 1;
    0x0000f24c strb r3, [r4, 0xb8]                           |         *((r4 + 0xb8)) = r3;
    0x0000f250 ldr r3, [r4, 0xf4]                            |         r3 = *((r4 + 0xf4));
    0x0000f254 mov r1, 0                                     |         r1 = 0;
    0x0000f258 cmp r3, r1                                    |         
    0x0000f25c str r1, [r4, 0xc0]                            |         *((r4 + 0xc0)) = r1;
                                                             |         if (r3 == r1) {
    0x0000f260 beq 0xf27c                                    |             goto label_3;
                                                             |         }
    0x0000f264 ldr r3, [r4, 0x110]                           |         r3 = *((r4 + 0x110));
    0x0000f268 str r1, [r4, 0xf4]                            |         *((r4 + 0xf4)) = r1;
    0x0000f26c orr r3, r3, 2                                 |         r3 |= 2;
    0x0000f270 str r3, [r4, 0x110]                           |         *((r4 + 0x110)) = r3;
    0x0000f274 mov r0, r4                                    |         r0 = r4;
    0x0000f278 bl 0x1eb2c                                    |         Curl_expire_done ();
                                                             |     }
                                                             |     do {
                                                             | label_3:
    0x0000f27c ldrb r3, [r5, 0x251]                          |         r3 = *((r5 + 0x251));
    0x0000f280 cmp r3, 0                                     |         
                                                             |         if (r3 != 0) {
    0x0000f284 beq 0xf2d0                                    |             
                                                             | label_4:
    0x0000f288 ldr r3, [r4, 0xe8]                            |             r3 = *((r4 + 0xe8));
    0x0000f28c ldr r2, [pc, 0xd84]                           |             r2 = *(0x10014);
    0x0000f290 cmp r3, r2                                    |             
                                                             |             if (r3 != r2) {
    0x0000f294 ldreq r3, [r5, 0x2f8]                         |                 r3 = *((r5 + 0x2f8));
                                                             |             }
                                                             |             if (r3 != r2) {
    0x0000f298 beq 0xf2ac                                    |                 
    0x0000f29c ldr r2, [pc, 0xd78]                           |                 r2 = *(0x10018);
    0x0000f2a0 cmp r3, r2                                    |                 
                                                             |                 if (r3 != r2) {
    0x0000f2a4 bne 0xf2d0                                    |                     goto label_5;
                                                             |                 }
    0x0000f2a8 ldr r3, [r5, 0x310]                           |                 r3 = *((r5 + 0x310));
                                                             |             }
    0x0000f2ac cmp r3, 2                                     |             
                                                             |             if (r3 != 2) {
    0x0000f2b0 bne 0xf2d0                                    |                 goto label_5;
                                                             |             }
    0x0000f2b4 ldr r1, [pc, 0xd64]                           |             r1 = *(0x1001c);
    0x0000f2b8 mov r0, r4                                    |             r0 = r4;
    0x0000f2bc add r1, pc, r1                                |             r1 = pc + r1;
    0x0000f2c0 bl 0x104cc                                    |             Curl_infof ();
    0x0000f2c4 add r3, r4, 0x4000                            |             r3 = r4 + 0x4000;
    0x0000f2c8 mov r2, 1                                     |             r2 = 1;
    0x0000f2cc strb r2, [r3, 0x8a0]                          |             *((r3 + 0x8a0)) = r2;
                                                             |         }
                                                             | label_5:
    0x0000f2d0 mov r0, r5                                    |         r0 = r5;
    0x0000f2d4 bl 0xb8e4                                     |         r0 = http_should_fail ();
    0x0000f2d8 cmp r0, 0                                     |         
                                                             |         if (r0 == 0) {
    0x0000f2dc beq 0xf3b4                                    |             goto label_29;
                                                             |         }
    0x0000f2e0 ldr r1, [pc, 0xd3c]                           |         r1 = *(0x10020);
    0x0000f2e4 ldr r2, [r4, 0xe8]                            |         r2 = *((r4 + 0xe8));
    0x0000f2e8 add r1, pc, r1                                |         r1 = pc + r1;
                                                             | label_8:
    0x0000f2ec mov r0, r4                                    |         r0 = r4;
    0x0000f2f0 bl 0x10544                                    |         Curl_failf ();
    0x0000f2f4 b 0xf8b8                                      |         goto label_30;
                                                             | label_28:
    0x0000f2f8 ldr fp, [r4, 0xf8]                            |         fp = *((r4 + 0xf8));
    0x0000f2fc cmp fp, 1                                     |         
                                                             |         if (fp == 1) {
    0x0000f300 bne 0xf32c                                    |             
    0x0000f304 ldr r1, [pc, 0xd1c]                           |             r1 = *(0x10024);
    0x0000f308 mov r0, r4                                    |             r0 = r4;
    0x0000f30c add r1, pc, r1                                |             r1 = pc + r1;
    0x0000f310 bl 0x104cc                                    |             Curl_infof ();
    0x0000f314 mov r3, 2                                     |             r3 = 2;
    0x0000f318 str r3, [r4, 0xf8]                            |             *((r4 + 0xf8)) = r3;
    0x0000f31c strb fp, [r4, 0xb8]                           |             *((r4 + 0xb8)) = fp;
    0x0000f320 str r8, [r4, 0xc0]                            |             *((r4 + 0xc0)) = r8;
    0x0000f324 mov r6, 1                                     |             r6 = 1;
    0x0000f328 b 0xf13c                                      |             goto label_2;
                                                             |         }
    0x0000f32c strb r8, [r4, 0xb8]                           |         *((r4 + 0xb8)) = r8;
    0x0000f330 b 0xf27c                                      |         
                                                             |     } while (1);
                                                             | label_27:
    0x0000f334 mov r3, 0                                     |     r3 = 0;
    0x0000f338 strb r3, [r4, 0xb8]                           |     *((r4 + 0xb8)) = r3;
    0x0000f33c ldrd r2, r3, [r4, 0x70]                       |     __asm ("ldrd r2, r3, [r4, 0x70]");
    0x0000f340 mvn r1, 0                                     |     r1 = ~0;
    0x0000f344 mvn r0, 0                                     |     r0 = ~0;
    0x0000f348 cmp r3, r1                                    |     
    0x0000f34c cmpeq r2, r0                                  |     __asm ("cmpeq r2, r0");
                                                             |     if (r3 != r1) {
    0x0000f350 bne 0xf27c                                    |         goto label_3;
                                                             |     }
    0x0000f354 ldrb r3, [r4, 0x128]                          |     r3 = *((r4 + 0x128));
    0x0000f358 cmp r3, 0                                     |     
                                                             |     if (r3 != 0) {
    0x0000f35c bne 0xf27c                                    |         goto label_3;
                                                             |     }
    0x0000f360 ldrb r3, [r5, 0x251]                          |     r3 = *((r5 + 0x251));
    0x0000f364 cmp r3, 0                                     |     
                                                             |     if (r3 != 0) {
    0x0000f368 bne 0xf288                                    |         goto label_4;
                                                             |     }
    0x0000f36c ldr r3, [r5, 0x180]                           |     r3 = *((r5 + 0x180));
    0x0000f370 cmp r3, 0xb                                   |     
                                                             |     if (r3 != 0xb) {
    0x0000f374 bne 0xf2d0                                    |         goto label_5;
                                                             |     }
    0x0000f378 ldr r3, [r5, 0x284]                           |     r3 = *((r5 + 0x284));
    0x0000f37c ldr r3, [r3, 0x40]                            |     r3 = *((r3 + 0x40));
    0x0000f380 tst r3, 0x40000                               |     
                                                             |     if ((r3 & 0x40000) != 0) {
    0x0000f384 bne 0xf2d0                                    |         goto label_5;
                                                             |     }
    0x0000f388 ldr r3, [r4, 0x3d0]                           |     r3 = *((r4 + 0x3d0));
    0x0000f38c cmp r3, 6                                     |     
                                                             |     if (r3 == 6) {
    0x0000f390 beq 0xf2d0                                    |         goto label_5;
                                                             |     }
    0x0000f394 ldr r1, [pc, 0xc90]                           |     r1 = *(0x10028);
    0x0000f398 mov r0, r4                                    |     r0 = r4;
    0x0000f39c add r1, pc, r1                                |     r1 = pc + r1;
    0x0000f3a0 bl 0x104cc                                    |     Curl_infof ();
    0x0000f3a4 mov r1, 2                                     |     r1 = 2;
    0x0000f3a8 mov r0, r5                                    |     r0 = r5;
    0x0000f3ac bl 0x1cb34                                    |     Curl_conncontrol ();
    0x0000f3b0 b 0xf27c                                      |     goto label_3;
                                                             | label_29:
    0x0000f3b4 ldrb r3, [r4, 0x4cd]                          |     r3 = *((r4 + 0x4cd));
    0x0000f3b8 ldr r2, [r4, 0x7c4]                           |     r2 = *((r4 + 0x7c4));
    0x0000f3bc ldr r8, [r4, 0xd8]                            |     r8 = *((r4 + 0xd8));
    0x0000f3c0 cmp r3, 0                                     |     
    0x0000f3c4 sub r8, r8, r2                                |     r8 -= r2;
                                                             |     if (r3 == 0) {
    0x0000f3c8 movne r1, 3                                   |         r1 = 3;
                                                             |     }
                                                             |     if (r3 != 0) {
    0x0000f3cc moveq r1, 2                                   |         r1 = 2;
                                                             |     }
    0x0000f3d0 mov r3, r8                                    |     r3 = r8;
    0x0000f3d4 mov r0, r5                                    |     r0 = r5;
    0x0000f3d8 bl 0x107cc                                    |     r0 = Curl_client_write ();
    0x0000f3dc cmp r0, 0                                     |     
                                                             |     if (r0 != 0) {
    0x0000f3e0 bne 0xfd50                                    |         goto label_31;
                                                             |     }
    0x0000f3e4 add fp, r4, 0x4000                            |     
    0x0000f3e8 ldr r3, [fp, 0xa74]                           |     r3 = *(arg_a74h);
    0x0000f3ec ldr r2, [r4, 0xe8]                            |     r2 = *((r4 + 0xe8));
    0x0000f3f0 add r3, r3, r8                                |     r3 += r8;
    0x0000f3f4 str r3, [fp, 0xa74]                           |     *(arg_a74h) = r3;
    0x0000f3f8 ldr r3, [r4, 0xa0]                            |     r3 = *((r4 + 0xa0));
    0x0000f3fc sub r2, r2, 0x64                              |     r2 -= 0x64;
    0x0000f400 add r3, r8, r3                                |     r3 = r8 + r3;
    0x0000f404 cmp r2, 0x64                                  |     
    0x0000f408 str r3, [r4, 0xa0]                            |     *((r4 + 0xa0)) = r3;
                                                             |     if (r2 < 0x64) {
    0x0000f40c movhs r3, 0                                   |         r3 = 0;
                                                             |     }
    0x0000f410 str r3, [r4, 0xa4]                            |     *((r4 + 0xa4)) = r3;
    0x0000f414 mov r0, r5                                    |     r0 = r5;
    0x0000f418 bl 0xc2dc                                     |     r0 = Curl_http_auth_act ();
    0x0000f41c subs r3, r0, 0                                |     r3 = r0 - 0;
                                                             |     if (r3 != r0) {
    0x0000f420 bne 0x10114                                   |         goto label_32;
                                                             |     }
    0x0000f424 ldr r2, [r4, 0xe8]                            |     r2 = *((r4 + 0xe8));
    0x0000f428 cmp r2, 0x12c                                 |     
                                                             |     if (r2 >= 0x12c) {
    0x0000f42c blt 0xf4e0                                    |         
    0x0000f430 ldrb r2, [r5, 0x262]                          |         r2 = *((r5 + 0x262));
    0x0000f434 cmp r2, 0                                     |         
                                                             |         if (r2 == 0) {
    0x0000f438 bne 0xf4b8                                    |             
    0x0000f43c ldrb r2, [r5, 0x251]                          |             r2 = *((r5 + 0x251));
    0x0000f440 cmp r2, 0                                     |             
                                                             |             if (r2 != 0) {
    0x0000f444 bne 0xf4b8                                    |                 goto label_6;
                                                             |             }
    0x0000f448 ldrb r2, [r5, 0x263]                          |             r2 = *((r5 + 0x263));
    0x0000f44c cmp r2, 0                                     |             
                                                             |             if (r2 != 0) {
    0x0000f450 bne 0xf4c4                                    |                 goto label_33;
                                                             |             }
    0x0000f454 ldr r2, [r4, 0x3d0]                           |             r2 = *((r4 + 0x3d0));
    0x0000f458 sub r2, r2, 2                                 |             r2 -= 2;
    0x0000f45c cmp r2, 3                                     |             
                                                             |             if (r2 > 3) {
    0x0000f460 bhi 0xf4b8                                    |                 goto label_6;
                                                             |             }
    0x0000f464 mov r1, r3                                    |             r1 = r3;
    0x0000f468 mov r0, r4                                    |             r0 = r4;
    0x0000f46c str r3, [sp, 0x2c]                            |             var_2ch = r3;
    0x0000f470 bl 0x1eb2c                                    |             Curl_expire_done ();
    0x0000f474 ldrb r2, [r4, 0x114]                          |             r2 = *((r4 + 0x114));
    0x0000f478 cmp r2, 0                                     |             
                                                             |             if (r2 != 0) {
    0x0000f47c bne 0xf4b8                                    |                 goto label_6;
                                                             |             }
    0x0000f480 ldrb r2, [r4, 0x4c9]                          |             r2 = *((r4 + 0x4c9));
    0x0000f484 cmp r2, 0                                     |             
                                                             |             if (r2 == 0) {
    0x0000f488 beq 0xf588                                    |                 goto label_34;
                                                             |             }
    0x0000f48c ldr r1, [pc, 0xb9c]                           |             r1 = *(0x1002c);
    0x0000f490 mov r0, r4                                    |             r0 = r4;
    0x0000f494 add r1, pc, r1                                |             r1 = pc + r1;
    0x0000f498 bl 0x104cc                                    |             Curl_infof ();
    0x0000f49c ldr r2, [r4, 0xf4]                            |             r2 = *((r4 + 0xf4));
    0x0000f4a0 cmp r2, 0                                     |             
                                                             |             if (r2 == 0) {
    0x0000f4a4 ldrne r3, [sp, 0x2c]                          |                 r3 = var_2ch;
                                                             |             }
                                                             |             if (r2 == 0) {
    0x0000f4a8 strne r3, [r4, 0xf4]                          |                 *((r4 + 0xf4)) = r3;
                                                             |             }
                                                             |             if (r2 == 0) {
    0x0000f4ac ldrne r3, [r4, 0x110]                         |                 r3 = *((r4 + 0x110));
                                                             |             }
                                                             |             if (r2 == 0) {
    0x0000f4b0 orrne r3, r3, 2                               |                 r3 |= 2;
                                                             |             }
                                                             |             if (r2 != 0) {
    0x0000f4b4 strne r3, [r4, 0x110]                         |                 *((r4 + 0x110)) = r3;
                                                             |                 goto label_6;
                                                             |             }
                                                             |         }
                                                             | label_6:
    0x0000f4b8 ldrb r3, [r5, 0x263]                          |         r3 = *((r5 + 0x263));
    0x0000f4bc cmp r3, 0                                     |         
                                                             |         if (r3 == 0) {
    0x0000f4c0 beq 0xf4e0                                    |             goto label_35;
                                                             |         }
                                                             | label_33:
    0x0000f4c4 ldr r1, [pc, 0xb68]                           |         r1 = *(0x10030);
    0x0000f4c8 mov r0, r4                                    |         r0 = r4;
    0x0000f4cc add r1, pc, r1                                |         r1 = pc + r1;
    0x0000f4d0 bl 0x104cc                                    |         Curl_infof ();
    0x0000f4d4 ldr r3, [r4, 0x110]                           |         r3 = *((r4 + 0x110));
    0x0000f4d8 orr r3, r3, 2                                 |         r3 |= 2;
    0x0000f4dc str r3, [r4, 0x110]                           |         *((r4 + 0x110)) = r3;
                                                             |     }
                                                             | label_35:
    0x0000f4e0 ldrb r3, [r4, 0xb8]                           |     r3 = *((r4 + 0xb8));
    0x0000f4e4 cmp r3, 0                                     |     
                                                             |     if (r3 != 0) {
    0x0000f4e8 bne 0xf5cc                                    |         goto label_36;
                                                             |     }
    0x0000f4ec ldrb r3, [r4, 0x4d0]                          |     r3 = *((r4 + 0x4d0));
    0x0000f4f0 cmp r3, 0                                     |     
                                                             |     if (r3 == 0) {
    0x0000f4f4 movne r3, 1                                   |         r3 = 1;
                                                             |     }
                                                             |     if (r3 == 0) {
    0x0000f4f8 strbne r3, [sl]                               |         *(sl) = r3;
                                                             |     }
                                                             |     if (r3 == 0) {
    0x0000f4fc bne 0xf518                                    |         
    0x0000f500 ldrb r3, [r4, 0x128]                          |         r3 = *((r4 + 0x128));
    0x0000f504 cmp r3, 0                                     |         
                                                             |         if (r3 == 0) {
    0x0000f508 mvnne r2, 0                                   |             r2 = ~0;
                                                             |         }
                                                             |         if (r3 == 0) {
    0x0000f50c mvnne r3, 0                                   |             r3 = ~0;
                                                             |         }
    0x0000f510 strdne r2, r3, [r4, 0x70]                     |         __asm ("strdne r2, r3, [r4, 0x70]");
    0x0000f514 strdne r2, r3, [r4, 0x80]                     |         __asm ("strdne r2, r3, [r4, 0x80]");
                                                             |     }
    0x0000f518 ldrd r2, r3, [r4, 0x70]                       |     __asm ("ldrd r2, r3, [r4, 0x70]");
    0x0000f51c mvn r1, 0                                     |     r1 = ~0;
    0x0000f520 mvn r0, 0                                     |     r0 = ~0;
    0x0000f524 cmp r3, r1                                    |     
    0x0000f528 cmpeq r2, r0                                  |     __asm ("cmpeq r2, r0");
                                                             |     if (r3 != r1) {
    0x0000f52c beq 0xf540                                    |         
    0x0000f530 mov r0, r4                                    |         r0 = r4;
    0x0000f534 bl 0x8294                                     |         Curl_pgrsSetDownloadSize ();
    0x0000f538 ldrd r2, r3, [r4, 0x70]                       |         __asm ("ldrd r2, r3, [r4, 0x70]");
    0x0000f53c strd r2, r3, [r4, 0x80]                       |         __asm ("strd r2, r3, [r4, 0x80]");
                                                             |     }
    0x0000f540 ldrd r2, r3, [r4, 0x80]                       |     __asm ("ldrd r2, r3, [r4, 0x80]");
    0x0000f544 orrs r3, r2, r3                               |     r3 = r2 | r3;
                                                             |     if (r3 != r2) {
    0x0000f548 moveq r3, 1                                   |         r3 = 1;
                                                             |     }
                                                             |     if (r3 != r2) {
    0x0000f54c strbeq r3, [sl]                               |         *(sl) = r3;
                                                             |     }
    0x0000f550 ldrb r3, [sl]                                 |     r3 = *(sl);
    0x0000f554 cmp r3, 0                                     |     
                                                             |     if (r3 == 0) {
    0x0000f558 ldrne r3, [r4, 0x110]                         |         r3 = *((r4 + 0x110));
                                                             |     }
    0x0000f55c bicne r3, r3, 1                               |     __asm ("bicne r3, r3, 1");
                                                             |     if (r3 == 0) {
    0x0000f560 strne r3, [r4, 0x110]                         |         *((r4 + 0x110)) = r3;
                                                             |     }
    0x0000f564 ldrb r3, [r4, 0x4d8]                          |     r3 = *((r4 + 0x4d8));
    0x0000f568 cmp r3, 0                                     |     
                                                             |     if (r3 == 0) {
    0x0000f56c beq 0xf108                                    |         goto label_0;
                                                             |     }
    0x0000f570 mov r3, r8                                    |     r3 = r8;
    0x0000f574 ldr r2, [r4, 0xd0]                            |     r2 = *((r4 + 0xd0));
    0x0000f578 mov r1, 1                                     |     r1 = 1;
    0x0000f57c mov r0, r4                                    |     r0 = r4;
    0x0000f580 bl 0x10424                                    |     Curl_debug ();
    0x0000f584 b 0xf108                                      |     goto label_0;
                                                             | label_34:
    0x0000f588 ldr r1, [pc, 0xaa8]                           |     r1 = *(0x10034);
    0x0000f58c mov r0, r4                                    |     r0 = r4;
    0x0000f590 add r1, pc, r1                                |     r1 = pc + r1;
    0x0000f594 bl 0x104cc                                    |     Curl_infof ();
    0x0000f598 mov r1, 2                                     |     r1 = 2;
    0x0000f59c mov r0, r5                                    |     r0 = r5;
    0x0000f5a0 bl 0x1cb34                                    |     Curl_conncontrol ();
    0x0000f5a4 mov r3, 1                                     |     r3 = 1;
    0x0000f5a8 strb r3, [r4, 0x114]                          |     *((r4 + 0x114)) = r3;
    0x0000f5ac ldr r3, [r4, 0x110]                           |     r3 = *((r4 + 0x110));
    0x0000f5b0 bic r3, r3, 2                                 |     r3 = BIT_MASK (r3, 2);
    0x0000f5b4 str r3, [r4, 0x110]                           |     *((r4 + 0x110)) = r3;
    0x0000f5b8 ldrb r3, [fp, 0x9dc]                          |     r3 = *(arg_9dch);
    0x0000f5bc cmp r3, 0                                     |     
                                                             |     if (r3 == 0) {
    0x0000f5c0 movne r3, 3                                   |         r3 = 3;
                                                             |     }
                                                             |     if (r3 == 0) {
    0x0000f5c4 strne r3, [r4, 0xf4]                          |         *((r4 + 0xf4)) = r3;
                                                             |     }
    0x0000f5c8 b 0xf4b8                                      |     goto label_6;
                                                             | label_36:
    0x0000f5cc ldr r3, [r4, 0x7c4]                           |     r3 = *((r4 + 0x7c4));
    0x0000f5d0 str r3, [r4, 0xc4]                            |     *((r4 + 0xc4)) = r3;
    0x0000f5d4 mov r3, 0                                     |     r3 = 0;
    0x0000f5d8 str r3, [r4, 0xc8]                            |     *((r4 + 0xc8)) = r3;
                                                             | label_12:
    0x0000f5dc ldr r3, [r4, 0xcc]                            |     r3 = *((r4 + 0xcc));
    0x0000f5e0 ldrb r3, [r3]                                 |     r3 = *(r3);
    0x0000f5e4 cmp r3, 0                                     |     
                                                             |     if (r3 != 0) {
    0x0000f5e8 bne 0xf0bc                                    |         goto label_7;
                                                             |     }
    0x0000f5ec b 0xf13c                                      |     goto label_2;
                                                             | label_26:
    0x0000f5f0 ldr fp, [r4, 0xc0]                            |     fp = *((r4 + 0xc0));
    0x0000f5f4 add r3, fp, 1                                 |     r3 += arg_1h;
    0x0000f5f8 cmp fp, 0                                     |     
    0x0000f5fc str r3, [r4, 0xc0]                            |     *((r4 + 0xc0)) = r3;
                                                             |     if (fp != 0) {
    0x0000f600 bne 0xf920                                    |         goto label_37;
                                                             |     }
    0x0000f604 ldr r3, [r5, 0x284]                           |     r3 = *((r5 + 0x284));
    0x0000f608 ldr r3, [r3, 0x40]                            |     r3 = *((r3 + 0x40));
    0x0000f60c tst r3, 3                                     |     
                                                             |     if ((r3 & 3) == 0) {
    0x0000f610 beq 0xf838                                    |         goto label_38;
                                                             |     }
    0x0000f614 ldr r1, [pc, 0xa20]                           |     r1 = *(0x10038);
    0x0000f618 add r3, sp, 0x38                              |     r3 += var_38h;
    0x0000f61c add r8, r4, 0xe8                              |     r8 = r4 + 0xe8;
    0x0000f620 str r3, [sp]                                  |     *(sp) = r3;
    0x0000f624 str r8, [sp, 4]                               |     var_4h = r8;
    0x0000f628 add r3, r5, 0x180                             |     r3 = r5 + 0x180;
    0x0000f62c add r2, sp, 0x34                              |     r2 += var_34h;
    0x0000f630 add r1, pc, r1                                |     r1 = pc + r1;
    0x0000f634 bl 0x5658                                     |     r0 = sscanf (r0, r1, r2);
    0x0000f638 cmp r0, 1                                     |     
                                                             |     if (r0 != 1) {
    0x0000f63c bne 0xf7e0                                    |         goto label_39;
                                                             |     }
    0x0000f640 ldr r3, [sp, 0x34]                            |     r3 = var_34h;
    0x0000f644 cmp r3, 2                                     |     
                                                             |     if (r3 != 2) {
    0x0000f648 bne 0x1011c                                   |         goto label_40;
                                                             |     }
    0x0000f64c ldr r1, [pc, 0x9ec]                           |     r1 = *(0x1003c);
    0x0000f650 mov r2, r8                                    |     r2 = r8;
    0x0000f654 add r1, pc, r1                                |     r1 = pc + r1;
    0x0000f658 ldr r0, [r4, 0xd8]                            |     r0 = *((r4 + 0xd8));
    0x0000f65c bl 0x5658                                     |     r0 = sscanf (r0, r1, r2);
    0x0000f660 cmp r0, 1                                     |     
                                                             |     if (r0 != 1) {
    0x0000f664 bne 0x1011c                                   |         goto label_40;
                                                             |     }
    0x0000f668 mov r3, 0x20                                  |     r3 = 0x20;
    0x0000f66c str fp, [r5, 0x180]                           |     *((r5 + 0x180)) = fp;
    0x0000f670 strb r3, [sp, 0x38]                           |     var_38h = r3;
                                                             |     do {
    0x0000f674 ldrb r3, [sp, 0x38]                           |         r3 = var_38h;
    0x0000f678 cmp r3, 0x20                                  |         
                                                             |         if (r3 != 0x20) {
    0x0000f67c bne 0x1011c                                   |             goto label_40;
                                                             |         }
    0x0000f680 ldr r2, [r5, 0x180]                           |         r2 = *((r5 + 0x180));
    0x0000f684 ldr r3, [sp, 0x34]                            |         r3 = var_34h;
    0x0000f688 mov r1, 0xa                                   |         r1 = 0xa;
    0x0000f68c mla r0, r1, r3, r2                            |         __asm ("mla r0, r1, r3, r2");
    0x0000f690 ldr r3, [r4, 0xf8]                            |         r3 = *((r4 + 0xf8));
    0x0000f694 cmp r0, 0x14                                  |         
    0x0000f698 sub r2, r3, 2                                 |         r2 = r3 - 2;
    0x0000f69c clz r2, r2                                    |         r2 &= r2;
    0x0000f6a0 lsr r2, r2, 5                                 |         r2 >>= 5;
                                                             |         if (r0 != 0x14) {
    0x0000f6a4 moveq r2, 0                                   |             r2 = 0;
                                                             |         }
    0x0000f6a8 cmp r2, 0                                     |         
    0x0000f6ac str r0, [r5, 0x180]                           |         *((r5 + 0x180)) = r0;
                                                             |         if (r2 != 0) {
    0x0000f6b0 beq 0xf6c4                                    |             
    0x0000f6b4 ldr r1, [pc, 0x988]                           |             r1 = *(0x10040);
    0x0000f6b8 mov r0, r4                                    |             r0 = r4;
    0x0000f6bc add r1, pc, r1                                |             r1 = pc + r1;
    0x0000f6c0 bl 0x104cc                                    |             Curl_infof ();
                                                             |         }
                                                             | label_9:
    0x0000f6c4 add fp, r4, 0x4000                            |         
    0x0000f6c8 ldr r2, [fp, 0x9d8]                           |         r2 = *(arg_9d8h);
    0x0000f6cc ldr r1, [r5, 0x180]                           |         r1 = *((r5 + 0x180));
    0x0000f6d0 clz r3, r2                                    |         r3 &= r2;
    0x0000f6d4 lsr r3, r3, 5                                 |         r3 >>= 5;
    0x0000f6d8 cmp r1, r2                                    |         
                                                             |         if (r1 >= r2) {
    0x0000f6dc orrlt r3, r3, 1                               |             r3 |= 1;
                                                             |         }
    0x0000f6e0 cmp r3, 0                                     |         
    0x0000f6e4 add r3, r4, 0x4a00                            |         r3 = r4 + 0x4a00;
    0x0000f6e8 ldrd r2, r3, [r3, -8]                         |         __asm ("ldrd r2, r3, [r3, -8]");
    0x0000f6ec ldr r8, [r4, 0xe8]                            |         r8 = *((r4 + 0xe8));
                                                             |         if (r3 == 0) {
    0x0000f6f0 strne r1, [fp, 0x9d8]                         |             *(arg_9d8h) = r1;
                                                             |         }
    0x0000f6f4 orrs r3, r2, r3                               |         r3 = r2 | r3;
    0x0000f6f8 str r8, [fp, 0xa60]                           |         *(arg_a60h) = r8;
    0x0000f6fc str r1, [fp, 0xa68]                           |         *(arg_a68h) = r1;
                                                             |         if (r3 != r2) {
    0x0000f700 beq 0xf71c                                    |             
    0x0000f704 ldr r3, [r4, 0x3d0]                           |             r3 = *((r4 + 0x3d0));
    0x0000f708 cmp r3, 1                                     |             
    0x0000f70c cmpeq r8, 0x1a0                               |             __asm ("cmpeq r8, aav.0x000000ff");
                                                             |             if (r3 != 1) {
    0x0000f710 moveq r3, 1                                   |                 r3 = 1;
                                                             |             }
                                                             |             if (r3 != 1) {
    0x0000f714 strbeq r3, [r4, 0x115]                        |                 *((r4 + 0x115)) = r3;
                                                             |             }
                                                             |             if (r3 == 1) {
    0x0000f718 beq 0xf8c0                                    |                 goto label_41;
                                                             |             }
                                                             |         }
    0x0000f71c ldrb r3, [r4, 0x4c8]                          |         r3 = *((r4 + 0x4c8));
    0x0000f720 cmp r8, 0x190                                 |         
                                                             |         if (r8 >= 0x190) {
    0x0000f724 movlt r3, 0                                   |             r3 = 0;
                                                             |         }
                                                             |         if (r8 < 0x190) {
    0x0000f728 andge r3, r3, 1                               |             r3 &= 1;
                                                             |         }
    0x0000f72c cmp r3, 0                                     |         
                                                             |         if (r3 == 0) {
    0x0000f730 beq 0xf8c0                                    |             goto label_41;
                                                             |         }
    0x0000f734 ldr r3, [pc, 0x8dc]                           |         r3 = *(0x10014);
    0x0000f738 cmp r8, r3                                    |         
                                                             |         if (r8 != r3) {
    0x0000f73c ldrbeq r3, [r5, 0x258]                        |             r3 = *((r5 + 0x258));
                                                             |         }
                                                             |         if (r8 != r3) {
    0x0000f740 beq 0xf754                                    |             
    0x0000f744 ldr r3, [pc, 0x8d0]                           |             r3 = *(0x10018);
    0x0000f748 cmp r8, r3                                    |             
                                                             |             if (r8 != r3) {
    0x0000f74c bne 0xf75c                                    |                 goto label_42;
                                                             |             }
    0x0000f750 ldrb r3, [r5, 0x259]                          |             r3 = *((r5 + 0x259));
                                                             |         }
    0x0000f754 cmp r3, 0                                     |         
                                                             |         if (r3 != 0) {
    0x0000f758 bne 0xf8c0                                    |             goto label_41;
                                                             |         }
                                                             | label_42:
    0x0000f75c ldr r5, [r4, 0xd8]                            |         r5 = *((r4 + 0xd8));
    0x0000f760 ldr r1, [pc, 0x8e0]                           |         r1 = *(0x10044);
    0x0000f764 mov r2, 4                                     |         r2 = 4;
    0x0000f768 add r1, pc, r1                                |         r1 = pc + r1;
    0x0000f76c mov r0, r5                                    |         r0 = r5;
    0x0000f770 bl 0x516c                                     |         r0 = strncmp (r0, r1, r2);
    0x0000f774 cmp r0, 0                                     |         
                                                             |         if (r0 == 0) {
    0x0000f778 bne 0xf7d0                                    |             
    0x0000f77c mov r1, 0x20                                  |             r1 = 0x20;
    0x0000f780 mov r0, r5                                    |             r0 = r5;
    0x0000f784 bl 0x5b38                                     |             r0 = strchr (r0, r1);
    0x0000f788 cmp r0, 0                                     |             
                                                             |             if (r0 == 0) {
    0x0000f78c beq 0xf7d0                                    |                 goto label_43;
                                                             |             }
    0x0000f790 ldrb r3, [r0, 1]                              |             r3 = *((r0 + 1));
    0x0000f794 cmp r3, 0                                     |             
                                                             |             if (r3 == 0) {
    0x0000f798 beq 0xf7d0                                    |                 goto label_43;
                                                             |             }
    0x0000f79c add r5, r0, 1                                 |             r5 = r0 + 1;
    0x0000f7a0 mov r1, 0xd                                   |             r1 = 0xd;
    0x0000f7a4 mov r0, r5                                    |             r0 = r5;
    0x0000f7a8 bl 0x5b38                                     |             r0 = strchr (r0, r1);
    0x0000f7ac subs r6, r0, 0                                |             r6 = r0 - 0;
                                                             |             if (r6 == r0) {
    0x0000f7b0 movne r7, 0xd                                 |                 r7 = 0xd;
                                                             |             }
                                                             |             if (r6 != r0) {
    0x0000f7b4 bne 0xf898                                    |                 goto label_44;
                                                             |             }
    0x0000f7b8 mov r1, 0xa                                   |             r1 = 0xa;
    0x0000f7bc mov r0, r5                                    |             r0 = r5;
    0x0000f7c0 bl 0x5b38                                     |             r0 = strchr (r0, r1);
    0x0000f7c4 subs r6, r0, 0                                |             r6 = r0 - 0;
                                                             |             if (r6 == r0) {
    0x0000f7c8 movne r7, 0xa                                 |                 r7 = 0xa;
                                                             |             }
                                                             |             if (r6 != r0) {
    0x0000f7cc bne 0xf898                                    |                 goto label_44;
                                                             |             }
                                                             |         }
                                                             | label_43:
    0x0000f7d0 ldr r1, [pc, 0x874]                           |         r1 = *(0x10048);
    0x0000f7d4 mov r2, r8                                    |         r2 = r8;
    0x0000f7d8 add r1, pc, r1                                |         r1 = pc + r1;
    0x0000f7dc b 0xf2ec                                      |         goto label_8;
                                                             | label_39:
    0x0000f7e0 cmp r0, 4                                     |         
    0x0000f7e4 beq 0xf674                                    |         
                                                             |     } while (r0 == 4);
    0x0000f7e8 cmp r0, 0                                     |     
                                                             |     if (r0 != 0) {
    0x0000f7ec bne 0x1011c                                   |         goto label_40;
                                                             |     }
    0x0000f7f0 ldr r1, [pc, 0x858]                           |     r1 = *(0x1004c);
    0x0000f7f4 mov r2, r8                                    |     r2 = r8;
    0x0000f7f8 add r1, pc, r1                                |     r1 = pc + r1;
    0x0000f7fc ldr r0, [r4, 0xd8]                            |     r0 = *((r4 + 0xd8));
    0x0000f800 bl 0x5658                                     |     sscanf (r0, r1, r2);
    0x0000f804 mov r8, 0xa                                   |     r8 = 0xa;
    0x0000f808 str r8, [r5, 0x180]                           |     *((r5 + 0x180)) = r8;
    0x0000f80c cmp r0, 0                                     |     
                                                             |     if (r0 != 0) {
    0x0000f810 bne 0xf6c4                                    |         goto label_9;
                                                             |     }
    0x0000f814 ldr r1, [r4, 0xd8]                            |     r1 = *((r4 + 0xd8));
    0x0000f818 ldr r0, [r4, 0x4a0]                           |     r0 = *((r4 + 0x4a0));
    0x0000f81c bl 0xbdd4                                     |     r0 = checkhttpprefix_isra_2 ();
    0x0000f820 cmp r0, 0                                     |     
                                                             |     if (r0 == 0) {
    0x0000f824 beq 0xfa14                                    |         goto label_45;
                                                             |     }
    0x0000f828 mov r3, 0xc8                                  |     r3 = 0xc8;
    0x0000f82c str r3, [r4, 0xe8]                            |     *((r4 + 0xe8)) = r3;
    0x0000f830 str r8, [r5, 0x180]                           |     *((r5 + 0x180)) = r8;
    0x0000f834 b 0xf6c4                                      |     goto label_9;
                                                             | label_38:
    0x0000f838 tst r3, 0x40000                               |     
                                                             |     if ((r3 & 0x40000) == 0) {
    0x0000f83c beq 0xfa14                                    |         goto label_45;
                                                             |     }
    0x0000f840 ldr r1, [pc, 0x80c]                           |     r1 = *(0x10050);
    0x0000f844 add r3, r4, 0xe8                              |     r3 = r4 + 0xe8;
    0x0000f848 str r3, [sp, 4]                               |     var_4h = r3;
    0x0000f84c add r3, sp, 0x34                              |     r3 += var_34h;
    0x0000f850 str r3, [sp]                                  |     *(sp) = r3;
    0x0000f854 add r2, sp, 0x38                              |     r2 += var_38h;
    0x0000f858 add r3, r5, 0x184                             |     r3 = r5 + 0x184;
    0x0000f85c add r1, pc, r1                                |     r1 = pc + r1;
    0x0000f860 bl 0x5658                                     |     r0 = sscanf (r0, r1, r2);
    0x0000f864 cmp r0, 4                                     |     
                                                             |     if (r0 != 4) {
    0x0000f868 bne 0xfa14                                    |         goto label_45;
                                                             |     }
    0x0000f86c ldrb r3, [sp, 0x34]                           |     r3 = var_34h;
    0x0000f870 cmp r3, 0x20                                  |     
                                                             |     if (r3 != 0x20) {
    0x0000f874 bne 0xfa14                                    |         goto label_45;
                                                             |     }
    0x0000f878 ldr r2, [r5, 0x184]                           |     r2 = *((r5 + 0x184));
    0x0000f87c ldr r0, [sp, 0x38]                            |     r0 = var_38h;
    0x0000f880 mov r1, 0xa                                   |     r1 = 0xa;
    0x0000f884 mla r3, r1, r0, r2                            |     __asm ("mla r3, r1, r0, r2");
    0x0000f888 str r3, [r5, 0x184]                           |     *((r5 + 0x184)) = r3;
    0x0000f88c mov r3, 0xb                                   |     r3 = 0xb;
    0x0000f890 str r3, [r5, 0x180]                           |     *((r5 + 0x180)) = r3;
    0x0000f894 b 0xf6c4                                      |     goto label_9;
                                                             | label_44:
    0x0000f898 ldr r1, [pc, 0x7b8]                           |     r1 = *(0x10054);
    0x0000f89c mov r3, 0                                     |     r3 = 0;
    0x0000f8a0 strb r3, [r6]                                 |     *(r6) = r3;
    0x0000f8a4 mov r2, r5                                    |     r2 = r5;
    0x0000f8a8 add r1, pc, r1                                |     r1 = pc + r1;
    0x0000f8ac mov r0, r4                                    |     r0 = r4;
    0x0000f8b0 bl 0x10544                                    |     Curl_failf ();
    0x0000f8b4 strb r7, [r6]                                 |     *(r6) = r7;
                                                             | label_30:
    0x0000f8b8 mov r6, 0x16                                  |     r6 = 0x16;
    0x0000f8bc b 0xf13c                                      |     goto label_2;
                                                             | label_41:
    0x0000f8c0 cmp r1, 0xa                                   |     
                                                             |     if (r1 != 0xa) {
    0x0000f8c4 bne 0xf9ac                                    |         goto label_46;
                                                             |     }
    0x0000f8c8 ldr r1, [pc, 0x78c]                           |     r1 = *(0x10058);
    0x0000f8cc mov r0, r4                                    |     r0 = r4;
    0x0000f8d0 add r1, pc, r1                                |     r1 = pc + r1;
    0x0000f8d4 bl 0x104cc                                    |     Curl_infof ();
    0x0000f8d8 mov r1, 1                                     |     r1 = 1;
    0x0000f8dc mov r0, r5                                    |     r0 = r5;
    0x0000f8e0 bl 0x1cb34                                    |     Curl_conncontrol ();
                                                             |     do {
                                                             | label_10:
    0x0000f8e4 ldr r3, [r4, 0xe8]                            |         r3 = *((r4 + 0xe8));
    0x0000f8e8 cmp r3, 0xcc                                  |         
                                                             |         if (r3 != 0xcc) {
    0x0000f8ec beq 0xf8f8                                    |             
    0x0000f8f0 cmp r3, 0x130                                 |             
                                                             |             if (r3 != 0x130) {
    0x0000f8f4 bne 0xf920                                    |                 goto label_37;
                                                             |             }
                                                             |         }
    0x0000f8f8 ldr r3, [r4, 0x3c8]                           |         r3 = *((r4 + 0x3c8));
    0x0000f8fc mov r2, 0                                     |         r2 = 0;
    0x0000f900 cmp r3, 0                                     |         
                                                             |         if (r3 == 0) {
    0x0000f904 movne r3, 1                                   |             r3 = 1;
                                                             |         }
                                                             |         if (r3 == 0) {
    0x0000f908 strbne r3, [fp, 0xa70]                        |             *(arg_a70h) = r3;
                                                             |         }
    0x0000f90c mov r3, 0                                     |         r3 = 0;
    0x0000f910 strd r2, r3, [r4, 0x70]                       |         __asm ("strd r2, r3, [r4, 0x70]");
    0x0000f914 strd r2, r3, [r4, 0x80]                       |         __asm ("strd r2, r3, [r4, 0x80]");
    0x0000f918 mov r3, 1                                     |         r3 = 1;
    0x0000f91c strb r3, [r4, 0x116]                          |         *((r4 + 0x116)) = r3;
                                                             | label_37:
    0x0000f920 ldrb r3, [r4, 0x116]                          |         r3 = *((r4 + 0x116));
    0x0000f924 cmp r3, 0                                     |         
                                                             |         if (r3 != 0) {
    0x0000f928 bne 0xfafc                                    |             goto label_47;
                                                             |         }
    0x0000f92c ldrb r8, [r4, 0x4ef]                          |         r8 = *((r4 + 0x4ef));
    0x0000f930 cmp r8, 0                                     |         
                                                             |         if (r8 != 0) {
    0x0000f934 bne 0xfafc                                    |             goto label_47;
                                                             |         }
    0x0000f938 ldr r0, [pc, 0x720]                           |         r0 = *(0x1005c);
    0x0000f93c mov r2, 0xf                                   |         r2 = 0xf;
    0x0000f940 ldr r1, [r4, 0xd8]                            |         r1 = *((r4 + 0xd8));
    0x0000f944 add r0, pc, r0                                |         r0 = pc + r0;
    0x0000f948 bl 0x5bd4                                     |         r0 = fcn_00005bd4 ();
    0x0000f94c cmp r0, 0                                     |         
                                                             |         if (r0 == 0) {
    0x0000f950 beq 0xfafc                                    |             goto label_47;
                                                             |         }
    0x0000f954 ldr r0, [r4, 0xd8]                            |         r0 = *((r4 + 0xd8));
    0x0000f958 add r3, sp, 0x38                              |         r3 += var_38h;
    0x0000f95c mov r2, 0xa                                   |         r2 = 0xa;
    0x0000f960 mov r1, r8                                    |         r1 = r8;
    0x0000f964 add r0, r0, 0xf                               |         r0 += 0xf;
    0x0000f968 bl 0x2188c                                    |         r0 = curlx_strtoofft ();
    0x0000f96c cmp r0, 0                                     |         
                                                             |         if (r0 != 0) {
    0x0000f970 bne 0xfaac                                    |             goto label_48;
                                                             |         }
    0x0000f974 add r3, r4, 0x4b0                             |         r3 = r4 + 0x4b0;
    0x0000f978 ldrd r0, r1, [r3, -8]                         |         __asm ("ldrd r0, r1, [r3, -8]");
    0x0000f97c ldrd r2, r3, [sp, 0x38]                       |         __asm ("ldrd r2, r3, [var_38h]");
    0x0000f980 orrs ip, r0, r1                               |         
                                                             |         if (ip == r0) {
    0x0000f984 beq 0xfa20                                    |             goto label_49;
                                                             |         }
    0x0000f988 cmp r0, r2                                    |         
    0x0000f98c sbcs r1, r1, r3                               |         __asm ("sbcs r1, r1, r3");
                                                             |         if (r0 >= r2) {
    0x0000f990 bge 0xfa20                                    |             goto label_49;
                                                             |         }
                                                             | label_13:
    0x0000f994 ldr r1, [pc, 0x6c8]                           |         r1 = *(0x10060);
    0x0000f998 mov r0, r4                                    |         r0 = r4;
    0x0000f99c add r1, pc, r1                                |         r1 = pc + r1;
    0x0000f9a0 bl 0x10544                                    |         Curl_failf ();
    0x0000f9a4 mov r6, 0x3f                                  |         r6 = 0x3f;
    0x0000f9a8 b 0xf13c                                      |         goto label_2;
                                                             | label_46:
    0x0000f9ac cmp r1, 0x14                                  |         
                                                             |         if (r1 != 0x14) {
    0x0000f9b0 beq 0xf9c4                                    |             
    0x0000f9b4 ldr r3, [r4, 0xf8]                            |             r3 = *((r4 + 0xf8));
    0x0000f9b8 cmp r3, 1                                     |             
    0x0000f9bc cmpeq r8, 0x65                                |             __asm ("cmpeq r8, 0x65");
                                                             |             if (r3 != 1) {
    0x0000f9c0 bne 0xf9d4                                    |                 goto label_50;
                                                             |             }
                                                             |         }
    0x0000f9c4 ldr r3, [r5, 0x500]                           |         r3 = *((r5 + 0x500));
    0x0000f9c8 mov r2, 2                                     |         r2 = 2;
                                                             | label_11:
    0x0000f9cc str r2, [r3]                                  |         *(r3) = r2;
    0x0000f9d0 b 0xf8e4                                      |         
                                                             |     } while (1);
                                                             | label_50:
    0x0000f9d4 cmp r1, 0xa                                   |     
                                                             |     if (r1 <= 0xa) {
    0x0000f9d8 ble 0xf8e4                                    |         goto label_10;
                                                             |     }
    0x0000f9dc ldrb r3, [r5, 0x251]                          |     r3 = *((r5 + 0x251));
    0x0000f9e0 cmp r3, 0                                     |     
                                                             |     if (r3 != 0) {
    0x0000f9e4 bne 0xf8e4                                    |         goto label_10;
                                                             |     }
    0x0000f9e8 ldr r3, [r5, 0x500]                           |     r3 = *((r5 + 0x500));
    0x0000f9ec cmp r3, 0                                     |     
                                                             |     if (r3 == 0) {
    0x0000f9f0 beq 0xf8e4                                    |         goto label_10;
                                                             |     }
    0x0000f9f4 mov r1, r5                                    |     r1 = r5;
    0x0000f9f8 mov r0, r4                                    |     r0 = r4;
    0x0000f9fc bl 0x29094                                    |     r0 = Curl_pipeline_site_blacklisted ();
    0x0000fa00 cmp r0, 0                                     |     
                                                             |     if (r0 != 0) {
    0x0000fa04 bne 0xf8e4                                    |         goto label_10;
                                                             |     }
    0x0000fa08 ldr r3, [r5, 0x500]                           |     r3 = *((r5 + 0x500));
    0x0000fa0c mov r2, 1                                     |     r2 = 1;
    0x0000fa10 b 0xf9cc                                      |     goto label_11;
                                                             | label_45:
    0x0000fa14 mov r3, 0                                     |     r3 = 0;
    0x0000fa18 strb r3, [r4, 0xb8]                           |     *((r4 + 0xb8)) = r3;
    0x0000fa1c b 0xf13c                                      |     goto label_2;
                                                             | label_49:
    0x0000fa20 strd r2, r3, [r4, 0x70]                       |     __asm ("strd r2, r3, [r4, 0x70]");
    0x0000fa24 strd r2, r3, [r4, 0x80]                       |     __asm ("strd r2, r3, [r4, 0x80]");
    0x0000fa28 mov r0, r4                                    |     r0 = r4;
    0x0000fa2c bl 0x8294                                     |     Curl_pgrsSetDownloadSize ();
                                                             | label_14:
    0x0000fa30 ldrb r3, [r4, 0x4cd]                          |     r3 = *((r4 + 0x4cd));
    0x0000fa34 cmp r3, 0                                     |     
    0x0000fa38 ldrb r3, [r4, 0x4d8]                          |     r3 = *((r4 + 0x4d8));
                                                             |     if (r3 == 0) {
    0x0000fa3c movne r8, 3                                   |         r8 = 3;
                                                             |     }
                                                             |     if (r3 != 0) {
    0x0000fa40 moveq r8, 2                                   |         r8 = 2;
                                                             |     }
    0x0000fa44 cmp r3, 0                                     |     
                                                             |     if (r3 != 0) {
    0x0000fa48 beq 0xfa60                                    |         
    0x0000fa4c ldr r3, [r4, 0xc8]                            |         r3 = *((r4 + 0xc8));
    0x0000fa50 ldr r2, [r4, 0xd8]                            |         r2 = *((r4 + 0xd8));
    0x0000fa54 mov r1, 1                                     |         r1 = 1;
    0x0000fa58 mov r0, r4                                    |         r0 = r4;
    0x0000fa5c bl 0x10424                                    |         Curl_debug ();
                                                             |     }
    0x0000fa60 ldr r3, [r4, 0xc8]                            |     r3 = *((r4 + 0xc8));
    0x0000fa64 ldr r2, [r4, 0xd8]                            |     r2 = *((r4 + 0xd8));
    0x0000fa68 mov r1, r8                                    |     r1 = r8;
    0x0000fa6c mov r0, r5                                    |     r0 = r5;
    0x0000fa70 bl 0x107cc                                    |     r0 = Curl_client_write ();
    0x0000fa74 cmp r0, 0                                     |     
                                                             |     if (r0 != 0) {
    0x0000fa78 bne 0xfd50                                    |         goto label_31;
                                                             |     }
    0x0000fa7c add r3, r4, 0x4000                            |     r3 = r4 + 0x4000;
    0x0000fa80 ldr r2, [r3, 0xa74]                           |     r2 = *((r3 + 0xa74));
    0x0000fa84 ldr r1, [r4, 0xc8]                            |     r1 = *((r4 + 0xc8));
    0x0000fa88 add r2, r2, r1                                |     r2 += r1;
    0x0000fa8c str r2, [r3, 0xa74]                           |     *((r3 + 0xa74)) = r2;
    0x0000fa90 ldr r3, [r4, 0xa0]                            |     r3 = *((r4 + 0xa0));
    0x0000fa94 str r0, [r4, 0xc8]                            |     *((r4 + 0xc8)) = r0;
    0x0000fa98 add r3, r3, r1                                |     r3 += r1;
    0x0000fa9c str r3, [r4, 0xa0]                            |     *((r4 + 0xa0)) = r3;
    0x0000faa0 ldr r3, [r4, 0x7c4]                           |     r3 = *((r4 + 0x7c4));
    0x0000faa4 str r3, [r4, 0xc4]                            |     *((r4 + 0xc4)) = r3;
    0x0000faa8 b 0xf5dc                                      |     goto label_12;
                                                             | label_48:
    0x0000faac cmp r0, 1                                     |     
                                                             |     if (r0 != 1) {
    0x0000fab0 bne 0xfae4                                    |         goto label_51;
                                                             |     }
    0x0000fab4 add r3, r4, 0x4b0                             |     r3 = r4 + 0x4b0;
    0x0000fab8 ldrd r2, r3, [r3, -8]                         |     __asm ("ldrd r2, r3, [r3, -8]");
    0x0000fabc orrs r3, r2, r3                               |     r3 = r2 | r3;
                                                             |     if (r3 != r2) {
    0x0000fac0 bne 0xf994                                    |         goto label_13;
                                                             |     }
    0x0000fac4 mov r1, 2                                     |     r1 = 2;
    0x0000fac8 mov r0, r5                                    |     r0 = r5;
    0x0000facc bl 0x1cb34                                    |     Curl_conncontrol ();
    0x0000fad0 ldr r1, [pc, 0x590]                           |     r1 = *(0x10064);
    0x0000fad4 add r1, pc, r1                                |     r1 = pc + r1;
                                                             | label_16:
    0x0000fad8 mov r0, r4                                    |     r0 = r4;
    0x0000fadc bl 0x104cc                                    |     Curl_infof ();
    0x0000fae0 b 0xfa30                                      |     goto label_14;
                                                             | label_51:
    0x0000fae4 ldr r1, [pc, 0x580]                           |     r1 = *(0x10068);
    0x0000fae8 mov r0, r4                                    |     r0 = r4;
    0x0000faec add r1, pc, r1                                |     r1 = pc + r1;
    0x0000faf0 bl 0x10544                                    |     Curl_failf ();
    0x0000faf4 mov r6, 8                                     |     r6 = 8;
    0x0000faf8 b 0xf13c                                      |     goto label_2;
                                                             | label_47:
    0x0000fafc mov r2, 0xd                                   |     r2 = 0xd;
    0x0000fb00 ldr r1, [r4, 0xd8]                            |     r1 = *((r4 + 0xd8));
    0x0000fb04 ldr r0, [sp, 0x20]                            |     r0 = var_20h;
    0x0000fb08 bl 0x5bd4                                     |     r0 = fcn_00005bd4 ();
    0x0000fb0c cmp r0, 0                                     |     
                                                             |     if (r0 != 0) {
    0x0000fb10 beq 0xfb60                                    |         
    0x0000fb14 ldr r0, [r4, 0xd8]                            |         r0 = *((r4 + 0xd8));
    0x0000fb18 bl 0xc1ec                                     |         r0 = Curl_copy_header_value ();
    0x0000fb1c subs fp, r0, 0                                |         
                                                             |         if (fp == r0) {
    0x0000fb20 bne 0xfb2c                                    |             
                                                             | label_19:
    0x0000fb24 mov r6, 0x1b                                  |             r6 = 0x1b;
    0x0000fb28 b 0xf13c                                      |             goto label_2;
                                                             |         }
    0x0000fb2c ldr r3, [pc, 0x53c]                           |         
    0x0000fb30 ldrb r2, [fp]                                 |         r2 = *(fp);
    0x0000fb34 ldr r3, [r7, r3]                              |         r3 = *((r7 + r3));
    0x0000fb38 cmp r2, 0                                     |         
    0x0000fb3c ldr r3, [r3]                                  |         r3 = *(0x1006c);
                                                             |         if (r2 == 0) {
    0x0000fb40 bne 0xfb4c                                    |             
                                                             | label_15:
    0x0000fb44 blx r3                                        |             uint32_t (*r3)() ();
    0x0000fb48 b 0xfa30                                      |             goto label_14;
                                                             |         }
    0x0000fb4c add r8, r4, 0x4000                            |         r8 = r4 + 0x4000;
    0x0000fb50 ldr r0, [r8, 0xa88]                           |         r0 = *((r8 + 0xa88));
    0x0000fb54 blx r3                                        |         uint32_t (*r3)(uint32_t) (r0);
    0x0000fb58 str fp, [r8, 0xa88]                           |         *((r8 + 0xa88)) = fp;
    0x0000fb5c b 0xfa30                                      |         goto label_14;
                                                             |     }
    0x0000fb60 mov r2, 7                                     |     r2 = 7;
    0x0000fb64 ldr r1, [r4, 0xd8]                            |     r1 = *((r4 + 0xd8));
    0x0000fb68 ldr r0, [sp, 0x24]                            |     r0 = var_24h;
    0x0000fb6c bl 0x5bd4                                     |     fcn_00005bd4 ();
    0x0000fb70 ldr r3, [r5, 0x180]                           |     r3 = *((r5 + 0x180));
    0x0000fb74 subs r8, r0, 0                                |     r8 = r0 - 0;
                                                             |     if (r8 == r0) {
    0x0000fb78 beq 0xfbd8                                    |         goto label_52;
                                                             |     }
    0x0000fb7c cmp r3, 0x13                                  |     
                                                             |     if (r3 > 0x13) {
    0x0000fb80 bgt 0xfa30                                    |         goto label_14;
                                                             |     }
    0x0000fb84 ldr r0, [r4, 0xd8]                            |     r0 = *((r4 + 0xd8));
    0x0000fb88 bl 0xc1ec                                     |     Curl_copy_header_value ();
    0x0000fb8c ldr r3, [r5, 0x500]                           |     r3 = *((r5 + 0x500));
    0x0000fb90 cmp r3, 0                                     |     
    0x0000fb94 mov r8, r0                                    |     r8 = r0;
                                                             |     if (r3 != 0) {
    0x0000fb98 beq 0xfbc4                                    |         
    0x0000fb9c ldr r3, [r3]                                  |         r3 = *(r3);
    0x0000fba0 cmp r3, 1                                     |         
                                                             |         if (r3 != 1) {
    0x0000fba4 bne 0xfbc4                                    |             goto label_53;
                                                             |         }
    0x0000fba8 mov r1, r0                                    |         r1 = r0;
    0x0000fbac mov r0, r4                                    |         r0 = r4;
    0x0000fbb0 bl 0x29218                                    |         r0 = Curl_pipeline_server_blacklisted ();
    0x0000fbb4 cmp r0, 0                                     |         
                                                             |         if (r0 == 0) {
    0x0000fbb8 ldrne r3, [r5, 0x500]                         |             r3 = *((r5 + 0x500));
                                                             |         }
                                                             |         if (r0 == 0) {
    0x0000fbbc mvnne r2, 0                                   |             r2 = ~0;
                                                             |         }
                                                             |         if (r0 != 0) {
    0x0000fbc0 strne r2, [r3]                                |             *(r3) = r2;
                                                             |             goto label_53;
                                                             |         }
                                                             |     }
                                                             | label_53:
    0x0000fbc4 ldr r3, [pc, 0x4a4]                           |     
    0x0000fbc8 mov r0, r8                                    |     r0 = r8;
    0x0000fbcc ldr r3, [r7, r3]                              |     r3 = *((r7 + r3));
    0x0000fbd0 ldr r3, [r3]                                  |     r3 = *(0x1006c);
    0x0000fbd4 b 0xfb44                                      |     goto label_15;
                                                             | label_52:
    0x0000fbd8 cmp r3, 0xa                                   |     
                                                             |     if (r3 == 0xa) {
    0x0000fbdc bne 0xfc24                                    |         
    0x0000fbe0 ldrb r3, [r5, 0x256]                          |         r3 = *((r5 + 0x256));
    0x0000fbe4 cmp r3, 0                                     |         
                                                             |         if (r3 == 0) {
    0x0000fbe8 beq 0xfc24                                    |             goto label_54;
                                                             |         }
    0x0000fbec ldr r2, [pc, 0x480]                           |         r2 = *(0x10070);
    0x0000fbf0 ldr r1, [pc, 0x480]                           |         r1 = *(0x10074);
    0x0000fbf4 add r2, pc, r2                                |         r2 = pc + r2;
    0x0000fbf8 add r1, pc, r1                                |         r1 = pc + r1;
    0x0000fbfc ldr r0, [r4, 0xd8]                            |         r0 = *((r4 + 0xd8));
    0x0000fc00 bl 0xcf18                                     |         r0 = Curl_compareheader ();
    0x0000fc04 cmp r0, 0                                     |         
                                                             |         if (r0 == 0) {
    0x0000fc08 beq 0xfc24                                    |             goto label_54;
                                                             |         }
    0x0000fc0c mov r1, r8                                    |         r1 = r8;
    0x0000fc10 mov r0, r5                                    |         r0 = r5;
    0x0000fc14 bl 0x1cb34                                    |         Curl_conncontrol ();
    0x0000fc18 ldr r1, [pc, 0x45c]                           |         r1 = "___error:__s";
    0x0000fc1c add r1, pc, r1                                |         r1 = pc + r1;
    0x0000fc20 b 0xfad8                                      |         goto label_16;
                                                             |     }
                                                             | label_54:
    0x0000fc24 ldr r3, [r5, 0x180]                           |     r3 = *((r5 + 0x180));
    0x0000fc28 cmp r3, 0xb                                   |     
                                                             |     if (r3 == 0xb) {
    0x0000fc2c bne 0xfc74                                    |         
    0x0000fc30 ldrb r3, [r5, 0x256]                          |         r3 = *((r5 + 0x256));
    0x0000fc34 cmp r3, 0                                     |         
                                                             |         if (r3 == 0) {
    0x0000fc38 beq 0xfc74                                    |             goto label_55;
                                                             |         }
    0x0000fc3c ldr r2, [pc, 0x43c]                           |         r2 = *(0x1007c);
    0x0000fc40 ldr r1, [pc, 0x43c]                           |         r1 = *(0x10080);
    0x0000fc44 add r2, pc, r2                                |         r2 = pc + r2;
    0x0000fc48 add r1, pc, r1                                |         r1 = pc + r1;
    0x0000fc4c ldr r0, [r4, 0xd8]                            |         r0 = *((r4 + 0xd8));
    0x0000fc50 bl 0xcf18                                     |         r0 = Curl_compareheader ();
    0x0000fc54 cmp r0, 0                                     |         
                                                             |         if (r0 == 0) {
    0x0000fc58 beq 0xfc74                                    |             goto label_55;
                                                             |         }
    0x0000fc5c mov r1, 1                                     |         r1 = 1;
    0x0000fc60 mov r0, r5                                    |         r0 = r5;
    0x0000fc64 bl 0x1cb34                                    |         Curl_conncontrol ();
    0x0000fc68 ldr r1, [pc, 0x418]                           |         r1 = *(0x10084);
    0x0000fc6c add r1, pc, r1                                |         r1 = pc + r1;
    0x0000fc70 b 0xfad8                                      |         goto label_16;
                                                             |     }
                                                             | label_55:
    0x0000fc74 ldr r3, [r5, 0x180]                           |     r3 = *((r5 + 0x180));
    0x0000fc78 cmp r3, 0xa                                   |     
                                                             |     if (r3 == 0xa) {
    0x0000fc7c bne 0xfcb8                                    |         
    0x0000fc80 ldr r2, [pc, 0x404]                           |         r2 = *(0x10088);
    0x0000fc84 ldr r1, [pc, 0x404]                           |         r1 = *(0x1008c);
    0x0000fc88 add r2, pc, r2                                |         r2 = pc + r2;
    0x0000fc8c add r1, pc, r1                                |         r1 = pc + r1;
    0x0000fc90 ldr r0, [r4, 0xd8]                            |         r0 = *((r4 + 0xd8));
    0x0000fc94 bl 0xcf18                                     |         r0 = Curl_compareheader ();
    0x0000fc98 cmp r0, 0                                     |         
                                                             |         if (r0 == 0) {
    0x0000fc9c beq 0xfcb8                                    |             goto label_56;
                                                             |         }
    0x0000fca0 mov r1, 0                                     |         r1 = 0;
    0x0000fca4 mov r0, r5                                    |         r0 = r5;
    0x0000fca8 bl 0x1cb34                                    |         Curl_conncontrol ();
    0x0000fcac ldr r1, [pc, 0x3e0]                           |         r1 = *(0x10090);
    0x0000fcb0 add r1, pc, r1                                |         r1 = pc + r1;
    0x0000fcb4 b 0xfad8                                      |         goto label_16;
                                                             |     }
                                                             | label_56:
    0x0000fcb8 ldr r1, [pc, 0x3d8]                           |     r1 = *(0x10094);
    0x0000fcbc ldr r2, [sp, 0x28]                            |     r2 = var_28h;
    0x0000fcc0 add r1, pc, r1                                |     r1 = pc + r1;
    0x0000fcc4 ldr r0, [r4, 0xd8]                            |     r0 = *((r4 + 0xd8));
    0x0000fcc8 bl 0xcf18                                     |     r0 = Curl_compareheader ();
    0x0000fccc cmp r0, 0                                     |     
                                                             |     if (r0 != 0) {
    0x0000fcd0 beq 0xfce4                                    |         
    0x0000fcd4 mov r1, 2                                     |         r1 = 2;
    0x0000fcd8 mov r0, r5                                    |         r0 = r5;
    0x0000fcdc bl 0x1cb34                                    |         Curl_conncontrol ();
    0x0000fce0 b 0xfa30                                      |         goto label_14;
                                                             |     }
    0x0000fce4 ldr r0, [pc, 0x3b0]                           |     r0 = *(0x10098);
    0x0000fce8 ldr r1, [r4, 0xd8]                            |     r1 = *((r4 + 0xd8));
    0x0000fcec mov r2, 0x12                                  |     r2 = 0x12;
    0x0000fcf0 add r0, pc, r0                                |     r0 = pc + r0;
    0x0000fcf4 bl 0x5bd4                                     |     r0 = fcn_00005bd4 ();
    0x0000fcf8 subs r8, r0, 0                                |     r8 = r0 - 0;
                                                             |     if (r8 == r0) {
    0x0000fcfc ldrne r1, [r4, 0xd8]                          |         r1 = *((r4 + 0xd8));
                                                             |     }
                                                             |     if (r8 == r0) {
    0x0000fd00 movne r2, 1                                   |         r2 = 1;
                                                             |     }
                                                             |     if (r8 == r0) {
    0x0000fd04 addne r1, r1, 0x12                            |         r1 += 0x12;
                                                             |     }
                                                             |     if (r8 == r0) {
    0x0000fd08 bne 0xfd40                                    |         
    0x0000fd0c ldr r0, [pc, 0x38c]                           |         r0 = *(0x1009c);
    0x0000fd10 mov r2, 0x11                                  |         r2 = 0x11;
    0x0000fd14 ldr r1, [r4, 0xd8]                            |         r1 = *((r4 + 0xd8));
    0x0000fd18 add r0, pc, r0                                |         r0 = pc + r0;
    0x0000fd1c bl 0x5bd4                                     |         r0 = fcn_00005bd4 ();
    0x0000fd20 cmp r0, 0                                     |         
                                                             |         if (r0 == 0) {
    0x0000fd24 beq 0xfd58                                    |             goto label_57;
                                                             |         }
    0x0000fd28 ldr r3, [r4, 0x52c]                           |         r3 = *((r4 + 0x52c));
    0x0000fd2c cmp r3, 0                                     |         
                                                             |         if (r3 == 0) {
    0x0000fd30 beq 0xfd58                                    |             goto label_57;
                                                             |         }
    0x0000fd34 ldr r1, [r4, 0xd8]                            |         r1 = *((r4 + 0xd8));
    0x0000fd38 mov r2, r8                                    |         r2 = r8;
    0x0000fd3c add r1, r1, 0x11                              |         r1 += 0x11;
                                                             |     }
    0x0000fd40 mov r0, r5                                    |     r0 = r5;
    0x0000fd44 bl 0x20f2c                                    |     r0 = Curl_build_unencoding_stack ();
                                                             | label_21:
    0x0000fd48 cmp r0, 0                                     |     
                                                             |     if (r0 == 0) {
    0x0000fd4c beq 0xfa30                                    |         goto label_14;
                                                             |     }
                                                             | label_31:
    0x0000fd50 mov r6, r0                                    |     r6 = r0;
    0x0000fd54 b 0xf13c                                      |     goto label_2;
                                                             | label_57:
    0x0000fd58 ldr r0, [pc, 0x344]                           |     r0 = *(0x100a0);
    0x0000fd5c mov r2, 0xe                                   |     r2 = 0xe;
    0x0000fd60 ldr r1, [r4, 0xd8]                            |     r1 = *((r4 + 0xd8));
    0x0000fd64 add r0, pc, r0                                |     r0 = pc + r0;
    0x0000fd68 bl 0x5bd4                                     |     r0 = fcn_00005bd4 ();
    0x0000fd6c cmp r0, 0                                     |     
                                                             |     if (r0 == 0) {
    0x0000fd70 beq 0xfe08                                    |         goto label_58;
                                                             |     }
    0x0000fd74 ldr fp, [r4, 0xd8]                            |     fp = *((r4 + 0xd8));
    0x0000fd78 add fp, fp, 0xe                               |     
                                                             | label_18:
    0x0000fd7c mov r8, fp                                    |     r8 = fp;
    0x0000fd80 ldrb r0, [fp], 1                              |     r0 = *(fp);
                                                             |     fp++;
    0x0000fd84 cmp r0, 0                                     |     
                                                             |     if (r0 != 0) {
    0x0000fd88 bne 0xfdd8                                    |         goto label_59;
                                                             |     }
                                                             | label_17:
    0x0000fd8c ldrb r0, [r8]                                 |     r0 = *(r8);
    0x0000fd90 bl 0x2f8c0                                    |     r0 = Curl_isdigit ();
    0x0000fd94 cmp r0, 0                                     |     
                                                             |     if (r0 == 0) {
    0x0000fd98 beq 0xfdf4                                    |         goto label_60;
                                                             |     }
    0x0000fd9c add r3, r4, 0xe0                              |     r3 = r4 + 0xe0;
    0x0000fda0 mov r2, 0xa                                   |     r2 = 0xa;
    0x0000fda4 mov r1, 0                                     |     r1 = 0;
    0x0000fda8 mov r0, r8                                    |     r0 = r8;
    0x0000fdac bl 0x2188c                                    |     r0 = curlx_strtoofft ();
    0x0000fdb0 cmp r0, 0                                     |     
                                                             |     if (r0 != 0) {
    0x0000fdb4 bne 0xfa30                                    |         goto label_14;
                                                             |     }
    0x0000fdb8 add r3, r4, 0x4a00                            |     r3 = r4 + 0x4a00;
    0x0000fdbc ldrd r0, r1, [r3, -8]                         |     __asm ("ldrd r0, r1, [r3, -8]");
    0x0000fdc0 ldrd r2, r3, [r4, 0xe0]                       |     __asm ("ldrd r2, r3, [r4, 0xe0]");
    0x0000fdc4 cmp r1, r3                                    |     
    0x0000fdc8 cmpeq r0, r2                                  |     __asm ("cmpeq r0, r2");
                                                             |     if (r1 != r3) {
    0x0000fdcc moveq r3, 1                                   |         r3 = 1;
                                                             |     }
                                                             |     if (r1 != r3) {
    0x0000fdd0 strbeq r3, [r4, 0xdc]                         |         *((r4 + 0xdc)) = r3;
                                                             |     }
    0x0000fdd4 b 0xfa30                                      |     goto label_14;
                                                             | label_59:
    0x0000fdd8 bl 0x2f8c0                                    |     r0 = Curl_isdigit ();
    0x0000fddc cmp r0, 0                                     |     
                                                             |     if (r0 != 0) {
    0x0000fde0 bne 0xfd8c                                    |         goto label_17;
                                                             |     }
    0x0000fde4 ldrb r3, [fp, -1]                             |     r3 = var_1h;
    0x0000fde8 cmp r3, 0x2a                                  |     
                                                             |     if (r3 != 0x2a) {
    0x0000fdec bne 0xfd7c                                    |         goto label_18;
                                                             |     }
    0x0000fdf0 b 0xfd8c                                      |     goto label_17;
                                                             | label_60:
    0x0000fdf4 add r3, r4, 0x4a00                            |     r3 = r4 + 0x4a00;
    0x0000fdf8 mov r0, 0                                     |     r0 = 0;
    0x0000fdfc mov r1, 0                                     |     r1 = 0;
    0x0000fe00 strd r0, r1, [r3, -8]                         |     __asm ("strd r0, r1, [r3, -8]");
    0x0000fe04 b 0xfa30                                      |     goto label_14;
                                                             | label_58:
    0x0000fe08 ldr r3, [r4, 0x690]                           |     r3 = *((r4 + 0x690));
    0x0000fe0c cmp r3, 0                                     |     
                                                             |     if (r3 != 0) {
    0x0000fe10 beq 0xfe8c                                    |         
    0x0000fe14 ldr r0, [pc, 0x28c]                           |         r0 = *(0x100a4);
    0x0000fe18 mov r2, 0xb                                   |         r2 = 0xb;
    0x0000fe1c ldr r1, [r4, 0xd8]                            |         r1 = *((r4 + 0xd8));
    0x0000fe20 add r0, pc, r0                                |         r0 = pc + r0;
    0x0000fe24 bl 0x5bd4                                     |         r0 = fcn_00005bd4 ();
    0x0000fe28 cmp r0, 0                                     |         
                                                             |         if (r0 == 0) {
    0x0000fe2c beq 0xfe8c                                    |             goto label_61;
                                                             |         }
    0x0000fe30 mov r2, 2                                     |         r2 = 2;
    0x0000fe34 mov r1, r2                                    |         r1 = r2;
    0x0000fe38 mov r0, r4                                    |         r0 = r4;
    0x0000fe3c bl 0x21464                                    |         Curl_share_lock ();
    0x0000fe40 ldr r2, [r5, 0x2b4]                           |         r2 = *((r5 + 0x2b4));
    0x0000fe44 ldr r3, [r4, 0xd8]                            |         r3 = *((r4 + 0xd8));
    0x0000fe48 cmp r2, 0                                     |         
    0x0000fe4c add r0, r4, 0x4000                            |         r0 = r4 + 0x4000;
                                                             |         if (r2 != 0) {
    0x0000fe50 ldreq r2, [r5, 0xa0]                          |             r2 = *((r5 + 0xa0));
                                                             |         }
    0x0000fe54 ldr r0, [r0, 0x9ec]                           |         r0 = *((r0 + 0x9ec));
    0x0000fe58 add r3, r3, 0xb                               |         r3 += 0xb;
    0x0000fe5c ldr r1, [r4, 0x690]                           |         r1 = *((r4 + 0x690));
    0x0000fe60 str r0, [sp, 8]                               |         var_8h = r0;
    0x0000fe64 str r2, [sp, 4]                               |         var_4h = r2;
    0x0000fe68 str r3, [sp]                                  |         *(sp) = r3;
    0x0000fe6c mov r2, 1                                     |         r2 = 1;
    0x0000fe70 mov r3, 0                                     |         r3 = 0;
    0x0000fe74 mov r0, r4                                    |         r0 = r4;
    0x0000fe78 bl 0x9f7c                                     |         Curl_cookie_add ();
    0x0000fe7c mov r1, 2                                     |         r1 = 2;
    0x0000fe80 mov r0, r4                                    |         r0 = r4;
    0x0000fe84 bl 0x214ac                                    |         Curl_share_unlock ();
    0x0000fe88 b 0xfa30                                      |         goto label_14;
                                                             |     }
                                                             | label_61:
    0x0000fe8c ldr r0, [pc, 0x218]                           |     r0 = *(0x100a8);
    0x0000fe90 mov r2, 0xe                                   |     r2 = 0xe;
    0x0000fe94 ldr r1, [r4, 0xd8]                            |     r1 = *((r4 + 0xd8));
    0x0000fe98 add r0, pc, r0                                |     r0 = pc + r0;
    0x0000fe9c bl 0x5bd4                                     |     r0 = fcn_00005bd4 ();
    0x0000fea0 cmp r0, 0                                     |     
                                                             |     if (r0 != 0) {
    0x0000fea4 beq 0xfef4                                    |         
    0x0000fea8 ldr r3, [r4, 0x3c8]                           |         r3 = *((r4 + 0x3c8));
    0x0000feac cmp r3, 0                                     |         
                                                             |         if (r3 == 0) {
    0x0000feb0 bne 0xfec0                                    |             
    0x0000feb4 ldrb r3, [r4, 0x4c1]                          |             r3 = *((r4 + 0x4c1));
    0x0000feb8 cmp r3, 0                                     |             
                                                             |             if (r3 == 0) {
    0x0000febc beq 0xfef4                                    |                 goto label_62;
                                                             |             }
                                                             |         }
    0x0000fec0 mov r0, 0                                     |         r0 = 0;
    0x0000fec4 bl 0x5544                                     |         time (r0);
    0x0000fec8 add r1, sp, 0x40                              |         r1 += var_40h;
    0x0000fecc str r0, [r1, -8]!                             |         *((r1 -= 8)) = r0;
    0x0000fed0 ldr r0, [r4, 0xd8]                            |         r0 = *((r4 + 0xd8));
    0x0000fed4 add r0, r0, 0xe                               |         r0 += 0xe;
    0x0000fed8 bl 0x5a60                                     |         fcn_00005a60 ();
    0x0000fedc ldrb r3, [r4, 0x4c1]                          |         r3 = *((r4 + 0x4c1));
    0x0000fee0 cmp r3, 0                                     |         
                                                             |         if (r3 == 0) {
    0x0000fee4 addne r3, r4, 0x4000                          |             r3 = r4 + 0x4000;
                                                             |         }
    0x0000fee8 str r0, [r4, 0x100]                           |         *((r4 + 0x100)) = r0;
                                                             |         if (r3 == 0) {
    0x0000feec strne r0, [r3, 0xa6c]                         |             *((r3 + 0xa6c)) = r0;
                                                             |         }
    0x0000fef0 b 0xfa30                                      |         goto label_14;
                                                             |     }
                                                             | label_62:
    0x0000fef4 ldr r0, [pc, 0x1b4]                           |     r0 = *(0x100ac);
    0x0000fef8 mov r2, 0x11                                  |     r2 = 0x11;
    0x0000fefc ldr r1, [r4, 0xd8]                            |     r1 = *((r4 + 0xd8));
    0x0000ff00 add r0, pc, r0                                |     r0 = pc + r0;
    0x0000ff04 bl 0x5bd4                                     |     r0 = fcn_00005bd4 ();
    0x0000ff08 cmp r0, 0                                     |     
                                                             |     if (r0 == 0) {
    0x0000ff0c beq 0xff7c                                    |         goto label_63;
                                                             |     }
    0x0000ff10 ldr r2, [r4, 0xe8]                            |     r2 = *((r4 + 0xe8));
    0x0000ff14 ldr r3, [pc, 0xfc]                            |     r3 = *(0x10014);
    0x0000ff18 cmp r2, r3                                    |     
                                                             |     if (r2 != r3) {
    0x0000ff1c bne 0xff7c                                    |         goto label_63;
                                                             |     }
                                                             | label_20:
    0x0000ff20 ldr fp, [r4, 0xe8]                            |     fp = *((r4 + 0xe8));
    0x0000ff24 ldr r1, [pc, 0xf0]                            |     r1 = *(0x10018);
    0x0000ff28 ldr r0, [r4, 0xd8]                            |     r0 = *((r4 + 0xd8));
    0x0000ff2c sub fp, fp, r1                                |     
    0x0000ff30 bl 0xc1ec                                     |     Curl_copy_header_value ();
    0x0000ff34 clz fp, fp                                    |     
    0x0000ff38 lsr fp, fp, 5                                 |     
    0x0000ff3c subs r8, r0, 0                                |     r8 = r0 - 0;
                                                             |     if (r8 == r0) {
    0x0000ff40 beq 0xfb24                                    |         goto label_19;
                                                             |     }
    0x0000ff44 mov r1, fp                                    |     r1 = fp;
    0x0000ff48 mov r2, r8                                    |     r2 = r8;
    0x0000ff4c mov r0, r5                                    |     r0 = r5;
    0x0000ff50 bl 0xc61c                                     |     Curl_http_input_auth ();
    0x0000ff54 ldr r3, [pc, 0x114]                           |     
    0x0000ff58 ldr r3, [r7, r3]                              |     r3 = *((r7 + r3));
    0x0000ff5c ldr r3, [r3]                                  |     r3 = *(0x1006c);
    0x0000ff60 mov fp, r0                                    |     
    0x0000ff64 mov r0, r8                                    |     r0 = r8;
    0x0000ff68 blx r3                                        |     uint32_t (*r3)(uint32_t, uint32_t) (r0, r3);
    0x0000ff6c cmp fp, 0                                     |     
                                                             |     if (fp == 0) {
    0x0000ff70 beq 0xfa30                                    |         goto label_14;
                                                             |     }
    0x0000ff74 mov r6, fp                                    |     r6 = fp;
    0x0000ff78 b 0xf13c                                      |     goto label_2;
                                                             | label_63:
    0x0000ff7c ldr r0, [pc, 0x130]                           |     r0 = *(0x100b0);
    0x0000ff80 mov r2, 0x13                                  |     r2 = 0x13;
    0x0000ff84 ldr r1, [r4, 0xd8]                            |     r1 = *((r4 + 0xd8));
    0x0000ff88 add r0, pc, r0                                |     r0 = pc + r0;
    0x0000ff8c bl 0x5bd4                                     |     fcn_00005bd4 ();
    0x0000ff90 ldr r3, [r4, 0xe8]                            |     r3 = *((r4 + 0xe8));
    0x0000ff94 cmp r0, 0                                     |     
                                                             |     if (r0 == 0) {
    0x0000ff98 beq 0xffa8                                    |         goto label_64;
                                                             |     }
    0x0000ff9c ldr r2, [pc, 0x78]                            |     r2 = *(0x10018);
    0x0000ffa0 cmp r3, r2                                    |     
                                                             |     if (r3 == r2) {
    0x0000ffa4 beq 0xff20                                    |         goto label_20;
                                                             |     }
                                                             | label_64:
    0x0000ffa8 sub r3, r3, 0x12c                             |     r3 -= 0x12c;
    0x0000ffac cmp r3, 0x63                                  |     
                                                             |     if (r3 > 0x63) {
    0x0000ffb0 bhi 0x100fc                                   |         goto label_65;
                                                             |     }
    0x0000ffb4 ldr r0, [pc, 0xfc]                            |     r0 = *(0x100b4);
    0x0000ffb8 mov r2, 9                                     |     r2 = 9;
    0x0000ffbc ldr r1, [r4, 0xd8]                            |     r1 = *((r4 + 0xd8));
    0x0000ffc0 add r0, pc, r0                                |     r0 = pc + r0;
    0x0000ffc4 bl 0x5bd4                                     |     r0 = fcn_00005bd4 ();
    0x0000ffc8 cmp r0, 0                                     |     
                                                             |     if (r0 == 0) {
    0x0000ffcc beq 0x100fc                                   |         goto label_65;
                                                             |     }
    0x0000ffd0 ldr r3, [r4, 0x118]                           |     r3 = *((r4 + 0x118));
    0x0000ffd4 cmp r3, 0                                     |     
                                                             |     if (r3 != 0) {
    0x0000ffd8 bne 0x100fc                                   |         goto label_65;
                                                             |     }
    0x0000ffdc ldr r0, [r4, 0xd8]                            |     r0 = *((r4 + 0xd8));
    0x0000ffe0 bl 0xc1ec                                     |     r0 = Curl_copy_header_value ();
    0x0000ffe4 subs r3, r0, 0                                |     r3 = r0 - 0;
                                                             |     if (r3 == r0) {
    0x0000ffe8 beq 0xfb24                                    |         goto label_19;
                                                             |     }
    0x0000ffec ldrb r2, [r3]                                 |     r2 = *(r3);
    0x0000fff0 cmp r2, 0                                     |     
                                                             |     if (r2 == 0) {
    0x0000fff4 bne 0x100c4                                   |         
    0x0000fff8 ldr r3, [pc, 0x70]                            |         r3 = *(0x1006c);
    0x0000fffc addseq r3, r7, r3                             |         __asm ("addseq r3, r7, r3");
                                                             |         if (r2 != 0) {
    0x00010000 andeq r0, r0, r0                              |             r0 &= r0;
                                                             |         }
    0x00010004 b 0xfb44                                      |         goto label_15;
                                                             |     }
    0x000100c4 str r3, [r4, 0x118]                           |     *((r4 + 0x118)) = r3;
    0x000100c8 ldrb r3, [r4, 0x4ca]                          |     r3 = *((r4 + 0x4ca));
    0x000100cc cmp r3, 0                                     |     
                                                             |     if (r3 == 0) {
    0x000100d0 beq 0xfa30                                    |         goto label_14;
                                                             |     }
    0x000100d4 ldr r3, [pc, -0x20]                           |     
    0x000100d8 ldr r3, [r7, r3]                              |     r3 = *((r7 + r3));
    0x000100dc ldr r3, [r3]                                  |     r3 = *(0x100b8);
    0x000100e0 blx r3                                        |     r0 = uint32_t (*r3)(uint32_t) (r3);
    0x000100e4 cmp r0, 0                                     |     
    0x000100e8 str r0, [r4, 0x11c]                           |     *((r4 + 0x11c)) = r0;
                                                             |     if (r0 == 0) {
    0x000100ec beq 0xfb24                                    |         goto label_19;
                                                             |     }
    0x000100f0 mov r0, r5                                    |     r0 = r5;
    0x000100f4 bl 0xbbe8                                     |     http_perhapsrewind ();
    0x000100f8 b 0xfd48                                      |     goto label_21;
                                                             | label_65:
    0x000100fc ldr r3, [r5, 0x284]                           |     r3 = *((r5 + 0x284));
    0x00010100 ldr r3, [r3, 0x40]                            |     r3 = *((r3 + 0x40));
    0x00010104 tst r3, 0x40000                               |     
                                                             |     if ((r3 & 0x40000) == 0) {
    0x00010108 beq 0xfa30                                    |         goto label_14;
                                                             |     }
    0x0001010c mov r6, 4                                     |     r6 = 4;
    0x00010110 b 0xf13c                                      |     goto label_2;
                                                             | label_32:
    0x00010114 mov r6, r3                                    |     r6 = r3;
    0x00010118 b 0xf13c                                      |     goto label_2;
                                                             | label_40:
    0x0001011c ldr r1, [pc, -0x64]                           |     r1 = *(0x000100c0);
    0x00010120 mov r0, r4                                    |     r0 = r4;
    0x00010124 add r1, pc, r1                                |     r1 = pc + r1;
    0x00010128 b 0x10060                                     |     void (*0x10060)() ();
    0x0001012c ldrd r0, r1, [r0, r0]!                        |     __asm ("ldrd r0, r1, [r0, r0]!");
                                                             | }
    ; 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/lib/libcurl.so @ 0x77e8 */
                                                             | #include <stdint.h>
                                                             |  
    ; (fcn) sym.Curl_loadhostpairs ()                        | void Curl_loadhostpairs (int32_t arg1) {
                                                             |     int32_t var_0h;
                                                             |     int32_t var_8h;
                                                             |     int32_t var_ch;
                                                             |     int32_t var_10h;
                                                             |     int32_t var_14h;
                                                             |     int32_t var_18h;
                                                             |     char * * endptr;
                                                             |     void * var_20h;
                                                             |     int8_t var_140h;
                                                             |     void * s1;
                                                             |     int32_t var_1h;
                                                             |     int32_t var_160h;
                                                             |     int32_t var_0h_2;
                                                             |     int32_t var_164h;
                                                             |     r0 = arg1;
    0x000077e8 push {r4, r5, r6, r7, r8, sb, sl, fp, lr}     |     
    0x000077ec ldr sl, [pc, 0x3bc]                           |     sl = *(0x00007bb0);
    0x000077f0 sub sp, sp, 0x164                             |     
    0x000077f4 mov r3, 0                                     |     r3 = 0;
    0x000077f8 str r3, [sp, 0x18]                            |     var_18h = r3;
    0x000077fc ldr r3, [pc, 0x3b0]                           |     r3 = $d;
    0x00007800 ldr r6, [r0, 0x68c]                           |     r6 = *((r0 + 0x68c));
    0x00007804 add r3, pc, r3                                |     r3 = pc + r3;
    0x00007808 str r3, [sp, 0xc]                             |     var_ch = r3;
    0x0000780c ldr r3, [pc, 0x3a4]                           |     r3 = *(0x7bb4);
    0x00007810 mov r4, r0                                    |     r4 = r0;
    0x00007814 add r3, pc, r3                                |     r3 = pc + r3;
    0x00007818 add sl, pc, sl                                |     sl = pc + sl;
    0x0000781c str r3, [sp, 0x10]                            |     var_10h = r3;
                                                             |     do {
    0x00007820 cmp r6, 0                                     |         
                                                             |         if (r6 == 0) {
    0x00007824 bne 0x7838                                    |             
    0x00007828 mov r0, r6                                    |             r0 = r6;
    0x0000782c str r6, [r4, 0x68c]                           |             *((r4 + 0x68c)) = r6;
                                                             | label_2:
    0x00007830 add sp, sp, 0x164                             |             
    0x00007834 pop {r4, r5, r6, r7, r8, sb, sl, fp, pc}      |             
                                                             |         }
    0x00007838 ldr r5, [r6]                                  |         r5 = *(r6);
    0x0000783c cmp r5, 0                                     |         
                                                             |         if (r5 != 0) {
    0x00007840 beq 0x788c                                    |             
    0x00007844 ldrb r3, [r5]                                 |             r3 = *(r5);
    0x00007848 cmp r3, 0x2d                                  |             
                                                             |             if (r3 != 0x2d) {
    0x0000784c bne 0x790c                                    |                 goto label_3;
                                                             |             }
    0x00007850 ldr r1, [pc, 0x364]                           |             r1 = *(0x7bb8);
    0x00007854 add r7, sp, 0x60                              |             r7 += s1;
    0x00007858 add r0, r5, 1                                 |             r0 = r5 + 1;
    0x0000785c add r3, sp, 0x18                              |             r3 += var_18h;
    0x00007860 mov r2, r7                                    |             r2 = r7;
    0x00007864 add r1, pc, r1                                |             r1 = pc + r1;
    0x00007868 bl 0x5658                                     |             r0 = sscanf (r0, r1, r2);
    0x0000786c cmp r0, 2                                     |             
    0x00007870 mov r5, r0                                    |             r5 = r0;
                                                             |             if (r0 == 2) {
    0x00007874 beq 0x7894                                    |                 goto label_4;
                                                             |             }
    0x00007878 ldr r1, [pc, 0x340]                           |             r1 = *(0x7bbc);
    0x0000787c ldr r2, [r6]                                  |             r2 = *(r6);
    0x00007880 add r1, pc, r1                                |             r1 = pc + r1;
    0x00007884 mov r0, r4                                    |             r0 = r4;
    0x00007888 bl 0x104cc                                    |             Curl_infof ();
                                                             |         }
                                                             | label_0:
    0x0000788c ldr r6, [r6, 4]                               |         r6 = *((r6 + 4));
    0x00007890 b 0x7820                                      |         
                                                             |     } while (1);
                                                             | label_4:
    0x00007894 mov r0, r7                                    |     r0 = r7;
    0x00007898 ldr r1, [sp, 0x18]                            |     r1 = var_18h;
    0x0000789c bl 0x6edc                                     |     create_hostcache_id ();
    0x000078a0 subs r7, r0, 0                                |     r7 -= s1;
                                                             |     if (r7 == s1) {
    0x000078a4 beq 0x7ba8                                    |         goto label_5;
                                                             |     }
    0x000078a8 bl 0x5250                                     |     strlen (r0);
    0x000078ac ldr r3, [r4, 0x6c]                            |     r3 = *((r4 + 0x6c));
    0x000078b0 cmp r3, 0                                     |     
    0x000078b4 mov r8, r0                                    |     r8 = r0;
                                                             |     if (r3 != 0) {
    0x000078b8 beq 0x78cc                                    |         
    0x000078bc mov r2, r5                                    |         r2 = r5;
    0x000078c0 mov r1, 3                                     |         r1 = 3;
    0x000078c4 mov r0, r4                                    |         r0 = r4;
    0x000078c8 bl 0x21464                                    |         Curl_share_lock ();
                                                             |     }
    0x000078cc add r2, r8, 1                                 |     r2 += var_1h;
    0x000078d0 mov r1, r7                                    |     r1 = r7;
    0x000078d4 ldr r0, [r4, 0x5c]                            |     r0 = *((r4 + 0x5c));
    0x000078d8 bl 0x1cfe0                                    |     Curl_hash_delete ();
    0x000078dc ldr r3, [r4, 0x6c]                            |     r3 = *((r4 + 0x6c));
    0x000078e0 cmp r3, 0                                     |     
                                                             |     if (r3 != 0) {
    0x000078e4 beq 0x78f4                                    |         
    0x000078e8 mov r1, 3                                     |         r1 = 3;
    0x000078ec mov r0, r4                                    |         r0 = r4;
    0x000078f0 bl 0x214ac                                    |         Curl_share_unlock ();
                                                             |     }
    0x000078f4 ldr r3, [pc, 0x2c8]                           |     
    0x000078f8 mov r0, r7                                    |     r0 = r7;
    0x000078fc ldr r3, [sl, r3]                              |     r3 = *((sl + r3));
    0x00007900 ldr r3, [r3]                                  |     r3 = *(0x7bc0);
    0x00007904 blx r3                                        |     uint32_t (*r3)(uint32_t, uint32_t) (r0, r3);
    0x00007908 b 0x788c                                      |     goto label_0;
                                                             | label_3:
    0x0000790c mov r1, 0x3a                                  |     r1 = 0x3a;
    0x00007910 mov r0, r5                                    |     r0 = r5;
    0x00007914 bl 0x5b38                                     |     r0 = strchr (r0, r1);
    0x00007918 subs r8, r0, 0                                |     r8 = r0 - 0;
                                                             |     if (r8 == r0) {
    0x0000791c beq 0x79b8                                    |         goto label_6;
                                                             |     }
    0x00007920 sub r2, r8, r5                                |     r2 = r8 - r5;
    0x00007924 cmp r2, 0xff                                  |     
                                                             |     if (r2 != 0xff) {
    0x00007928 andeq r0, r5, 0x22                            |         r0 = r5 & 0x22;
                                                             |     }
    0x0000792c add r0, sp, 5                                 |     r0 = sp + 5;
    0x00007930 mov r1, r5                                    |     r1 = r5;
    0x00007934 mov r0, sb                                    |     r0 = sb;
    0x00007938 bl 0x4f5c                                     |     memcpy (r0, r1, r2);
    0x0000793c ldr r3, [r6]                                  |     r3 = *(r6);
    0x00007940 add r2, sp, 0x160                             |     r2 += var_160h;
    0x00007944 sub r3, r8, r3                                |     r3 = r8 - r3;
    0x00007948 add r8, r8, 1                                 |     r8++;
    0x0000794c add r3, r2, r3                                |     r3 = r2 + r3;
    0x00007950 mov r7, 0                                     |     r7 = 0;
    0x00007954 mov r2, 0xa                                   |     r2 = 0xa;
    0x00007958 add r1, sp, 0x1c                              |     r1 += endptr;
    0x0000795c cdp2 p0, 0xf, c0, c8, c8, 0                   |     __asm ("cdp2 p0, 0xf, c0, c8, c8, 0");
    0x00007960 subseq r0, r1, r4                             |     __asm ("subseq r0, r1, r4");
    0x00007964 stclo p4, c6, [r0, -0x1d0]                    |     __asm ("stclo p4, c6, aav.0x000000ff");
                                                             |     if (r2 != 0xff) {
    0x00007968 andeq r1, r0, r1, lsl 15                      |         r1 = r0 & (r1 << 15);
                                                             |     }
                                                             |     if (r2 != 0xff) {
    0x0000796c andeq r0, r0, r0                              |         r0 &= r0;
                                                             |     }
                                                             |     if (r2 != 0xff) {
    0x00007970 andeq r0, r4, 0                               |         r0 = 0;
                                                             |     }
                                                             |     if (r2 != 0xff) {
    0x00007974 addeq r0, r1, r5                              |         r0 = r1 + r5;
                                                             |     }
    0x00007978 invalid                                       |     
                                                             |     if (r2 == 0xff) {
    0x0000797c beq 0x47980                                   |         void (*0x47980)() ();
                                                             |     }
    0x00007980 ldrb r2, [r3]                                 |     r2 = *(r3);
    0x00007984 cmp r2, 0x3a                                  |     
                                                             |     if (r2 != 0x3a) {
    0x00007988 bne 0x79b8                                    |         goto label_6;
                                                             |     }
    0x0000798c add r3, r3, 1                                 |     r3++;
    0x00007990 mov r8, r7                                    |     r8 = r7;
    0x00007994 add fp, sp, 0x20                              |     
    0x00007998 str r0, [sp, 0x18]                            |     var_18h = r0;
    0x0000799c str r3, [sp, 8]                               |     var_8h = r3;
                                                             |     do {
                                                             | label_1:
    0x000079a0 ldr r5, [sp, 0x1c]                            |         r5 = endptr;
    0x000079a4 ldrb r3, [r5]                                 |         r3 = *(r5);
    0x000079a8 cmp r3, 0                                     |         
                                                             |         if (r3 == 0) {
    0x000079ac bne 0x79c0                                    |             
    0x000079b0 cmp r8, 0                                     |             
                                                             |             if (r8 != 0) {
    0x000079b4 bne 0x7ac4                                    |                 goto label_7;
                                                             |             }
                                                             | label_6:
    0x000079b8 mov r8, 0                                     |             r8 = 0;
    0x000079bc b 0x7a74                                      |             goto label_8;
                                                             |         }
    0x000079c0 add r3, r5, 1                                 |         r3 = r5 + 1;
    0x000079c4 mov r0, r3                                    |         r0 = r3;
    0x000079c8 mov r1, 0x2c                                  |         r1 = 0x2c;
    0x000079cc str r3, [sp, 0x14]                            |         var_14h = r3;
    0x000079d0 bl 0x5b38                                     |         strchr (r0, r1);
    0x000079d4 ldr r3, [sp, 0x14]                            |         r3 = var_14h;
    0x000079d8 cmp r0, 0                                     |         
                                                             |         if (r0 == 0) {
    0x000079dc bne 0x79f0                                    |             
    0x000079e0 mov r0, r3                                    |             r0 = r3;
    0x000079e4 bl 0x5250                                     |             strlen (r0);
    0x000079e8 ldr r3, [sp, 0x14]                            |             r3 = var_14h;
    0x000079ec add r0, r3, r0                                |             r0 = r3 + r0;
                                                             |         }
    0x000079f0 str r0, [sp, 0x1c]                            |         endptr = r0;
    0x000079f4 ldrb r2, [r5, 1]                              |         r2 = *((r5 + 1));
    0x000079f8 cmp r2, 0x5b                                  |         
                                                             |         if (r2 == 0x5b) {
    0x000079fc bne 0x7a1c                                    |             
    0x00007a00 cmp r0, r3                                    |             
                                                             |             if (r0 == r3) {
    0x00007a04 beq 0x7a74                                    |                 goto label_8;
                                                             |             }
    0x00007a08 ldrb r3, [r0, -1]                             |             r3 = *((r0 - 1));
    0x00007a0c cmp r3, 0x5d                                  |             
                                                             |             if (r3 != 0x5d) {
    0x00007a10 bne 0x7a74                                    |                 goto label_8;
                                                             |             }
    0x00007a14 add r3, r5, 2                                 |             r3 = r5 + 2;
    0x00007a18 sub r0, r0, 1                                 |             r0--;
                                                             |         }
    0x00007a1c subs r5, r0, r3                               |         r5 = r0 - r3;
    0x00007a20 beq 0x79a0                                    |         
                                                             |     } while (r5 == r0);
    0x00007a24 cmp r5, 0x3f                                  |     
                                                             |     if (r5 <= 0x3f) {
    0x00007a28 bhi 0x7a74                                    |         
    0x00007a2c mov r2, r5                                    |         r2 = r5;
    0x00007a30 mov r1, r3                                    |         r1 = r3;
    0x00007a34 mov r0, fp                                    |         r0 = fp;
    0x00007a38 bl 0x4f5c                                     |         memcpy (r0, r1, r2);
    0x00007a3c add r3, sp, 0x160                             |         r3 += var_160h;
    0x00007a40 add r5, r3, r5                                |         r5 = r3 + r5;
    0x00007a44 ldr r1, [sp, 0x18]                            |         r1 = var_18h;
    0x00007a48 mov r3, 0                                     |         r3 = 0;
    0x00007a4c mov r0, fp                                    |         r0 = fp;
    0x00007a50 strb r3, [r5, -0x140]                         |         var_140h = r3;
    0x00007a54 bl 0x24e20                                    |         r0 = Curl_str2addr ();
    0x00007a58 cmp r0, 0                                     |         
                                                             |         if (r0 != 0) {
    0x00007a5c bne 0x7a90                                    |             goto label_9;
                                                             |         }
    0x00007a60 ldr r1, [pc, 0x164]                           |         r1 = *(0x7bc8);
    0x00007a64 mov r2, fp                                    |         r2 = fp;
    0x00007a68 add r1, pc, r1                                |         r1 = pc + r1;
    0x00007a6c mov r0, r4                                    |         r0 = r4;
    0x00007a70 bl 0x104cc                                    |         Curl_infof ();
                                                             |     }
                                                             | label_8:
    0x00007a74 mov r0, r4                                    |     r0 = r4;
    0x00007a78 ldr r2, [r6]                                  |     r2 = *(r6);
    0x00007a7c ldr r1, [sp, 0xc]                             |     r1 = var_ch;
    0x00007a80 bl 0x104cc                                    |     Curl_infof ();
    0x00007a84 mov r0, r8                                    |     r0 = r8;
    0x00007a88 bl 0x24920                                    |     Curl_freeaddrinfo ();
    0x00007a8c b 0x788c                                      |     goto label_0;
                                                             | label_9:
    0x00007a90 cmp r7, 0                                     |     
                                                             |     if (r7 == 0) {
    0x00007a94 strne r0, [r7, 0x1c]                          |         *((r7 + 0x1c)) = r0;
                                                             |     }
                                                             |     if (r7 != 0) {
    0x00007a98 moveq r8, r0                                  |         r8 = r0;
                                                             |     }
    0x00007a9c mov r7, r0                                    |     r7 = r0;
    0x00007aa0 b 0x79a0                                      |     goto label_1;
                                                             |     do {
    0x00007aa4 ldr r3, [sp, 8]                               |         r3 = var_8h;
    0x00007aa8 mov r2, sb                                    |         r2 = sb;
    0x00007aac str r3, [sp]                                  |         *(sp) = r3;
    0x00007ab0 ldr r1, [sp, 0x10]                            |         r1 = var_10h;
    0x00007ab4 ldr r3, [sp, 0x18]                            |         r3 = var_18h;
    0x00007ab8 mov r0, r4                                    |         r0 = r4;
    0x00007abc bl 0x104cc                                    |         Curl_infof ();
    0x00007ac0 b 0x788c                                      |         goto label_0;
                                                             | label_7:
    0x00007ac4 ldr r1, [sp, 0x18]                            |         r1 = var_18h;
    0x00007ac8 mov r0, sb                                    |         r0 = sb;
    0x00007acc bl 0x6edc                                     |         create_hostcache_id ();
    0x00007ad0 subs r7, r0, 0                                |         r7 -= s1;
                                                             |         if (r7 == s1) {
    0x00007ad4 beq 0x7ba0                                    |             goto label_10;
                                                             |         }
    0x00007ad8 bl 0x5250                                     |         strlen (r0);
    0x00007adc ldr r3, [r4, 0x6c]                            |         r3 = *((r4 + 0x6c));
    0x00007ae0 cmp r3, 0                                     |         
    0x00007ae4 mov r5, r0                                    |         r5 = r0;
                                                             |         if (r3 != 0) {
    0x00007ae8 beq 0x7afc                                    |             
    0x00007aec mov r2, 2                                     |             r2 = 2;
    0x00007af0 mov r1, 3                                     |             r1 = 3;
    0x00007af4 mov r0, r4                                    |             r0 = r4;
    0x00007af8 bl 0x21464                                    |             Curl_share_lock ();
                                                             |         }
    0x00007afc add r5, r5, 1                                 |         r5 += var_1h;
    0x00007b00 mov r2, r5                                    |         r2 = r5;
    0x00007b04 mov r1, r7                                    |         r1 = r7;
    0x00007b08 ldr r0, [r4, 0x5c]                            |         r0 = *((r4 + 0x5c));
    0x00007b0c bl 0x1d070                                    |         r0 = Curl_hash_pick ();
    0x00007b10 cmp r0, 0                                     |         
                                                             |         if (r0 != 0) {
    0x00007b14 beq 0x7b40                                    |             
    0x00007b18 ldr r1, [pc, 0xb0]                            |             r1 = *(0x7bcc);
    0x00007b1c mov r2, sb                                    |             r2 = sb;
    0x00007b20 add r1, pc, r1                                |             r1 = pc + r1;
    0x00007b24 mov r0, r4                                    |             r0 = r4;
    0x00007b28 ldr r3, [sp, 0x18]                            |             r3 = var_18h;
    0x00007b2c bl 0x104cc                                    |             Curl_infof ();
    0x00007b30 mov r2, r5                                    |             r2 = r5;
    0x00007b34 mov r1, r7                                    |             r1 = r7;
    0x00007b38 ldr r0, [r4, 0x5c]                            |             r0 = *((r4 + 0x5c));
    0x00007b3c bl 0x1cfe0                                    |             Curl_hash_delete ();
                                                             |         }
    0x00007b40 ldr r3, [pc, 0x7c]                            |         
    0x00007b44 mov r0, r7                                    |         r0 = r7;
    0x00007b48 ldr r3, [sl, r3]                              |         r3 = *((sl + r3));
    0x00007b4c ldr r3, [r3]                                  |         r3 = *(0x7bc0);
    0x00007b50 blx r3                                        |         uint32_t (*r3)(uint32_t, uint32_t) (r0, r3);
    0x00007b54 ldr r3, [sp, 0x18]                            |         r3 = var_18h;
    0x00007b58 mov r2, sb                                    |         r2 = sb;
    0x00007b5c mov r1, r8                                    |         r1 = r8;
    0x00007b60 mov r0, r4                                    |         r0 = r4;
    0x00007b64 bl 0x73d8                                     |         r0 = Curl_cache_addr ();
    0x00007b68 subs r5, r0, 0                                |         r5 = r0 - 0;
                                                             |         if (r5 == r0) {
    0x00007b6c movne r3, 0                                   |             r3 = 0;
                                                             |         }
                                                             |         if (r5 == r0) {
    0x00007b70 strne r3, [r5, 4]                             |             *((r5 + 4)) = r3;
                                                             |         }
                                                             |         if (r5 == r0) {
    0x00007b74 ldrne r3, [r5, 8]                             |             r3 = *((r5 + 8));
                                                             |         }
                                                             |         if (r5 == r0) {
    0x00007b78 subne r3, r3, 1                               |             r3--;
                                                             |         }
                                                             |         if (r5 == r0) {
    0x00007b7c strne r3, [r5, 8]                             |             *((r5 + 8)) = r3;
                                                             |         }
    0x00007b80 ldr r3, [r4, 0x6c]                            |         r3 = *((r4 + 0x6c));
    0x00007b84 cmp r3, 0                                     |         
                                                             |         if (r3 != 0) {
    0x00007b88 beq 0x7b98                                    |             
    0x00007b8c mov r1, 3                                     |             r1 = 3;
    0x00007b90 mov r0, r4                                    |             r0 = r4;
    0x00007b94 bl 0x214ac                                    |             Curl_share_unlock ();
                                                             |         }
    0x00007b98 cmp r5, 0                                     |         
    0x00007b9c bne 0x7aa4                                    |         
                                                             |     } while (r5 != 0);
                                                             | label_10:
    0x00007ba0 mov r0, r8                                    |     r0 = r8;
    0x00007ba4 bl 0x24920                                    |     Curl_freeaddrinfo ();
                                                             | label_5:
    0x00007ba8 mov r0, 0x1b                                  |     r0 = 0x1b;
    0x00007bac b 0x7830                                      |     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/lib/libcurl.so @ 0x2514c */
                                         | #include <stdint.h>
                                         |  
    ; (fcn) sym.Curl_memrchr ()          | uint32_t Curl_memrchr (int32_t arg1, int32_t arg2) {
                                         |     r0 = arg1;
                                         |     r1 = arg2;
    0x0002514c cmp r2, 0                 |     
                                         |     if (r2 == 0) {
    0x00025150 subne r2, r2, 1           |         r2--;
                                         |     }
                                         |     if (r2 == 0) {
    0x00025154 addne r3, r0, r2          |         r3 = r0 + r2;
                                         |     }
                                         |     if (r2 == 0) {
    0x00025158 andne r1, r1, 0xff        |         r1 &= 0xff;
                                         |     }
                                         |     if (r2 != 0) {
    0x0002515c bne 0x25178               |         goto label_2;
                                         |     }
                                         |     do {
                                         | label_1:
    0x00025160 mov r0, r2                |         r0 = r2;
    0x00025164 bx lr                     |         return r0;
                                         | label_0:
    0x00025168 ldrb ip, [r2]             |         ip = *(r2);
    0x0002516c sub r3, r3, 1             |         r3--;
    0x00025170 cmp ip, r1                |         
    0x00025174 beq 0x25160               |         
                                         |     } while (ip == r1);
                                         | label_2:
    0x00025178 cmp r3, r0                |     
    0x0002517c mov r2, r3                |     r2 = r3;
                                         |     if (r3 >= r0) {
    0x00025180 bhs 0x25168               |         goto label_0;
                                         |     }
    0x00025184 mov r2, 0                 |     r2 = 0;
    0x00025188 b 0x25160                 |     goto label_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/lib/libcurl.so @ 0x2c4cc */
                                                                     | #include <stdint.h>
                                                                     |  
    ; (fcn) sym.Curl_mime_size ()                                    | void Curl_mime_size (int32_t arg_0h, int32_t arg1, int32_t arg2) {
                                                                     |     r0 = arg1;
                                                                     |     r1 = arg2;
    0x0002c4cc push {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr}         |     
    0x0002c4d0 ldr r3, [r0, 0xc]                                     |     r3 = *(arg_0hxc);
    0x0002c4d4 mov r5, r0                                            |     r5 = r0;
    0x0002c4d8 cmp r3, 4                                             |     
                                                                     |     if (r3 != 4) {
    0x0002c4dc bne 0x2c520                                           |         goto label_2;
                                                                     |     }
    0x0002c4e0 ldr r4, [r0, 0x20]                                    |     r4 = *((r0 + 0x20));
    0x0002c4e4 cmp r4, 0                                             |     
                                                                     |     if (r4 != 0) {
    0x0002c4e8 moveq r6, 0                                           |         r6 = 0;
                                                                     |     }
                                                                     |     if (r4 != 0) {
    0x0002c4ec moveq r7, 0                                           |         r7 = 0;
                                                                     |     }
                                                                     |     if (r4 == 0) {
    0x0002c4f0 beq 0x2c51c                                           |         goto label_3;
                                                                     |     }
    0x0002c4f4 ldr r0, [r4, 0x10]                                    |     r0 = *((r4 + 0x10));
    0x0002c4f8 bl 0x5250                                             |     strlen (r0);
    0x0002c4fc ldr r4, [r4, 8]                                       |     r4 = *((r4 + 8));
    0x0002c500 mov sb, 0                                             |     sb = 0;
    0x0002c504 mov r7, sb                                            |     r7 = sb;
    0x0002c508 add r0, r0, 6                                         |     r0 += 6;
    0x0002c50c mov r8, r0                                            |     r8 = r0;
    0x0002c510 mov r6, r0                                            |     r6 = r0;
                                                                     |     do {
    0x0002c514 cmp r4, 0                                             |         
                                                                     |         if (r4 == 0) {
    0x0002c518 bne 0x2c558                                           |             
                                                                     | label_3:
    0x0002c51c strd r6, r7, [r5, 0x40]                               |             __asm ("strd r6, r7, [r5, 0x40]");
                                                                     | label_2:
    0x0002c520 ldr r3, [r5, 0x58]                                    |             r3 = *((r5 + 0x58));
    0x0002c524 cmp r3, 0                                             |             
                                                                     |             if (r3 != 0) {
    0x0002c528 bne 0x2c5a8                                           |                 goto label_4;
                                                                     |             }
    0x0002c52c ldrd sl, fp, [r5, 0x40]                               |             __asm ("ldrd sl, fp, [r5, 0x40]");
                                                                     | label_0:
    0x0002c530 cmp sl, 0                                             |             
    0x0002c534 sbcs r3, fp, 0                                        |             __asm ("sbcs r3, arg_0h");
                                                                     |             if (sl >= 0) {
    0x0002c538 blt 0x2c54c                                           |                 
    0x0002c53c ldr r8, [r5, 0x48]                                    |                 r8 = *((r5 + 0x48));
    0x0002c540 ands r8, r8, 2                                        |                 r8 &= 2;
                                                                     |                 if (r8 != r8) {
    0x0002c544 ldreq r4, [r5, 0x28]                                  |                     r4 = *((r5 + 0x28));
                                                                     |                 }
                                                                     |                 if (r8 == r8) {
    0x0002c548 beq 0x2c5d4                                           |                     goto label_5;
                                                                     |                 }
                                                                     |             }
                                                                     | label_1:
    0x0002c54c mov r0, sl                                            |             r0 = sl;
    0x0002c550 mov r1, fp                                            |             r1 = fp;
    0x0002c554 pop {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}          |             
                                                                     |         }
    0x0002c558 mov r0, r4                                            |         r0 = r4;
    0x0002c55c bl 0x2c4cc                                            |         r0 = Curl_mime_size ();
    0x0002c560 cmp r0, 0                                             |         
    0x0002c564 sbcs r3, r1, 0                                        |         __asm ("sbcs r3, r1, 0");
    0x0002c568 mov sl, r0                                            |         sl = r0;
    0x0002c56c mov fp, r1                                            |         
                                                                     |         if (r0 >= 0) {
    0x0002c570 blt 0x2c598                                           |             
    0x0002c574 cmp r6, 0                                             |             
    0x0002c578 sbcs r3, r7, 0                                        |             __asm ("sbcs r3, r7, 0");
                                                                     |             if (r6 >= 0) {
    0x0002c57c movlt sl, r6                                          |                 sl = r6;
                                                                     |             }
                                                                     |             if (r6 >= 0) {
    0x0002c580 movlt fp, r7                                          |                 
                                                                     |             }
                                                                     |             if (r6 < 0) {
    0x0002c584 blt 0x2c598                                           |                 goto label_6;
                                                                     |             }
    0x0002c588 adds r0, sl, r8                                       |             r0 = sl + r8;
    0x0002c58c adc r1, fp, sb                                        |             __asm ("adc r1, fp, sb");
    0x0002c590 adds sl, r0, r6                                       |             sl = r0 + r6;
    0x0002c594 adc fp, r1, r7                                        |             __asm ("adc fp, r1, r7");
                                                                     |         }
                                                                     | label_6:
    0x0002c598 ldr r4, [r4, 8]                                       |         r4 = *((r4 + 8));
    0x0002c59c mov r6, sl                                            |         r6 = sl;
    0x0002c5a0 mov r7, fp                                            |         r7 = fp;
    0x0002c5a4 b 0x2c514                                             |         
                                                                     |     } while (1);
                                                                     | label_4:
    0x0002c5a8 ldr r3, [r3, 8]                                       |     r3 = *((r3 + 8));
    0x0002c5ac mov r0, r5                                            |     r0 = r5;
    0x0002c5b0 blx r3                                                |     r0 = uint32_t (*r3)(uint32_t, uint32_t) (r0, r3);
    0x0002c5b4 mov sl, r0                                            |     sl = r0;
    0x0002c5b8 mov fp, r1                                            |     
    0x0002c5bc b 0x2c530                                             |     goto label_0;
                                                                     |     do {
    0x0002c5c0 ldr r0, [r4]                                          |         r0 = *(r4);
    0x0002c5c4 bl 0x5250                                             |         strlen (r0);
    0x0002c5c8 ldr r4, [r4, 4]                                       |         r4 = *((r4 + 4));
    0x0002c5cc add r0, r0, 2                                         |         r0 += 2;
    0x0002c5d0 add r8, r8, r0                                        |         r8 += r0;
                                                                     | label_5:
    0x0002c5d4 cmp r4, 0                                             |         
    0x0002c5d8 bne 0x2c5c0                                           |         
                                                                     |     } while (r4 != 0);
    0x0002c5dc adds r2, sl, r8                                       |     r2 = sl + r8;
    0x0002c5e0 ldr r8, [pc, 0x5c]                                    |     r8 = *(0x2c640);
    0x0002c5e4 ldr r5, [r5, 0x2c]                                    |     r5 = *((r5 + 0x2c));
    0x0002c5e8 adc r3, fp, 0                                         |     __asm ("adc r3, arg_0h");
    0x0002c5ec mov r6, r2                                            |     r6 = r2;
    0x0002c5f0 mov r7, r3                                            |     r7 = r3;
    0x0002c5f4 add r8, pc, r8                                        |     r8 = pc + r8;
                                                                     |     do {
    0x0002c5f8 cmp r5, 0                                             |         
                                                                     |         if (r5 == 0) {
    0x0002c5fc bne 0x2c614                                           |             
    0x0002c600 adds r6, r6, r4                                       |             r6 += r4;
    0x0002c604 adc r7, r7, 0                                         |             __asm ("adc r7, r7, 0");
    0x0002c608 adds sl, r6, 2                                        |             sl = r6 + 2;
    0x0002c60c adc fp, r7, 0                                         |             __asm ("adc fp, r7, 0");
    0x0002c610 b 0x2c54c                                             |             goto label_1;
                                                                     |         }
    0x0002c614 mov r2, 0xc                                           |         r2 = 0xc;
    0x0002c618 mov r1, r8                                            |         r1 = r8;
    0x0002c61c mov r0, r5                                            |         r0 = r5;
    0x0002c620 bl 0x2b40c                                            |         r0 = match_header_isra_5 ();
    0x0002c624 cmp r0, 0                                             |         
                                                                     |         if (r0 == 0) {
    0x0002c628 bne 0x2c63c                                           |             
    0x0002c62c ldr r0, [r5]                                          |             r0 = *(r5);
    0x0002c630 bl 0x5250                                             |             strlen (r0);
    0x0002c634 add r4, r4, 2                                         |             r4 += 2;
    0x0002c638 add r4, r4, r0                                        |             r4 += r0;
                                                                     |         }
    0x0002c63c ldr r5, [r5, 4]                                       |         r5 = *((r5 + 4));
    0x0002c640 b 0x2c5f8                                             |         
                                                                     |     } 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/lib/libcurl.so @ 0x270b0 */
                                                 | #include <stdint.h>
                                                 |  
    ; (fcn) sym.Curl_ntlm_core_mk_nt_hash ()     | void Curl_ntlm_core_mk_nt_hash (char * s) {
                                                 |     int32_t var_4h;
                                                 |     int32_t var_60h;
                                                 |     r1 = s;
    0x000270b0 push {r4, r5, r6, r7, r8, lr}     |     
    0x000270b4 ldr r5, [pc, 0xe0]                |     r5 = *(0x27198);
    0x000270b8 sub sp, sp, 0x60                  |     
    0x000270bc mov r0, r1                        |     r0 = r1;
    0x000270c0 mov r6, r1                        |     r6 = r1;
    0x000270c4 mov r8, r2                        |     r8 = r2;
    0x000270c8 bl 0x5250                         |     strlen (r0);
    0x000270cc add r5, pc, r5                    |     r5 = pc + r5;
    0x000270d0 subs r7, r0, 0                    |     r7 = r0 - 0;
                                                 |     if (r7 == r0) {
    0x000270d4 beq 0x27108                       |         goto label_2;
                                                 |     }
    0x000270d8 ldr r3, [pc, 0xc0]                |     
    0x000270dc lsl r0, r7, 1                     |     r0 = r7 << 1;
    0x000270e0 ldr r3, [r5, r3]                  |     r3 = *((r5 + r3));
    0x000270e4 ldr r3, [r3]                      |     r3 = $d;
    0x000270e8 blx r3                            |     r0 = uint32_t (*r3)(uint32_t, uint32_t) (r0, r3);
    0x000270ec subs r4, r0, 0                    |     r4 = r0 - 0;
                                                 |     if (r4 == r0) {
    0x000270f0 movne r3, 0                       |         r3 = 0;
                                                 |     }
                                                 |     if (r4 == r0) {
    0x000270f4 movne r1, r3                      |         r1 = r3;
                                                 |     }
                                                 |     if (r4 != r0) {
    0x000270f8 bne 0x2717c                       |         goto label_3;
                                                 |     }
                                                 |     do {
    0x000270fc mov r0, 0x1b                      |         r0 = 0x1b;
                                                 | label_0:
    0x00027100 add sp, sp, 0x60                  |         
    0x00027104 pop {r4, r5, r6, r7, r8, pc}      |         
                                                 | label_2:
    0x00027108 ldr r3, [pc, 0x94]                |         
    0x0002710c ldr r0, [pc, 0x94]                |         r0 = *(0x271a4);
    0x00027110 ldr r3, [r5, r3]                  |         r3 = *((r5 + r3));
    0x00027114 add r0, pc, r0                    |         r0 = pc + r0;
    0x00027118 ldr r3, [r3]                      |         r3 = *(0x271a0);
    0x0002711c blx r3                            |         r0 = uint32_t (*r3)(uint32_t, uint32_t) (r0, r3);
    0x00027120 subs r4, r0, 0                    |         r4 = r0 - 0;
    0x00027124 beq 0x270fc                       |         
                                                 |     } while (r4 == r0);
                                                 | label_1:
    0x00027128 add r6, sp, 4                     |     r6 += var_4h;
    0x0002712c mov r0, r6                        |     r0 = r6;
    0x00027130 bl 0x4fc8                         |     MD4_Init ();
    0x00027134 lsl r2, r7, 1                     |     r2 = r7 << 1;
    0x00027138 mov r1, r4                        |     r1 = r4;
    0x0002713c mov r0, r6                        |     r0 = r6;
    0x00027140 bl 0x4e30                         |     MD4_Update ();
    0x00027144 mov r1, r6                        |     r1 = r6;
    0x00027148 mov r0, r8                        |     r0 = r8;
    0x0002714c bl 0x5808                         |     MD4_Final ();
    0x00027150 mov r2, 5                         |     r2 = 5;
    0x00027154 mov r1, 0                         |     r1 = 0;
    0x00027158 add r0, r8, 0x10                  |     r0 = r8 + 0x10;
    0x0002715c bl 0x576c                         |     memset (r0, r1, r2);
    0x00027160 ldr r3, [pc, 0x44]                |     
    0x00027164 mov r0, r4                        |     r0 = r4;
    0x00027168 ldr r3, [r5, r3]                  |     r3 = *((r5 + r3));
    0x0002716c ldr r3, [r3]                      |     r3 = *(0x271a8);
    0x00027170 blx r3                            |     uint32_t (*r3)(uint32_t, uint32_t) (r0, r3);
    0x00027174 mov r0, 0                         |     r0 = 0;
    0x00027178 b 0x27100                         |     goto label_0;
                                                 |     do {
                                                 | label_3:
    0x0002717c ldrb r2, [r6, r3]                 |         r2 = *((r6 + r3));
    0x00027180 strb r2, [r4, r3, lsl 1]          |         offset_0 = r3 << 1;
                                                 |         *((r4 + offset_0)) = r2;
    0x00027184 add r2, r4, r3, lsl 1             |         r2 = r4 + (r3 << 1);
    0x00027188 add r3, r3, 1                     |         r3++;
    0x0002718c cmp r7, r3                        |         
    0x00027190 strb r1, [r2, 1]                  |         *((r2 + 1)) = r1;
    0x00027194 bne 0x2717c                       |         
                                                 |     } while (r7 != r3);
    0x00027198 b 0x27128                         |     goto label_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/lib/libcurl.so @ 0x27218 */
                                                             | #include <stdint.h>
                                                             |  
    ; (fcn) sym.Curl_ntlm_core_mk_ntlmv2_hash ()             | void Curl_ntlm_core_mk_ntlmv2_hash (int32_t arg_38h, int32_t arg_3ch, char * arg1, int32_t arg2) {
                                                             |     int32_t var_0h;
                                                             |     int32_t var_8h;
                                                             |     int32_t var_ch;
                                                             |     int32_t var_14h;
                                                             |     r0 = arg1;
                                                             |     r1 = arg2;
    0x00027218 push {r4, r5, r6, r7, r8, sb, sl, fp, lr}     |     
    0x0002721c ldr sb, [pc, 0xfc]                            |     sb = *(0x2731c);
    0x00027220 lsr fp, r3, 0x1f                              |     
    0x00027224 orrs fp, fp, r1, lsr 31                       |     
    0x00027228 add sb, pc, sb                                |     sb = pc + sb;
    0x0002722c sub sp, sp, 0x14                              |     
    0x00027230 beq 0x27244                                   |     
                                                             |     while (r8 < r1) {
                                                             | label_0:
    0x00027234 mov r4, 0x1b                                  |         r4 = 0x1b;
                                                             | label_1:
    0x00027238 mov r0, r4                                    |         r0 = r4;
    0x0002723c add sp, sp, 0x14                              |         
    0x00027240 pop {r4, r5, r6, r7, r8, sb, sl, fp, pc}      |         
    0x00027244 adds r8, r1, r3                               |         r8 = r1 + r3;
    0x00027248 bmi 0x27234                                   |         
                                                             |     }
    0x0002724c mov r6, r3                                    |     r6 = r3;
    0x00027250 ldr r3, [pc, 0xcc]                            |     
    0x00027254 lsl r8, r8, 1                                 |     r8 <<= 1;
    0x00027258 ldr r3, [sb, r3]                              |     r3 = *((sb + r3));
    0x0002725c mov r5, r0                                    |     r5 = r0;
    0x00027260 ldr r3, [r3]                                  |     r3 = $d;
    0x00027264 mov r0, r8                                    |     r0 = r8;
    0x00027268 mov sl, r2                                    |     sl = r2;
    0x0002726c mov r4, r1                                    |     r4 = r1;
    0x00027270 blx r3                                        |     r0 = uint32_t (*r3)(uint32_t, uint32_t) (r0, r3);
    0x00027274 subs r7, r0, 0                                |     r7 = r0 - 0;
                                                             |     if (r7 == r0) {
    0x00027278 movne r3, r7                                  |         r3 = r7;
                                                             |     }
                                                             |     if (r7 != r0) {
    0x0002727c addne r2, r5, r4                              |         r2 = r5 + r4;
                                                             |         goto label_3;
                                                             |     }
                                                             |     if (r7 == r0) {
                                                             | label_3:
    0x00027280 beq 0x27234                                   |         goto label_0;
                                                             |     }
                                                             |     do {
    0x00027284 cmp r5, r2                                    |         
    0x00027288 add r3, r3, 2                                 |         r3 += 2;
                                                             |         if (r5 == r2) {
    0x0002728c bne 0x272e4                                   |             
    0x00027290 mov r0, 0                                     |             r0 = 0;
    0x00027294 add r4, r7, r4, lsl 1                         |             r4 = r7 + (r4 << 1);
    0x00027298 mov r3, r0                                    |             r3 = r0;
                                                             | label_2:
    0x0002729c cmp r6, r0                                    |             
                                                             |             if (r6 != r0) {
    0x000272a0 bne 0x27308                                   |                 goto label_4;
                                                             |             }
    0x000272a4 mov r0, r8                                    |             r0 = r8;
    0x000272a8 bl 0x25340                                    |             curlx_uztoui ();
    0x000272ac ldr r3, [sp, 0x3c]                            |             r3 = *(arg_3ch);
    0x000272b0 mov r2, r7                                    |             r2 = r7;
    0x000272b4 str r3, [sp]                                  |             *(sp) = r3;
    0x000272b8 mov r1, 0x10                                  |             r1 = 0x10;
    0x000272bc mov r3, r0                                    |             r3 = r0;
    0x000272c0 ldr r0, [sp, 0x38]                            |             r0 = *(arg_38h);
    0x000272c4 bl 0x271b0                                    |             Curl_hmac_md5 ();
    0x000272c8 ldr r3, [pc, 0x58]                            |             
    0x000272cc ldr r3, [sb, r3]                              |             r3 = *((sb + r3));
    0x000272d0 ldr r3, [r3]                                  |             r3 = *(0x27324);
    0x000272d4 mov r4, r0                                    |             r4 = r0;
    0x000272d8 mov r0, r7                                    |             r0 = r7;
    0x000272dc blx r3                                        |             uint32_t (*r3)(uint32_t, uint32_t) (r0, r3);
    0x000272e0 b 0x27238                                     |             goto label_1;
                                                             |         }
    0x000272e4 ldrb r0, [r5], 1                              |         r0 = *(r5);
                                                             |         r5++;
    0x000272e8 str r2, [sp, 0xc]                             |         var_ch = r2;
    0x000272ec str r3, [sp, 8]                               |         var_8h = r3;
    0x000272f0 bl 0x19dac                                    |         Curl_raw_toupper ();
    0x000272f4 ldr r3, [sp, 8]                               |         r3 = var_8h;
    0x000272f8 ldr r2, [sp, 0xc]                             |         r2 = var_ch;
    0x000272fc strb fp, [r3, -1]                             |         *((r3 - 1)) = fp;
    0x00027300 strb r0, [r3, -2]                             |         *((r3 - 2)) = r0;
    0x00027304 b 0x27284                                     |         
                                                             |     } while (1);
                                                             | label_4:
    0x00027308 ldrb r2, [sl, r0]                             |     r2 = *((sl + r0));
    0x0002730c strb r2, [r4, r0, lsl 1]                      |     offset_0 = r0 << 1;
                                                             |     *((r4 + offset_0)) = r2;
    0x00027310 add r2, r4, r0, lsl 1                         |     r2 = r4 + (r0 << 1);
    0x00027314 strb r3, [r2, 1]                              |     *((r2 + 1)) = r3;
    0x00027318 add r0, r0, 1                                 |     r0++;
    0x0002731c b 0x2729c                                     |     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/lib/libcurl.so @ 0x31f60 */
                                                 | #include <stdint.h>
                                                 |  
    ; (fcn) sym.Curl_ossl_close_all ()           | void Curl_ossl_close_all (int32_t arg1) {
                                                 |     r0 = arg1;
    0x00031f60 push {r4, lr}                     |     
    0x00031f64 add r4, r0, 0x4000                |     r4 = r0 + 0x4000;
    0x00031f68 ldr r0, [r4, 0x8a8]               |     r0 = *((r4 + 0x8a8));
    0x00031f6c cmp r0, 0                         |     
    0x00031f70 popeq {r4, pc}                    |     
    0x00031f74 bl 0x5724                         |     ENGINE_finish ();
    0x00031f78 ldr r0, [r4, 0x8a8]               |     r0 = *((r4 + 0x8a8));
    0x00031f7c bl 0x573c                         |     ENGINE_free ();
    0x00031f80 mov r3, 0                         |     r3 = 0;
    0x00031f84 str r3, [r4, 0x8a8]               |     *((r4 + 0x8a8)) = r3;
    0x00031f88 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/lib/libcurl.so @ 0x330ac */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.Curl_ossl_close ()           | void Curl_ossl_close (int32_t arg1, int32_t arg2) {
                                             |     r0 = arg1;
                                             |     r1 = arg2;
    0x000330ac push {r4, r5, r6, lr}         |     
    0x000330b0 lsl r5, r1, 4                 |     r5 = r1 << 4;
    0x000330b4 mov r4, r0                    |     r4 = r0;
    0x000330b8 add r0, r0, r5                |     r0 += r5;
    0x000330bc add r0, r0, 0x1c8             |     r0 += 0x1c8;
    0x000330c0 bl 0x33048                    |     ossl_close_isra_1 ();
    0x000330c4 add r0, r4, r5                |     r0 = r4 + r5;
    0x000330c8 add r0, r0, 0x1e8             |     r0 += 0x1e8;
    0x000330cc pop {r4, r5, r6, lr}          |     
    0x000330d0 b 0x33048                     |     return void (*0x33048)() ();
                                             | }
    ; 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/lib/libcurl.so @ 0x32c94 */
                                                 | #include <stdint.h>
                                                 |  
    ; (fcn) sym.Curl_ossl_data_pending ()        | void Curl_ossl_data_pending (int32_t arg1, int32_t arg2) {
                                                 |     r0 = arg1;
                                                 |     r1 = arg2;
    0x00032c94 push {r4, lr}                     |     
    0x00032c98 add r4, r0, r1, lsl 4             |     r4 = r0 + (r1 << 4);
    0x00032c9c ldr r3, [r4, 0x1c8]               |     r3 = *((r4 + 0x1c8));
    0x00032ca0 ldr r0, [r3, 4]                   |     r0 = *((r3 + 4));
    0x00032ca4 cmp r0, 0                         |     
    0x00032ca8 bne 0x32ccc                       |     
                                                 |     while (r0 == 0) {
    0x00032cac ldr r3, [r4, 0x1e8]               |         r3 = *((r4 + 0x1e8));
    0x00032cb0 ldr r0, [r3, 4]                   |         r0 = *((r3 + 4));
    0x00032cb4 cmp r0, 0                         |         
    0x00032cb8 popeq {r4, pc}                    |         
    0x00032cbc bl 0x594c                         |         r0 = SSL_pending ();
    0x00032cc0 adds r0, r0, 0                    |         r0 += 0;
                                                 |         if (r0 == r0) {
    0x00032cc4 movne r0, 1                       |             r0 = 1;
                                                 |         }
    0x00032cc8 pop {r4, pc}                      |         
    0x00032ccc bl 0x594c                         |         r0 = SSL_pending ();
    0x00032cd0 cmp r0, 0                         |         
    0x00032cd4 beq 0x32cac                       |         
                                                 |     }
    0x00032cd8 mov r0, 1                         |     r0 = 1;
    0x00032cdc 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/lib/libcurl.so @ 0x34cd0 */
                                                             | #include <stdint.h>
                                                             |  
    ; (fcn) sym.Curl_ossl_seed.part.4 ()                     | void Curl_ossl_seed_part_4 (int32_t arg1) {
                                                             |     void * s2;
                                                             |     int32_t var_4h;
                                                             |     int32_t var_8h;
                                                             |     int32_t var_ch;
                                                             |     int32_t var_10h;
                                                             |     int32_t var_18h;
                                                             |     int32_t var_1ch;
                                                             |     int32_t var_20h;
                                                             |     void * s1;
                                                             |     int32_t var_12ch;
                                                             |     r0 = arg1;
    0x00034cd0 push {r4, r5, r6, r7, r8, sb, sl, fp, lr}     |     
    0x00034cd4 sub sp, sp, 0x12c                             |     
    0x00034cd8 mov fp, r0                                    |     
    0x00034cdc mov r7, sp                                    |     r7 = sp;
                                                             | label_0:
    0x00034ce0 mov r4, 0                                     |     r4 = 0;
    0x00034ce4 add sl, sp, 0x20                              |     sl += var_20h;
                                                             |     do {
    0x00034ce8 mov r0, r7                                    |         r0 = r7;
    0x00034cec bl 0x69f0                                     |         Curl_now ();
    0x00034cf0 mov r0, 1                                     |         r0 = 1;
    0x00034cf4 bl 0x22dac                                    |         Curl_wait_ms ();
    0x00034cf8 ldr r6, [sp]                                  |         r6 = *(sp);
    0x00034cfc add r8, r4, 1                                 |         r8 = r4 + 1;
    0x00034d00 ldr r2, [sp, 4]                               |         r2 = var_4h;
    0x00034d04 mul r3, r8, r6                                |         r3 = r8 * r6;
    0x00034d08 add r5, r4, 2                                 |         r5 = r4 + 2;
    0x00034d0c mov r6, r3                                    |         r6 = r3;
    0x00034d10 mul r3, r2, r5                                |         r3 = r2 * r5;
    0x00034d14 mov r0, sl                                    |         r0 = sl;
    0x00034d18 mov r5, r3                                    |         r5 = r3;
    0x00034d1c bl 0x69f0                                     |         Curl_now ();
    0x00034d20 add r0, sp, 0x18                              |         r0 += var_18h;
    0x00034d24 ldr sb, [sp, 0x20]                            |         sb = var_20h;
    0x00034d28 bl 0x69f0                                     |         Curl_now ();
    0x00034d2c ldr r1, [sp, 0x1c]                            |         r1 = var_1ch;
    0x00034d30 add r0, sp, 0x10                              |         r0 += var_10h;
    0x00034d34 add r3, sb, r1                                |         r3 = sb + r1;
    0x00034d38 add r1, r4, 3                                 |         r1 = r4 + 3;
    0x00034d3c mul r2, r1, r3                                |         r2 = r1 * r3;
    0x00034d40 eor r2, r6, r2, lsl 8                         |         r2 = r6 ^ (r2 << 8);
    0x00034d44 str r2, [sp]                                  |         *(sp) = r2;
    0x00034d48 bl 0x69f0                                     |         Curl_now ();
    0x00034d4c add r0, sp, 8                                 |         r0 += var_8h;
    0x00034d50 ldr r6, [sp, 0x10]                            |         r6 = var_10h;
    0x00034d54 bl 0x69f0                                     |         Curl_now ();
    0x00034d58 ldr r2, [sp, 0xc]                             |         r2 = var_ch;
    0x00034d5c add r3, r4, 4                                 |         r3 = r4 + 4;
    0x00034d60 add r6, r6, r2                                |         r6 += r2;
    0x00034d64 mul r4, r6, r3                                |         r4 = r6 * r3;
    0x00034d68 mov r2, 8                                     |         r2 = 8;
    0x00034d6c eor r4, r5, r4, lsl 16                        |         r4 = r5 ^ (r4 << 16);
    0x00034d70 mov r1, r7                                    |         r1 = r7;
    0x00034d74 add r0, sl, r8, lsl 3                         |         r0 = sl + (r8 << 3);
    0x00034d78 str r4, [sp, 4]                               |         var_4h = r4;
    0x00034d7c bl 0x4f5c                                     |         memcpy (r0, r1, r2);
    0x00034d80 cmp r8, 8                                     |         
    0x00034d84 add r5, sp, 0x28                              |         r5 += s1;
    0x00034d88 mov r4, r8                                    |         r4 = r8;
    0x00034d8c bne 0x34ce8                                   |         
                                                             |     } while (r8 != 8);
    0x00034d90 mov r2, 0                                     |     r2 = 0;
    0x00034d94 ldr r3, [pc, 0x7c]                            |     r3 = *(0x34e14);
    0x00034d98 mov r1, 0x40                                  |     r1 = 0x40;
    0x00034d9c mov r0, r5                                    |     r0 = r5;
    0x00034da0 bl 0x582c                                     |     RAND_add ();
    0x00034da4 bl 0x5b14                                     |     r0 = RAND_status ();
    0x00034da8 cmp r0, 0                                     |     
                                                             |     if (r0 == 0) {
    0x00034dac beq 0x34ce0                                   |         goto label_0;
                                                             |     }
    0x00034db0 mov r3, 0                                     |     r3 = 0;
    0x00034db4 mov r1, 0x100                                 |     r1 = 0x100;
    0x00034db8 mov r0, r5                                    |     r0 = r5;
    0x00034dbc strb r3, [sp, 0x28]                           |     s1 = r3;
    0x00034dc0 bl 0x58a4                                     |     RAND_file_name ();
    0x00034dc4 ldrb r3, [sp, 0x28]                           |     r3 = s1;
    0x00034dc8 cmp r3, 0                                     |     
    0x00034dcc bne 0x34dfc                                   |     
                                                             |     while (r0 == 0) {
    0x00034dd0 ldr r1, [pc, 0x44]                            |         r1 = *(0x34e18);
    0x00034dd4 mov r0, fp                                    |         r0 = fp;
    0x00034dd8 add r1, pc, r1                                |         r1 = pc + r1;
    0x00034ddc bl 0x104cc                                    |         Curl_infof ();
    0x00034de0 bl 0x5b14                                     |         r0 = RAND_status ();
    0x00034de4 cmp r0, 0                                     |         
                                                             |         if (r0 != 0) {
    0x00034de8 moveq r0, 0x23                                |             r0 = 0x23;
                                                             |         }
                                                             |         if (r0 != 0) {
    0x00034dec beq 0x34df4                                   |             
                                                             | label_1:
    0x00034df0 mov r0, 0                                     |             r0 = 0;
                                                             |         }
    0x00034df4 add sp, sp, 0x12c                             |         
    0x00034df8 pop {r4, r5, r6, r7, r8, sb, sl, fp, pc}      |         
    0x00034dfc mov r1, 0x400                                 |         r1 = 0x400;
    0x00034e00 mov r0, r5                                    |         r0 = r5;
    0x00034e04 bl 0x4ec0                                     |         RAND_load_file ();
    0x00034e08 bl 0x5b14                                     |         r0 = RAND_status ();
    0x00034e0c cmp r0, 0                                     |         
    0x00034e10 beq 0x34dd0                                   |         
                                                             |     }
    0x00034e14 b 0x34df0                                     |     goto label_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/lib/libcurl.so @ 0x32154 */
                                                             | #include <stdint.h>
                                                             |  
    ; (fcn) sym.Curl_ossl_shutdown ()                        | void Curl_ossl_shutdown (int32_t arg1, int32_t arg2) {
                                                             |     int32_t var_0h;
                                                             |     int32_t var_104h;
                                                             |     r0 = arg1;
                                                             |     r1 = arg2;
    0x00032154 push {r4, r5, r6, r7, r8, sb, sl, fp, lr}     |     
    0x00032158 ldr r6, [r0]                                  |     r6 = *(r0);
    0x0003215c sub sp, sp, 0x104                             |     
    0x00032160 ldr r3, [r6, 0x4e8]                           |     r3 = *((r6 + 0x4e8));
    0x00032164 mov r7, r0                                    |     r7 = r0;
    0x00032168 cmp r3, 2                                     |     
    0x0003216c mov r8, r1                                    |     r8 = r1;
                                                             |     if (r3 == 2) {
    0x00032170 bne 0x32184                                   |         
    0x00032174 add r3, r0, r1, lsl 4                         |         r3 = r0 + (r1 << 4);
    0x00032178 ldr r3, [r3, 0x1c8]                           |         r3 = *((r3 + 0x1c8));
    0x0003217c ldr r0, [r3, 4]                               |         r0 = *((r3 + 4));
    0x00032180 bl 0x5880                                     |         SSL_shutdown ();
                                                             |     }
    0x00032184 add r5, r7, r8, lsl 4                         |     r5 = r7 + (r8 << 4);
    0x00032188 ldr r3, [r5, 0x1c8]                           |     r3 = *((r5 + 0x1c8));
    0x0003218c ldr r4, [r3, 4]                               |     r4 = *((r3 + 4));
    0x00032190 cmp r4, 0                                     |     
                                                             |     if (r4 == 0) {
    0x00032194 beq 0x321f0                                   |         goto label_2;
                                                             |     }
    0x00032198 ldr sl, [pc, 0x148]                           |     sl = *(0x322e4);
    0x0003219c ldr sb, [pc, 0x148]                           |     sb = "trpbrk";
    0x000321a0 add r8, r8, 0x66                              |     r8 += 0x66;
    0x000321a4 add sl, pc, sl                                |     sl = pc + sl;
                                                             |     do {
    0x000321a8 mvn r2, 0                                     |         r2 = ~0;
    0x000321ac mov r3, sb                                    |         r3 = sb;
    0x000321b0 mov r1, r2                                    |         r1 = r2;
    0x000321b4 ldr r0, [r7, r8, lsl 2]                       |         offset_0 = r8 << 2;
                                                             |         r0 = *((r7 + offset_0));
    0x000321b8 bl 0x22ea8                                    |         r0 = Curl_socket_check ();
    0x000321bc subs r4, r0, 0                                |         r4 = r0 - 0;
                                                             |         if (r4 <= r0) {
    0x000321c0 bgt 0x321fc                                   |             
                                                             |             if (r4 != r0) {
    0x000321c4 bne 0x322c8                                   |                 goto label_3;
                                                             |             }
    0x000321c8 ldr r1, [pc, 0x120]                           |             r1 = "trpbrk";
    0x000321cc mov r0, r6                                    |             r0 = r6;
    0x000321d0 add r1, pc, r1                                |             r1 = pc + r1;
    0x000321d4 bl 0x10544                                    |             Curl_failf ();
                                                             | label_0:
    0x000321d8 ldr r3, [r5, 0x1c8]                           |             r3 = *((r5 + 0x1c8));
    0x000321dc ldr r0, [r3, 4]                               |             r0 = *((r3 + 4));
    0x000321e0 bl 0x56e8                                     |             SSL_free ();
    0x000321e4 ldr r3, [r5, 0x1c8]                           |             r3 = *((r5 + 0x1c8));
    0x000321e8 mov r2, 0                                     |             r2 = 0;
    0x000321ec str r2, [r3, 4]                               |             *((r3 + 4)) = r2;
                                                             | label_2:
    0x000321f0 mov r0, r4                                    |             r0 = r4;
    0x000321f4 add sp, sp, 0x104                             |             
    0x000321f8 pop {r4, r5, r6, r7, r8, sb, sl, fp, pc}      |             
                                                             |         }
    0x000321fc bl 0x5028                                     |         ERR_clear_error ();
    0x00032200 ldr r3, [r5, 0x1c8]                           |         r3 = *((r5 + 0x1c8));
    0x00032204 mov r4, sp                                    |         r4 = sp;
    0x00032208 mov r2, 0x100                                 |         r2 = 0x100;
    0x0003220c mov r1, r4                                    |         r1 = r4;
    0x00032210 ldr r0, [r3, 4]                               |         r0 = *((r3 + 4));
    0x00032214 bl 0x53f4                                     |         SSL_read ();
    0x00032218 ldr r3, [r5, 0x1c8]                           |         r3 = *((r5 + 0x1c8));
    0x0003221c mov r1, r0                                    |         r1 = r0;
    0x00032220 ldr r0, [r3, 4]                               |         r0 = *((r3 + 4));
    0x00032224 bl 0x5ba4                                     |         r0 = SSL_get_error ();
    0x00032228 mov fp, r0                                    |         
    0x0003222c cmp r0, 6                                     |         
                                                             |         if (r0 > 6) {
                                                             |             /* switch table (7 cases) at 0x32238 */
    0x00032230 addls pc, pc, r0, lsl 2                       |             pc += (r0 << 2);
                                                             |         }
    0x00032234 b 0x3227c                                     |         goto label_4;
    0x00032238 b 0x32274                                     |         goto label_5;
    0x0003223c b 0x3227c                                     |         goto label_4;
    0x00032240 b 0x32254                                     |         goto label_6;
    0x00032244 b 0x32264                                     |         goto label_7;
    0x00032248 b 0x3227c                                     |         goto label_4;
    0x0003224c b 0x3227c                                     |         goto label_4;
    0x00032250 b 0x32274                                     |         goto label_5;
                                                             | label_6:
    0x00032254 mov r1, sl                                    |         r1 = sl;
    0x00032258 mov r0, r6                                    |         r0 = r6;
    0x0003225c bl 0x104cc                                    |         Curl_infof ();
    0x00032260 b 0x321a8                                     |         
                                                             |     } while (1);
                                                             | label_7:
    0x00032264 ldr r1, [pc, 0x88]                            |     r1 = *(0x322f0);
    0x00032268 mov r0, r6                                    |     r0 = r6;
    0x0003226c add r1, pc, r1                                |     r1 = pc + r1;
    0x00032270 bl 0x104cc                                    |     Curl_infof ();
                                                             |     do {
                                                             | label_5:
    0x00032274 mov r4, 0                                     |         r4 = 0;
    0x00032278 b 0x321d8                                     |         goto label_0;
                                                             | label_4:
    0x0003227c bl 0x4e9c                                     |         ERR_get_error ();
    0x00032280 ldr r6, [r7]                                  |         r6 = *(r7);
    0x00032284 cmp r0, 0                                     |         
                                                             |         if (r0 == 0) {
    0x00032288 beq 0x322b8                                   |             goto label_8;
                                                             |         }
    0x0003228c mov r2, 0x100                                 |         r2 = 0x100;
    0x00032290 mov r1, r4                                    |         r1 = r4;
    0x00032294 bl 0x5064                                     |         ERR_error_string_n ();
                                                             | label_1:
    0x00032298 bl 0x4eb4                                     |         errno_location ();
    0x0003229c ldr r1, [pc, 0x54]                            |         r1 = *(0x322f4);
    0x000322a0 mov r2, r4                                    |         r2 = r4;
    0x000322a4 add r1, pc, r1                                |         r1 = pc + r1;
    0x000322a8 ldr r3, [r0]                                  |         r3 = *(r0);
    0x000322ac mov r0, r6                                    |         r0 = r6;
    0x000322b0 bl 0x10544                                    |         Curl_failf ();
    0x000322b4 b 0x32274                                     |         
                                                             |     } while (1);
                                                             | label_8:
    0x000322b8 mov r0, fp                                    |     r0 = fp;
    0x000322bc bl 0x31d0c                                    |     r0 = SSL_ERROR_to_str ();
    0x000322c0 mov r4, r0                                    |     r4 = r0;
    0x000322c4 b 0x32298                                     |     goto label_1;
                                                             | label_3:
    0x000322c8 bl 0x4eb4                                     |     errno_location ();
    0x000322cc ldr r1, [pc, 0x28]                            |     r1 = *(0x322f8);
    0x000322d0 mvn r4, 0                                     |     r4 = ~0;
    0x000322d4 add r1, pc, r1                                |     r1 = pc + r1;
    0x000322d8 ldr r2, [r0]                                  |     r2 = *(r0);
    0x000322dc mov r0, r6                                    |     r0 = r6;
    0x000322e0 bl 0x10544                                    |     Curl_failf ();
    0x000322e4 b 0x321d8                                     |     goto label_0;
                                                             | }
    ; 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/lib/libcurl.so @ 0x21568 */
                                                             | #include <stdint.h>
                                                             |  
    ; (fcn) sym.Curl_output_digest ()                        | void Curl_output_digest (int32_t arg_0h, int32_t arg1, size_t nmeb) {
                                                             |     int32_t var_8h;
                                                             |     int32_t var_ch;
                                                             |     int32_t var_14h;
                                                             |     int32_t var_18h;
                                                             |     int32_t var_1ch;
                                                             |     size_t var_20h;
                                                             |     int32_t var_24h;
                                                             |     int32_t var_2ch;
                                                             |     r0 = arg1;
                                                             |     r1 = nmeb;
    0x00021568 push {r4, r5, r6, r7, r8, sb, sl, fp, lr}     |     
    0x0002156c ldr fp, [pc, 0x198]                           |     fp = *(0x21708);
    0x00021570 mov r6, r3                                    |     r6 = r3;
    0x00021574 ldr r3, [r0]                                  |     r3 = *(r0);
    0x00021578 sub sp, sp, 0x2c                              |     
    0x0002157c str r2, [sp, 0x1c]                            |     var_1ch = r2;
    0x00021580 ldr r2, [pc, 0x188]                           |     r2 = $d;
    0x00021584 str r3, [sp, 0x14]                            |     var_14h = r3;
    0x00021588 subs r3, r1, 0                                |     r3 = r1 - 0;
    0x0002158c str r3, [sp, 0x18]                            |     var_18h = r3;
    0x00021590 add fp, pc, fp                                |     
    0x00021594 ldr r3, [sp, 0x14]                            |     r3 = var_14h;
    0x00021598 ldr sb, [fp, r2]                              |     sb = *(0x21708);
                                                             |     if (r3 == r1) {
    0x0002159c ldrne r7, [r0, 0xf4]                          |         r7 = *((r0 + 0xf4));
                                                             |     }
                                                             |     if (r3 != r1) {
    0x000215a0 ldreq r7, [r0, 0x170]                         |         r7 = *((r0 + 0x170));
                                                             |     }
    0x000215a4 add r4, r3, 0x4800                            |     r4 = r3 + 0x4800;
                                                             |     if (r3 == r1) {
    0x000215a8 addne r5, r0, 0x298                           |         r5 = r0 + 0x298;
                                                             |     }
                                                             |     if (r3 != r1) {
    0x000215ac addeq r5, r0, 0x2a4                           |         r5 = r0 + 0x2a4;
                                                             |     }
                                                             |     if (r3 == r1) {
    0x000215b0 ldrne r8, [r0, 0xf8]                          |         r8 = *((r0 + 0xf8));
                                                             |     }
                                                             |     if (r3 != r1) {
    0x000215b4 ldreq r8, [r0, 0x174]                         |         r8 = *((r0 + 0x174));
                                                             |     }
                                                             |     if (r3 == r1) {
    0x000215b8 ldrne r0, [r0, 0x298]                         |         r0 = *((r0 + 0x298));
                                                             |     }
                                                             |     if (r3 != r1) {
    0x000215bc ldreq r0, [r0, 0x2a4]                         |         r0 = *((r0 + 0x2a4));
                                                             |     }
    0x000215c0 ldr r2, [sb]                                  |     r2 = *(0x21708);
                                                             |     if (r3 == r1) {
    0x000215c4 addne sl, r4, 0x58                            |         sl = r4 + 0x58;
                                                             |     }
                                                             |     if (r3 != r1) {
    0x000215c8 addeq sl, r4, 0x30                            |         sl = r4 + 0x30;
                                                             |     }
                                                             |     if (r3 == r1) {
    0x000215cc addne r4, r4, 0x90                            |         r4 += 0x90;
                                                             |     }
                                                             |     if (r3 != r1) {
    0x000215d0 addeq r4, r4, 0x80                            |         r4 += 0x80;
                                                             |     }
    0x000215d4 blx r2                                        |     uint32_t (*r2)(uint32_t, uint32_t) (r2, r3);
    0x000215d8 mov r2, 0                                     |     r2 = 0;
    0x000215dc cmp r7, r2                                    |     
    0x000215e0 str r2, [r5]                                  |     *(r5) = r2;
                                                             |     if (r7 != r2) {
    0x000215e4 ldreq r7, [pc, 0x128]                         |         r7 = *((pc + 0x128));
                                                             |     }
                                                             |     if (r7 != r2) {
    0x000215e8 addeq r7, pc, r7                              |         r7 = pc + r7;
                                                             |     }
    0x000215ec cmp r8, 0                                     |     
                                                             |     if (r8 != 0) {
    0x000215f0 ldreq r8, [pc, 0x120]                         |         r8 = *((pc + 0x120));
                                                             |     }
                                                             |     if (r8 != 0) {
    0x000215f4 addeq r8, pc, r8                              |         r8 = pc + r8;
                                                             |     }
    0x000215f8 ldr r2, [sl]                                  |     r2 = *(sl);
    0x000215fc cmp r2, 0                                     |     
                                                             |     if (r2 != 0) {
    0x00021600 strbeq r2, [r4, 0xc]                          |         *((r4 + 0xc)) = r2;
                                                             |     }
                                                             |     if (r2 != 0) {
    0x00021604 moveq r7, r2                                  |         r7 = r2;
                                                             |     }
                                                             |     if (r2 == 0) {
    0x00021608 beq 0x21650                                   |         goto label_0;
                                                             |     }
    0x0002160c ldrb r2, [r4, 0xe]                            |     r2 = *((r4 + 0xe));
    0x00021610 cmp r2, 0                                     |     
                                                             |     if (r2 == 0) {
    0x00021614 beq 0x2165c                                   |         goto label_3;
                                                             |     }
    0x00021618 mov r1, 0x3f                                  |     r1 = 0x3f;
    0x0002161c mov r0, r6                                    |     r0 = r6;
    0x00021620 bl 0x5b38                                     |     r0 = strchr (r0, r1);
    0x00021624 subs r1, r0, 0                                |     r1 = r0 - 0;
                                                             |     if (r1 == r0) {
    0x00021628 beq 0x2165c                                   |         goto label_3;
                                                             |     }
    0x0002162c ldr r0, [pc, 0xe8]                            |     r0 = *(0x21718);
    0x00021630 mov r2, r6                                    |     r2 = r6;
    0x00021634 sub r1, r1, r6                                |     r1 -= r6;
    0x00021638 add r0, pc, r0                                |     r0 = pc + r0;
    0x0002163c bl 0x5b80                                     |     r0 = fcn_00005b80 ();
                                                             |     do {
    0x00021640 cmp r0, 0                                     |         
    0x00021644 mov r6, r0                                    |         r6 = r0;
                                                             |         if (r0 != 0) {
    0x00021648 bne 0x21674                                   |             goto label_4;
                                                             |         }
                                                             | label_1:
    0x0002164c mov r7, 0x1b                                  |         r7 = 0x1b;
                                                             | label_0:
    0x00021650 mov r0, r7                                    |         r0 = r7;
    0x00021654 add sp, sp, 0x2c                              |         
    0x00021658 pop {r4, r5, r6, r7, r8, sb, sl, fp, pc}      |         
                                                             | label_3:
    0x0002165c ldr r2, [pc, 0xbc]                            |         r2 = *(0x2171c);
    0x00021660 mov r0, r6                                    |         r0 = r6;
    0x00021664 ldr r3, [fp, r2]                              |         r3 = *((fp + r2));
    0x00021668 ldr r3, [r3]                                  |         r3 = *(r3);
    0x0002166c blx r3                                        |         uint32_t (*r3)(uint32_t, uint32_t, uint32_t) (r0, r2, r3);
    0x00021670 b 0x21640                                     |         
                                                             |     } while (1);
                                                             | label_4:
    0x00021674 add r3, sp, 0x24                              |     r3 += var_24h;
    0x00021678 str r3, [sp, 0xc]                             |     var_ch = r3;
    0x0002167c add r3, sp, 0x20                              |     r3 += var_20h;
    0x00021680 mov r1, r7                                    |     r1 = r7;
    0x00021684 str r3, [sp, 8]                               |     var_8h = r3;
    0x00021688 mov r2, r8                                    |     r2 = r8;
    0x0002168c ldr r3, [sp, 0x1c]                            |     r3 = var_1ch;
    0x00021690 stm sp, {r6, sl}                              |     *(sp) = r6;
                                                             |     *((sp + 4)) = sl;
    0x00021694 ldr r0, [sp, 0x14]                            |     r0 = var_14h;
    0x00021698 bl 0x30ca8                                    |     Curl_auth_create_digest_http_message ();
    0x0002169c ldr r3, [sb]                                  |     r3 = *(sb);
    0x000216a0 mov r7, r0                                    |     r7 = r0;
    0x000216a4 mov r0, r6                                    |     r0 = r6;
    0x000216a8 blx r3                                        |     uint32_t (*r3)(uint32_t, uint32_t) (r0, r3);
    0x000216ac cmp r7, 0                                     |     
                                                             |     if (r7 != 0) {
    0x000216b0 bne 0x21650                                   |         goto label_0;
                                                             |     }
    0x000216b4 ldr r3, [sp, 0x18]                            |     r3 = var_18h;
    0x000216b8 cmp r3, 0                                     |     
                                                             |     if (r3 != 0) {
    0x000216bc bne 0x21700                                   |         goto label_5;
                                                             |     }
    0x000216c0 ldr r1, [pc, 0x5c]                            |     r1 = *(0x21720);
    0x000216c4 add r1, pc, r1                                |     r1 = pc + r1;
                                                             | label_2:
    0x000216c8 ldr r0, [pc, 0x58]                            |     r0 = *(0x21724);
    0x000216cc ldr r2, [sp, 0x20]                            |     r2 = var_20h;
    0x000216d0 add r0, pc, r0                                |     r0 = pc + r0;
    0x000216d4 bl 0x5b80                                     |     fcn_00005b80 ();
    0x000216d8 ldr r3, [sb]                                  |     r3 = *(sb);
    0x000216dc str r0, [r5]                                  |     *(r5) = r0;
    0x000216e0 ldr r0, [sp, 0x20]                            |     r0 = var_20h;
    0x000216e4 blx r3                                        |     uint32_t (*r3)(uint32_t, uint32_t) (r0, r3);
    0x000216e8 ldr r3, [r5]                                  |     r3 = *(r5);
    0x000216ec cmp r3, 0                                     |     
                                                             |     if (r3 == 0) {
    0x000216f0 beq 0x2164c                                   |         goto label_1;
                                                             |     }
    0x000216f4 mov r3, 1                                     |     r3 = 1;
    0x000216f8 strb r3, [r4, 0xc]                            |     *((r4 + 0xc)) = r3;
    0x000216fc b 0x21650                                     |     goto label_0;
                                                             | label_5:
    0x00021700 ldr r1, [pc, 0x24]                            |     r1 = *(0x21728);
    0x00021704 add r1, pc, r1                                |     r1 = pc + r1;
    0x00021708 b 0x216c8                                     |     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/lib/libcurl.so @ 0x26b74 */
                                                         | #include <stdint.h>
                                                         |  
    ; (fcn) sym.Curl_output_ntlm ()                      | void Curl_output_ntlm (int32_t arg1, int32_t arg2) {
                                                         |     int32_t var_0h;
                                                         |     size_t nmeb;
                                                         |     int32_t var_14h;
                                                         |     int32_t var_1ch;
                                                         |     r0 = arg1;
                                                         |     r1 = arg2;
    0x00026b74 push {r4, r5, r6, r7, r8, sb, lr}         |     
    0x00026b78 ldr r8, [pc, 0x208]                       |     r8 = *(0x26d84);
    0x00026b7c mov r4, r0                                |     r4 = r0;
    0x00026b80 ldr r0, [r0]                              |     r0 = *(r0);
    0x00026b84 sub sp, sp, 0x1c                          |     
    0x00026b88 mov r3, 0                                 |     r3 = 0;
    0x00026b8c subs sb, r1, 0                            |     sb = r1 - 0;
    0x00026b90 add r8, pc, r8                            |     r8 = pc + r8;
    0x00026b94 str r3, [sp, 0x10]                        |     nmeb = r3;
    0x00026b98 str r3, [sp, 0x14]                        |     var_14h = r3;
    0x00026b9c add r7, r0, 0x4800                        |     r7 = r0 + 0x4800;
                                                         |     if (sb == r1) {
    0x00026ba0 beq 0x26c90                               |         goto label_5;
                                                         |     }
    0x00026ba4 ldr r3, [r0, 0x5d8]                       |     r3 = *((r0 + 0x5d8));
    0x00026ba8 add r5, r4, 0x298                         |     r5 = r4 + 0x298;
    0x00026bac cmp r3, 0                                 |     
    0x00026bb0 ldr r1, [r4, 0xf4]                        |     r1 = *((r4 + 0xf4));
    0x00026bb4 ldr r2, [r4, 0xf8]                        |     r2 = *((r4 + 0xf8));
                                                         |     if (r3 != 0) {
    0x00026bb8 ldreq r3, [pc, 0x1cc]                     |         r3 = *((pc + 0x1cc));
                                                         |     }
                                                         |     if (r3 != 0) {
    0x00026bbc addeq r3, pc, r3                          |         r3 = pc + r3;
                                                         |     }
    0x00026bc0 ldr r6, [r4, 0xe4]                        |     r6 = *((r4 + 0xe4));
    0x00026bc4 add r7, r7, 0x90                          |     r7 += 0x90;
    0x00026bc8 add r4, r4, 0x310                         |     r4 += 0x310;
                                                         |     do {
    0x00026bcc mov ip, 0                                 |         
    0x00026bd0 cmp r1, ip                                |         
    0x00026bd4 strb ip, [r7, 0xc]                        |         *((r7 + 0xc)) = ip;
                                                         |         if (r1 != ip) {
    0x00026bd8 ldreq r1, [pc, 0x1b0]                     |             r1 = *((pc + 0x1b0));
                                                         |         }
                                                         |         if (r1 != ip) {
    0x00026bdc addeq r1, pc, r1                          |             r1 = pc + r1;
                                                         |         }
    0x00026be0 cmp r2, 0                                 |         
                                                         |         if (r2 != 0) {
    0x00026be4 ldreq r2, [pc, 0x1a8]                     |             r2 = *((pc + 0x1a8));
                                                         |         }
                                                         |         if (r2 != 0) {
    0x00026be8 addeq r2, pc, r2                          |             r2 = pc + r2;
                                                         |         }
    0x00026bec ldr ip, [r4]                              |         ip = *(r4);
    0x00026bf0 cmp ip, 3                                 |         
                                                         |         if (ip == 3) {
    0x00026bf4 beq 0x26d60                               |             goto label_6;
                                                         |         }
    0x00026bf8 cmp ip, 4                                 |         
                                                         |         if (ip == 4) {
    0x00026bfc beq 0x26d68                               |             goto label_7;
                                                         |         }
    0x00026c00 cmp ip, 2                                 |         
    0x00026c04 add lr, sp, 0x14                          |         lr += var_14h;
    0x00026c08 add ip, sp, 0x10                          |         
                                                         |         if (ip == 2) {
    0x00026c0c beq 0x26cd0                               |             goto label_8;
                                                         |         }
    0x00026c10 str r6, [sp]                              |         *(sp) = r6;
    0x00026c14 stmib sp, {r4, ip, lr}                    |         __asm ("stmib sp, {r4, ip, lr}");
    0x00026c18 bl 0x31540                                |         r0 = Curl_auth_create_ntlm_type1_message ();
    0x00026c1c subs r6, r0, 0                            |         r6 = r0 - 0;
                                                         |         if (r6 == r0) {
    0x00026c20 bne 0x26c84                               |             
    0x00026c24 ldr r3, [sp, 0x10]                        |             r3 = nmeb;
    0x00026c28 cmp r3, 0                                 |             
                                                         |             if (r3 == 0) {
    0x00026c2c beq 0x26cc8                               |                 goto label_2;
                                                         |             }
    0x00026c30 ldr r3, [pc, 0x160]                       |             r3 = *(0x26d94);
    0x00026c34 ldr r0, [r5]                              |             r0 = *(r5);
    0x00026c38 ldr r4, [r8, r3]                          |             r4 = *((r8 + r3));
    0x00026c3c ldr r3, [r4]                              |             r3 = *(r4);
    0x00026c40 blx r3                                    |             uint32_t (*r3)(uint32_t, uint32_t) (r0, r3);
    0x00026c44 cmp sb, 0                                 |             
                                                         |             if (sb == 0) {
    0x00026c48 beq 0x26cbc                               |                 goto label_9;
                                                         |             }
    0x00026c4c ldr r1, [pc, 0x148]                       |             r1 = *(0x26d98);
    0x00026c50 add r1, pc, r1                            |             r1 = pc + r1;
                                                         | label_0:
    0x00026c54 ldr r0, [pc, 0x144]                       |             r0 = *(0x26d9c);
    0x00026c58 ldr r2, [sp, 0x10]                        |             r2 = nmeb;
    0x00026c5c add r0, pc, r0                            |             r0 = pc + r0;
    0x00026c60 bl 0x5b80                                 |             fcn_00005b80 ();
    0x00026c64 ldr r3, [r4]                              |             r3 = *(r4);
    0x00026c68 str r0, [r5]                              |             *(r5) = r0;
    0x00026c6c ldr r0, [sp, 0x10]                        |             r0 = nmeb;
    0x00026c70 blx r3                                    |             uint32_t (*r3)(uint32_t, uint32_t) (r0, r3);
    0x00026c74 ldr r3, [r5]                              |             r3 = *(r5);
    0x00026c78 cmp r3, 0                                 |             
                                                         |             if (r3 != 0) {
    0x00026c7c bne 0x26cc8                               |                 goto label_2;
                                                         |             }
                                                         | label_3:
    0x00026c80 mov r6, 0x1b                              |             r6 = 0x1b;
                                                         |         }
                                                         | label_1:
    0x00026c84 mov r0, r6                                |         r0 = r6;
    0x00026c88 add sp, sp, 0x1c                          |         
    0x00026c8c pop {r4, r5, r6, r7, r8, sb, pc}          |         
                                                         | label_5:
    0x00026c90 ldr r3, [r0, 0x5dc]                       |         r3 = *((r0 + 0x5dc));
    0x00026c94 add r5, r4, 0x2a4                         |         r5 = r4 + 0x2a4;
    0x00026c98 cmp r3, 0                                 |         
    0x00026c9c ldr r1, [r4, 0x170]                       |         r1 = *((r4 + 0x170));
    0x00026ca0 ldr r2, [r4, 0x174]                       |         r2 = *((r4 + 0x174));
                                                         |         if (r3 != 0) {
    0x00026ca4 ldreq r3, [pc, 0xf8]                      |             r3 = *((pc + 0xf8));
                                                         |         }
                                                         |         if (r3 != 0) {
    0x00026ca8 addeq r3, pc, r3                          |             r3 = pc + r3;
                                                         |         }
    0x00026cac ldr r6, [r4, 0xa0]                        |         r6 = *((r4 + 0xa0));
    0x00026cb0 add r7, r7, 0x80                          |         r7 += 0x80;
    0x00026cb4 add r4, r4, 0x2f8                         |         r4 += 0x2f8;
    0x00026cb8 b 0x26bcc                                 |         
                                                         |     } while (1);
                                                         | label_9:
    0x00026cbc ldr r1, [pc, 0xe4]                        |     r1 = *(0x26da4);
    0x00026cc0 add r1, pc, r1                            |     r1 = pc + r1;
    0x00026cc4 b 0x26c54                                 |     goto label_0;
                                                         | label_2:
    0x00026cc8 mov r6, 0                                 |     r6 = 0;
    0x00026ccc b 0x26c84                                 |     goto label_1;
                                                         | label_8:
    0x00026cd0 stm sp, {ip, lr}                          |     *(sp) = ip;
                                                         |     *((sp + 4)) = lr;
    0x00026cd4 mov r3, r4                                |     r3 = r4;
    0x00026cd8 bl 0x3161c                                |     r0 = Curl_auth_create_ntlm_type3_message ();
    0x00026cdc subs r6, r0, 0                            |     r6 = r0 - 0;
                                                         |     if (r6 != r0) {
    0x00026ce0 bne 0x26c84                               |         goto label_1;
                                                         |     }
    0x00026ce4 ldr r3, [sp, 0x10]                        |     r3 = nmeb;
    0x00026ce8 cmp r3, 0                                 |     
                                                         |     if (r3 == 0) {
    0x00026cec beq 0x26cc8                               |         goto label_2;
                                                         |     }
    0x00026cf0 ldr r3, [pc, 0xa0]                        |     r3 = *(0x26d94);
    0x00026cf4 ldr r0, [r5]                              |     r0 = *(r5);
    0x00026cf8 ldr r8, [r8, r3]                          |     r8 = *((r8 + r3));
    0x00026cfc ldr r3, [r8]                              |     r3 = *(r8);
    0x00026d00 blx r3                                    |     uint32_t (*r3)(uint32_t, uint32_t) (r0, r3);
    0x00026d04 cmp sb, 0                                 |     
                                                         |     if (sb == 0) {
    0x00026d08 beq 0x26d54                               |         goto label_10;
                                                         |     }
    0x00026d0c ldr r1, [pc, 0x98]                        |     r1 = *(0x26da8);
    0x00026d10 add r1, pc, r1                            |     r1 = pc + r1;
                                                         | label_4:
    0x00026d14 ldr r0, [pc, 0x94]                        |     r0 = *(0x26dac);
    0x00026d18 ldr r2, [sp, 0x10]                        |     r2 = nmeb;
    0x00026d1c add r0, pc, r0                            |     r0 = pc + r0;
    0x00026d20 bl 0x5b80                                 |     fcn_00005b80 ();
    0x00026d24 ldr r3, [r8]                              |     r3 = *(r8);
    0x00026d28 str r0, [r5]                              |     *(r5) = r0;
    0x00026d2c ldr r0, [sp, 0x10]                        |     r0 = nmeb;
    0x00026d30 blx r3                                    |     uint32_t (*r3)(uint32_t, uint32_t) (r0, r3);
    0x00026d34 ldr r3, [r5]                              |     r3 = *(r5);
    0x00026d38 cmp r3, 0                                 |     
                                                         |     if (r3 == 0) {
    0x00026d3c movne r3, 3                               |         r3 = 3;
                                                         |     }
                                                         |     if (r3 != 0) {
    0x00026d40 strne r3, [r4]                            |         *(r4) = r3;
                                                         |         goto label_11;
                                                         |     }
                                                         |     if (r3 == 0) {
                                                         | label_11:
    0x00026d44 beq 0x26c80                               |         goto label_3;
                                                         |     }
                                                         |     do {
    0x00026d48 mov r3, 1                                 |         r3 = 1;
    0x00026d4c strb r3, [r7, 0xc]                        |         *((r7 + 0xc)) = r3;
    0x00026d50 b 0x26c84                                 |         goto label_1;
                                                         | label_10:
    0x00026d54 ldr r1, [pc, 0x58]                        |         r1 = *(0x26db0);
    0x00026d58 add r1, pc, r1                            |         r1 = pc + r1;
    0x00026d5c b 0x26d14                                 |         goto label_4;
                                                         | label_6:
    0x00026d60 mov r3, 4                                 |         r3 = 4;
    0x00026d64 str r3, [r4]                              |         *(r4) = r3;
                                                         | label_7:
    0x00026d68 ldr r3, [pc, 0x28]                        |         
    0x00026d6c ldr r0, [r5]                              |         r0 = *(r5);
    0x00026d70 ldr r3, [r8, r3]                          |         r3 = *((r8 + r3));
    0x00026d74 mov r6, 0                                 |         r6 = 0;
    0x00026d78 ldr r3, [r3]                              |         r3 = *(0x26d94);
    0x00026d7c blx r3                                    |         uint32_t (*r3)(uint32_t, uint32_t) (r0, r3);
    0x00026d80 str r6, [r5]                              |         *(r5) = r6;
    0x00026d84 b 0x26d48                                 |         
                                                         |     } 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/lib/libcurl.so @ 0x11ab8 */
                                                             | #include <stdint.h>
                                                             |  
    ; (fcn) sym.Curl_parse_login_details ()                  | void Curl_parse_login_details (int32_t arg_38h, int32_t arg1, int32_t arg2) {
                                                             |     int32_t var_0h;
                                                             |     int32_t var_4h;
                                                             |     int32_t var_8h;
                                                             |     int32_t var_ch;
                                                             |     int32_t var_14h;
                                                             |     r0 = arg1;
                                                             |     r1 = arg2;
    0x00011ab8 push {r4, r5, r6, r7, r8, sb, sl, fp, lr}     |     
    0x00011abc ldr fp, [pc, 0x340]                           |     fp = "lds_axceta_johnson_smv_cloud_build_build_at91_curl_prefix_src_curl_lib_vtls_openssl.c";
    0x00011ac0 sub sp, sp, 0x14                              |     
    0x00011ac4 cmp r3, 0                                     |     
    0x00011ac8 add fp, pc, fp                                |     
    0x00011acc mov sl, r0                                    |     sl = r0;
    0x00011ad0 mov sb, r1                                    |     sb = r1;
    0x00011ad4 str r2, [sp, 8]                               |     var_8h = r2;
    0x00011ad8 str r3, [sp, 0xc]                             |     var_ch = r3;
                                                             |     if (r3 == 0) {
    0x00011adc beq 0x11d78                                   |         goto label_7;
                                                             |     }
    0x00011ae0 mov r1, 0x3a                                  |     r1 = 0x3a;
    0x00011ae4 bl 0x5b38                                     |     strchr (r0, r1);
    0x00011ae8 add r3, sl, sb                                |     r3 = sl + sb;
    0x00011aec cmp r0, r3                                    |     
    0x00011af0 mov r4, r0                                    |     r4 = r0;
                                                             |     if (r0 >= r3) {
    0x00011af4 bhs 0x11d78                                   |         goto label_7;
                                                             |     }
    0x00011af8 ldr r3, [sp, 0x38]                            |     r3 = *(arg_38h);
    0x00011afc cmp r3, 0                                     |     
                                                             |     if (r3 != 0) {
    0x00011b00 bne 0x11d94                                   |         goto label_8;
                                                             |     }
                                                             | label_2:
    0x00011b04 cmp r4, 0                                     |     
                                                             |     if (r4 == 0) {
    0x00011b08 movne r5, 0                                   |         r5 = 0;
                                                             |     }
                                                             |     if (r4 != 0) {
    0x00011b0c bne 0x11dc8                                   |         goto label_9;
                                                             |     }
    0x00011b10 mov r5, r4                                    |     r5 = r4;
                                                             |     do {
    0x00011b14 mov r6, r4                                    |         r6 = r4;
    0x00011b18 b 0x11dfc                                     |         goto label_10;
                                                             | label_3:
    0x00011b1c cmp r0, 0                                     |         
    0x00011b20 beq 0x11b14                                   |         
                                                             |     } while (r0 == 0);
    0x00011b24 mov r5, 0                                     |     r5 = 0;
    0x00011b28 sub r2, r0, sl                                |     r2 = r0 - sl;
    0x00011b2c mov r4, r0                                    |     r4 = r0;
    0x00011b30 mov r6, r5                                    |     r6 = r5;
                                                             |     do {
    0x00011b34 add r7, sl, sb                                |         r7 = sl + sb;
    0x00011b38 sub r7, r7, r4                                |         r7 -= r4;
    0x00011b3c b 0x11b58                                     |         goto label_11;
                                                             | label_4:
    0x00011b40 sub r3, r4, r5                                |         r3 = r4 - r5;
    0x00011b44 sub r6, r3, 1                                 |         r6 = r3 - 1;
                                                             | label_5:
    0x00011b48 cmp r5, 0                                     |         
    0x00011b4c cmpne r5, r4                                  |         __asm ("cmpne r5, r4");
                                                             |         if (r5 <= 0) {
    0x00011b50 subhi r7, r5, r4                              |             r7 = r5 - r4;
                                                             |         }
    0x00011b54 bls 0x11b34                                   |         
                                                             |     } while (r5 < 0);
                                                             | label_11:
    0x00011b58 sub r7, r7, 1                                 |     r7--;
    0x00011b5c mov sb, r2                                    |     sb = r2;
                                                             | label_6:
    0x00011b60 ldr r3, [sp, 8]                               |     r3 = var_8h;
    0x00011b64 adds r8, sb, 0                                |     r8 = sb + 0;
                                                             |     if (r8 == sb) {
    0x00011b68 movne r8, 1                                   |         r8 = 1;
                                                             |     }
    0x00011b6c cmp r3, 0                                     |     
                                                             |     if (r3 != 0) {
    0x00011b70 moveq r8, 0                                   |         r8 = 0;
                                                             |     }
    0x00011b74 cmp r8, 0                                     |     
                                                             |     if (r8 != 0) {
    0x00011b78 moveq r0, r8                                  |         r0 = r8;
                                                             |     }
                                                             |     if (r8 != 0) {
    0x00011b7c beq 0x11ba4                                   |         
    0x00011b80 ldr r2, [pc, 0x280]                           |         
    0x00011b84 add r0, sb, 1                                 |         r0 = sb + 1;
    0x00011b88 ldr r2, [fp, r2]                              |         r2 = *((fp + r2));
    0x00011b8c ldr r2, [r2]                                  |         r2 = "lds_axceta_johnson_smv_cloud_build_build_at91_curl_prefix_src_curl_lib_vtls_openssl.c";
    0x00011b90 blx r2                                        |         r0 = uint32_t (*r2)(uint32_t, char*) (r0, "lds_axceta_johnson_smv_cloud_build_build_at91_curl_prefix_src_curl_lib_vtls_openssl.c");
    0x00011b94 cmp r0, 0                                     |         
    0x00011b98 mov r8, r0                                    |         r8 = r0;
                                                             |         if (r0 != 0) {
    0x00011b9c moveq r0, 0x1b                                |             r0 = 0x1b;
                                                             |         }
                                                             |         if (r0 != 0) {
    0x00011ba0 movne r0, 0                                   |             r0 = 0;
                                                             |             goto label_12;
                                                             |         }
                                                             |     }
                                                             | label_12:
    0x00011ba4 ldr r3, [sp, 0xc]                             |     r3 = var_ch;
    0x00011ba8 adds r2, r3, 0                                |     r2 = r3 + 0;
                                                             |     if (r2 == r3) {
    0x00011bac movne r2, 1                                   |         r2 = 1;
                                                             |     }
    0x00011bb0 cmp r0, 0                                     |     
                                                             |     if (r0 == 0) {
    0x00011bb4 movne r2, 0                                   |         r2 = 0;
                                                             |     }
    0x00011bb8 cmp r2, 0                                     |     
                                                             |     if (r2 != 0) {
    0x00011bbc streq r2, [sp]                                |         *(sp) = r2;
                                                             |     }
                                                             |     if (r2 == 0) {
    0x00011bc0 beq 0x11c04                                   |         goto label_13;
                                                             |     }
    0x00011bc4 cmp r6, 0                                     |     
                                                             |     if (r6 == 0) {
    0x00011bc8 beq 0x11c74                                   |         goto label_14;
                                                             |     }
    0x00011bcc ldr r2, [pc, 0x234]                           |     
    0x00011bd0 add r0, r6, 1                                 |     r0 = r6 + 1;
    0x00011bd4 ldr r2, [fp, r2]                              |     r2 = *((fp + r2));
    0x00011bd8 ldr r2, [r2]                                  |     r2 = "lds_axceta_johnson_smv_cloud_build_build_at91_curl_prefix_src_curl_lib_vtls_openssl.c";
    0x00011bdc blx r2                                        |     r0 = uint32_t (*r2)(uint32_t, char*) (r0, "lds_axceta_johnson_smv_cloud_build_build_at91_curl_prefix_src_curl_lib_vtls_openssl.c");
    0x00011be0 subs r3, r0, 0                                |     r3 = r0 - 0;
    0x00011be4 str r3, [sp]                                  |     *(sp) = r3;
                                                             |     if (r3 != r0) {
    0x00011be8 bne 0x11c78                                   |         goto label_15;
                                                             |     }
    0x00011bec ldr r2, [pc, 0x218]                           |     
    0x00011bf0 mov r0, r8                                    |     r0 = r8;
    0x00011bf4 ldr r2, [fp, r2]                              |     r2 = *((fp + r2));
    0x00011bf8 ldr r2, [r2]                                  |     r2 = *(0x11e08);
    0x00011bfc blx r2                                        |     uint32_t (*r2)(uint32_t, uint32_t) (r0, r2);
    0x00011c00 mov r0, 0x1b                                  |     r0 = 0x1b;
                                                             |     do {
                                                             | label_13:
    0x00011c04 ldr r3, [sp, 0x38]                            |         r3 = *(arg_38h);
    0x00011c08 adds r2, r3, 0                                |         r2 = r3 + 0;
                                                             |         if (r2 == r3) {
    0x00011c0c movne r2, 1                                   |             r2 = 1;
                                                             |         }
    0x00011c10 cmp r0, 0                                     |         
                                                             |         if (r0 == 0) {
    0x00011c14 movne r2, 0                                   |             r2 = 0;
                                                             |         }
    0x00011c18 cmp r2, 0                                     |         
                                                             |         if (r2 == 0) {
    0x00011c1c beq 0x11c80                                   |             goto label_16;
                                                             |         }
    0x00011c20 cmp r7, 0                                     |         
                                                             |         if (r7 == 0) {
    0x00011c24 beq 0x11d70                                   |             goto label_17;
                                                             |         }
    0x00011c28 ldr r2, [pc, 0x1d8]                           |         
    0x00011c2c add r0, r7, 1                                 |         r0 = r7 + 1;
    0x00011c30 ldr r2, [fp, r2]                              |         r2 = *((fp + r2));
    0x00011c34 ldr r2, [r2]                                  |         r2 = "lds_axceta_johnson_smv_cloud_build_build_at91_curl_prefix_src_curl_lib_vtls_openssl.c";
    0x00011c38 blx r2                                        |         r0 = uint32_t (*r2)(uint32_t, char*) (r0, "lds_axceta_johnson_smv_cloud_build_build_at91_curl_prefix_src_curl_lib_vtls_openssl.c");
    0x00011c3c subs r3, r0, 0                                |         r3 = r0 - 0;
    0x00011c40 str r3, [sp, 4]                               |         var_4h = r3;
                                                             |         if (r3 != r0) {
    0x00011c44 bne 0x11c8c                                   |             goto label_1;
                                                             |         }
    0x00011c48 ldr r3, [pc, 0x1bc]                           |         r3 = *(0x11e08);
    0x00011c4c ldr r0, [sp]                                  |         r0 = *(sp);
    0x00011c50 ldr r4, [fp, r3]                              |         r4 = *((fp + r3));
    0x00011c54 ldr r3, [r4]                                  |         r3 = *(r4);
    0x00011c58 blx r3                                        |         uint32_t (*r3)(uint32_t, uint32_t) (r0, r3);
    0x00011c5c mov r0, r8                                    |         r0 = r8;
    0x00011c60 ldr r3, [r4]                                  |         r3 = *(r4);
    0x00011c64 blx r3                                        |         uint32_t (*r3)(uint32_t, uint32_t) (r0, r3);
    0x00011c68 mov r0, 0x1b                                  |         r0 = 0x1b;
                                                             | label_0:
    0x00011c6c add sp, sp, 0x14                              |         
    0x00011c70 pop {r4, r5, r6, r7, r8, sb, sl, fp, pc}      |         
                                                             | label_14:
    0x00011c74 str r6, [sp]                                  |         *(sp) = r6;
                                                             | label_15:
    0x00011c78 mov r0, 0                                     |         r0 = 0;
    0x00011c7c b 0x11c04                                     |         
                                                             |     } while (1);
                                                             | label_16:
    0x00011c80 cmp r0, 0                                     |     
                                                             |     if (r0 == 0) {
    0x00011c84 streq r0, [sp, 4]                             |         var_4h = r0;
                                                             |         goto label_18;
                                                             |     }
                                                             |     if (r0 != 0) {
                                                             | label_18:
    0x00011c88 bne 0x11c6c                                   |         goto label_0;
                                                             |     }
                                                             | label_1:
    0x00011c8c cmp r8, 0                                     |     
                                                             |     if (r8 != 0) {
    0x00011c90 beq 0x11ccc                                   |         
    0x00011c94 mov r2, sb                                    |         r2 = sb;
    0x00011c98 mov r1, sl                                    |         r1 = sl;
    0x00011c9c mov r0, r8                                    |         r0 = r8;
    0x00011ca0 bl 0x4f5c                                     |         memcpy (r0, r1, r2);
    0x00011ca4 mov r2, 0                                     |         r2 = 0;
    0x00011ca8 strb r2, [r8, sb]                             |         *((r8 + sb)) = r2;
    0x00011cac ldr r2, [pc, 0x158]                           |         
    0x00011cb0 ldr r3, [sp, 8]                               |         r3 = var_8h;
    0x00011cb4 ldr r2, [fp, r2]                              |         r2 = *((fp + r2));
    0x00011cb8 ldr r0, [r3]                                  |         r0 = *(r3);
    0x00011cbc ldr r2, [r2]                                  |         r2 = *(0x11e08);
    0x00011cc0 blx r2                                        |         uint32_t (*r2)(uint32_t, uint32_t, uint32_t) (r0, r2, r3);
    0x00011cc4 ldr r3, [sp, 8]                               |         r3 = var_8h;
    0x00011cc8 str r8, [r3]                                  |         *(r3) = r8;
                                                             |     }
    0x00011ccc ldr r3, [sp]                                  |     r3 = *(sp);
    0x00011cd0 cmp r3, 0                                     |     
                                                             |     if (r3 != 0) {
    0x00011cd4 beq 0x11d18                                   |         
    0x00011cd8 mov r2, r6                                    |         r2 = r6;
    0x00011cdc add r1, r5, 1                                 |         r1 = r5 + 1;
    0x00011ce0 mov r0, r3                                    |         r0 = r3;
    0x00011ce4 bl 0x4f5c                                     |         memcpy (r0, r1, r2);
    0x00011ce8 ldr r3, [sp]                                  |         r3 = *(sp);
    0x00011cec mov r2, 0                                     |         r2 = 0;
    0x00011cf0 strb r2, [r3, r6]                             |         *((r3 + r6)) = r2;
    0x00011cf4 ldr r3, [pc, 0x110]                           |         
    0x00011cf8 ldr r2, [sp, 0xc]                             |         r2 = var_ch;
    0x00011cfc ldr r3, [fp, r3]                              |         r3 = *((fp + r3));
    0x00011d00 ldr r0, [r2]                                  |         r0 = *(r2);
    0x00011d04 ldr r3, [r3]                                  |         r3 = *(0x11e08);
    0x00011d08 blx r3                                        |         uint32_t (*r3)(uint32_t, uint32_t, uint32_t) (r0, r2, r3);
    0x00011d0c ldr r3, [sp, 0xc]                             |         r3 = var_ch;
    0x00011d10 ldr r2, [sp]                                  |         r2 = *(sp);
    0x00011d14 str r2, [r3]                                  |         *(r3) = r2;
                                                             |     }
    0x00011d18 ldr r3, [sp, 4]                               |     r3 = var_4h;
    0x00011d1c cmp r3, 0                                     |     
                                                             |     if (r3 == 0) {
    0x00011d20 ldreq r0, [sp, 4]                             |         r0 = var_4h;
                                                             |         goto label_19;
                                                             |     }
                                                             |     if (r3 == 0) {
                                                             | label_19:
    0x00011d24 beq 0x11c6c                                   |         goto label_0;
                                                             |     }
    0x00011d28 add r1, r4, 1                                 |     r1 = r4 + 1;
    0x00011d2c mov r2, r7                                    |     r2 = r7;
    0x00011d30 mov r0, r3                                    |     r0 = r3;
    0x00011d34 bl 0x4f5c                                     |     memcpy (r0, r1, r2);
    0x00011d38 ldr r3, [sp, 4]                               |     r3 = var_4h;
    0x00011d3c mov r4, 0                                     |     r4 = 0;
    0x00011d40 strb r4, [r3, r7]                             |     *((r3 + r7)) = r4;
    0x00011d44 ldr r3, [pc, 0xc0]                            |     
    0x00011d48 ldr r2, [sp, 0x38]                            |     r2 = *(arg_38h);
    0x00011d4c ldr r3, [fp, r3]                              |     r3 = *((fp + r3));
    0x00011d50 ldr r0, [r2]                                  |     r0 = *(r2);
    0x00011d54 ldr r3, [r3]                                  |     r3 = *(0x11e08);
    0x00011d58 blx r3                                        |     uint32_t (*r3)(uint32_t, uint32_t, uint32_t) (r0, r2, r3);
    0x00011d5c ldr r3, [sp, 0x38]                            |     r3 = *(arg_38h);
    0x00011d60 ldr r2, [sp, 4]                               |     r2 = var_4h;
    0x00011d64 mov r0, r4                                    |     r0 = r4;
    0x00011d68 str r2, [r3]                                  |     *(r3) = r2;
    0x00011d6c b 0x11c6c                                     |     goto label_0;
                                                             | label_17:
    0x00011d70 str r7, [sp, 4]                               |     var_4h = r7;
    0x00011d74 b 0x11c8c                                     |     goto label_1;
                                                             | label_7:
    0x00011d78 ldr r3, [sp, 0x38]                            |     r3 = *(arg_38h);
    0x00011d7c cmp r3, 0                                     |     
                                                             |     if (r3 != 0) {
    0x00011d80 moveq r5, r3                                  |         r5 = r3;
                                                             |     }
                                                             |     if (r3 != 0) {
    0x00011d84 moveq r6, r5                                  |         r6 = r5;
                                                             |     }
                                                             |     if (r3 != 0) {
    0x00011d88 moveq r4, r6                                  |         r4 = r6;
                                                             |     }
                                                             |     if (r3 == 0) {
    0x00011d8c beq 0x11dfc                                   |         goto label_10;
                                                             |     }
    0x00011d90 mov r4, 0                                     |     r4 = 0;
                                                             | label_8:
    0x00011d94 mov r1, 0x3b                                  |     r1 = 0x3b;
    0x00011d98 mov r0, sl                                    |     r0 = sl;
    0x00011d9c bl 0x5b38                                     |     strchr (r0, r1);
    0x00011da0 add r3, sl, sb                                |     r3 = sl + sb;
    0x00011da4 cmp r0, r3                                    |     
    0x00011da8 mov r5, r0                                    |     r5 = r0;
                                                             |     if (r0 >= r3) {
    0x00011dac bhs 0x11b04                                   |         goto label_2;
                                                             |     }
    0x00011db0 cmp r4, 0                                     |     
                                                             |     if (r4 == 0) {
    0x00011db4 beq 0x11b1c                                   |         goto label_3;
                                                             |     }
    0x00011db8 cmp r0, 0                                     |     
    0x00011dbc cmpne r0, r4                                  |     __asm ("cmpne r0, r4");
                                                             |     if (r0 >= 0) {
    0x00011dc0 sublo r2, r0, sl                              |         r2 = r0 - sl;
                                                             |     }
                                                             |     if (r0 > 0) {
    0x00011dc4 blo 0x11dcc                                   |         
                                                             | label_9:
    0x00011dc8 sub r2, r4, sl                                |         r2 = r4 - sl;
                                                             |     }
    0x00011dcc mov r3, r4                                    |     r3 = r4;
    0x00011dd0 mov r4, r5                                    |     r4 = r5;
    0x00011dd4 cmp r4, 0                                     |     
    0x00011dd8 cmpne r3, r4                                  |     __asm ("cmpne r3, r4");
    0x00011ddc mov r5, r3                                    |     r5 = r3;
                                                             |     if (r4 <= 0) {
    0x00011de0 blo 0x11b40                                   |         goto label_4;
                                                             |     }
    0x00011de4 add r3, sl, sb                                |     r3 = sl + sb;
    0x00011de8 sub r3, r3, r5                                |     r3 -= r5;
    0x00011dec cmp r4, 0                                     |     
    0x00011df0 sub r6, r3, 1                                 |     r6 = r3 - 1;
                                                             |     if (r4 == 0) {
    0x00011df4 moveq sb, r2                                  |         sb = r2;
                                                             |         goto label_20;
                                                             |     }
                                                             |     if (r4 != 0) {
                                                             | label_20:
    0x00011df8 bne 0x11b48                                   |         goto label_5;
                                                             |     }
                                                             | label_10:
    0x00011dfc mov r7, r4                                    |     r7 = r4;
    0x00011e00 b 0x11b60                                     |     goto label_6;
                                                             | }
    ; 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/lib/libcurl.so @ 0x28ed0 */
                                                             | #include <stdint.h>
                                                             |  
    ; (fcn) sym.Curl_pipeline_penalized ()                   | void Curl_pipeline_penalized (int32_t arg1, int32_t arg2) {
                                                             |     int32_t var_0h;
                                                             |     int32_t var_0h_2;
                                                             |     int32_t var_8h;
                                                             |     int32_t var_8h_2;
                                                             |     int32_t var_10h;
                                                             |     int32_t var_18h;
                                                             |     r0 = arg1;
                                                             |     r1 = arg2;
    0x00028ed0 push {r4, r5, r6, r7, r8, sb, sl, lr}         |     
    0x00028ed4 subs r4, r0, 0                                |     r4 = r0 - 0;
    0x00028ed8 sub sp, sp, 0x18                              |     
                                                             |     if (r4 == r0) {
    0x00028edc beq 0x28fa0                                   |         goto label_3;
                                                             |     }
    0x00028ee0 ldr r0, [r4, 0x64]                            |     r0 = *((r4 + 0x64));
    0x00028ee4 mov sl, r1                                    |     sl = r1;
    0x00028ee8 bl 0x2039c                                    |     Curl_multi_content_length_penalty_size ();
    0x00028eec mov r5, r4                                    |     r5 = r4;
    0x00028ef0 mov r8, r0                                    |     r8 = r0;
    0x00028ef4 ldr r0, [r4, 0x64]                            |     r0 = *((r4 + 0x64));
    0x00028ef8 mov sb, r1                                    |     sb = r1;
    0x00028efc bl 0x203b4                                    |     Curl_multi_chunk_length_penalty_size ();
    0x00028f00 ldr lr, [sl, 0x2d4]                           |     
    0x00028f04 ldr ip, [sl, 0x4c]                            |     ip = *((sl + 0x4c));
    0x00028f08 cmp lr, 0                                     |     
    0x00028f0c ldrd r2, r3, [sl, 0x30]                       |     __asm ("ldrd r2, r3, [sl, 0x30]");
                                                             |     if (lr == 0) {
    0x00028f10 beq 0x28fb8                                   |         goto label_4;
                                                             |     }
    0x00028f14 ldr lr, [lr]                                  |     
    0x00028f18 cmp r8, 1                                     |     
    0x00028f1c ldrd r6, r7, [lr, 0x70]                       |     __asm ("ldrd r6, r7, [lr, 0x70]");
    0x00028f20 sbcs lr, sb, 0                                |     __asm ("sbcs lr, sb, 0");
                                                             |     if (r8 < 1) {
    0x00028f24 movge r4, 1                                   |         r4 = 1;
                                                             |     }
                                                             |     if (r8 >= 1) {
    0x00028f28 movlt r4, 0                                   |         r4 = 0;
                                                             |     }
    0x00028f2c cmp r8, r6                                    |     
    0x00028f30 sbcs lr, sb, r7                               |     __asm ("sbcs lr, sb, r7");
                                                             |     if (r8 < r6) {
    0x00028f34 movge r4, 0                                   |         r4 = 0;
                                                             |     }
                                                             |     if (r8 >= r6) {
    0x00028f38 andlt r4, r4, 1                               |         r4 &= 1;
                                                             |     }
    0x00028f3c cmp r4, 0                                     |     
                                                             |     if (r4 != 0) {
    0x00028f40 bne 0x28fc4                                   |         goto label_5;
                                                             |     }
                                                             | label_0:
    0x00028f44 cmp r0, 1                                     |     
    0x00028f48 sbcs lr, r1, 0                                |     __asm ("sbcs lr, r1, 0");
    0x00028f4c mov r4, 0                                     |     r4 = 0;
                                                             |     if (r0 >= 1) {
    0x00028f50 ldrlt r1, [pc, 0x84]                          |         r1 = *((pc + 0x84));
                                                             |     }
                                                             |     if (r0 >= 1) {
    0x00028f54 addlt r1, pc, r1                              |         r1 = pc + r1;
                                                             |     }
                                                             |     if (r0 < 1) {
    0x00028f58 blt 0x28f7c                                   |         goto label_2;
                                                             |     }
                                                             | label_1:
    0x00028f5c cmp r0, r2                                    |     
    0x00028f60 sbcs r1, r1, r3                               |     __asm ("sbcs r1, r1, r3");
                                                             |     if (r0 >= r2) {
    0x00028f64 blt 0x28f70                                   |         
    0x00028f68 cmp r4, 0                                     |         
                                                             |         if (r4 == 0) {
    0x00028f6c beq 0x28fac                                   |             goto label_6;
                                                             |         }
                                                             |     }
    0x00028f70 ldr r1, [pc, 0x68]                            |     r1 = $d;
    0x00028f74 mov r4, 1                                     |     r4 = 1;
    0x00028f78 add r1, pc, r1                                |     r1 = pc + r1;
                                                             |     do {
                                                             | label_2:
    0x00028f7c str r1, [sp, 0x10]                            |         var_10h = r1;
    0x00028f80 ldr r1, [pc, 0x5c]                            |         r1 = *(0x28fe0);
    0x00028f84 strd r2, r3, [sp, 8]                          |         __asm ("strd r2, r3, [var_8h]");
    0x00028f88 strd r6, r7, [sp]                             |         __asm ("strd r6, r7, [sp]");
    0x00028f8c mov r3, sl                                    |         r3 = sl;
    0x00028f90 mov r2, ip                                    |         r2 = ip;
    0x00028f94 add r1, pc, r1                                |         r1 = pc + r1;
    0x00028f98 mov r0, r5                                    |         r0 = r5;
    0x00028f9c bl 0x104cc                                    |         Curl_infof ();
                                                             | label_3:
    0x00028fa0 mov r0, r4                                    |         r0 = r4;
    0x00028fa4 add sp, sp, 0x18                              |         
    0x00028fa8 pop {r4, r5, r6, r7, r8, sb, sl, pc}          |         
                                                             | label_6:
    0x00028fac ldr r1, [pc, 0x34]                            |         r1 = *(0x28fe4);
    0x00028fb0 add r1, pc, r1                                |         r1 = pc + r1;
    0x00028fb4 b 0x28f7c                                     |         
                                                             |     } while (1);
                                                             | label_4:
    0x00028fb8 mvn r6, 1                                     |     r6 = ~1;
    0x00028fbc mvn r7, 0                                     |     r7 = ~0;
    0x00028fc0 b 0x28f44                                     |     goto label_0;
                                                             | label_5:
    0x00028fc4 cmp r0, 1                                     |     
    0x00028fc8 sbcs lr, r1, 0                                |     __asm ("sbcs lr, r1, 0");
                                                             |     if (r0 >= 1) {
    0x00028fcc bge 0x28f5c                                   |         goto label_1;
                                                             |     }
    0x00028fd0 ldr r1, [pc, 0x14]                            |     r1 = *(0x28fe8);
    0x00028fd4 add r1, pc, r1                                |     r1 = pc + r1;
    0x00028fd8 b 0x28f7c                                     |     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/lib/libcurl.so @ 0x2322c */
                                                             | #include <stdint.h>
                                                             |  
    ; (fcn) sym.Curl_poll ()                                 | void Curl_poll (int32_t arg_0h, 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_38h;
                                                             |     int32_t var_b8h;
                                                             |     int32_t var_138h;
                                                             |     int32_t var_1b8h;
                                                             |     int32_t var_1bch;
                                                             |     r0 = arg1;
                                                             |     r1 = arg2;
    0x0002322c push {r4, r5, r6, r7, r8, sb, sl, fp, lr}     |     
    0x00023230 mov r3, 0                                     |     r3 = 0;
    0x00023234 sub sp, sp, 0x1bc                             |     
    0x00023238 subs r8, r0, 0                                |     r8 -= arg_0h;
    0x0002323c mov r4, r2                                    |     r4 = r2;
    0x00023240 str r3, [sp, 0x28]                            |     var_28h = r3;
    0x00023244 str r3, [sp, 0x2c]                            |     var_2ch = r3;
                                                             |     if (r8 == arg_0h) {
    0x00023248 movne sb, r1                                  |         sb = r1;
                                                             |     }
                                                             |     if (r8 != arg_0h) {
    0x0002324c bne 0x23278                                   |         goto label_7;
                                                             |     }
                                                             | label_0:
    0x00023250 mov r0, r4                                    |     r0 = r4;
    0x00023254 bl 0x22dac                                    |     r0 = Curl_wait_ms ();
    0x00023258 mov r3, r0                                    |     r3 = r0;
                                                             | label_1:
    0x0002325c mov r0, r3                                    |     r0 = r3;
    0x00023260 add sp, sp, 0x1bc                             |     
    0x00023264 pop {r4, r5, r6, r7, r8, sb, sl, fp, pc}      |     
                                                             |     do {
    0x00023268 ldr r2, [r8, r3, lsl 3]                       |         offset_0 = r3 << 3;
                                                             |         r2 = *((r8 + offset_0));
    0x0002326c cmn r2, 1                                     |         
                                                             |         if (r2 != 1) {
    0x00023270 bne 0x233f4                                   |             goto label_8;
                                                             |         }
    0x00023274 add r3, r3, 1                                 |         r3++;
                                                             | label_7:
    0x00023278 cmp r3, sb                                    |         
    0x0002327c bne 0x23268                                   |         
                                                             |     } while (r3 != sb);
    0x00023280 b 0x23250                                     |     goto label_0;
                                                             | label_3:
    0x00023284 mov r3, 0                                     |     r3 = 0;
    0x00023288 strh r3, [r0, 6]                              |     *((r0 + 6)) = r3;
    0x0002328c ldr r3, [r0]                                  |     r3 = *(r0);
    0x00023290 cmn r3, 1                                     |     
                                                             |     if (r3 == 1) {
    0x00023294 beq 0x23338                                   |         goto label_9;
                                                             |     }
    0x00023298 ldr r1, [pc, 0x2dc]                           |     r1 = *(0x23578);
    0x0002329c cmp r3, r1                                    |     
                                                             |     if (r3 < r1) {
    0x000232a0 bls 0x232b8                                   |         goto label_10;
                                                             |     }
    0x000232a4 bl 0x4eb4                                     |     errno_location ();
    0x000232a8 mov r3, 0x16                                  |     r3 = 0x16;
    0x000232ac str r3, [r0]                                  |     *(r0) = r3;
                                                             |     do {
    0x000232b0 mvn r3, 0                                     |         r3 = ~0;
    0x000232b4 b 0x2325c                                     |         goto label_1;
                                                             | label_10:
    0x000232b8 ldrh r1, [r0, 4]                              |         r1 = *((r0 + 4));
    0x000232bc tst r1, 7                                     |         
                                                             |         if ((r1 & 7) != 0) {
    0x000232c0 beq 0x23338                                   |             
    0x000232c4 cmp r6, r3                                    |             
                                                             |             if (r6 >= r3) {
    0x000232c8 movlt r6, r3                                  |                 r6 = r3;
                                                             |             }
    0x000232cc tst r1, 1                                     |             
                                                             |             if ((r1 & 1) != 0) {
    0x000232d0 beq 0x232f0                                   |                 
    0x000232d4 add ip, sp, 0x1b8                             |                 
    0x000232d8 lsr lr, r3, 5                                 |                 lr = r3 >> 5;
    0x000232dc add lr, ip, lr, lsl 2                         |                 lr = ip + (lr << 2);
    0x000232e0 ldr fp, [lr, -0x180]                          |                 fp = *((lr - 0x180));
    0x000232e4 and ip, r3, 0x1f                              |                 
    0x000232e8 orr ip, fp, sl, lsl ip                        |                 
    0x000232ec str ip, [lr, -0x180]                          |                 *((lr - 0x180)) = ip;
                                                             |             }
    0x000232f0 tst r1, 4                                     |             
                                                             |             if ((r1 & 4) != 0) {
    0x000232f4 beq 0x23314                                   |                 
    0x000232f8 add ip, sp, 0x1b8                             |                 
    0x000232fc lsr lr, r3, 5                                 |                 lr = r3 >> 5;
    0x00023300 add lr, ip, lr, lsl 2                         |                 lr = ip + (lr << 2);
    0x00023304 ldr fp, [lr, -0x100]                          |                 fp = *((lr - 0x100));
    0x00023308 and ip, r3, 0x1f                              |                 
    0x0002330c orr ip, fp, sl, lsl ip                        |                 
    0x00023310 str ip, [lr, -0x100]                          |                 *((lr - 0x100)) = ip;
                                                             |             }
    0x00023314 tst r1, 2                                     |             
                                                             |             if ((r1 & 2) == 0) {
    0x00023318 beq 0x23338                                   |                 goto label_9;
                                                             |             }
    0x0002331c lsr r1, r3, 5                                 |             r1 = r3 >> 5;
    0x00023320 add ip, sp, 0x1b8                             |             
    0x00023324 add r1, ip, r1, lsl 2                         |             r1 = ip + (r1 << 2);
    0x00023328 ldr ip, [r1, -0x80]                           |             ip = *((r1 - 0x80));
    0x0002332c and r3, r3, 0x1f                              |             r3 &= 0x1f;
    0x00023330 orr r3, ip, sl, lsl r3                        |             r3 = ip | (sl << r3);
    0x00023334 str r3, [r1, -0x80]                           |             *((r1 - 0x80)) = r3;
                                                             |         }
                                                             | label_9:
    0x00023338 add r7, r7, 1                                 |         r7++;
    0x0002333c add r0, r0, 8                                 |         r0 += 8;
    0x00023340 b 0x2348c                                     |         goto label_11;
                                                             | label_4:
    0x00023344 cmp r0, 0                                     |         
    0x00023348 blt 0x232b0                                   |         
                                                             |     } while (r0 < 0);
                                                             |     if (r0 == 0) {
    0x0002334c beq 0x23574                                   |         goto label_12;
                                                             |     }
    0x00023350 mov r3, 0                                     |     r3 = 0;
    0x00023354 mov r0, r3                                    |     r0 = r3;
    0x00023358 mov ip, r3                                    |     
    0x0002335c mov lr, 1                                     |     lr = 1;
                                                             | label_2:
    0x00023360 cmp r7, r0                                    |     
                                                             |     if (r7 == r0) {
    0x00023364 beq 0x2325c                                   |         goto label_1;
                                                             |     }
    0x00023368 ldr r2, [r8, r0, lsl 3]                       |     offset_1 = r0 << 3;
                                                             |     r2 = *((r8 + offset_1));
    0x0002336c strh ip, [r5, 6]                              |     *((r5 + 6)) = ip;
    0x00023370 cmn r2, 1                                     |     
                                                             |     if (r2 != 1) {
    0x00023374 beq 0x233e8                                   |         
    0x00023378 lsr r1, r2, 5                                 |         r1 = r2 >> 5;
    0x0002337c lsl r1, r1, 2                                 |         r1 <<= 2;
    0x00023380 add r4, sp, 0x1b8                             |         r4 += var_1b8h;
    0x00023384 add r4, r4, r1                                |         r4 += r1;
    0x00023388 ldr r4, [r4, -0x180]                          |         r4 = *((r4 - 0x180));
    0x0002338c and r2, r2, 0x1f                              |         r2 &= 0x1f;
    0x00023390 asr r4, r4, r2                                |         r4 >>= r2;
    0x00023394 tst r4, 1                                     |         
    0x00023398 add r4, sp, 0x1b8                             |         r4 += var_1b8h;
    0x0002339c add r4, r4, r1                                |         r4 += r1;
    0x000233a0 ldr r4, [r4, -0x100]                          |         r4 = *((r4 - 0x100));
    0x000233a4 strhne lr, [r5, 6]                            |         __asm ("strhne lr, [r5, 6]");
    0x000233a8 asr r4, r4, r2                                |         r4 >>= r2;
    0x000233ac tst r4, 1                                     |         
    0x000233b0 ldrhne r4, [r5, 6]                            |         __asm ("ldrhne r4, [r5, 6]");
                                                             |         if ((r4 & 1) == 0) {
    0x000233b4 orrne r4, r4, 4                               |             r4 |= 4;
                                                             |         }
    0x000233b8 strhne r4, [r5, 6]                            |         __asm ("strhne r4, [r5, 6]");
    0x000233bc add r4, sp, 0x1b8                             |         r4 += var_1b8h;
    0x000233c0 add r1, r4, r1                                |         r1 = r4 + r1;
    0x000233c4 ldr r1, [r1, -0x80]                           |         r1 = *((r1 - 0x80));
    0x000233c8 asr r2, r1, r2                                |         r2 = r1 >> r2;
    0x000233cc tst r2, 1                                     |         
    0x000233d0 ldrhne r2, [r5, 6]                            |         __asm ("ldrhne r2, [r5, 6]");
                                                             |         if ((r2 & 1) == 0) {
    0x000233d4 orrne r2, r2, 2                               |             r2 |= 2;
                                                             |         }
    0x000233d8 strhne r2, [r5, 6]                            |         __asm ("strhne r2, [r5, 6]");
    0x000233dc ldrsh r2, [r5, 6]                             |         r2 = *((r5 + 6));
    0x000233e0 cmp r2, 0                                     |         
                                                             |         if (r2 != 0) {
    0x000233e4 addne r3, r3, 1                               |             r3++;
                                                             |             goto label_13;
                                                             |         }
                                                             |     }
                                                             | label_13:
    0x000233e8 add r0, r0, 1                                 |     r0++;
    0x000233ec add r5, r5, 8                                 |     r5 += 8;
    0x000233f0 b 0x23360                                     |     goto label_2;
                                                             | label_8:
    0x000233f4 cmp r4, 0                                     |     
                                                             |     if (r4 > 0) {
    0x000233f8 movle r2, 0                                   |         r2 = 0;
                                                             |     }
                                                             |     if (r4 > 0) {
    0x000233fc ble 0x2340c                                   |         
    0x00023400 add r0, sp, 0x28                              |         r0 += var_28h;
    0x00023404 bl 0x69f0                                     |         Curl_now ();
    0x00023408 mov r2, r4                                    |         r2 = r4;
                                                             |     }
    0x0002340c add r1, sp, 0x38                              |     r1 += var_38h;
    0x00023410 mov r3, 0                                     |     r3 = 0;
    0x00023414 str r1, [sp, 0xc]                             |     var_ch = r1;
    0x00023418 mov r1, r3                                    |     r1 = r3;
                                                             |     do {
    0x0002341c ldr r0, [sp, 0xc]                             |         r0 = var_ch;
    0x00023420 str r1, [r0, r3, lsl 2]                       |         offset_2 = r3 << 2;
                                                             |         *((r0 + offset_2)) = r1;
    0x00023424 add r3, r3, 1                                 |         r3++;
    0x00023428 cmp r3, 0x20                                  |         
    0x0002342c bne 0x2341c                                   |         
                                                             |     } while (r3 != 0x20);
    0x00023430 add r1, sp, 0xb8                              |     r1 += var_b8h;
    0x00023434 mov r3, 0                                     |     r3 = 0;
    0x00023438 str r1, [sp, 0x10]                            |     var_10h = r1;
    0x0002343c mov r1, r3                                    |     r1 = r3;
                                                             |     do {
    0x00023440 ldr r0, [sp, 0x10]                            |         r0 = var_10h;
    0x00023444 str r1, [r0, r3, lsl 2]                       |         offset_3 = r3 << 2;
                                                             |         *((r0 + offset_3)) = r1;
    0x00023448 add r3, r3, 1                                 |         r3++;
    0x0002344c cmp r3, 0x20                                  |         
    0x00023450 bne 0x23440                                   |         
                                                             |     } while (r3 != 0x20);
    0x00023454 add r1, sp, 0x138                             |     r1 += var_138h;
    0x00023458 mov r3, 0                                     |     r3 = 0;
    0x0002345c str r1, [sp, 0x14]                            |     var_14h = r1;
    0x00023460 mov r1, r3                                    |     r1 = r3;
                                                             |     do {
    0x00023464 ldr r0, [sp, 0x14]                            |         r0 = var_14h;
    0x00023468 str r1, [r0, r3, lsl 2]                       |         offset_4 = r3 << 2;
                                                             |         *((r0 + offset_4)) = r1;
    0x0002346c add r3, r3, 1                                 |         r3++;
    0x00023470 cmp r3, 0x20                                  |         
    0x00023474 bne 0x23464                                   |         
                                                             |     } while (r3 != 0x20);
    0x00023478 mov r5, r8                                    |     r5 = r8;
    0x0002347c mov r0, r8                                    |     r0 = r8;
    0x00023480 mov r7, 0                                     |     r7 = 0;
    0x00023484 mvn r6, 0                                     |     r6 = ~0;
    0x00023488 mov sl, 1                                     |     sl = 1;
                                                             | label_11:
    0x0002348c cmp r7, sb                                    |     
                                                             |     if (r7 != sb) {
    0x00023490 bne 0x23284                                   |         goto label_3;
                                                             |     }
    0x00023494 ldr fp, [pc, 0xe4]                            |     fp = $d;
    0x00023498 cmp r4, 0                                     |     
                                                             |     if (r4 < 0) {
    0x0002349c addge sb, sp, 0x20                            |         sb += var_20h;
                                                             |     }
                                                             |     if (r4 >= 0) {
    0x000234a0 movlt sb, 0                                   |         sb = 0;
                                                             |     }
    0x000234a4 mov sl, 0x3e8                                 |     sl = 0x3e8;
    0x000234a8 add r6, r6, 1                                 |     r6++;
    0x000234ac add fp, pc, fp                                |     
                                                             | label_6:
    0x000234b0 mov r1, 0x3e8                                 |     r1 = 0x3e8;
    0x000234b4 mov r0, r2                                    |     r0 = r2;
    0x000234b8 str r2, [sp, 0x1c]                            |     var_1ch = r2;
    0x000234bc bl 0x37f24                                    |     divsi3 ();
    0x000234c0 ldr r2, [sp, 0x1c]                            |     r2 = var_1ch;
    0x000234c4 mov r1, 0x3e8                                 |     r1 = 0x3e8;
    0x000234c8 str r0, [sp, 0x18]                            |     var_18h = r0;
    0x000234cc mov r0, r2                                    |     r0 = r2;
    0x000234d0 bl 0x38000                                    |     aeabi_idivmod ();
    0x000234d4 cmp r4, 0                                     |     
                                                             |     if (r4 <= 0) {
    0x000234d8 ldrgt r3, [sp, 0x18]                          |         r3 = var_18h;
                                                             |     }
    0x000234dc mul r2, sl, r1                                |     r2 = sl * r1;
                                                             |     if (r4 <= 0) {
    0x000234e0 strgt r3, [sp, 0x20]                          |         var_20h = r3;
                                                             |     }
                                                             |     if (r4 <= 0) {
    0x000234e4 strgt r2, [sp, 0x24]                          |         var_24h = r2;
                                                             |     }
                                                             |     if (r4 <= 0) {
    0x000234e8 bgt 0x234f8                                   |         
                                                             | label_5:
    0x000234ec cmp r4, 0                                     |         
                                                             |         if (r4 != 0) {
    0x000234f0 streq r4, [sp, 0x20]                          |             var_20h = r4;
                                                             |         }
                                                             |         if (r4 == 0) {
    0x000234f4 streq r4, [sp, 0x24]                          |             var_24h = r4;
                                                             |             goto label_14;
                                                             |         }
                                                             |     }
                                                             | label_14:
    0x000234f8 add r1, sp, 0xc                               |     r1 += var_ch;
    0x000234fc str sb, [sp]                                  |     *(sp) = sb;
    0x00023500 mov r0, r6                                    |     r0 = r6;
    0x00023504 ldm r1, {r1, r2, r3}                          |     r1 = *(r1);
                                                             |     r2 = *((r1 + 4));
                                                             |     r3 = *((r1 + 8));
    0x00023508 bl 0x5364                                     |     r0 = select ();
    0x0002350c cmn r0, 1                                     |     
                                                             |     if (r0 != 1) {
    0x00023510 bne 0x23344                                   |         goto label_4;
                                                             |     }
    0x00023514 str r0, [sp, 0x18]                            |     var_18h = r0;
    0x00023518 bl 0x4eb4                                     |     r0 = errno_location ();
    0x0002351c ldr r2, [r0]                                  |     r2 = *(r0);
    0x00023520 cmp r2, 0                                     |     
                                                             |     if (r2 == 0) {
    0x00023524 beq 0x2353c                                   |         goto label_15;
                                                             |     }
    0x00023528 ldr r1, [fp]                                  |     r1 = *(fp);
    0x0002352c ldr r3, [sp, 0x18]                            |     r3 = var_18h;
    0x00023530 cmp r2, 4                                     |     
    0x00023534 cmpeq r1, 0                                   |     __asm ("cmpeq r1, 0");
                                                             |     if (r2 != 4) {
    0x00023538 bne 0x2325c                                   |         goto label_1;
                                                             |     }
                                                             | label_15:
    0x0002353c cmp r4, 0                                     |     
                                                             |     if (r4 <= 0) {
    0x00023540 ble 0x234ec                                   |         goto label_5;
                                                             |     }
    0x00023544 add r1, sp, 0x30                              |     r1 += var_30h;
    0x00023548 mov r0, r1                                    |     r0 = r1;
    0x0002354c str r1, [sp, 0x18]                            |     var_18h = r1;
    0x00023550 bl 0x69f0                                     |     Curl_now ();
    0x00023554 ldr r1, [sp, 0x18]                            |     r1 = var_18h;
    0x00023558 add r3, sp, 0x28                              |     r3 += var_28h;
    0x0002355c ldm r3, {r2, r3}                              |     r2 = *(r3);
                                                             |     r3 = *((r3 + 4));
    0x00023560 ldm r1, {r0, r1}                              |     r0 = *(r1);
                                                             |     r1 = *((r1 + 4));
    0x00023564 bl 0x6a20                                     |     r0 = Curl_timediff ();
    0x00023568 sub r2, r4, r0                                |     r2 = r4 - r0;
    0x0002356c cmp r2, 0                                     |     
                                                             |     if (r2 > 0) {
    0x00023570 bgt 0x234b0                                   |         goto label_6;
                                                             |     }
                                                             | label_12:
    0x00023574 mov r3, 0                                     |     r3 = 0;
    0x00023578 b 0x2325c                                     |     goto label_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/lib/libcurl.so @ 0x2565c */
                                                             | #include <stdint.h>
                                                             |  
    ; (fcn) sym.Curl_proxyCONNECT ()                         | void Curl_proxyCONNECT (int32_t arg1, int32_t arg2) {
                                                             |     int32_t var_0h;
                                                             |     int32_t var_8h;
                                                             |     int32_t var_ch;
                                                             |     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_3ch;
                                                             |     int32_t var_40h;
                                                             |     int32_t var_4h;
                                                             |     int32_t var_48h;
                                                             |     int32_t var_4ch;
                                                             |     r0 = arg1;
                                                             |     r1 = arg2;
    0x0002565c push {r4, r5, r6, r7, r8, sb, sl, fp, lr}     |     
    0x00025660 ldr r6, [r0, 0x4fc]                           |     r6 = *((r0 + 0x4fc));
    0x00025664 sub sp, sp, 0x4c                              |     
    0x00025668 str r3, [sp, 0x24]                            |     var_24h = r3;
    0x0002566c ldr r3, [pc, 0xb28]                           |     r3 = *(0x26198);
    0x00025670 cmp r6, 0                                     |     
    0x00025674 add r3, pc, r3                                |     r3 = pc + r3;
    0x00025678 mov r5, r0                                    |     r5 = r0;
    0x0002567c str r1, [sp, 0x20]                            |     var_20h = r1;
    0x00025680 str r2, [sp, 0x1c]                            |     var_1ch = r2;
    0x00025684 str r3, [sp, 0x14]                            |     var_14h = r3;
                                                             |     if (r6 == 0) {
    0x00025688 bne 0x256ec                                   |         
    0x0002568c ldr r2, [sp, 0x14]                            |         r2 = var_14h;
    0x00025690 ldr r3, [pc, 0xb08]                           |         
    0x00025694 ldr r1, [pc, 0xb08]                           |         r1 = *(0x261a0);
    0x00025698 ldr r3, [r2, r3]                              |         r3 = *((r2 + r3));
    0x0002569c mov r0, 1                                     |         r0 = 1;
    0x000256a0 ldr r3, [r3]                                  |         r3 = $d;
    0x000256a4 blx r3                                        |         r0 = uint32_t (*r3)(uint32_t, uint32_t, uint32_t, uint32_t) (r0, r1, r2, r3);
    0x000256a8 subs r4, r0, 0                                |         r4 = r0 - 0;
                                                             |         if (r4 != r0) {
    0x000256ac moveq fp, 0x1b                                |             
                                                             |         }
                                                             |         if (r4 == r0) {
    0x000256b0 beq 0x25a64                                   |             goto label_16;
                                                             |         }
    0x000256b4 ldr r1, [pc, 0xaec]                           |         r1 = *(0x261a4);
    0x000256b8 ldr r0, [r5]                                  |         r0 = *(r5);
    0x000256bc add r1, pc, r1                                |         r1 = pc + r1;
    0x000256c0 bl 0x104cc                                    |         Curl_infof ();
    0x000256c4 add r3, r4, 0x4000                            |         r3 = r4 + 0x4000;
    0x000256c8 mov r2, 1                                     |         r2 = 1;
    0x000256cc mov r0, 0                                     |         r0 = 0;
    0x000256d0 mov r1, 0                                     |         r1 = 0;
    0x000256d4 str r4, [r5, 0x4fc]                           |         *((r5 + 0x4fc)) = r4;
    0x000256d8 str r6, [r3, 0x1c]                            |         *((r3 + 0x1c)) = r6;
    0x000256dc stmib r3, {r2, r4}                            |         __asm ("stmib r3, {r2, r4}");
    0x000256e0 str r4, [r3, 0xc]                             |         *((r3 + 0xc)) = r4;
    0x000256e4 strd r0, r1, [r3, 0x10]                       |         __asm ("strd r0, r1, [r3, 0x10]");
    0x000256e8 strb r6, [r3, 0x20]                           |         *((r3 + 0x20)) = r6;
                                                             |     }
    0x000256ec mov r3, 0                                     |     r3 = 0;
    0x000256f0 mov r0, r5                                    |     r0 = r5;
    0x000256f4 str r3, [sp, 0x3c]                            |     var_3ch = r3;
    0x000256f8 bl 0x255d8                                    |     r0 = Curl_connect_complete ();
    0x000256fc cmp r0, 0                                     |     
                                                             |     if (r0 != 0) {
    0x00025700 bne 0x2617c                                   |         goto label_17;
                                                             |     }
    0x00025704 ldr r3, [sp, 0x20]                            |     r3 = var_20h;
    0x00025708 ldr r4, [r5]                                  |     r4 = *(r5);
    0x0002570c add r3, r5, r3, lsl 2                         |     r3 = r5 + (r3 << 2);
    0x00025710 str r3, [sp, 0x18]                            |     var_18h = r3;
    0x00025714 ldr r3, [r3, 0x198]                           |     r3 = *((r3 + 0x198));
    0x00025718 ldr r6, [r5, 0x4fc]                           |     r6 = *((r5 + 0x4fc));
    0x0002571c str r3, [sp, 0x2c]                            |     var_2ch = r3;
    0x00025720 ldr r3, [pc, 0xa84]                           |     r3 = *(0x261a8);
    0x00025724 strb r0, [r5, 0x26a]                          |     *((r5 + 0x26a)) = r0;
    0x00025728 add r3, pc, r3                                |     r3 = pc + r3;
    0x0002572c str r3, [sp, 0x30]                            |     var_30h = r3;
    0x00025730 ldr r3, [pc, 0xa78]                           |     r3 = *(0x261ac);
    0x00025734 add r3, pc, r3                                |     r3 = pc + r3;
    0x00025738 str r3, [sp, 0x28]                            |     var_28h = r3;
                                                             | label_14:
    0x0002573c add r3, r6, 0x4000                            |     r3 = r6 + 0x4000;
    0x00025740 ldr r7, [r3, 0x1c]                            |     r7 = *((r3 + 0x1c));
    0x00025744 cmp r7, 0                                     |     
                                                             |     if (r7 != 0) {
    0x00025748 bne 0x25a18                                   |         goto label_18;
                                                             |     }
    0x0002574c ldr r1, [sp, 0x30]                            |     r1 = var_30h;
    0x00025750 ldr r3, [sp, 0x24]                            |     r3 = var_24h;
    0x00025754 ldr r2, [sp, 0x1c]                            |     r2 = var_1ch;
    0x00025758 mov r0, r4                                    |     r0 = r4;
    0x0002575c bl 0x104cc                                    |     Curl_infof ();
    0x00025760 ldr r2, [sp, 0x14]                            |     r2 = var_14h;
    0x00025764 ldr r3, [pc, 0xa48]                           |     r3 = *(0x261b0);
    0x00025768 ldr r0, [r4, 0x11c]                           |     r0 = *((r4 + 0x11c));
    0x0002576c ldr r8, [r2, r3]                              |     r8 = *((r2 + r3));
    0x00025770 ldr r3, [r8]                                  |     r3 = *(r8);
    0x00025774 blx r3                                        |     uint32_t (*r3)(uint32_t, uint32_t, uint32_t) (r0, r2, r3);
    0x00025778 str r7, [r4, 0x11c]                           |     *((r4 + 0x11c)) = r7;
    0x0002577c bl 0xc8bc                                     |     r0 = Curl_add_buffer_init ();
    0x00025780 subs r7, r0, 0                                |     r7 = r0 - 0;
                                                             |     if (r7 == r0) {
    0x00025784 beq 0x257ac                                   |         goto label_6;
                                                             |     }
    0x00025788 ldr r0, [pc, 0xa28]                           |     r0 = *(0x261b4);
    0x0002578c ldr r2, [sp, 0x24]                            |     r2 = var_24h;
    0x00025790 ldr r1, [sp, 0x1c]                            |     r1 = var_1ch;
    0x00025794 add r0, pc, r0                                |     r0 = pc + r0;
    0x00025798 bl 0x5b80                                     |     r0 = fcn_00005b80 ();
    0x0002579c subs sb, r0, 0                                |     sb = r0 - 0;
    0x000257a0 bne 0x257b4                                   |     
                                                             |     while (sl == r0) {
                                                             | label_0:
    0x000257a4 mov r0, r7                                    |         r0 = r7;
    0x000257a8 bl 0xc8e4                                     |         Curl_add_buffer_free ();
                                                             | label_6:
    0x000257ac mov fp, 0x1b                                  |         
    0x000257b0 b 0x25a44                                     |         goto label_3;
    0x000257b4 ldr r1, [pc, 0xa00]                           |         r1 = *(0x261b8);
    0x000257b8 mov r3, 1                                     |         r3 = 1;
    0x000257bc mov r2, sb                                    |         r2 = sb;
    0x000257c0 add r1, pc, r1                                |         r1 = pc + r1;
    0x000257c4 mov r0, r5                                    |         r0 = r5;
    0x000257c8 bl 0xc4d8                                     |         Curl_http_output_auth ();
    0x000257cc ldr r3, [r8]                                  |         r3 = *(r8);
    0x000257d0 mov fp, r0                                    |         
    0x000257d4 mov r0, sb                                    |         r0 = sb;
    0x000257d8 blx r3                                        |         uint32_t (*r3)(uint32_t, uint32_t) (r0, r3);
    0x000257dc cmp fp, 0                                     |         
                                                             |         if (fp != 0) {
    0x000257e0 bne 0x259f8                                   |             goto label_19;
                                                             |         }
    0x000257e4 ldr r3, [r5, 0xf0]                            |         r3 = *((r5 + 0xf0));
    0x000257e8 cmp r3, 1                                     |         
                                                             |         if (r3 != 1) {
    0x000257ec bne 0x258a0                                   |             goto label_20;
                                                             |         }
    0x000257f0 ldr fp, [pc, 0x9c8]                           |         fp = *(0x261bc);
    0x000257f4 add fp, pc, fp                                |         
                                                             | label_1:
    0x000257f8 ldr r3, [r5, 0xa0]                            |         r3 = *((r5 + 0xa0));
    0x000257fc ldr r2, [sp, 0x1c]                            |         r2 = var_1ch;
    0x00025800 ldrb r0, [r5, 0x25a]                          |         r0 = *((r5 + 0x25a));
    0x00025804 cmp r2, r3                                    |         
                                                             |         if (r2 != r3) {
    0x00025808 beq 0x25820                                   |             
    0x0002580c mov r1, 0x3a                                  |             r1 = 0x3a;
    0x00025810 mov r0, r2                                    |             r0 = r2;
    0x00025814 bl 0x5b38                                     |             r0 = strchr (r0, r1);
    0x00025818 adds r0, r0, 0                                |             r0 += 0;
                                                             |             if (r0 != r0) {
    0x0002581c movne r0, 1                                   |                 r0 = 1;
                                                             |                 goto label_21;
                                                             |             }
                                                             |         }
                                                             | label_21:
    0x00025820 cmp r0, 0                                     |         
                                                             |         if (r0 != 0) {
    0x00025824 ldreq r1, [sp, 0x28]                          |             r1 = var_28h;
                                                             |         }
                                                             |         if (r0 != 0) {
    0x00025828 moveq r3, r1                                  |             r3 = r1;
                                                             |         }
                                                             |         if (r0 == 0) {
    0x0002582c ldrne r1, [pc, 0x990]                         |             r1 = *(0x000261c4);
                                                             |         }
                                                             |         if (r0 == 0) {
    0x00025830 ldrne r3, [pc, 0x990]                         |             r3 = *(0x000261c8);
                                                             |         }
                                                             |         if (r0 == 0) {
    0x00025834 addne r1, pc, r1                              |             r1 = pc + r1;
                                                             |         }
                                                             |         if (r0 == 0) {
    0x00025838 addne r3, pc, r3                              |             r3 = pc + r3;
                                                             |         }
    0x0002583c ldr r2, [sp, 0x24]                            |         r2 = var_24h;
    0x00025840 ldr r0, [pc, 0x984]                           |         r0 = *(0x261c8);
    0x00025844 str r2, [sp]                                  |         *(sp) = r2;
    0x00025848 add r0, pc, r0                                |         r0 = pc + r0;
    0x0002584c ldr r2, [sp, 0x1c]                            |         r2 = var_1ch;
    0x00025850 bl 0x5b80                                     |         r0 = fcn_00005b80 ();
    0x00025854 subs sl, r0, 0                                |         sl = r0 - 0;
    0x00025858 beq 0x257a4                                   |         
                                                             |     }
    0x0002585c ldr r1, [pc, 0x96c]                           |     r1 = *(0x261cc);
    0x00025860 mov r0, r5                                    |     r0 = r5;
    0x00025864 add r1, pc, r1                                |     r1 = pc + r1;
    0x00025868 bl 0xbe3c                                     |     r0 = Curl_checkProxyheaders ();
    0x0002586c cmp r0, 0                                     |     
                                                             |     if (r0 == 0) {
    0x00025870 movne sb, 0                                   |         sb = 0;
                                                             |     }
                                                             |     if (r0 == 0) {
    0x00025874 bne 0x258ac                                   |         
    0x00025878 ldr r0, [pc, 0x954]                           |         r0 = *(0x261d0);
    0x0002587c mov r1, sl                                    |         r1 = sl;
    0x00025880 add r0, pc, r0                                |         r0 = pc + r0;
    0x00025884 bl 0x5b80                                     |         r0 = fcn_00005b80 ();
    0x00025888 subs sb, r0, 0                                |         sb = r0 - 0;
                                                             |         if (sb != r0) {
    0x0002588c bne 0x258ac                                   |             goto label_22;
                                                             |         }
    0x00025890 ldr r3, [r8]                                  |         r3 = *(r8);
    0x00025894 mov r0, sl                                    |         r0 = sl;
    0x00025898 blx r3                                        |         uint32_t (*r3)(uint32_t, uint32_t) (r0, r3);
    0x0002589c b 0x257a4                                     |         goto label_0;
                                                             | label_20:
    0x000258a0 ldr fp, [pc, 0x930]                           |         fp = *(0x261d4);
    0x000258a4 add fp, pc, fp                                |         
    0x000258a8 b 0x257f8                                     |         goto label_1;
                                                             |     }
                                                             | label_22:
    0x000258ac ldr r1, [pc, 0x928]                           |     r1 = *(0x261d8);
    0x000258b0 mov r0, r5                                    |     r0 = r5;
    0x000258b4 add r1, pc, r1                                |     r1 = pc + r1;
    0x000258b8 bl 0xbe3c                                     |     r0 = Curl_checkProxyheaders ();
    0x000258bc cmp r0, 0                                     |     
                                                             |     if (r0 == 0) {
    0x000258c0 beq 0x25904                                   |         goto label_23;
                                                             |     }
    0x000258c4 ldr r2, [pc, 0x914]                           |     r2 = *(0x261dc);
    0x000258c8 add r2, pc, r2                                |     r2 = pc + r2;
                                                             |     do {
    0x000258cc ldr r1, [pc, 0x910]                           |         r1 = *(0x261e0);
    0x000258d0 mov r0, r5                                    |         r0 = r5;
    0x000258d4 add r1, pc, r1                                |         r1 = pc + r1;
    0x000258d8 str r2, [sp, 0x34]                            |         var_34h = r2;
    0x000258dc bl 0xbe3c                                     |         Curl_checkProxyheaders ();
    0x000258e0 ldr r2, [sp, 0x34]                            |         r2 = var_34h;
    0x000258e4 cmp r0, 0                                     |         
                                                             |         if (r0 != 0) {
    0x000258e8 bne 0x25910                                   |             goto label_24;
                                                             |         }
    0x000258ec ldr r3, [r4, 0x5a0]                           |         r3 = *((r4 + 0x5a0));
    0x000258f0 cmp r3, 0                                     |         
                                                             |         if (r3 == 0) {
    0x000258f4 ldrne r1, [r5, 0x29c]                         |             r1 = *((r5 + 0x29c));
                                                             |         }
                                                             |         if (r3 != 0) {
    0x000258f8 ldreq r1, [pc, 0x8e8]                         |             r1 = *((pc + 0x8e8));
                                                             |         }
                                                             |         if (r3 != 0) {
    0x000258fc addeq r1, pc, r1                              |             r1 = pc + r1;
                                                             |         }
    0x00025900 b 0x25918                                     |         goto label_25;
                                                             | label_23:
    0x00025904 ldr r2, [pc, 0x8e0]                           |         r2 = *(0x261e8);
    0x00025908 add r2, pc, r2                                |         r2 = pc + r2;
    0x0002590c b 0x258cc                                     |         
                                                             |     } while (1);
                                                             | label_24:
    0x00025910 ldr r1, [pc, 0x8d8]                           |     r1 = *(0x261ec);
    0x00025914 add r1, pc, r1                                |     r1 = pc + r1;
                                                             | label_25:
    0x00025918 cmp sb, 0                                     |     
                                                             |     if (sb == 0) {
    0x0002591c movne r0, sb                                  |         r0 = sb;
                                                             |     }
                                                             |     if (sb != 0) {
    0x00025920 ldreq r0, [pc, 0x8cc]                         |         r0 = *((pc + 0x8cc));
                                                             |     }
                                                             |     if (sb != 0) {
    0x00025924 addeq r0, pc, r0                              |         r0 = pc + r0;
                                                             |     }
    0x00025928 ldr r3, [r5, 0x298]                           |     r3 = *((r5 + 0x298));
    0x0002592c cmp r3, 0                                     |     
                                                             |     if (r3 != 0) {
    0x00025930 ldreq r3, [pc, 0x8c0]                         |         r3 = *((pc + 0x8c0));
                                                             |     }
                                                             |     if (r3 != 0) {
    0x00025934 addeq r3, pc, r3                              |         r3 = pc + r3;
                                                             |     }
    0x00025938 str r1, [sp, 8]                               |     var_8h = r1;
    0x0002593c ldr r1, [pc, 0x8b8]                           |     r1 = *(0x261f8);
    0x00025940 stm sp, {r0, r3}                              |     *(sp) = r0;
                                                             |     *((sp + 4)) = r3;
    0x00025944 str r2, [sp, 0xc]                             |     var_ch = r2;
    0x00025948 mov r3, fp                                    |     r3 = fp;
    0x0002594c mov r2, sl                                    |     r2 = sl;
    0x00025950 add r1, pc, r1                                |     r1 = pc + r1;
    0x00025954 mov r0, r7                                    |     r0 = r7;
    0x00025958 bl 0xcd18                                     |     Curl_add_bufferf ();
    0x0002595c cmp sb, 0                                     |     
    0x00025960 mov fp, r0                                    |     
                                                             |     if (sb != 0) {
    0x00025964 beq 0x25974                                   |         
    0x00025968 ldr r3, [r8]                                  |         r3 = *(r8);
    0x0002596c mov r0, sb                                    |         r0 = sb;
    0x00025970 blx r3                                        |         uint32_t (*r3)(uint32_t, uint32_t) (r0, r3);
                                                             |     }
    0x00025974 ldr r3, [r8]                                  |     r3 = *(r8);
    0x00025978 mov r0, sl                                    |     r0 = sl;
    0x0002597c blx r3                                        |     uint32_t (*r3)(uint32_t, uint32_t) (r0, r3);
    0x00025980 cmp fp, 0                                     |     
                                                             |     if (fp == 0) {
    0x00025984 bne 0x259e4                                   |         
    0x00025988 mov r2, r7                                    |         r2 = r7;
    0x0002598c mov r1, 1                                     |         r1 = 1;
    0x00025990 mov r0, r5                                    |         r0 = r5;
    0x00025994 bl 0xcfec                                     |         r0 = Curl_add_custom_headers ();
    0x00025998 subs fp, r0, 0                                |         
                                                             |         if (fp != r0) {
    0x0002599c bne 0x259e4                                   |             goto label_26;
                                                             |         }
    0x000259a0 ldr r1, [pc, 0x858]                           |         r1 = *(0x261fc);
    0x000259a4 mov r0, r7                                    |         r0 = r7;
    0x000259a8 add r1, pc, r1                                |         r1 = pc + r1;
    0x000259ac bl 0xcd18                                     |         r0 = Curl_add_bufferf ();
    0x000259b0 subs fp, r0, 0                                |         
                                                             |         if (fp != r0) {
    0x000259b4 bne 0x259e4                                   |             goto label_26;
                                                             |         }
    0x000259b8 ldr r3, [sp, 0x20]                            |         r3 = var_20h;
    0x000259bc add r2, r4, 0x4a00                            |         r2 = r4 + 0x4a00;
    0x000259c0 str r3, [sp]                                  |         *(sp) = r3;
    0x000259c4 mov r0, r7                                    |         r0 = r7;
    0x000259c8 mov r3, fp                                    |         r3 = fp;
    0x000259cc add r2, r2, 0x78                              |         r2 += 0x78;
    0x000259d0 mov r1, r5                                    |         r1 = r5;
    0x000259d4 bl 0xca20                                     |         r0 = Curl_add_buffer_send ();
    0x000259d8 subs fp, r0, 0                                |         
                                                             |         if (fp != r0) {
    0x000259dc moveq r7, fp                                  |             r7 = fp;
                                                             |         }
                                                             |         if (fp == r0) {
    0x000259e0 beq 0x259f8                                   |             goto label_19;
                                                             |         }
                                                             |     }
                                                             | label_26:
    0x000259e4 ldr r1, [pc, 0x818]                           |     r1 = *(0x26200);
    0x000259e8 mov r0, r4                                    |     r0 = r4;
    0x000259ec add r1, pc, r1                                |     r1 = pc + r1;
    0x000259f0 bl 0x10544                                    |     Curl_failf ();
    0x000259f4 mov r7, 0                                     |     r7 = 0;
                                                             | label_19:
    0x000259f8 mov r0, r7                                    |     r0 = r7;
    0x000259fc bl 0xc8e4                                     |     Curl_add_buffer_free ();
    0x00025a00 cmp fp, 0                                     |     
                                                             |     if (fp != 0) {
    0x00025a04 bne 0x25a44                                   |         goto label_3;
                                                             |     }
    0x00025a08 add r3, r6, 0x4000                            |     r3 = r6 + 0x4000;
    0x00025a0c mov r2, 1                                     |     r2 = 1;
    0x00025a10 str r2, [r3, 0x1c]                            |     *((r3 + 0x1c)) = r2;
    0x00025a14 str fp, [r3]                                  |     *(r3) = fp;
                                                             | label_18:
    0x00025a18 mov r2, 1                                     |     r2 = 1;
    0x00025a1c mov r1, 0                                     |     r1 = 0;
    0x00025a20 mov r0, r4                                    |     r0 = r4;
    0x00025a24 bl 0x1b738                                    |     r0 = Curl_timeleft ();
    0x00025a28 cmp r0, 0                                     |     
                                                             |     if (r0 > 0) {
    0x00025a2c bgt 0x25a70                                   |         goto label_27;
                                                             |     }
    0x00025a30 ldr r1, [pc, 0x7d0]                           |     r1 = *(0x26204);
    0x00025a34 mov r0, r4                                    |     r0 = r4;
    0x00025a38 add r1, pc, r1                                |     r1 = pc + r1;
    0x00025a3c bl 0x10544                                    |     Curl_failf ();
    0x00025a40 mov fp, 0x1c                                  |     
                                                             |     do {
                                                             | label_3:
    0x00025a44 ldr r3, [r5, 0x4fc]                           |         r3 = *((r5 + 0x4fc));
    0x00025a48 ldr r1, [pc, 0x7bc]                           |         r1 = *(0x26208);
    0x00025a4c add r3, r3, 0x4000                            |         r3 += 0x4000;
    0x00025a50 mov r2, 2                                     |         r2 = 2;
    0x00025a54 str r2, [r3, 0x1c]                            |         *((r3 + 0x1c)) = r2;
    0x00025a58 add r1, pc, r1                                |         r1 = pc + r1;
    0x00025a5c ldr r0, [r5]                                  |         r0 = *(r5);
    0x00025a60 bl 0x104cc                                    |         Curl_infof ();
                                                             | label_16:
    0x00025a64 mov r0, fp                                    |         r0 = fp;
    0x00025a68 add sp, sp, 0x4c                              |         
    0x00025a6c pop {r4, r5, r6, r7, r8, sb, sl, fp, pc}      |         
                                                             | label_27:
    0x00025a70 ldr r1, [sp, 0x20]                            |         r1 = var_20h;
    0x00025a74 mov r0, r5                                    |         r0 = r5;
    0x00025a78 bl 0x1cb88                                    |         r0 = Curl_conn_data_pending ();
    0x00025a7c cmp r0, 0                                     |         
                                                             |         if (r0 == 0) {
    0x00025a80 beq 0x2617c                                   |             goto label_17;
                                                             |         }
    0x00025a84 add r7, r6, 0x4000                            |         r7 = r6 + 0x4000;
    0x00025a88 add sb, r7, 0x10                              |         sb = r7 + 0x10;
                                                             | label_5:
    0x00025a8c ldr sl, [r7, 4]                               |         sl = *((r7 + 4));
    0x00025a90 cmp sl, 0                                     |         
                                                             |         if (sl == 0) {
    0x00025a94 beq 0x25afc                                   |             goto label_4;
                                                             |         }
    0x00025a98 ldr r2, [r7, 0xc]                             |         r2 = *((r7 + 0xc));
    0x00025a9c cmp r2, r7                                    |         
                                                             |         if (r2 <= r7) {
    0x00025aa0 blo 0x25abc                                   |             goto label_28;
                                                             |         }
    0x00025aa4 ldr r1, [pc, 0x764]                           |         r1 = *(0x2620c);
    0x00025aa8 mov r0, r4                                    |         r0 = r4;
    0x00025aac add r1, pc, r1                                |         r1 = pc + r1;
    0x00025ab0 bl 0x10544                                    |         Curl_failf ();
                                                             | label_2:
    0x00025ab4 mov fp, 0x38                                  |         
    0x00025ab8 b 0x25a44                                     |         
                                                             |     } while (1);
                                                             | label_28:
    0x00025abc add r3, sp, 0x40                              |     r3 += var_40h;
    0x00025ac0 str r3, [sp]                                  |     *(sp) = r3;
    0x00025ac4 ldr r1, [sp, 0x2c]                            |     r1 = var_2ch;
    0x00025ac8 mov r3, 1                                     |     r3 = 1;
    0x00025acc mov r0, r5                                    |     r0 = r5;
    0x00025ad0 bl 0x102f0                                    |     r0 = Curl_read ();
    0x00025ad4 cmp r0, 0x51                                  |     
    0x00025ad8 mov r8, r0                                    |     r8 = r0;
                                                             |     if (r0 == 0x51) {
    0x00025adc beq 0x2617c                                   |         goto label_17;
                                                             |     }
    0x00025ae0 mov r0, r5                                    |     r0 = r5;
    0x00025ae4 bl 0x831c                                     |     r0 = Curl_pgrsUpdate ();
    0x00025ae8 subs sl, r0, 0                                |     sl = r0 - 0;
                                                             |     if (sl != r0) {
    0x00025aec bne 0x26194                                   |         goto label_29;
                                                             |     }
    0x00025af0 cmp r8, 0                                     |     
                                                             |     if (r8 == 0) {
    0x00025af4 beq 0x25c10                                   |         goto label_30;
                                                             |     }
    0x00025af8 str sl, [r7, 4]                               |     *((r7 + 4)) = sl;
                                                             | label_4:
    0x00025afc mov r0, r5                                    |     r0 = r5;
    0x00025b00 bl 0x831c                                     |     r0 = Curl_pgrsUpdate ();
    0x00025b04 cmp r0, 0                                     |     
                                                             |     if (r0 != 0) {
    0x00025b08 bne 0x26194                                   |         goto label_29;
                                                             |     }
    0x00025b0c cmp sl, 0                                     |     
                                                             |     if (sl != 0) {
    0x00025b10 bne 0x25ab4                                   |         goto label_2;
                                                             |     }
    0x00025b14 add sb, r4, 0x4000                            |     sb = r4 + 0x4000;
    0x00025b18 ldr r3, [sb, 0xa64]                           |     r3 = *((sb + 0xa64));
    0x00025b1c sub r3, r3, 0xc8                              |     r3 -= 0xc8;
    0x00025b20 cmp r3, 0x63                                  |     
                                                             |     if (r3 < 0x63) {
    0x00025b24 bls 0x25b4c                                   |         goto label_31;
                                                             |     }
    0x00025b28 mov r0, r5                                    |     r0 = r5;
    0x00025b2c bl 0xc2dc                                     |     r0 = Curl_http_auth_act ();
    0x00025b30 subs fp, r0, 0                                |     
                                                             |     if (fp != r0) {
    0x00025b34 bne 0x25a44                                   |         goto label_3;
                                                             |     }
    0x00025b38 ldrb r3, [r5, 0x251]                          |     r3 = *((r5 + 0x251));
    0x00025b3c cmp r3, 0                                     |     
                                                             |     if (r3 == 0) {
    0x00025b40 addne r3, r6, 0x4000                          |         r3 = r6 + 0x4000;
                                                             |     }
                                                             |     if (r3 == 0) {
    0x00025b44 movne r2, 1                                   |         r2 = 1;
                                                             |     }
                                                             |     if (r3 == 0) {
    0x00025b48 strbne r2, [r3, 0x20]                         |         *((r3 + 0x20)) = r2;
                                                             |     }
                                                             | label_31:
    0x00025b4c add r8, r6, 0x4000                            |     r8 = r6 + 0x4000;
    0x00025b50 ldrb r2, [r8, 0x20]                           |     r2 = *((r8 + 0x20));
    0x00025b54 ldr r3, [r4, 0x11c]                           |     r3 = *((r4 + 0x11c));
    0x00025b58 cmp r2, 0                                     |     
                                                             |     if (r2 == 0) {
    0x00025b5c beq 0x260a8                                   |         goto label_32;
                                                             |     }
    0x00025b60 cmp r3, 0                                     |     
                                                             |     if (r3 != 0) {
    0x00025b64 beq 0x25b84                                   |         
    0x00025b68 ldr r3, [sp, 0x18]                            |         r3 = var_18h;
    0x00025b6c mov r0, r5                                    |         r0 = r5;
    0x00025b70 ldr r1, [r3, 0x198]                           |         r1 = *((r3 + 0x198));
    0x00025b74 bl 0x1bc30                                    |         Curl_closesocket ();
    0x00025b78 ldr r2, [sp, 0x18]                            |         r2 = var_18h;
    0x00025b7c mvn r3, 0                                     |         r3 = ~0;
    0x00025b80 str r3, [r2, 0x198]                           |         *((r2 + 0x198)) = r3;
                                                             |     }
                                                             | label_13:
    0x00025b84 ldr r3, [sb, 0xa64]                           |     r3 = *((sb + 0xa64));
    0x00025b88 sub r3, r3, 0xc8                              |     r3 -= 0xc8;
    0x00025b8c cmp r3, 0x63                                  |     
                                                             |     if (r3 < 0x63) {
    0x00025b90 bls 0x26130                                   |         goto label_33;
                                                             |     }
    0x00025b94 ldrb r3, [r8, 0x20]                           |     r3 = *((r8 + 0x20));
    0x00025b98 ldr r0, [r4, 0x11c]                           |     r0 = *((r4 + 0x11c));
    0x00025b9c cmp r3, 0                                     |     
                                                             |     if (r3 == 0) {
    0x00025ba0 beq 0x260e8                                   |         goto label_34;
                                                             |     }
    0x00025ba4 cmp r0, 0                                     |     
                                                             |     if (r0 == 0) {
    0x00025ba8 beq 0x260e8                                   |         goto label_34;
                                                             |     }
    0x00025bac ldr r1, [pc, 0x660]                           |     r1 = *(0x26210);
    0x00025bb0 mov r3, 1                                     |     r3 = 1;
    0x00025bb4 strb r3, [r5, 0x26a]                          |     *((r5 + 0x26a)) = r3;
    0x00025bb8 add r1, pc, r1                                |     r1 = pc + r1;
    0x00025bbc mov r0, r4                                    |     r0 = r4;
    0x00025bc0 bl 0x104cc                                    |     Curl_infof ();
    0x00025bc4 ldr r3, [r5, 0x4fc]                           |     r3 = *((r5 + 0x4fc));
    0x00025bc8 ldr r1, [pc, 0x648]                           |     r1 = *(0x26214);
    0x00025bcc add r3, r3, 0x4000                            |     r3 += 0x4000;
    0x00025bd0 mov r2, 2                                     |     r2 = 2;
    0x00025bd4 str r2, [r3, 0x1c]                            |     *((r3 + 0x1c)) = r2;
    0x00025bd8 add r1, pc, r1                                |     r1 = pc + r1;
    0x00025bdc ldr r0, [r5]                                  |     r0 = *(r5);
    0x00025be0 bl 0x104cc                                    |     Curl_infof ();
                                                             | label_15:
    0x00025be4 mov r3, 0                                     |     r3 = 0;
    0x00025be8 str r3, [r8, 0x1c]                            |     *((r8 + 0x1c)) = r3;
    0x00025bec ldrb r3, [r5, 0x26a]                          |     r3 = *((r5 + 0x26a));
    0x00025bf0 cmp r3, 0                                     |     
                                                             |     if (r3 != 0) {
    0x00025bf4 bne 0x2617c                                   |         goto label_17;
                                                             |     }
    0x00025bf8 ldr r1, [pc, 0x61c]                           |     r1 = *(0x26218);
    0x00025bfc ldr r2, [r4, 0xe8]                            |     r2 = *((r4 + 0xe8));
    0x00025c00 add r1, pc, r1                                |     r1 = pc + r1;
    0x00025c04 mov r0, r4                                    |     r0 = r4;
    0x00025c08 bl 0x10544                                    |     Curl_failf ();
    0x00025c0c b 0x25ab4                                     |     goto label_2;
                                                             | label_30:
    0x00025c10 ldr r3, [sp, 0x40]                            |     r3 = var_40h;
    0x00025c14 cmp r3, 0                                     |     
                                                             |     if (r3 > 0) {
    0x00025c18 bgt 0x25c78                                   |         goto label_35;
                                                             |     }
    0x00025c1c ldr r3, [r4, 0x158]                           |     r3 = *((r4 + 0x158));
    0x00025c20 cmp r3, 0                                     |     
                                                             |     if (r3 == 0) {
    0x00025c24 beq 0x25c60                                   |         goto label_36;
                                                             |     }
    0x00025c28 add r3, r4, 0x4000                            |     r3 = r4 + 0x4000;
    0x00025c2c ldr r3, [r3, 0x898]                           |     r3 = *((r3 + 0x898));
    0x00025c30 cmp r3, 0                                     |     
                                                             |     if (r3 == 0) {
    0x00025c34 beq 0x25c60                                   |         goto label_36;
                                                             |     }
    0x00025c38 ldr r1, [pc, 0x5e0]                           |     r1 = *(0x2621c);
    0x00025c3c mov r3, 1                                     |     r3 = 1;
    0x00025c40 strb r3, [r5, 0x26a]                          |     *((r5 + 0x26a)) = r3;
    0x00025c44 add r1, pc, r1                                |     r1 = pc + r1;
    0x00025c48 mov r0, r4                                    |     r0 = r4;
    0x00025c4c bl 0x104cc                                    |     Curl_infof ();
                                                             |     do {
    0x00025c50 add r3, r6, 0x4000                            |         r3 = r6 + 0x4000;
    0x00025c54 mov r2, 0                                     |         r2 = 0;
    0x00025c58 str r2, [r3, 4]                               |         *((r3 + 4)) = r2;
    0x00025c5c b 0x25afc                                     |         goto label_4;
                                                             | label_36:
    0x00025c60 ldr r1, [pc, 0x5bc]                           |         r1 = *(0x26220);
    0x00025c64 mov r0, r4                                    |         r0 = r4;
    0x00025c68 add r1, pc, r1                                |         r1 = pc + r1;
    0x00025c6c bl 0x10544                                    |         Curl_failf ();
    0x00025c70 mov sl, 1                                     |         sl = 1;
    0x00025c74 b 0x25c50                                     |         
                                                             |     } while (1);
                                                             | label_35:
    0x00025c78 ldr r3, [r7, 4]                               |     r3 = *((r7 + 4));
    0x00025c7c cmp r3, 1                                     |     
                                                             |     if (r3 <= 1) {
    0x00025c80 ble 0x25cfc                                   |         goto label_37;
                                                             |     }
    0x00025c84 ldrd r0, r1, [r7, 0x10]                       |     __asm ("ldrd r0, r1, [r7, 0x10]");
    0x00025c88 str r6, [r7, 0xc]                             |     *((r7 + 0xc)) = r6;
    0x00025c8c orrs r3, r0, r1                               |     r3 = r0 | r1;
                                                             |     if (r3 == r0) {
    0x00025c90 beq 0x25cbc                                   |         goto label_38;
                                                             |     }
    0x00025c94 subs r2, r0, 1                                |     r2 = r0 - 1;
    0x00025c98 sbc r3, r1, 0                                 |     __asm ("sbc r3, r1, 0");
    0x00025c9c cmp r2, 1                                     |     
    0x00025ca0 strd r2, r3, [r7, 0x10]                       |     __asm ("strd r2, r3, [r7, 0x10]");
    0x00025ca4 sbcs r3, r3, 0                                |     __asm ("sbcs r3, r3, 0");
                                                             |     if (r2 >= 1) {
    0x00025ca8 bge 0x25a8c                                   |         goto label_5;
                                                             |     }
    0x00025cac mov r3, 2                                     |     r3 = 2;
    0x00025cb0 str sl, [r7, 4]                               |     *((r7 + 4)) = sl;
    0x00025cb4 str r3, [r7, 0x1c]                            |     *((r7 + 0x1c)) = r3;
    0x00025cb8 b 0x25afc                                     |     goto label_4;
                                                             | label_38:
    0x00025cbc add r3, sp, 0x48                              |     r3 += var_48h;
    0x00025cc0 str r8, [r3, -4]!                             |     *((r3 -= 4)) = r8;
    0x00025cc4 mov r2, 1                                     |     r2 = 1;
    0x00025cc8 mov r1, r6                                    |     r1 = r6;
    0x00025ccc mov r0, r5                                    |     r0 = r5;
    0x00025cd0 bl 0x1b234                                    |     r0 = Curl_httpchunk_read ();
    0x00025cd4 cmn r0, 1                                     |     
                                                             |     if (r0 != 1) {
    0x00025cd8 bne 0x25a8c                                   |         goto label_5;
                                                             |     }
    0x00025cdc ldr r1, [pc, 0x544]                           |     r1 = *(0x26224);
    0x00025ce0 mov r0, r4                                    |     r0 = r4;
    0x00025ce4 add r1, pc, r1                                |     r1 = pc + r1;
    0x00025ce8 bl 0x104cc                                    |     Curl_infof ();
    0x00025cec str r8, [r7, 4]                               |     *((r7 + 4)) = r8;
                                                             | label_8:
    0x00025cf0 mov r3, 2                                     |     r3 = 2;
    0x00025cf4 str r3, [r7, 0x1c]                            |     *((r7 + 0x1c)) = r3;
    0x00025cf8 b 0x25a8c                                     |     goto label_5;
                                                             | label_37:
    0x00025cfc ldr r3, [r7]                                  |     r3 = *(r7);
    0x00025d00 ldr r2, [r7, 0xc]                             |     r2 = *((r7 + 0xc));
    0x00025d04 add r3, r3, 1                                 |     r3++;
    0x00025d08 str r3, [r7]                                  |     *(r7) = r3;
    0x00025d0c ldrb r1, [r2]                                 |     r1 = *(r2);
    0x00025d10 cmp r1, 0xa                                   |     
                                                             |     if (r1 == 0xa) {
    0x00025d14 addne r2, r2, 1                               |         r2++;
                                                             |     }
                                                             |     if (r1 != 0xa) {
    0x00025d18 strne r2, [r7, 0xc]                           |         *((r7 + 0xc)) = r2;
                                                             |         goto label_39;
                                                             |     }
                                                             |     if (r1 != 0xa) {
                                                             | label_39:
    0x00025d1c bne 0x25a8c                                   |         goto label_5;
                                                             |     }
    0x00025d20 ldrb r2, [r4, 0x4d8]                          |     r2 = *((r4 + 0x4d8));
    0x00025d24 cmp r2, 0                                     |     
                                                             |     if (r2 != 0) {
    0x00025d28 beq 0x25d3c                                   |         
    0x00025d2c ldr r2, [r7, 8]                               |         r2 = *((r7 + 8));
    0x00025d30 mov r1, 1                                     |         r1 = 1;
    0x00025d34 mov r0, r4                                    |         r0 = r4;
    0x00025d38 bl 0x10424                                    |         Curl_debug ();
                                                             |     }
    0x00025d3c ldrb r3, [r4, 0x64c]                          |     r3 = *((r4 + 0x64c));
    0x00025d40 cmp r3, 0                                     |     
                                                             |     if (r3 == 0) {
    0x00025d44 beq 0x25e20                                   |         goto label_40;
                                                             |     }
                                                             | label_7:
    0x00025d48 add r1, r4, 0x4000                            |     r1 = r4 + 0x4000;
    0x00025d4c ldr r2, [r7]                                  |     r2 = *(r7);
    0x00025d50 ldr r3, [r1, 0xa74]                           |     r3 = *((r1 + 0xa74));
    0x00025d54 ldr r0, [r7, 8]                               |     r0 = *((r7 + 8));
    0x00025d58 add r3, r3, r2                                |     r3 += r2;
    0x00025d5c str r3, [r1, 0xa74]                           |     *((r1 + 0xa74)) = r3;
    0x00025d60 ldr r3, [r4, 0xa0]                            |     r3 = *((r4 + 0xa0));
    0x00025d64 add r3, r3, r2                                |     r3 += r2;
    0x00025d68 str r3, [r4, 0xa0]                            |     *((r4 + 0xa0)) = r3;
    0x00025d6c ldrb r3, [r0]                                 |     r3 = *(r0);
    0x00025d70 cmp r3, 0xa                                   |     
    0x00025d74 cmpne r3, 0xd                                 |     __asm ("cmpne r3, 0xd");
                                                             |     if (r3 != 0xa) {
    0x00025d78 moveq r3, 1                                   |         r3 = 1;
                                                             |     }
                                                             |     if (r3 == 0xa) {
    0x00025d7c movne r3, 0                                   |         r3 = 0;
                                                             |     }
                                                             |     if (r3 == 0xa) {
    0x00025d80 beq 0x25e4c                                   |         goto label_41;
                                                             |     }
    0x00025d84 strb r3, [r0, r2]                             |     *((r0 + r2)) = r3;
    0x00025d88 ldr r0, [pc, 0x49c]                           |     r0 = *(0x26228);
    0x00025d8c mov r2, 0x11                                  |     r2 = 0x11;
    0x00025d90 ldr r1, [r7, 8]                               |     r1 = *((r7 + 8));
    0x00025d94 add r0, pc, r0                                |     r0 = pc + r0;
    0x00025d98 bl 0x5bd4                                     |     r0 = fcn_00005bd4 ();
    0x00025d9c cmp r0, 0                                     |     
                                                             |     if (r0 == 0) {
    0x00025da0 beq 0x25f30                                   |         goto label_42;
                                                             |     }
    0x00025da4 ldr r2, [r4, 0xe8]                            |     r2 = *((r4 + 0xe8));
    0x00025da8 ldr r3, [pc, 0x480]                           |     r3 = *(0x2622c);
    0x00025dac cmp r2, r3                                    |     
                                                             |     if (r2 != r3) {
    0x00025db0 bne 0x25f30                                   |         goto label_42;
                                                             |     }
                                                             | label_10:
    0x00025db4 ldr sl, [r4, 0xe8]                            |     sl = *((r4 + 0xe8));
    0x00025db8 ldr r1, [pc, 0x474]                           |     r1 = *(0x26230);
    0x00025dbc ldr r0, [r7, 8]                               |     r0 = *((r7 + 8));
    0x00025dc0 sub sl, sl, r1                                |     sl -= r1;
    0x00025dc4 bl 0xc1ec                                     |     Curl_copy_header_value ();
    0x00025dc8 clz sl, sl                                    |     sl &= sl;
    0x00025dcc lsr sl, sl, 5                                 |     sl >>= 5;
    0x00025dd0 subs r8, r0, 0                                |     r8 = r0 - 0;
                                                             |     if (r8 == r0) {
    0x00025dd4 beq 0x257ac                                   |         goto label_6;
                                                             |     }
    0x00025dd8 mov r2, r8                                    |     r2 = r8;
    0x00025ddc mov r1, sl                                    |     r1 = sl;
    0x00025de0 mov r0, r5                                    |     r0 = r5;
    0x00025de4 bl 0xc61c                                     |     Curl_http_input_auth ();
    0x00025de8 ldr r2, [sp, 0x14]                            |     r2 = var_14h;
    0x00025dec ldr r3, [pc, 0x3c0]                           |     
    0x00025df0 ldr r3, [r2, r3]                              |     r3 = *((r2 + r3));
    0x00025df4 ldr r3, [r3]                                  |     r3 = *(0x261b0);
    0x00025df8 mov fp, r0                                    |     
    0x00025dfc mov r0, r8                                    |     r0 = r8;
    0x00025e00 blx r3                                        |     uint32_t (*r3)(uint32_t, uint32_t, uint32_t) (r0, r2, r3);
    0x00025e04 cmp fp, 0                                     |     
                                                             |     if (fp != 0) {
    0x00025e08 bne 0x25a44                                   |         goto label_3;
                                                             |     }
                                                             | label_11:
    0x00025e0c mov r3, 0                                     |     r3 = 0;
    0x00025e10 str r3, [r7]                                  |     *(r7) = r3;
    0x00025e14 str r6, [r7, 0xc]                             |     *((r7 + 0xc)) = r6;
    0x00025e18 str r6, [r7, 8]                               |     *((r7 + 8)) = r6;
    0x00025e1c b 0x25a8c                                     |     goto label_5;
                                                             | label_40:
    0x00025e20 ldrb r3, [r4, 0x4cd]                          |     r3 = *((r4 + 0x4cd));
    0x00025e24 ldr r2, [r7, 8]                               |     r2 = *((r7 + 8));
    0x00025e28 cmp r3, 0                                     |     
                                                             |     if (r3 == 0) {
    0x00025e2c movne r1, 3                                   |         r1 = 3;
                                                             |     }
                                                             |     if (r3 != 0) {
    0x00025e30 moveq r1, 2                                   |         r1 = 2;
                                                             |     }
    0x00025e34 ldr r3, [r7]                                  |     r3 = *(r7);
    0x00025e38 mov r0, r5                                    |     r0 = r5;
    0x00025e3c bl 0x107cc                                    |     r0 = Curl_client_write ();
    0x00025e40 subs fp, r0, 0                                |     
                                                             |     if (fp == r0) {
    0x00025e44 beq 0x25d48                                   |         goto label_7;
                                                             |     }
    0x00025e48 b 0x25a44                                     |     goto label_3;
                                                             | label_41:
    0x00025e4c ldr r2, [r4, 0xe8]                            |     r2 = *((r4 + 0xe8));
    0x00025e50 ldr r3, [pc, 0x3dc]                           |     r3 = *(0x26230);
    0x00025e54 add r8, r6, 0x4000                            |     r8 = r6 + 0x4000;
    0x00025e58 cmp r2, r3                                    |     
    0x00025e5c str r6, [r7, 0xc]                             |     *((r7 + 0xc)) = r6;
    0x00025e60 add r8, r8, 0x10                              |     r8 += 0x10;
                                                             |     if (r2 != r3) {
    0x00025e64 bne 0x25f24                                   |         goto label_43;
                                                             |     }
    0x00025e68 ldrb r3, [r1, 0x8a0]                          |     r3 = *((r1 + 0x8a0));
    0x00025e6c cmp r3, 0                                     |     
                                                             |     if (r3 != 0) {
    0x00025e70 bne 0x25f24                                   |         goto label_43;
                                                             |     }
    0x00025e74 ldrd r2, r3, [r8]                             |     __asm ("ldrd r2, r3, [r8]");
    0x00025e78 mov r1, 2                                     |     r1 = 2;
    0x00025e7c str r1, [r7, 4]                               |     *((r7 + 4)) = r1;
    0x00025e80 orrs r1, r2, r3                               |     r1 = r2 | r3;
                                                             |     if (r1 == r2) {
    0x00025e84 beq 0x25ea8                                   |         goto label_44;
                                                             |     }
    0x00025e88 ldr r1, [pc, 0x3a8]                           |     r1 = *(0x26234);
    0x00025e8c mov r0, r4                                    |     r0 = r4;
    0x00025e90 add r1, pc, r1                                |     r1 = pc + r1;
    0x00025e94 bl 0x104cc                                    |     Curl_infof ();
                                                             | label_9:
    0x00025e98 ldrd r2, r3, [r8]                             |     __asm ("ldrd r2, r3, [r8]");
    0x00025e9c orrs r3, r2, r3                               |     r3 = r2 | r3;
                                                             |     if (r3 != r2) {
    0x00025ea0 bne 0x25a8c                                   |         goto label_5;
                                                             |     }
    0x00025ea4 b 0x25cf0                                     |     goto label_8;
                                                             | label_44:
    0x00025ea8 ldrb r3, [r7, 0x18]                           |     r3 = *((r7 + 0x18));
    0x00025eac cmp r3, 0                                     |     
                                                             |     if (r3 == 0) {
    0x00025eb0 beq 0x25f28                                   |         goto label_45;
                                                             |     }
    0x00025eb4 ldr r1, [pc, 0x380]                           |     r1 = *(0x26238);
    0x00025eb8 mov r0, r4                                    |     r0 = r4;
    0x00025ebc add r1, pc, r1                                |     r1 = pc + r1;
    0x00025ec0 bl 0x104cc                                    |     Curl_infof ();
    0x00025ec4 mov r3, 1                                     |     r3 = 1;
    0x00025ec8 strb r3, [r4, 0x115]                          |     *((r4 + 0x115)) = r3;
    0x00025ecc ldr r3, [r7, 8]                               |     r3 = *((r7 + 8));
    0x00025ed0 mov r0, r5                                    |     r0 = r5;
    0x00025ed4 ldrb r2, [r3, 1]                              |     r2 = *((r3 + 1));
    0x00025ed8 cmp r2, 0xa                                   |     
                                                             |     if (r2 != 0xa) {
    0x00025edc addeq r3, r3, 1                               |         r3++;
                                                             |     }
                                                             |     if (r2 != 0xa) {
    0x00025ee0 streq r3, [r7, 8]                             |         *((r7 + 8)) = r3;
                                                             |     }
    0x00025ee4 ldr r1, [r7, 8]                               |     r1 = *((r7 + 8));
    0x00025ee8 mov r2, 1                                     |     r2 = 1;
    0x00025eec add r3, sp, 0x40                              |     r3 += var_40h;
    0x00025ef0 add r1, r1, r2                                |     r1 += r2;
    0x00025ef4 bl 0x1b234                                    |     r0 = Curl_httpchunk_read ();
    0x00025ef8 cmn r0, 1                                     |     
                                                             |     if (r0 != 1) {
    0x00025efc bne 0x25e98                                   |         goto label_9;
                                                             |     }
    0x00025f00 ldr r1, [pc, 0x338]                           |     r1 = *(0x2623c);
    0x00025f04 mov r0, r4                                    |     r0 = r4;
    0x00025f08 add r1, pc, r1                                |     r1 = pc + r1;
    0x00025f0c bl 0x104cc                                    |     Curl_infof ();
    0x00025f10 mov r3, 0                                     |     r3 = 0;
    0x00025f14 str r3, [r7, 4]                               |     *((r7 + 4)) = r3;
    0x00025f18 mov r3, 2                                     |     r3 = 2;
    0x00025f1c str r3, [r7, 0x1c]                            |     *((r7 + 0x1c)) = r3;
    0x00025f20 b 0x25e98                                     |     goto label_9;
                                                             | label_43:
    0x00025f24 mov r3, 0                                     |     r3 = 0;
                                                             | label_45:
    0x00025f28 str r3, [r7, 4]                               |     *((r7 + 4)) = r3;
    0x00025f2c b 0x25e98                                     |     goto label_9;
                                                             | label_42:
    0x00025f30 ldr r0, [pc, 0x30c]                           |     r0 = *(0x26240);
    0x00025f34 mov r2, 0x13                                  |     r2 = 0x13;
    0x00025f38 ldr r1, [r7, 8]                               |     r1 = *((r7 + 8));
    0x00025f3c add r0, pc, r0                                |     r0 = pc + r0;
    0x00025f40 bl 0x5bd4                                     |     r0 = fcn_00005bd4 ();
    0x00025f44 cmp r0, 0                                     |     
                                                             |     if (r0 == 0) {
    0x00025f48 beq 0x25f5c                                   |         goto label_46;
                                                             |     }
    0x00025f4c ldr r2, [r4, 0xe8]                            |     r2 = *((r4 + 0xe8));
    0x00025f50 ldr r3, [pc, 0x2dc]                           |     r3 = *(0x26230);
    0x00025f54 cmp r2, r3                                    |     
                                                             |     if (r2 == r3) {
    0x00025f58 beq 0x25db4                                   |         goto label_10;
                                                             |     }
                                                             | label_46:
    0x00025f5c ldr r0, [pc, 0x2e4]                           |     r0 = *(0x26244);
    0x00025f60 mov r2, 0xf                                   |     r2 = 0xf;
    0x00025f64 ldr r1, [r7, 8]                               |     r1 = *((r7 + 8));
    0x00025f68 add r0, pc, r0                                |     r0 = pc + r0;
    0x00025f6c bl 0x5bd4                                     |     r0 = fcn_00005bd4 ();
    0x00025f70 cmp r0, 0                                     |     
                                                             |     if (r0 == 0) {
    0x00025f74 beq 0x25fb8                                   |         goto label_47;
                                                             |     }
    0x00025f78 ldr r2, [r4, 0xe8]                            |     r2 = *((r4 + 0xe8));
    0x00025f7c sub r3, r2, 0xc8                              |     r3 = r2 - 0xc8;
    0x00025f80 cmp r3, 0x63                                  |     
                                                             |     if (r3 > 0x63) {
    0x00025f84 bhi 0x25f9c                                   |         goto label_48;
                                                             |     }
    0x00025f88 ldr r1, [pc, 0x2bc]                           |     r1 = *(0x26248);
    0x00025f8c add r1, pc, r1                                |     r1 = pc + r1;
                                                             |     do {
    0x00025f90 mov r0, r4                                    |         r0 = r4;
    0x00025f94 bl 0x104cc                                    |         Curl_infof ();
    0x00025f98 b 0x25e0c                                     |         goto label_11;
                                                             | label_48:
    0x00025f9c ldr r0, [r7, 8]                               |         r0 = *((r7 + 8));
    0x00025fa0 mov r3, sb                                    |         r3 = sb;
    0x00025fa4 mov r2, 0xa                                   |         r2 = 0xa;
    0x00025fa8 mov r1, 0                                     |         r1 = 0;
    0x00025fac add r0, r0, 0xf                               |         r0 += 0xf;
    0x00025fb0 bl 0x2188c                                    |         curlx_strtoofft ();
    0x00025fb4 b 0x25e0c                                     |         goto label_11;
                                                             | label_47:
    0x00025fb8 ldr r8, [pc, 0x290]                           |         r8 = *(0x2624c);
    0x00025fbc ldr r1, [pc, 0x290]                           |         r1 = *(0x26250);
    0x00025fc0 add r8, pc, r8                                |         r8 = pc + r8;
    0x00025fc4 mov r2, r8                                    |         r2 = r8;
    0x00025fc8 add r1, pc, r1                                |         r1 = pc + r1;
    0x00025fcc ldr r0, [r7, 8]                               |         r0 = *((r7 + 8));
    0x00025fd0 bl 0xcf18                                     |         r0 = Curl_compareheader ();
    0x00025fd4 cmp r0, 0                                     |         
                                                             |         if (r0 != 0) {
    0x00025fd8 beq 0x25fe8                                   |             
                                                             | label_12:
    0x00025fdc mov r3, 1                                     |             r3 = 1;
    0x00025fe0 strb r3, [r7, 0x20]                           |             *((r7 + 0x20)) = r3;
    0x00025fe4 b 0x25e0c                                     |             goto label_11;
                                                             |         }
    0x00025fe8 ldr sl, [pc, 0x268]                           |         sl = *(0x26254);
    0x00025fec mov r2, 0x12                                  |         r2 = 0x12;
    0x00025ff0 add sl, pc, sl                                |         sl = pc + sl;
    0x00025ff4 ldr r1, [r7, 8]                               |         r1 = *((r7 + 8));
    0x00025ff8 mov r0, sl                                    |         r0 = sl;
    0x00025ffc bl 0x5bd4                                     |         r0 = fcn_00005bd4 ();
    0x00026000 cmp r0, 0                                     |         
                                                             |         if (r0 == 0) {
    0x00026004 beq 0x26060                                   |             goto label_49;
                                                             |         }
    0x00026008 ldr r2, [r4, 0xe8]                            |         r2 = *((r4 + 0xe8));
    0x0002600c sub r3, r2, 0xc8                              |         r3 = r2 - 0xc8;
    0x00026010 cmp r3, 0x63                                  |         
                                                             |         if (r3 > 0x63) {
    0x00026014 ldrls r1, [pc, 0x240]                         |             r1 = *((pc + 0x240));
                                                             |         }
                                                             |         if (r3 > 0x63) {
    0x00026018 addls r1, pc, r1                              |             r1 = pc + r1;
                                                             |         }
    0x0002601c bls 0x25f90                                   |         
                                                             |     } while (r3 < 0x63);
    0x00026020 ldr r2, [pc, 0x238]                           |     r2 = *(0x2625c);
    0x00026024 mov r1, sl                                    |     r1 = sl;
    0x00026028 add r2, pc, r2                                |     r2 = pc + r2;
    0x0002602c ldr r0, [r7, 8]                               |     r0 = *((r7 + 8));
    0x00026030 bl 0xcf18                                     |     r0 = Curl_compareheader ();
    0x00026034 cmp r0, 0                                     |     
                                                             |     if (r0 == 0) {
    0x00026038 beq 0x25e0c                                   |         goto label_11;
                                                             |     }
    0x0002603c ldr r1, [pc, 0x220]                           |     r1 = *(0x26260);
    0x00026040 mov r0, r4                                    |     r0 = r4;
    0x00026044 add r1, pc, r1                                |     r1 = pc + r1;
    0x00026048 bl 0x104cc                                    |     Curl_infof ();
    0x0002604c mov r3, 1                                     |     r3 = 1;
    0x00026050 strb r3, [r7, 0x18]                           |     *((r7 + 0x18)) = r3;
    0x00026054 mov r0, r5                                    |     r0 = r5;
    0x00026058 bl 0x1b220                                    |     Curl_httpchunk_init ();
    0x0002605c b 0x25e0c                                     |     goto label_11;
                                                             | label_49:
    0x00026060 ldr r1, [pc, 0x200]                           |     r1 = *(0x26264);
    0x00026064 mov r2, r8                                    |     r2 = r8;
    0x00026068 add r1, pc, r1                                |     r1 = pc + r1;
    0x0002606c ldr r0, [r7, 8]                               |     r0 = *((r7 + 8));
    0x00026070 bl 0xcf18                                     |     r0 = Curl_compareheader ();
    0x00026074 cmp r0, 0                                     |     
                                                             |     if (r0 != 0) {
    0x00026078 bne 0x25fdc                                   |         goto label_12;
                                                             |     }
    0x0002607c ldr r1, [pc, 0x1e8]                           |     r1 = *(0x26268);
    0x00026080 add r3, r4, 0xe8                              |     r3 = r4 + 0xe8;
    0x00026084 add r2, sp, 0x3c                              |     r2 += var_3ch;
    0x00026088 add r1, pc, r1                                |     r1 = pc + r1;
    0x0002608c ldr r0, [r7, 8]                               |     r0 = *((r7 + 8));
    0x00026090 bl 0x5658                                     |     r0 = sscanf (r0, r1, r2);
    0x00026094 cmp r0, 2                                     |     
                                                             |     if (r0 != 2) {
    0x00026098 ldreq r2, [r4, 0xe8]                          |         r2 = *((r4 + 0xe8));
                                                             |     }
                                                             |     if (r0 != 2) {
    0x0002609c addeq r3, r4, 0x4000                          |         r3 = r4 + 0x4000;
                                                             |     }
                                                             |     if (r0 != 2) {
    0x000260a0 streq r2, [r3, 0xa64]                         |         *((r3 + 0xa64)) = r2;
                                                             |     }
    0x000260a4 b 0x25e0c                                     |     goto label_11;
                                                             | label_32:
    0x000260a8 cmp r3, 0                                     |     
                                                             |     if (r3 == 0) {
    0x000260ac beq 0x25b84                                   |         goto label_13;
                                                             |     }
    0x000260b0 ldr r3, [r8, 0x1c]                            |     r3 = *((r8 + 0x1c));
    0x000260b4 cmp r3, 2                                     |     
                                                             |     if (r3 != 2) {
    0x000260b8 bne 0x2573c                                   |         goto label_14;
                                                             |     }
    0x000260bc ldr r1, [r5, 0x4fc]                           |     r1 = *((r5 + 0x4fc));
    0x000260c0 mov r0, 1                                     |     r0 = 1;
    0x000260c4 add r3, r1, 0x4000                            |     r3 = r1 + 0x4000;
    0x000260c8 stmib r3, {r0, r1}                            |     __asm ("stmib r3, {r0, r1}");
    0x000260cc str r1, [r3, 0xc]                             |     *((r3 + 0xc)) = r1;
    0x000260d0 mov r0, 0                                     |     r0 = 0;
    0x000260d4 mov r1, 0                                     |     r1 = 0;
    0x000260d8 str r2, [r3, 0x1c]                            |     *((r3 + 0x1c)) = r2;
    0x000260dc strd r0, r1, [r3, 0x10]                       |     __asm ("strd r0, r1, [r3, 0x10]");
    0x000260e0 strb r2, [r3, 0x20]                           |     *((r3 + 0x20)) = r2;
    0x000260e4 b 0x2573c                                     |     goto label_14;
                                                             | label_34:
    0x000260e8 ldr r2, [sp, 0x14]                            |     r2 = var_14h;
    0x000260ec ldr r3, [pc, 0xc0]                            |     
    0x000260f0 ldr r3, [r2, r3]                              |     r3 = *((r2 + r3));
    0x000260f4 ldr r3, [r3]                                  |     r3 = *(0x261b0);
    0x000260f8 blx r3                                        |     uint32_t (*r3)(uint32_t, uint32_t) (r2, r3);
    0x000260fc mov r3, 0                                     |     r3 = 0;
    0x00026100 str r3, [r4, 0x11c]                           |     *((r4 + 0x11c)) = r3;
    0x00026104 mov r1, 2                                     |     r1 = 2;
    0x00026108 mov r0, r5                                    |     r0 = r5;
    0x0002610c bl 0x1cb34                                    |     Curl_conncontrol ();
    0x00026110 ldr r3, [sp, 0x18]                            |     r3 = var_18h;
    0x00026114 mov r0, r5                                    |     r0 = r5;
    0x00026118 ldr r1, [r3, 0x198]                           |     r1 = *((r3 + 0x198));
    0x0002611c bl 0x1bc30                                    |     Curl_closesocket ();
    0x00026120 ldr r2, [sp, 0x18]                            |     r2 = var_18h;
    0x00026124 mvn r3, 0                                     |     r3 = ~0;
    0x00026128 str r3, [r2, 0x198]                           |     *((r2 + 0x198)) = r3;
    0x0002612c b 0x25be4                                     |     goto label_15;
                                                             | label_33:
    0x00026130 mov r3, 2                                     |     r3 = 2;
    0x00026134 str r3, [r7, 0x1c]                            |     *((r7 + 0x1c)) = r3;
    0x00026138 ldr r2, [sp, 0x14]                            |     r2 = var_14h;
    0x0002613c ldr r3, [pc, 0x70]                            |     
    0x00026140 ldr r0, [r5, 0x298]                           |     r0 = *((r5 + 0x298));
    0x00026144 ldr r3, [r2, r3]                              |     r3 = *((r2 + r3));
    0x00026148 mov r6, 0                                     |     r6 = 0;
    0x0002614c ldr r3, [r3]                                  |     r3 = *(0x261b0);
    0x00026150 blx r3                                        |     uint32_t (*r3)(uint32_t, uint32_t, uint32_t) (r0, r2, r3);
    0x00026154 ldr r1, [pc, 0x114]                           |     r1 = *(0x2626c);
    0x00026158 mov r3, 1                                     |     r3 = 1;
    0x0002615c str r6, [r5, 0x298]                           |     *((r5 + 0x298)) = r6;
    0x00026160 ldr r2, [sb, 0xa64]                           |     r2 = *((sb + 0xa64));
    0x00026164 strb r3, [sb, 0x89c]                          |     *((sb + 0x89c)) = r3;
    0x00026168 add r1, pc, r1                                |     r1 = pc + r1;
    0x0002616c mov r0, r4                                    |     r0 = r4;
    0x00026170 bl 0x104cc                                    |     Curl_infof ();
    0x00026174 strb r6, [r4, 0x115]                          |     *((r4 + 0x115)) = r6;
    0x00026178 strb r6, [r5, 0x263]                          |     *((r5 + 0x263)) = r6;
                                                             | label_17:
    0x0002617c mov r0, r5                                    |     r0 = r5;
    0x00026180 bl 0x255d8                                    |     r0 = Curl_connect_complete ();
    0x00026184 subs fp, r0, 0                                |     
                                                             |     if (fp == r0) {
    0x00026188 beq 0x25a64                                   |         goto label_16;
                                                             |     }
    0x0002618c mov fp, 0                                     |     
    0x00026190 b 0x25a44                                     |     goto label_3;
                                                             | label_29:
    0x00026194 mov fp, 0x2a                                  |     
    0x00026198 b 0x25a44                                     |     goto label_3;
                                                             | }
    ; 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/lib/libcurl.so @ 0x26274 */
                                                 | #include <stdint.h>
                                                 |  
    ; (fcn) sym.Curl_proxy_connect ()            | void Curl_proxy_connect (int32_t arg1, int32_t arg2) {
                                                 |     void * s;
                                                 |     int32_t var_1b8h;
                                                 |     r0 = arg1;
                                                 |     r1 = arg2;
    0x00026274 ldr r3, [r0, 0xf0]                |     r3 = *((r0 + 0xf0));
    0x00026278 push {r4, r5, r6, r7, r8, lr}     |     
    0x0002627c ldr r7, [pc, 0x124]               |     r7 = *(0x263a4);
    0x00026280 cmp r3, 2                         |     
    0x00026284 add r7, pc, r7                    |     r7 = pc + r7;
    0x00026288 sub sp, sp, 0x1b8                 |     
    0x0002628c mov r4, r0                        |     r4 = r0;
    0x00026290 mov r5, r1                        |     r5 = r1;
                                                 |     if (r3 == 2) {
    0x00026294 beq 0x262b4                       |         goto label_5;
                                                 |     }
                                                 | label_0:
    0x00026298 ldrb r3, [r4, 0x261]              |     r3 = *((r4 + 0x261));
    0x0002629c cmp r3, 0                         |     
                                                 |     if (r3 != 0) {
    0x000262a0 bne 0x262f4                       |         goto label_6;
                                                 |     }
                                                 | label_1:
    0x000262a4 mov r6, 0                         |     r6 = 0;
                                                 |     do {
                                                 | label_2:
    0x000262a8 mov r0, r6                        |         r0 = r6;
    0x000262ac add sp, sp, 0x1b8                 |         
    0x000262b0 pop {r4, r5, r6, r7, r8, pc}      |         
                                                 | label_5:
    0x000262b4 add r8, r0, r1                    |         r8 = r0 + r1;
    0x000262b8 ldrb r3, [r8, 0x271]              |         r3 = *((r8 + 0x271));
    0x000262bc cmp r3, 0                         |         
                                                 |         if (r3 != 0) {
    0x000262c0 bne 0x262e4                       |             goto label_7;
                                                 |         }
    0x000262c4 add r2, r1, 0x270                 |         r2 = r1 + 0x270;
    0x000262c8 add r2, r2, 1                     |         r2++;
    0x000262cc add r2, r0, r2                    |         r2 = r0 + r2;
    0x000262d0 bl 0x36e84                        |         r0 = Curl_ssl_connect_nonblocking ();
    0x000262d4 subs r6, r0, 0                    |         r6 = r0 - 0;
                                                 |         if (r6 == r0) {
    0x000262d8 movne r3, 1                       |             r3 = 1;
                                                 |         }
                                                 |         if (r6 == r0) {
    0x000262dc strbne r3, [r4, 0x251]            |             *((r4 + 0x251)) = r3;
                                                 |         }
    0x000262e0 bne 0x262a8                       |         
                                                 |     } while (r6 != r0);
                                                 | label_7:
    0x000262e4 ldrb r3, [r8, 0x271]              |     r3 = *((r8 + 0x271));
    0x000262e8 cmp r3, 0                         |     
                                                 |     if (r3 != 0) {
    0x000262ec bne 0x26298                       |         goto label_0;
                                                 |     }
    0x000262f0 b 0x262a4                         |     goto label_1;
                                                 | label_6:
    0x000262f4 ldrb r3, [r4, 0x256]              |     r3 = *((r4 + 0x256));
    0x000262f8 cmp r3, 0                         |     
                                                 |     if (r3 == 0) {
    0x000262fc beq 0x262a4                       |         goto label_1;
                                                 |     }
    0x00026300 ldr r6, [r4]                      |     r6 = *(r4);
    0x00026304 mov r3, sp                        |     r3 = sp;
    0x00026308 mov r0, r3                        |     r0 = r3;
    0x0002630c mov r2, 0x1b8                     |     r2 = 0x1b8;
    0x00026310 mov r1, 0                         |     r1 = 0;
    0x00026314 ldr r8, [r6, 0x12c]               |     r8 = *((r6 + 0x12c));
    0x00026318 bl 0x576c                         |     memset (r0, r1, r2);
    0x0002631c mov r1, 0                         |     r1 = 0;
    0x00026320 str r0, [r6, 0x12c]               |     *((r6 + 0x12c)) = r0;
    0x00026324 mov r0, r4                        |     r0 = r4;
    0x00026328 bl 0x1cb34                        |     Curl_conncontrol ();
    0x0002632c ldrb r3, [r4, 0x253]              |     r3 = *((r4 + 0x253));
    0x00026330 cmp r3, 0                         |     
                                                 |     if (r3 == 0) {
    0x00026334 beq 0x26384                       |         goto label_8;
                                                 |     }
    0x00026338 cmp r5, 1                         |     
    0x0002633c ldr r2, [r4, 0xb4]                |     r2 = *((r4 + 0xb4));
                                                 |     if (r5 != 1) {
    0x00026340 bne 0x26394                       |         goto label_9;
                                                 |     }
                                                 | label_3:
    0x00026344 add r3, r4, 0x108                 |     r3 = r4 + 0x108;
    0x00026348 ldrh r3, [r3]                     |     r3 = *(r3);
                                                 | label_4:
    0x0002634c mov r1, r5                        |     r1 = r5;
    0x00026350 mov r0, r4                        |     r0 = r4;
    0x00026354 bl 0x2565c                        |     Curl_proxyCONNECT ();
    0x00026358 ldr r3, [r4]                      |     r3 = *(r4);
    0x0002635c str r8, [r3, 0x12c]               |     *((r3 + 0x12c)) = r8;
    0x00026360 subs r6, r0, 0                    |     r6 = r0 - 0;
                                                 |     if (r6 != r0) {
    0x00026364 bne 0x262a8                       |         goto label_2;
                                                 |     }
    0x00026368 ldr r3, [pc, 0x3c]                |     
    0x0002636c ldr r0, [r4, 0x298]               |     r0 = *((r4 + 0x298));
    0x00026370 ldr r3, [r7, r3]                  |     r3 = *((r7 + r3));
    0x00026374 ldr r3, [r3]                      |     r3 = $d;
    0x00026378 blx r3                            |     uint32_t (*r3)(uint32_t, uint32_t) (r0, r3);
    0x0002637c str r6, [r4, 0x298]               |     *((r4 + 0x298)) = r6;
    0x00026380 b 0x262a8                         |     goto label_2;
                                                 | label_8:
    0x00026384 cmp r5, 1                         |     
                                                 |     if (r5 != 1) {
    0x00026388 ldreq r2, [r4, 0xa8]              |         r2 = *((r4 + 0xa8));
                                                 |     }
                                                 |     if (r5 != 1) {
    0x0002638c ldrne r2, [r4, 0xa0]              |         r2 = *((r4 + 0xa0));
                                                 |         goto label_10;
                                                 |     }
                                                 |     if (r5 == 1) {
                                                 | label_10:
    0x00026390 beq 0x26344                       |         goto label_3;
                                                 |     }
                                                 | label_9:
    0x00026394 ldrb r3, [r4, 0x254]              |     r3 = *((r4 + 0x254));
    0x00026398 cmp r3, 0                         |     
                                                 |     if (r3 == 0) {
    0x0002639c ldrne r3, [r4, 0x104]             |         r3 = *((r4 + 0x104));
                                                 |     }
                                                 |     if (r3 != 0) {
    0x000263a0 ldreq r3, [r4, 0x100]             |         r3 = *((r4 + 0x100));
                                                 |     }
    0x000263a4 b 0x2634c                         |     goto label_4;
                                                 | }
    ; 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/lib/libcurl.so @ 0x280e0 */
                                                             | #include <stdint.h>
                                                             |  
                                                             | uint32_t rotate_right32 (uint32_t value, uint32_t count) {
                                                             |     const uint32_t mask = (CHAR_BIT * sizeof (value)) - 1;
                                                             |     count &= mask;
                                                             |     return (value >> count) | (value << (-count & mask));
                                                             | }
                                                             |  
    ; (fcn) sym.Curl_rand ()                                 | void Curl_rand (int32_t arg_0h, int32_t arg_4h, int32_t arg1, int32_t arg2) {
                                                             |     int32_t var_4h;
                                                             |     int32_t var_ch;
                                                             |     int32_t var_10h;
                                                             |     int32_t var_10h_2;
                                                             |     int32_t var_1ch;
                                                             |     r0 = arg1;
                                                             |     r1 = arg2;
    0x000280e0 push {r4, r5, r6, r7, r8, sb, sl, fp, lr}     |     
    0x000280e4 ldr r7, [pc, 0x15c]                           |     r7 = *(0x28244);
    0x000280e8 ldr r6, [pc, 0x15c]                           |     r6 = $d;
    0x000280ec add r7, pc, r7                                |     r7 = pc + r7;
    0x000280f0 sub sp, sp, 0x1c                              |     
    0x000280f4 mov r8, r0                                    |     r8 = r0;
    0x000280f8 mov r5, r1                                    |     r5 = r1;
    0x000280fc mov r4, r2                                    |     r4 = r2;
    0x00028100 mov fp, 0x2b                                  |     
    0x00028104 add sl, r7, 4                                 |     sl = r7 + 4;
                                                             | label_0:
    0x00028108 cmp r4, 0                                     |     
                                                             |     if (r4 == 0) {
    0x0002810c beq 0x2823c                                   |         goto label_2;
                                                             |     }
    0x00028110 cmp r4, 4                                     |     
    0x00028114 mov r2, 4                                     |     r2 = 4;
    0x00028118 add r1, sp, 0xc                               |     r1 += var_ch;
    0x0002811c mov r0, r8                                    |     r0 = r8;
                                                             |     if (r4 >= 4) {
    0x00028120 movlo sb, r4                                  |         sb = r4;
                                                             |     }
                                                             |     if (r4 < 4) {
    0x00028124 movhs sb, 4                                   |         sb = 4;
                                                             |     }
    0x00028128 bl 0x378b4                                    |     r0 = Curl_ssl_random ();
    0x0002812c cmp r0, 4                                     |     
    0x00028130 mov fp, r0                                    |     
                                                             |     if (r0 != 4) {
    0x00028134 bne 0x28234                                   |         goto label_3;
                                                             |     }
    0x00028138 ldrb r1, [r7]                                 |     r1 = *(r7);
    0x0002813c cmp r1, 0                                     |     
                                                             |     if (r1 == 0) {
    0x00028140 bne 0x281ec                                   |         
    0x00028144 ldr r0, [pc, 0x104]                           |         r0 = *(0x2824c);
    0x00028148 add r0, pc, r0                                |         r0 = pc + r0;
    0x0002814c bl 0x5a24                                     |         r0 = open64 ();
    0x00028150 subs r3, r0, 0                                |         r3 = r0 - 0;
    0x00028154 str r3, [sp, 4]                               |         var_4h = r3;
                                                             |         if (r3 >= r0) {
    0x00028158 blt 0x28180                                   |             
    0x0002815c mov r2, fp                                    |             r2 = fp;
    0x00028160 mov r1, sl                                    |             r1 = sl;
    0x00028164 bl 0x5304                                     |             read (r0, r1, r2);
    0x00028168 ldr r3, [sp, 4]                               |             r3 = var_4h;
    0x0002816c cmp r0, 4                                     |             
                                                             |             if (r0 != 4) {
    0x00028170 moveq r2, 1                                   |                 r2 = 1;
                                                             |             }
    0x00028174 mov r0, r3                                    |             r0 = r3;
                                                             |             if (r0 != 4) {
    0x00028178 strbeq r2, [r7]                               |                 *(r7) = r2;
                                                             |             }
    0x0002817c bl 0x55f8                                     |             close (r0);
                                                             |         }
    0x00028180 ldr fp, [pc, 0xcc]                            |         fp = *(0x28250);
    0x00028184 add fp, pc, fp                                |         
    0x00028188 ldrb r3, [fp]                                 |         r3 = *(fp);
    0x0002818c cmp r3, 0                                     |         
                                                             |         if (r3 != 0) {
    0x00028190 bne 0x281ec                                   |             goto label_4;
                                                             |         }
    0x00028194 add r0, sp, 0x10                              |         r0 += var_10h;
    0x00028198 bl 0x69f0                                     |         Curl_now ();
    0x0002819c ldr r1, [pc, 0xb4]                            |         r1 = *(0x28254);
    0x000281a0 mov r0, r8                                    |         r0 = r8;
    0x000281a4 add r1, pc, r1                                |         r1 = pc + r1;
    0x000281a8 bl 0x104cc                                    |         Curl_infof ();
    0x000281ac ldrd r2, r3, [sp, 0x10]                       |         __asm ("ldrd r2, r3, [var_10h]");
    0x000281b0 add r3, r3, r2                                |         r3 += r2;
    0x000281b4 ldr r2, [fp, 4]                               |         r2 = *(arg_4h);
    0x000281b8 add r2, r3, r2                                |         r2 = r3 + r2;
    0x000281bc mul r3, r6, r2                                |         r3 = r6 * r2;
    0x000281c0 add r2, r3, 0x3000                            |         r2 = r3 + 0x3000;
    0x000281c4 add r2, r2, 0x39                              |         r2 += 0x39;
    0x000281c8 mul r3, r6, r2                                |         r3 = r6 * r2;
    0x000281cc add r2, r3, 0x3000                            |         r2 = r3 + 0x3000;
    0x000281d0 add r2, r2, 0x39                              |         r2 += 0x39;
    0x000281d4 mul r3, r6, r2                                |         r3 = r6 * r2;
    0x000281d8 add r3, r3, 0x3000                            |         r3 += 0x3000;
    0x000281dc add r3, r3, 0x39                              |         r3 += 0x39;
    0x000281e0 str r3, [fp, 4]                               |         *(arg_4h) = r3;
    0x000281e4 mov r3, 1                                     |         r3 = 1;
    0x000281e8 strb r3, [fp]                                 |         *(fp) = r3;
                                                             |     }
                                                             | label_4:
    0x000281ec ldr r2, [pc, 0x68]                            |     r2 = *(0x28258);
    0x000281f0 add r2, pc, r2                                |     r2 = pc + r2;
    0x000281f4 ldr r3, [r2, 4]                               |     
    0x000281f8 mul r1, r6, r3                                |     r1 = r6 * r3;
    0x000281fc add r3, r1, 0x3000                            |     r3 = r1 + 0x3000;
    0x00028200 add r3, r3, 0x39                              |     r3 = 0x28295;
    0x00028204 str r3, [r2, 4]                               |     *((r2 + 4)) = r3;
    0x00028208 ror r3, r3, 0x10                              |     r3 = rotate_right32 (r3, 16);
    0x0002820c str r3, [sp, 0xc]                             |     var_ch = r3;
                                                             | label_1:
    0x00028210 ldr r3, [sp, 0xc]                             |     r3 = var_ch;
    0x00028214 add r2, r5, sb                                |     r2 = r5 + sb;
                                                             |     do {
    0x00028218 strb r3, [r5], 1                              |         *(r5) = r3;
                                                             |         r5++;
    0x0002821c cmp r5, r2                                    |         
    0x00028220 lsr r3, r3, 8                                 |         r3 >>= 8;
    0x00028224 bne 0x28218                                   |         
                                                             |     } while (r5 != r2);
    0x00028228 sub r4, r4, sb                                |     r4 -= sb;
    0x0002822c mov fp, 0                                     |     
    0x00028230 b 0x28108                                     |     goto label_0;
                                                             | label_3:
    0x00028234 cmp r0, 0                                     |     
                                                             |     if (r0 == 0) {
    0x00028238 beq 0x28210                                   |         goto label_1;
                                                             |     }
                                                             | label_2:
    0x0002823c mov r0, fp                                    |     r0 = fp;
    0x00028240 add sp, sp, 0x1c                              |     
    0x00028244 pop {r4, r5, r6, r7, r8, sb, sl, fp, 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/lib/libcurl.so @ 0x28260 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.Curl_rand_hex ()             | uint32_t Curl_rand_hex (int32_t arg1, int32_t arg2) {
                                             |     int32_t var_0h;
                                             |     int32_t var_84h;
                                             |     r0 = arg1;
                                             |     r1 = arg2;
    0x00028260 cmp r2, 0xff                  |     
                                             |     if (r2 > 0xff) {
    0x00028264 bhi 0x282e0                   |         goto label_0;
                                             |     }
    0x00028268 tst r2, 1                     |     
                                             |     if ((r2 & 1) == 0) {
    0x0002826c beq 0x282e0                   |         goto label_0;
                                             |     }
    0x00028270 push {r4, r5, lr}             |     
    0x00028274 sub r4, r2, 1                 |     r4 = r2 - 1;
    0x00028278 sub sp, sp, 0x84              |     
    0x0002827c mov r5, r1                    |     r5 = r1;
    0x00028280 lsr r2, r4, 1                 |     r2 = r4 >> 1;
    0x00028284 mov r1, sp                    |     r1 = sp;
    0x00028288 bl 0x280e0                    |     r0 = Curl_rand ();
    0x0002828c cmp r0, 0                     |     
                                             |     if (r0 != 0) {
    0x00028290 bne 0x282b8                   |         goto label_1;
                                             |     }
    0x00028294 ldr ip, [pc, 0x4c]            |     ip = *(0x282e4);
    0x00028298 mov r1, r5                    |     r1 = r5;
    0x0002829c sub r2, sp, 1                 |     r2 = sp - 1;
    0x000282a0 add ip, pc, ip                |     
                                             |     do {
    0x000282a4 cmp r4, 0                     |         
    0x000282a8 mov r3, r1                    |         r3 = r1;
    0x000282ac add r1, r1, 2                 |         r1 += 2;
                                             |         if (r4 == 0) {
    0x000282b0 bne 0x282c0                   |             
    0x000282b4 strb r4, [r3]                 |             *(r3) = r4;
                                             | label_1:
    0x000282b8 add sp, sp, 0x84              |             
    0x000282bc pop {r4, r5, pc}              |             
                                             |         }
    0x000282c0 ldrb r3, [r2, 1]!             |         r3 = var_0h;
    0x000282c4 sub r4, r4, 2                 |         r4 -= 2;
    0x000282c8 ldrb lr, [ip, r3, lsr 4]      |         
    0x000282cc and r3, r3, 0xf               |         r3 &= 0xf;
    0x000282d0 ldrb r3, [ip, r3]             |         r3 = *((ip + r3));
    0x000282d4 strb lr, [r1, -2]             |         
    0x000282d8 strb r3, [r1, -1]             |         *((r1 - 1)) = r3;
    0x000282dc b 0x282a4                     |         
                                             |     } while (1);
                                             | label_0:
    0x000282e0 mov r0, 0x2b                  |     r0 = 0x2b;
    0x000282e4 bx lr                         |     return r0;
                                             | }
    ; 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/lib/libcurl.so @ 0x182f4 */
                                                             | #include <stdint.h>
                                                             |  
                                                             | #define BIT_MASK(t,v) ((t)(-((v)!= 0)))&(((t)-1)>>((sizeof(t)*CHAR_BIT)-(v)))
                                                             |  
    ; (fcn) sym.Curl_readwrite ()                            | void Curl_readwrite (int32_t arg1, int32_t arg2) {
                                                             |     int32_t var_0h;
                                                             |     int32_t var_0h_2;
                                                             |     int32_t var_8h;
                                                             |     int32_t var_8h_2;
                                                             |     int32_t var_10h;
                                                             |     int32_t var_10h_2;
                                                             |     int32_t var_18h;
                                                             |     int32_t var_20h;
                                                             |     int32_t var_20h_2;
                                                             |     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_44h;
                                                             |     int32_t var_48h;
                                                             |     int32_t var_52h;
                                                             |     int32_t var_53h;
                                                             |     size_t size;
                                                             |     int32_t var_58h;
                                                             |     int32_t var_5ch;
                                                             |     r0 = arg1;
                                                             |     r1 = arg2;
    0x000182f4 push {r4, r5, r6, r7, r8, sb, sl, fp, lr}     |     
    0x000182f8 ldr sl, [r0, 0x4e8]                           |     sl = *((r0 + 0x4e8));
    0x000182fc sub sp, sp, 0x5c                              |     
    0x00018300 str r3, [sp, 0x38]                            |     var_38h = r3;
    0x00018304 ldr r3, [pc, 0xec8]                           |     r3 = *(0x191d0);
    0x00018308 str r2, [sp, 0x2c]                            |     var_2ch = r2;
    0x0001830c add r3, pc, r3                                |     r3 = pc + r3;
    0x00018310 str r3, [sp, 0x3c]                            |     var_3ch = r3;
    0x00018314 add r3, r1, 0x70                              |     r3 = r1 + 0x70;
    0x00018318 str r3, [sp, 0x30]                            |     var_30h = r3;
    0x0001831c mov r3, 0                                     |     r3 = 0;
    0x00018320 str r3, [r0, 0x4e8]                           |     *((r0 + 0x4e8)) = r3;
    0x00018324 ldr r3, [r1, 0x110]                           |     r3 = *((r1 + 0x110));
    0x00018328 mov r8, r0                                    |     r8 = r0;
    0x0001832c and r2, r3, 0x15                              |     r2 = r3 & 0x15;
    0x00018330 cmp r2, 1                                     |     
    0x00018334 and r3, r3, 0x2a                              |     r3 &= 0x2a;
                                                             |     if (r2 != 1) {
    0x00018338 ldreq r0, [r0, 0x290]                         |         r0 = *((r0 + 0x290));
                                                             |     }
                                                             |     if (r2 == 1) {
    0x0001833c mvnne r0, 0                                   |         r0 = ~0;
                                                             |     }
    0x00018340 cmp r3, 2                                     |     
    0x00018344 ldr r3, [r8]                                  |     r3 = *(r8);
                                                             |     if (r3 != 2) {
    0x00018348 ldreq r2, [r8, 0x294]                         |         r2 = *((r8 + 0x294));
                                                             |     }
    0x0001834c add r3, r3, 0x4000                            |     r3 += 0x4000;
    0x00018350 ldr r3, [r3, 0xa18]                           |     r3 = *((r3 + 0xa18));
                                                             |     if (r3 == 2) {
    0x00018354 mvnne r2, 0                                   |         r2 = ~0;
                                                             |     }
    0x00018358 cmp r3, 0                                     |     
    0x0001835c mov r4, r1                                    |     r4 = r1;
                                                             |     if (r3 == 0) {
    0x00018360 orrne sl, sl, 1                               |         sl |= 1;
                                                             |     }
                                                             |     if (r3 == 0) {
    0x00018364 bne 0x18380                                   |         
    0x00018368 cmp sl, 0                                     |         
                                                             |         if (sl != 0) {
    0x0001836c bne 0x18380                                   |             goto label_19;
                                                             |         }
    0x00018370 mov r3, sl                                    |         r3 = sl;
    0x00018374 mvn r1, 0                                     |         r1 = ~0;
    0x00018378 bl 0x22ea8                                    |         r0 = Curl_socket_check ();
    0x0001837c mov sl, r0                                    |         sl = r0;
                                                             |     }
                                                             | label_19:
    0x00018380 cmp sl, 4                                     |     
                                                             |     if (sl != 4) {
    0x00018384 bne 0x183a8                                   |         goto label_20;
                                                             |     }
    0x00018388 ldr r1, [pc, 0xe48]                           |     r1 = $d;
    0x0001838c mov r0, r4                                    |     r0 = r4;
    0x00018390 add r1, pc, r1                                |     r1 = pc + r1;
    0x00018394 bl 0x10544                                    |     Curl_failf ();
    0x00018398 mov r5, 0x37                                  |     r5 = 0x37;
                                                             |     do {
                                                             | label_0:
    0x0001839c mov r0, r5                                    |         r0 = r5;
    0x000183a0 add sp, sp, 0x5c                              |         
    0x000183a4 pop {r4, r5, r6, r7, r8, sb, sl, fp, pc}      |         
                                                             | label_20:
    0x000183a8 ldr sb, [r4, 0x110]                           |         sb = *((r4 + 0x110));
    0x000183ac ands sb, sb, 1                                |         sb &= 1;
                                                             |         if (sb == sb) {
    0x000183b0 beq 0x18cf4                                   |             goto label_21;
                                                             |         }
    0x000183b4 tst sl, 1                                     |         
    0x000183b8 mov r3, 0                                     |         r3 = 0;
                                                             |         if ((sl & 1) == 0) {
    0x000183bc bne 0x183cc                                   |             
    0x000183c0 ldrb r2, [r8, 0x269]                          |             r2 = *((r8 + 0x269));
    0x000183c4 cmp r2, r3                                    |             
                                                             |             if (r2 == r3) {
    0x000183c8 beq 0x18cf0                                   |                 goto label_22;
                                                             |             }
                                                             |         }
    0x000183cc ldr r2, [sp, 0x2c]                            |         r2 = var_2ch;
    0x000183d0 strb r3, [sp, 0x52]                           |         var_52h = r3;
    0x000183d4 strb r3, [r2]                                 |         *(r2) = r3;
    0x000183d8 ldr r2, [sp, 0x38]                            |         r2 = var_38h;
    0x000183dc mov r6, 0                                     |         r6 = 0;
    0x000183e0 strb r3, [r2]                                 |         *(r2) = r3;
    0x000183e4 mov r3, 0x64                                  |         r3 = 0x64;
    0x000183e8 str r3, [sp, 0x34]                            |         var_34h = r3;
    0x000183ec ldr r3, [pc, 0xde8]                           |         r3 = *(0x191d8);
    0x000183f0 mov fp, r6                                    |         
    0x000183f4 add r3, pc, r3                                |         r3 = pc + r3;
    0x000183f8 str r3, [sp, 0x40]                            |         var_40h = r3;
    0x000183fc ldr r3, [pc, 0xddc]                           |         r3 = *(0x191dc);
    0x00018400 add r3, pc, r3                                |         r3 = pc + r3;
    0x00018404 str r3, [sp, 0x44]                            |         var_44h = r3;
                                                             | label_10:
    0x00018408 ldrd r0, r1, [r4, 0x70]                       |         __asm ("ldrd r0, r1, [r4, 0x70]");
    0x0001840c ldr ip, [r4, 0x498]                           |         ip = *((r4 + 0x498));
    0x00018410 mvn r3, 0                                     |         r3 = ~0;
    0x00018414 mvn r2, 0                                     |         r2 = ~0;
    0x00018418 cmp r1, r3                                    |         
    0x0001841c cmpeq r0, r2                                  |         __asm ("cmpeq r0, r2");
                                                             |         if (r1 != r3) {
    0x00018420 beq 0x18458                                   |             
    0x00018424 ldrb r3, [r4, 0xb8]                           |             r3 = *((r4 + 0xb8));
    0x00018428 cmp r3, 0                                     |             
                                                             |             if (r3 != 0) {
    0x0001842c bne 0x18458                                   |                 goto label_23;
                                                             |             }
    0x00018430 ldrd r2, r3, [r4, 0x90]                       |             __asm ("ldrd r2, r3, [r4, 0x90]");
    0x00018434 subs r0, r0, r2                               |             r0 -= r2;
    0x00018438 sbc r1, r1, r3                                |             __asm ("sbc r1, r1, r3");
    0x0001843c strd r0, r1, [sp, 0x20]                       |             __asm ("strd r0, r1, [var_20h]");
    0x00018440 ldrd r2, r3, [sp, 0x20]                       |             __asm ("ldrd r2, r3, [var_20h]");
    0x00018444 mov r1, 0                                     |             r1 = 0;
    0x00018448 cmp r2, ip                                    |             
    0x0001844c sbcs r3, r3, r1                               |             __asm ("sbcs r3, r3, r1");
    0x00018450 ldr r3, [sp, 0x20]                            |             r3 = var_20h;
                                                             |             if (r2 < ip) {
    0x00018454 movlt ip, r3                                  |                 goto label_23;
                                                             |             }
                                                             |         }
                                                             | label_23:
    0x00018458 cmp ip, 0                                     |         
                                                             |         if (ip != 0) {
    0x0001845c streq ip, [sp, 0x54]                          |             size = ip;
                                                             |         }
                                                             |         if (ip == 0) {
    0x00018460 beq 0x18494                                   |             goto label_24;
                                                             |         }
    0x00018464 add r3, sp, 0x54                              |         r3 += size;
    0x00018468 str r3, [sp]                                  |         *(sp) = r3;
    0x0001846c ldr r2, [r4, 0x108]                           |         r2 = *((r4 + 0x108));
    0x00018470 mov r3, ip                                    |         r3 = ip;
    0x00018474 ldr r1, [r8, 0x290]                           |         r1 = *((r8 + 0x290));
    0x00018478 mov r0, r8                                    |         r0 = r8;
    0x0001847c bl 0x102f0                                    |         r0 = Curl_read ();
    0x00018480 cmp r0, 0x51                                  |         
    0x00018484 mov r5, r0                                    |         r5 = r0;
                                                             |         if (r0 == 0x51) {
    0x00018488 beq 0x18ce8                                   |             goto label_25;
                                                             |         }
    0x0001848c cmp r0, 0                                     |         
    0x00018490 bne 0x1839c                                   |         
                                                             |     } while (r0 != 0);
                                                             | label_24:
    0x00018494 ldrd r2, r3, [r4, 0x90]                       |     __asm ("ldrd r2, r3, [r4, 0x90]");
    0x00018498 orrs r3, r2, r3                               |     r3 = r2 | r3;
                                                             |     if (r3 == r2) {
    0x0001849c bne 0x184e0                                   |         
    0x000184a0 ldrd r2, r3, [r4, 0x98]                       |         __asm ("ldrd r2, r3, [r4, 0x98]");
    0x000184a4 orrs r3, r2, r3                               |         r3 = r2 | r3;
                                                             |         if (r3 != r2) {
    0x000184a8 bne 0x184e0                                   |             goto label_26;
                                                             |         }
    0x000184ac mov r1, 7                                     |         r1 = 7;
    0x000184b0 mov r0, r4                                    |         r0 = r4;
    0x000184b4 bl 0x7f7c                                     |         Curl_pgrsTime ();
    0x000184b8 ldr r3, [r4, 0xf4]                            |         r3 = *((r4 + 0xf4));
    0x000184bc cmp r3, 0                                     |         
                                                             |         if (r3 == 0) {
    0x000184c0 beq 0x184e0                                   |             goto label_26;
                                                             |         }
    0x000184c4 add r5, sp, 0x48                              |         r5 += var_48h;
    0x000184c8 mov r0, r5                                    |         r0 = r5;
    0x000184cc bl 0x69f0                                     |         Curl_now ();
    0x000184d0 ldr r3, [sp, 0x30]                            |         r3 = var_30h;
    0x000184d4 ldm r5, {r0, r1}                              |         r0 = *(r5);
                                                             |         r1 = *((r5 + 4));
    0x000184d8 add r3, r3, 0x7c                              |         r3 += 0x7c;
    0x000184dc stm r3, {r0, r1}                              |         *(r3) = r0;
                                                             |         *((r3 + 4)) = r1;
                                                             |     }
                                                             | label_26:
    0x000184e0 ldr r3, [sp, 0x54]                            |     r3 = size;
    0x000184e4 cmp r3, 0                                     |     
                                                             |     if (r3 != 0) {
    0x000184e8 ldreq r2, [r4, 0x104]                         |         r2 = *((r4 + 0x104));
                                                             |     }
                                                             |     if (r3 == 0) {
    0x000184ec movne r2, 0                                   |         r2 = 0;
                                                             |     }
    0x000184f0 clzeq r2, r2                                  |     __asm ("clzeq r2, r2");
                                                             |     if (r3 != 0) {
    0x000184f4 lsreq r2, r2, 5                               |         r2 >>= 5;
                                                             |     }
    0x000184f8 str r2, [sp, 0x20]                            |     var_20h = r2;
    0x000184fc ldr r2, [sp, 0x20]                            |     r2 = var_20h;
    0x00018500 and r6, r2, 1                                 |     r6 = r2 & 1;
    0x00018504 cmp r3, 0                                     |     
                                                             |     if (r3 > 0) {
    0x00018508 movle r2, r6                                  |         r2 = r6;
                                                             |     }
                                                             |     if (r3 <= 0) {
    0x0001850c orrgt r2, r6, 1                               |         r2 = r6 | 1;
                                                             |     }
    0x00018510 cmp r2, 0                                     |     
                                                             |     if (r2 == 0) {
    0x00018514 beq 0x185e8                                   |         goto label_27;
                                                             |     }
    0x00018518 ldr r2, [r4, 0x108]                           |     r2 = *((r4 + 0x108));
    0x0001851c mov r1, 0                                     |     r1 = 0;
    0x00018520 strb r1, [r2, r3]                             |     *((r2 + r3)) = r1;
    0x00018524 ldr r3, [r4, 0x108]                           |     r3 = *((r4 + 0x108));
    0x00018528 str r3, [r4, 0xcc]                            |     *((r4 + 0xcc)) = r3;
    0x0001852c ldr r3, [r8, 0x284]                           |     r3 = *((r8 + 0x284));
    0x00018530 ldr r5, [r3, 0x34]                            |     r5 = *((r3 + 0x34));
    0x00018534 cmp r5, r1                                    |     
                                                             |     if (r5 != r1) {
    0x00018538 bne 0x185f8                                   |         goto label_28;
                                                             |     }
                                                             | label_1:
    0x0001853c ldrb r3, [r4, 0xb8]                           |     r3 = *((r4 + 0xb8));
    0x00018540 cmp r3, 0                                     |     
                                                             |     if (r3 == 0) {
    0x00018544 beq 0x186c4                                   |         goto label_29;
                                                             |     }
    0x00018548 add r3, sp, 0x58                              |     r3 += var_58h;
    0x0001854c mov r2, 0                                     |     r2 = 0;
    0x00018550 add r7, sp, 0x54                              |     r7 += size;
    0x00018554 strb r2, [r3, -5]!                            |     *((r3 -= 5)) = r2;
    0x00018558 mov r1, r8                                    |     r1 = r8;
    0x0001855c mov r2, r7                                    |     r2 = r7;
    0x00018560 mov r0, r4                                    |     r0 = r4;
    0x00018564 bl 0xf060                                     |     r0 = Curl_http_readwrite_headers ();
    0x00018568 subs r5, r0, 0                                |     r5 = r0 - 0;
                                                             |     if (r5 != r0) {
    0x0001856c bne 0x1839c                                   |         goto label_0;
                                                             |     }
    0x00018570 ldr r3, [r8, 0x284]                           |     r3 = *((r8 + 0x284));
    0x00018574 ldr r5, [r3, 0x34]                            |     r5 = *((r3 + 0x34));
    0x00018578 cmp r5, 0                                     |     
                                                             |     if (r5 != 0) {
    0x0001857c bne 0x18668                                   |         goto label_30;
                                                             |     }
                                                             | label_2:
    0x00018580 ldrb r3, [sp, 0x53]                           |     r3 = var_53h;
    0x00018584 cmp r3, 0                                     |     
                                                             |     if (r3 == 0) {
    0x00018588 beq 0x186c4                                   |         goto label_29;
                                                             |     }
    0x0001858c ldr r3, [sp, 0x54]                            |     r3 = size;
    0x00018590 cmp r3, 0                                     |     
                                                             |     if (r3 <= 0) {
    0x00018594 ble 0x18620                                   |         goto label_3;
                                                             |     }
    0x00018598 ldr r3, [r8]                                  |     r3 = *(r8);
    0x0001859c mov r1, 1                                     |     r1 = 1;
    0x000185a0 ldr r0, [r3, 0x64]                            |     r0 = *((r3 + 0x64));
    0x000185a4 bl 0x1dbe4                                    |     Curl_pipeline_wanted ();
    0x000185a8 add r3, r4, 0x4000                            |     r3 = r4 + 0x4000;
    0x000185ac ldr r3, [r3, 0x9ec]                           |     r3 = *((r3 + 0x9ec));
    0x000185b0 ldr r2, [sp, 0x54]                            |     r2 = size;
    0x000185b4 cmp r0, 0                                     |     
                                                             |     if (r0 == 0) {
    0x000185b8 beq 0x186b0                                   |         goto label_31;
                                                             |     }
    0x000185bc ldr r1, [pc, 0xc20]                           |     r1 = *(0x191e0);
    0x000185c0 mov r0, r4                                    |     r0 = r4;
    0x000185c4 add r1, pc, r1                                |     r1 = pc + r1;
    0x000185c8 bl 0x104cc                                    |     Curl_infof ();
    0x000185cc ldr r3, [r8, 0x2e8]                           |     r3 = *((r8 + 0x2e8));
    0x000185d0 ldr r2, [sp, 0x54]                            |     r2 = size;
    0x000185d4 sub r3, r3, r2                                |     r3 -= r2;
    0x000185d8 str r3, [r8, 0x2e8]                           |     *((r8 + 0x2e8)) = r3;
    0x000185dc mov r3, 1                                     |     r3 = 1;
    0x000185e0 strb r3, [r8, 0x269]                          |     *((r8 + 0x269)) = r3;
    0x000185e4 b 0x18620                                     |     goto label_3;
                                                             | label_27:
    0x000185e8 ldr r3, [r4, 0x110]                           |     r3 = *((r4 + 0x110));
    0x000185ec bic r3, r3, 1                                 |     r3 = BIT_MASK (r3, 1);
                                                             | label_5:
    0x000185f0 str r3, [r4, 0x110]                           |     *((r4 + 0x110)) = r3;
    0x000185f4 b 0x18620                                     |     goto label_3;
                                                             | label_28:
    0x000185f8 add r3, sp, 0x52                              |     r3 += var_52h;
    0x000185fc add r2, sp, 0x54                              |     r2 += size;
    0x00018600 mov r1, r8                                    |     r1 = r8;
    0x00018604 mov r0, r4                                    |     r0 = r4;
    0x00018608 blx r5                                        |     r0 = uint32_t (*r5)(uint32_t, uint32_t, uint32_t, uint32_t) (r0, r1, r2, r3);
    0x0001860c subs r5, r0, 0                                |     r5 = r0 - 0;
                                                             |     if (r5 != r0) {
    0x00018610 bne 0x1839c                                   |         goto label_0;
                                                             |     }
    0x00018614 ldrb r3, [sp, 0x52]                           |     r3 = var_52h;
    0x00018618 cmp r3, 0                                     |     
                                                             |     if (r3 == 0) {
    0x0001861c beq 0x1853c                                   |         goto label_1;
                                                             |     }
                                                             | label_3:
    0x00018620 ldr r3, [sp, 0x34]                            |     r3 = var_34h;
    0x00018624 cmp r3, 0                                     |     
                                                             |     if (r3 == 0) {
    0x00018628 beq 0x18cc0                                   |         goto label_32;
                                                             |     }
                                                             | label_11:
    0x0001862c ldr r3, [r4, 0x110]                           |     r3 = *((r4 + 0x110));
    0x00018630 and r3, r3, 3                                 |     r3 &= 3;
    0x00018634 cmp r3, 2                                     |     
                                                             |     if (r3 != 2) {
    0x00018638 bne 0x18770                                   |         goto label_4;
                                                             |     }
    0x0001863c ldrb r3, [r8, 0x251]                          |     r3 = *((r8 + 0x251));
    0x00018640 cmp r3, 0                                     |     
                                                             |     if (r3 == 0) {
    0x00018644 beq 0x18770                                   |         goto label_4;
                                                             |     }
    0x00018648 ldr r1, [pc, 0xb98]                           |     r1 = *(0x191e4);
    0x0001864c mov r0, r4                                    |     r0 = r4;
    0x00018650 add r1, pc, r1                                |     r1 = pc + r1;
    0x00018654 bl 0x104cc                                    |     Curl_infof ();
    0x00018658 ldr r3, [r4, 0x110]                           |     r3 = *((r4 + 0x110));
    0x0001865c bic r3, r3, 2                                 |     r3 = BIT_MASK (r3, 2);
    0x00018660 str r3, [r4, 0x110]                           |     *((r4 + 0x110)) = r3;
    0x00018664 b 0x18770                                     |     goto label_4;
                                                             | label_30:
    0x00018668 ldrd r2, r3, [r4, 0x80]                       |     __asm ("ldrd r2, r3, [r4, 0x80]");
    0x0001866c cmp r2, 1                                     |     
    0x00018670 sbcs r3, r3, 0                                |     __asm ("sbcs r3, r3, 0");
                                                             |     if (r2 >= 1) {
    0x00018674 bge 0x18580                                   |         goto label_2;
                                                             |     }
    0x00018678 ldr r3, [sp, 0x54]                            |     r3 = size;
    0x0001867c cmp r3, 0                                     |     
                                                             |     if (r3 <= 0) {
    0x00018680 ble 0x18580                                   |         goto label_2;
                                                             |     }
    0x00018684 add r3, sp, 0x52                              |     r3 += var_52h;
    0x00018688 mov r2, r7                                    |     r2 = r7;
    0x0001868c mov r1, r8                                    |     r1 = r8;
    0x00018690 mov r0, r4                                    |     r0 = r4;
    0x00018694 blx r5                                        |     r0 = uint32_t (*r5)(uint32_t, uint32_t, uint32_t, uint32_t) (r0, r1, r2, r3);
    0x00018698 subs r5, r0, 0                                |     r5 = r0 - 0;
                                                             |     if (r5 != r0) {
    0x0001869c bne 0x1839c                                   |         goto label_0;
                                                             |     }
    0x000186a0 ldrb r3, [sp, 0x52]                           |     r3 = var_52h;
    0x000186a4 cmp r3, 0                                     |     
                                                             |     if (r3 == 0) {
    0x000186a8 beq 0x18580                                   |         goto label_2;
                                                             |     }
    0x000186ac b 0x18620                                     |     goto label_3;
                                                             | label_31:
    0x000186b0 ldr r1, [pc, 0xb34]                           |     r1 = *(0x191e8);
    0x000186b4 mov r0, r4                                    |     r0 = r4;
    0x000186b8 add r1, pc, r1                                |     r1 = pc + r1;
    0x000186bc bl 0x104cc                                    |     Curl_infof ();
    0x000186c0 b 0x18620                                     |     goto label_3;
                                                             | label_29:
    0x000186c4 ldr r3, [r4, 0xcc]                            |     r3 = *((r4 + 0xcc));
    0x000186c8 cmp r3, 0                                     |     
                                                             |     if (r3 == 0) {
    0x000186cc beq 0x18b50                                   |         goto label_8;
                                                             |     }
    0x000186d0 ldrb r3, [r4, 0xb8]                           |     r3 = *((r4 + 0xb8));
    0x000186d4 cmp r3, 0                                     |     
                                                             |     if (r3 != 0) {
    0x000186d8 bne 0x18b50                                   |         goto label_8;
                                                             |     }
    0x000186dc ldr r3, [sp, 0x54]                            |     r3 = size;
    0x000186e0 cmp r3, 0                                     |     
                                                             |     if (r3 <= 0) {
    0x000186e4 orrgt r6, r6, 1                               |         r6 |= 1;
                                                             |     }
    0x000186e8 cmp r6, 0                                     |     
                                                             |     if (r6 == 0) {
    0x000186ec beq 0x18b50                                   |         goto label_8;
                                                             |     }
    0x000186f0 ldrb r3, [r4, 0x4d0]                          |     r3 = *((r4 + 0x4d0));
    0x000186f4 cmp r3, 0                                     |     
                                                             |     if (r3 != 0) {
    0x000186f8 beq 0x1871c                                   |         
    0x000186fc mov r1, 2                                     |         r1 = 2;
    0x00018700 mov r0, r8                                    |         r0 = r8;
    0x00018704 bl 0x1cb34                                    |         Curl_conncontrol ();
    0x00018708 ldr r2, [sp, 0x2c]                            |         r2 = var_2ch;
    0x0001870c mov r3, 1                                     |         r3 = 1;
    0x00018710 strb r3, [r2]                                 |         *(r2) = r3;
    0x00018714 mov r5, 8                                     |         r5 = 8;
    0x00018718 b 0x1839c                                     |         goto label_0;
                                                             |     }
    0x0001871c ldr r3, [r4, 0x104]                           |     r3 = *((r4 + 0x104));
    0x00018720 ldr r2, [sp, 0x20]                            |     r2 = var_20h;
    0x00018724 orrs r3, r2, r3                               |     r3 = r2 | r3;
                                                             |     if (r3 != r2) {
    0x00018728 bne 0x18890                                   |         goto label_33;
                                                             |     }
    0x0001872c ldr r3, [r8, 0x284]                           |     r3 = *((r8 + 0x284));
    0x00018730 ldr r2, [pc, 0xab8]                           |     r2 = *(0x191ec);
    0x00018734 ldr r3, [r3, 0x40]                            |     r3 = *((r3 + 0x40));
    0x00018738 tst r2, r3                                    |     
                                                             |     if ((r2 & r3) == 0) {
    0x0001873c beq 0x18890                                   |         goto label_33;
                                                             |     }
    0x00018740 ldr r3, [r4, 0x11c]                           |     r3 = *((r4 + 0x11c));
    0x00018744 cmp r3, 0                                     |     
                                                             |     if (r3 == 0) {
    0x00018748 beq 0x1879c                                   |         goto label_34;
                                                             |     }
    0x0001874c ldrb r3, [r8, 0x251]                          |     r3 = *((r8 + 0x251));
    0x00018750 mov r2, 1                                     |     r2 = 1;
    0x00018754 cmp r3, 0                                     |     
                                                             |     if (r3 == 0) {
    0x00018758 beq 0x18788                                   |         goto label_35;
                                                             |     }
    0x0001875c ldr r3, [r4, 0x110]                           |     r3 = *((r4 + 0x110));
    0x00018760 bic r3, r3, 1                                 |     r3 = BIT_MASK (r3, 1);
    0x00018764 str r3, [r4, 0x110]                           |     *((r4 + 0x110)) = r3;
    0x00018768 ldr r3, [sp, 0x2c]                            |     r3 = var_2ch;
    0x0001876c strb r2, [r3]                                 |     *(r3) = r2;
                                                             |     do {
                                                             | label_4:
    0x00018770 ldr r3, [sp, 0x2c]                            |         r3 = var_2ch;
    0x00018774 ldrb r3, [r3]                                 |         r3 = *(r3);
    0x00018778 cmp r3, 0                                     |         
                                                             |         if (r3 == 0) {
    0x0001877c beq 0x18cf4                                   |             goto label_21;
                                                             |         }
    0x00018780 mov r5, 0                                     |         r5 = 0;
    0x00018784 b 0x1839c                                     |         goto label_0;
                                                             | label_35:
    0x00018788 ldr r1, [pc, 0xa64]                           |         r1 = *(0x191f0);
    0x0001878c strb r2, [r4, 0x115]                          |         *((r4 + 0x115)) = r2;
    0x00018790 add r1, pc, r1                                |         r1 = pc + r1;
    0x00018794 mov r0, r4                                    |         r0 = r4;
    0x00018798 bl 0x104cc                                    |         Curl_infof ();
                                                             | label_34:
    0x0001879c add r3, r4, 0x4a00                            |         r3 = r4 + 0x4a00;
    0x000187a0 ldrd r0, r1, [r3, -8]                         |         __asm ("ldrd r0, r1, [r3, -8]");
    0x000187a4 orrs r3, r0, r1                               |         r3 = r0 | r1;
                                                             |         if (r3 == r0) {
    0x000187a8 beq 0x1882c                                   |             goto label_36;
                                                             |         }
    0x000187ac ldrb r3, [r4, 0xdc]                           |         r3 = *((r4 + 0xdc));
    0x000187b0 cmp r3, 0                                     |         
                                                             |         if (r3 != 0) {
    0x000187b4 bne 0x1882c                                   |             goto label_36;
                                                             |         }
    0x000187b8 ldr r5, [r4, 0x3d0]                           |         r5 = *((r4 + 0x3d0));
    0x000187bc cmp r5, 1                                     |         
                                                             |         if (r5 != 1) {
    0x000187c0 bne 0x1882c                                   |             goto label_36;
                                                             |         }
    0x000187c4 ldrb r3, [r4, 0x115]                          |         r3 = *((r4 + 0x115));
    0x000187c8 cmp r3, 0                                     |         
                                                             |         if (r3 != 0) {
    0x000187cc bne 0x1882c                                   |             goto label_36;
                                                             |         }
    0x000187d0 ldrd r2, r3, [r4, 0x70]                       |         __asm ("ldrd r2, r3, [r4, 0x70]");
    0x000187d4 cmp r1, r3                                    |         
    0x000187d8 cmpeq r0, r2                                  |         __asm ("cmpeq r0, r2");
                                                             |         if (r1 != r3) {
    0x000187dc bne 0x18814                                   |             goto label_37;
                                                             |         }
    0x000187e0 ldr r1, [pc, 0xa10]                           |         r1 = *(0x191f4);
    0x000187e4 mov r0, r4                                    |         r0 = r4;
    0x000187e8 add r1, pc, r1                                |         r1 = pc + r1;
    0x000187ec bl 0x104cc                                    |         Curl_infof ();
    0x000187f0 mov r1, r5                                    |         r1 = r5;
    0x000187f4 mov r0, r8                                    |         r0 = r8;
    0x000187f8 bl 0x1cb34                                    |         Curl_conncontrol ();
    0x000187fc ldr r3, [r4, 0x110]                           |         r3 = *((r4 + 0x110));
    0x00018800 bic r3, r3, 1                                 |         r3 = BIT_MASK (r3, 1);
    0x00018804 str r3, [r4, 0x110]                           |         *((r4 + 0x110)) = r3;
    0x00018808 ldr r3, [sp, 0x2c]                            |         r3 = var_2ch;
    0x0001880c strb r5, [r3]                                 |         *(r3) = r5;
    0x00018810 b 0x18770                                     |         
                                                             |     } while (1);
                                                             | label_37:
    0x00018814 ldr r1, [pc, 0x9e0]                           |     r1 = *(0x191f8);
    0x00018818 mov r0, r4                                    |     r0 = r4;
    0x0001881c add r1, pc, r1                                |     r1 = pc + r1;
    0x00018820 bl 0x10544                                    |     Curl_failf ();
    0x00018824 mov r5, 0x21                                  |     r5 = 0x21;
    0x00018828 b 0x1839c                                     |     goto label_0;
                                                             | label_36:
    0x0001882c ldr r3, [r4, 0x3c8]                           |     r3 = *((r4 + 0x3c8));
    0x00018830 cmp r3, 0                                     |     
                                                             |     if (r3 != 0) {
    0x00018834 beq 0x18890                                   |         
    0x00018838 add r6, r4, 0x4000                            |         r6 = r4 + 0x4000;
    0x0001883c ldr r3, [r6, 0x9f4]                           |         r3 = *((r6 + 0x9f4));
    0x00018840 cmp r3, 0                                     |         
                                                             |         if (r3 != 0) {
    0x00018844 bne 0x18890                                   |             goto label_33;
                                                             |         }
    0x00018848 ldr r1, [r4, 0x100]                           |         r1 = *((r4 + 0x100));
    0x0001884c mov r0, r4                                    |         r0 = r4;
    0x00018850 bl 0x18278                                    |         r0 = Curl_meets_timecondition ();
    0x00018854 cmp r0, 0                                     |         
                                                             |         if (r0 != 0) {
    0x00018858 bne 0x18890                                   |             goto label_33;
                                                             |         }
    0x0001885c ldr r3, [sp, 0x2c]                            |         r3 = var_2ch;
    0x00018860 ldr r1, [pc, 0x998]                           |         r1 = *(0x191fc);
    0x00018864 mov r5, 1                                     |         r5 = 1;
    0x00018868 strb r5, [r3]                                 |         *(r3) = r5;
    0x0001886c mov r3, 0x130                                 |         r3 = 0x130;
    0x00018870 mov r0, r4                                    |         r0 = r4;
    0x00018874 str r3, [r6, 0xa60]                           |         *((r6 + 0xa60)) = r3;
    0x00018878 add r1, pc, r1                                |         r1 = pc + r1;
    0x0001887c bl 0x104cc                                    |         Curl_infof ();
    0x00018880 mov r1, r5                                    |         r1 = r5;
    0x00018884 mov r0, r8                                    |         r0 = r8;
    0x00018888 bl 0x1cb34                                    |         Curl_conncontrol ();
    0x0001888c b 0x18770                                     |         goto label_4;
                                                             |     }
                                                             | label_33:
    0x00018890 ldr r3, [r4, 0x104]                           |     r3 = *((r4 + 0x104));
    0x00018894 add r3, r3, 1                                 |     r3++;
    0x00018898 str r3, [r4, 0x104]                           |     *((r4 + 0x104)) = r3;
    0x0001889c ldrb r3, [r4, 0x4d8]                          |     r3 = *((r4 + 0x4d8));
    0x000188a0 cmp r3, 0                                     |     
                                                             |     if (r3 != 0) {
    0x000188a4 beq 0x188e8                                   |         
    0x000188a8 ldr r3, [r4, 0xbc]                            |         r3 = *((r4 + 0xbc));
    0x000188ac cmp r3, 0                                     |         
                                                             |         if (r3 != 0) {
    0x000188b0 beq 0x188d4                                   |             
    0x000188b4 ldr r3, [r4, 0xc8]                            |             r3 = *((r4 + 0xc8));
    0x000188b8 ldr r2, [r4, 0x7c4]                           |             r2 = *((r4 + 0x7c4));
    0x000188bc mov r1, 3                                     |             r1 = 3;
    0x000188c0 mov r0, r4                                    |             r0 = r4;
    0x000188c4 bl 0x10424                                    |             Curl_debug ();
    0x000188c8 ldr r3, [r4, 0xbc]                            |             r3 = *((r4 + 0xbc));
    0x000188cc cmp r3, 1                                     |             
                                                             |             if (r3 != 1) {
    0x000188d0 bne 0x188e8                                   |                 goto label_38;
                                                             |             }
                                                             |         }
    0x000188d4 ldr r3, [sp, 0x54]                            |         r3 = size;
    0x000188d8 ldr r2, [r4, 0xcc]                            |         r2 = *((r4 + 0xcc));
    0x000188dc mov r1, 3                                     |         r1 = 3;
    0x000188e0 mov r0, r4                                    |         r0 = r4;
    0x000188e4 bl 0x10424                                    |         Curl_debug ();
                                                             |     }
                                                             | label_38:
    0x000188e8 ldrb r3, [r4, 0x128]                          |     r3 = *((r4 + 0x128));
    0x000188ec cmp r3, 0                                     |     
                                                             |     if (r3 != 0) {
    0x000188f0 beq 0x189c4                                   |         
    0x000188f4 add r3, sp, 0x54                              |         r3 += size;
    0x000188f8 ldr r2, [sp, 0x54]                            |         r2 = size;
    0x000188fc ldr r1, [r4, 0xcc]                            |         r1 = *((r4 + 0xcc));
    0x00018900 mov r0, r8                                    |         r0 = r8;
    0x00018904 bl 0x1b234                                    |         r0 = Curl_httpchunk_read ();
    0x00018908 subs r3, r0, 0                                |         r3 = r0 - 0;
                                                             |         if (r3 > r0) {
    0x0001890c ble 0x18950                                   |             
    0x00018910 cmp r3, 4                                     |             
                                                             |             if (r3 == 4) {
    0x00018914 bne 0x18930                                   |                 
    0x00018918 ldr r1, [pc, 0x8e4]                           |                 r1 = *(0x19200);
    0x0001891c mov r0, r4                                    |                 r0 = r4;
    0x00018920 add r1, pc, r1                                |                 r1 = pc + r1;
    0x00018924 bl 0x10544                                    |                 Curl_failf ();
    0x00018928 mov r5, 0x17                                  |                 r5 = 0x17;
    0x0001892c b 0x1839c                                     |                 goto label_0;
                                                             |             }
    0x00018930 bl 0x1b624                                    |             Curl_chunked_strerror ();
    0x00018934 ldr r1, [pc, 0x8cc]                           |             r1 = *(0x19204);
    0x00018938 mov r5, 0x38                                  |             r5 = 0x38;
    0x0001893c add r1, pc, r1                                |             r1 = pc + r1;
    0x00018940 mov r2, r0                                    |             r2 = r0;
    0x00018944 mov r0, r4                                    |             r0 = r4;
    0x00018948 bl 0x10544                                    |             Curl_failf ();
    0x0001894c b 0x1839c                                     |             goto label_0;
                                                             |         }
    0x00018950 cmn r3, 1                                     |         
                                                             |         if (r3 != 1) {
    0x00018954 bne 0x189c4                                   |             goto label_39;
                                                             |         }
    0x00018958 ldr r3, [r4, 0x110]                           |         r3 = *((r4 + 0x110));
    0x0001895c ldr r5, [r8, 0x38]                            |         r5 = *((r8 + 0x38));
    0x00018960 bic r3, r3, 1                                 |         r3 = BIT_MASK (r3, 1);
    0x00018964 cmp r5, 0                                     |         
    0x00018968 str r3, [r4, 0x110]                           |         *((r4 + 0x110)) = r3;
                                                             |         if (r5 == 0) {
    0x0001896c beq 0x189c4                                   |             goto label_39;
                                                             |         }
    0x00018970 ldr r1, [pc, 0x894]                           |         r1 = *(0x19208);
    0x00018974 mov r2, r5                                    |         r2 = r5;
    0x00018978 add r1, pc, r1                                |         r1 = pc + r1;
    0x0001897c ldr r0, [r8]                                  |         r0 = *(r8);
    0x00018980 bl 0x104cc                                    |         Curl_infof ();
    0x00018984 ldr r3, [r8]                                  |         r3 = *(r8);
    0x00018988 mov r1, 1                                     |         r1 = 1;
    0x0001898c ldr r0, [r3, 0x64]                            |         r0 = *((r3 + 0x64));
    0x00018990 bl 0x1dbe4                                    |         r0 = Curl_pipeline_wanted ();
    0x00018994 cmp r0, 0                                     |         
                                                             |         if (r0 == 0) {
    0x00018998 beq 0x189c4                                   |             goto label_39;
                                                             |         }
    0x0001899c ldr r1, [pc, 0x86c]                           |         r1 = *(0x1920c);
    0x000189a0 mov r2, r5                                    |         r2 = r5;
    0x000189a4 add r1, pc, r1                                |         r1 = pc + r1;
    0x000189a8 ldr r0, [r8]                                  |         r0 = *(r8);
    0x000189ac bl 0x104cc                                    |         Curl_infof ();
    0x000189b0 ldr r3, [r8, 0x2e8]                           |         r3 = *((r8 + 0x2e8));
    0x000189b4 sub r5, r3, r5                                |         r5 = r3 - r5;
    0x000189b8 mov r3, 1                                     |         r3 = 1;
    0x000189bc str r5, [r8, 0x2e8]                           |         *((r8 + 0x2e8)) = r5;
    0x000189c0 strb r3, [r8, 0x269]                          |         *((r8 + 0x269)) = r3;
                                                             |     }
                                                             | label_39:
    0x000189c4 ldr r3, [r4, 0xbc]                            |     r3 = *((r4 + 0xbc));
    0x000189c8 cmp r3, 1                                     |     
                                                             |     if (r3 == 1) {
    0x000189cc bne 0x189f0                                   |         
    0x000189d0 ldrb r3, [r4, 0x115]                          |         r3 = *((r4 + 0x115));
    0x000189d4 cmp r3, 0                                     |         
                                                             |         if (r3 != 0) {
    0x000189d8 bne 0x189f0                                   |             goto label_40;
                                                             |         }
    0x000189dc ldrd r2, r3, [r4, 0x90]                       |         __asm ("ldrd r2, r3, [r4, 0x90]");
    0x000189e0 ldr r1, [r4, 0xc8]                            |         r1 = *((r4 + 0xc8));
    0x000189e4 adds r6, r2, r1                               |         r6 = r2 + r1;
    0x000189e8 adc r7, r3, 0                                 |         __asm ("adc r7, r3, 0");
    0x000189ec strd r6, r7, [r4, 0x90]                       |         __asm ("strd r6, r7, [r4, 0x90]");
                                                             |     }
                                                             | label_40:
    0x000189f0 ldrd r2, r3, [r4, 0x80]                       |     __asm ("ldrd r2, r3, [r4, 0x80]");
    0x000189f4 mvn r1, 0                                     |     r1 = ~0;
    0x000189f8 mvn r0, 0                                     |     r0 = ~0;
    0x000189fc cmp r3, r1                                    |     
    0x00018a00 cmpeq r2, r0                                  |     __asm ("cmpeq r2, r0");
                                                             |     if (r3 != r1) {
    0x00018a04 beq 0x18ac0                                   |         
    0x00018a08 ldrd r0, r1, [r4, 0x90]                       |         __asm ("ldrd r0, r1, [r4, 0x90]");
    0x00018a0c ldr ip, [sp, 0x54]                            |         ip = size;
    0x00018a10 adds r6, r0, ip                               |         r6 = r0 + ip;
    0x00018a14 adc r7, r1, ip, asr 31                        |         __asm ("adc r7, r1, ip, asr 31");
    0x00018a18 cmp r6, r2                                    |         
    0x00018a1c sbcs lr, r7, r3                               |         __asm ("sbcs lr, r7, r3");
                                                             |         if (r6 < r2) {
    0x00018a20 blt 0x18ac0                                   |             goto label_41;
                                                             |         }
    0x00018a24 add r0, ip, r0                                |         r0 = ip + r0;
    0x00018a28 subs fp, r0, r2                               |         
                                                             |         if (fp != r0) {
    0x00018a2c beq 0x18aa0                                   |             
    0x00018a30 ldrb r3, [r4, 0x115]                          |             r3 = *((r4 + 0x115));
    0x00018a34 cmp r3, 0                                     |             
                                                             |             if (r3 != 0) {
    0x00018a38 bne 0x18aa0                                   |                 goto label_6;
                                                             |             }
    0x00018a3c ldr r3, [r8]                                  |             r3 = *(r8);
    0x00018a40 mov r1, 1                                     |             r1 = 1;
    0x00018a44 ldr r0, [r3, 0x64]                            |             r0 = *((r3 + 0x64));
    0x00018a48 bl 0x1dbe4                                    |             Curl_pipeline_wanted ();
    0x00018a4c ldrd r2, r3, [r4, 0x70]                       |             __asm ("ldrd r2, r3, [r4, 0x70]");
    0x00018a50 ldrd r6, r7, [r4, 0x90]                       |             __asm ("ldrd r6, r7, [r4, 0x90]");
    0x00018a54 cmp r0, 0                                     |             
    0x00018a58 ldrd r0, r1, [r4, 0x80]                       |             __asm ("ldrd r0, r1, [r4, 0x80]");
                                                             |             if (r0 == 0) {
    0x00018a5c beq 0x18bd0                                   |                 goto label_42;
                                                             |             }
    0x00018a60 ldr lr, [sp, 0x54]                            |             lr = size;
    0x00018a64 add ip, r4, 0x4000                            |             
    0x00018a68 strd r0, r1, [sp, 8]                          |             __asm ("strd r0, r1, [var_8h]");
    0x00018a6c ldr r1, [sp, 0x44]                            |             r1 = var_44h;
    0x00018a70 strd r2, r3, [sp]                             |             __asm ("strd r2, r3, [sp]");
    0x00018a74 str lr, [sp, 0x18]                            |             var_18h = lr;
    0x00018a78 strd r6, r7, [sp, 0x10]                       |             __asm ("strd r6, r7, [var_10h]");
    0x00018a7c ldr r3, [ip, 0x9ec]                           |             r3 = *((ip + 0x9ec));
    0x00018a80 mov r2, fp                                    |             r2 = fp;
    0x00018a84 mov r0, r4                                    |             r0 = r4;
    0x00018a88 bl 0x104cc                                    |             Curl_infof ();
    0x00018a8c ldr r3, [r8, 0x2e8]                           |             r3 = *((r8 + 0x2e8));
    0x00018a90 sub r3, r3, fp                                |             r3 -= fp;
    0x00018a94 str r3, [r8, 0x2e8]                           |             *((r8 + 0x2e8)) = r3;
    0x00018a98 mov r3, 1                                     |             r3 = 1;
    0x00018a9c strb r3, [r8, 0x269]                          |             *((r8 + 0x269)) = r3;
                                                             |         }
                                                             | label_6:
    0x00018aa0 ldr r3, [r4, 0x80]                            |         r3 = *((r4 + 0x80));
    0x00018aa4 ldr r2, [r4, 0x90]                            |         r2 = *((r4 + 0x90));
    0x00018aa8 subs r3, r3, r2                               |         r3 -= r2;
                                                             |         if (r3 >= r3) {
    0x00018aac movmi r3, 0                                   |             r3 = 0;
                                                             |         }
    0x00018ab0 str r3, [sp, 0x54]                            |         size = r3;
    0x00018ab4 ldr r3, [r4, 0x110]                           |         r3 = *((r4 + 0x110));
    0x00018ab8 bic r3, r3, 1                                 |         r3 = BIT_MASK (r3, 1);
    0x00018abc str r3, [r4, 0x110]                           |         *((r4 + 0x110)) = r3;
                                                             |     }
                                                             | label_41:
    0x00018ac0 ldrd r2, r3, [r4, 0x90]                       |     __asm ("ldrd r2, r3, [r4, 0x90]");
    0x00018ac4 ldr r1, [sp, 0x54]                            |     r1 = size;
    0x00018ac8 mov r0, r4                                    |     r0 = r4;
    0x00018acc adds r6, r2, r1                               |     r6 = r2 + r1;
    0x00018ad0 adc r7, r3, r1, asr 31                        |     __asm ("adc r7, r3, r1, asr 31");
    0x00018ad4 mov r3, r7                                    |     r3 = r7;
    0x00018ad8 strd r6, r7, [r4, 0x90]                       |     __asm ("strd r6, r7, [r4, 0x90]");
    0x00018adc mov r2, r6                                    |     r2 = r6;
    0x00018ae0 bl 0x816c                                     |     Curl_pgrsSetDownloadCounter ();
    0x00018ae4 ldrb r3, [r4, 0x128]                          |     r3 = *((r4 + 0x128));
    0x00018ae8 cmp r3, 0                                     |     
                                                             |     if (r3 == 0) {
    0x00018aec bne 0x18b50                                   |         
    0x00018af0 ldr r2, [sp, 0x54]                            |         r2 = size;
    0x00018af4 ldr r3, [r4, 0xbc]                            |         r3 = *((r4 + 0xbc));
    0x00018af8 cmp r2, 0                                     |         
                                                             |         if (r2 == 0) {
    0x00018afc bne 0x18b0c                                   |             
    0x00018b00 ldr r2, [sp, 0x20]                            |             r2 = var_20h;
    0x00018b04 orrs r2, r3, r2                               |             r2 = r3 | r2;
                                                             |             if (r2 == r3) {
    0x00018b08 beq 0x18b50                                   |                 goto label_8;
                                                             |             }
                                                             |         }
    0x00018b0c cmp r3, 0                                     |         
                                                             |         if (r3 != 0) {
    0x00018b10 bne 0x18bf0                                   |             goto label_43;
                                                             |         }
                                                             | label_7:
    0x00018b14 ldr r3, [r4, 0xbc]                            |         r3 = *((r4 + 0xbc));
    0x00018b18 cmp r3, 1                                     |         
                                                             |         if (r3 <= 1) {
    0x00018b1c bhi 0x18b48                                   |             
    0x00018b20 ldr r3, [r8]                                  |             r3 = *(r8);
    0x00018b24 ldrb r3, [r3, 0x4f9]                          |             r3 = *((r3 + 0x4f9));
    0x00018b28 cmp r3, 0                                     |             
                                                             |             if (r3 == 0) {
    0x00018b2c bne 0x18b3c                                   |                 
    0x00018b30 ldr r1, [r4, 0xfc]                            |                 r1 = *((r4 + 0xfc));
    0x00018b34 cmp r1, 0                                     |                 
                                                             |                 if (r1 != 0) {
    0x00018b38 bne 0x18c74                                   |                     goto label_44;
                                                             |                 }
                                                             |             }
    0x00018b3c ldrb r3, [r4, 0x115]                          |             r3 = *((r4 + 0x115));
    0x00018b40 cmp r3, 0                                     |             
                                                             |             if (r3 == 0) {
    0x00018b44 beq 0x18c48                                   |                 goto label_45;
                                                             |             }
                                                             |         }
    0x00018b48 mov r3, 0                                     |         r3 = 0;
    0x00018b4c str r3, [r4, 0xbc]                            |         *((r4 + 0xbc)) = r3;
                                                             |     }
                                                             | label_8:
    0x00018b50 ldr r2, [r8, 0x284]                           |     r2 = *((r8 + 0x284));
    0x00018b54 ldr r5, [r2, 0x34]                            |     r5 = *((r2 + 0x34));
    0x00018b58 cmp fp, 0                                     |     
    0x00018b5c cmpne r5, 0                                   |     __asm ("cmpne r5, 0");
                                                             |     if (fp == 0) {
    0x00018b60 beq 0x18c88                                   |         goto label_46;
                                                             |     }
    0x00018b64 ldrb r3, [r8, 0x269]                          |     r3 = *((r8 + 0x269));
    0x00018b68 cmp r3, 0                                     |     
                                                             |     if (r3 != 0) {
    0x00018b6c bne 0x18c88                                   |         goto label_46;
                                                             |     }
    0x00018b70 ldr r2, [sp, 0x54]                            |     r2 = size;
    0x00018b74 ldr r3, [r4, 0xcc]                            |     r3 = *((r4 + 0xcc));
    0x00018b78 ldr r1, [r4, 0x498]                           |     r1 = *((r4 + 0x498));
    0x00018b7c add r3, r3, r2                                |     r3 += r2;
    0x00018b80 ldr r2, [r4, 0x108]                           |     r2 = *((r4 + 0x108));
    0x00018b84 str r3, [r4, 0xcc]                            |     *((r4 + 0xcc)) = r3;
    0x00018b88 add r2, r2, r1                                |     r2 += r1;
    0x00018b8c add r1, r3, fp                                |     r1 = r3 + fp;
    0x00018b90 cmp r2, r1                                    |     
                                                             |     if (r2 >= r1) {
    0x00018b94 sublo fp, r2, r3                              |         
                                                             |     }
    0x00018b98 str fp, [sp, 0x54]                            |     size = fp;
    0x00018b9c add r3, sp, 0x52                              |     r3 += var_52h;
    0x00018ba0 add r2, sp, 0x54                              |     r2 += size;
    0x00018ba4 mov r1, r8                                    |     r1 = r8;
    0x00018ba8 mov r0, r4                                    |     r0 = r4;
    0x00018bac blx r5                                        |     r0 = uint32_t (*r5)(uint32_t, uint32_t, uint32_t, uint32_t) (r0, r1, r2, r3);
    0x00018bb0 subs r5, r0, 0                                |     r5 = r0 - 0;
                                                             |     if (r5 != r0) {
    0x00018bb4 bne 0x1839c                                   |         goto label_0;
                                                             |     }
    0x00018bb8 ldrb r3, [sp, 0x52]                           |     r3 = var_52h;
    0x00018bbc cmp r3, 0                                     |     
                                                             |     if (r3 == 0) {
    0x00018bc0 beq 0x18620                                   |         goto label_3;
                                                             |     }
    0x00018bc4 ldr r3, [r4, 0x110]                           |     r3 = *((r4 + 0x110));
    0x00018bc8 orr r3, r3, 1                                 |     r3 |= 1;
    0x00018bcc b 0x185f0                                     |     goto label_5;
                                                             | label_42:
    0x00018bd0 strd r0, r1, [sp, 8]                          |     __asm ("strd r0, r1, [var_8h]");
    0x00018bd4 ldr r1, [sp, 0x40]                            |     r1 = var_40h;
    0x00018bd8 strd r2, r3, [sp]                             |     __asm ("strd r2, r3, [sp]");
    0x00018bdc strd r6, r7, [sp, 0x10]                       |     __asm ("strd r6, r7, [var_10h]");
    0x00018be0 mov r2, fp                                    |     r2 = fp;
    0x00018be4 mov r0, r4                                    |     r0 = r4;
    0x00018be8 bl 0x104cc                                    |     Curl_infof ();
    0x00018bec b 0x18aa0                                     |     goto label_6;
                                                             | label_43:
    0x00018bf0 ldrb r3, [r4, 0x115]                          |     r3 = *((r4 + 0x115));
    0x00018bf4 cmp r3, 0                                     |     
                                                             |     if (r3 != 0) {
    0x00018bf8 bne 0x18b14                                   |         goto label_7;
                                                             |     }
    0x00018bfc ldrd r0, r1, [r4, 0x80]                       |     __asm ("ldrd r0, r1, [r4, 0x80]");
    0x00018c00 ldr r3, [r4, 0xc8]                            |     r3 = *((r4 + 0xc8));
    0x00018c04 mvn r7, 0                                     |     r7 = ~0;
    0x00018c08 mvn r6, 0                                     |     r6 = ~0;
    0x00018c0c cmp r1, r7                                    |     
    0x00018c10 cmpeq r0, r6                                  |     __asm ("cmpeq r0, r6");
    0x00018c14 ldr r2, [r4, 0x7c4]                           |     r2 = *((r4 + 0x7c4));
                                                             |     if (r1 != r7) {
    0x00018c18 beq 0x18c2c                                   |         
    0x00018c1c cmp r0, r3                                    |         
    0x00018c20 mov r7, 0                                     |         r7 = 0;
    0x00018c24 sbcs ip, r1, r7                               |         __asm ("sbcs ip, r1, r7");
                                                             |         if (r0 < r3) {
    0x00018c28 movlt r3, r0                                  |             r3 = r0;
                                                             |             goto label_47;
                                                             |         }
                                                             |     }
                                                             | label_47:
    0x00018c2c mov r1, 1                                     |     r1 = 1;
    0x00018c30 mov r0, r8                                    |     r0 = r8;
    0x00018c34 bl 0x107cc                                    |     r0 = Curl_client_write ();
    0x00018c38 cmp r0, 0                                     |     
    0x00018c3c mov r5, r0                                    |     r5 = r0;
                                                             |     if (r0 == 0) {
    0x00018c40 beq 0x18b14                                   |         goto label_7;
                                                             |     }
    0x00018c44 b 0x1839c                                     |     goto label_0;
                                                             | label_45:
    0x00018c48 ldr r3, [sp, 0x54]                            |     r3 = size;
    0x00018c4c ldr r2, [r4, 0xcc]                            |     r2 = *((r4 + 0xcc));
    0x00018c50 mov r1, 1                                     |     r1 = 1;
    0x00018c54 mov r0, r8                                    |     r0 = r8;
    0x00018c58 bl 0x107cc                                    |     Curl_client_write ();
                                                             | label_9:
    0x00018c5c mov r3, 0                                     |     r3 = 0;
    0x00018c60 cmp r0, r3                                    |     
    0x00018c64 mov r5, r0                                    |     r5 = r0;
    0x00018c68 str r3, [r4, 0xbc]                            |     *((r4 + 0xbc)) = r3;
                                                             |     if (r0 == r3) {
    0x00018c6c beq 0x18b50                                   |         goto label_8;
                                                             |     }
    0x00018c70 b 0x1839c                                     |     goto label_0;
                                                             | label_44:
    0x00018c74 ldr r3, [sp, 0x54]                            |     r3 = size;
    0x00018c78 ldr r2, [r4, 0xcc]                            |     r2 = *((r4 + 0xcc));
    0x00018c7c mov r0, r8                                    |     r0 = r8;
    0x00018c80 bl 0x20a70                                    |     Curl_unencode_write ();
    0x00018c84 b 0x18c5c                                     |     goto label_9;
                                                             | label_46:
    0x00018c88 ldr r3, [sp, 0x20]                            |     r3 = var_20h;
    0x00018c8c ldr r1, [r2, 0x40]                            |     r1 = *((r2 + 0x40));
    0x00018c90 cmp r3, 0                                     |     
                                                             |     if (r3 == 0) {
    0x00018c94 ldrne r3, [r4, 0x110]                         |         r3 = *((r4 + 0x110));
                                                             |     }
    0x00018c98 bicne r3, r3, 1                               |     __asm ("bicne r3, r3, 1");
                                                             |     if (r3 == 0) {
    0x00018c9c strne r3, [r4, 0x110]                         |         *((r4 + 0x110)) = r3;
                                                             |     }
    0x00018ca0 ands r1, r1, 0x30                             |     r1 &= 0x30;
                                                             |     if (r1 == r1) {
    0x00018ca4 beq 0x18cd4                                   |         goto label_48;
                                                             |     }
                                                             | label_12:
    0x00018ca8 ldr r3, [sp, 0x34]                            |     r3 = var_34h;
    0x00018cac mov r6, sb                                    |     r6 = sb;
    0x00018cb0 sub r3, r3, 1                                 |     r3--;
    0x00018cb4 cmn r3, 1                                     |     
    0x00018cb8 str r3, [sp, 0x34]                            |     var_34h = r3;
                                                             |     if (r3 != 1) {
    0x00018cbc bne 0x18408                                   |         goto label_10;
                                                             |     }
                                                             | label_32:
    0x00018cc0 ldr r2, [sp, 0x38]                            |     r2 = var_38h;
    0x00018cc4 mov r3, 1                                     |     r3 = 1;
    0x00018cc8 str r3, [r8, 0x4e8]                           |     *((r8 + 0x4e8)) = r3;
    0x00018ccc strb r3, [r2]                                 |     *(r2) = r3;
    0x00018cd0 b 0x1862c                                     |     goto label_11;
                                                             | label_48:
    0x00018cd4 mov r0, r8                                    |     r0 = r8;
    0x00018cd8 bl 0x376a8                                    |     r0 = Curl_ssl_data_pending ();
    0x00018cdc cmp r0, 0                                     |     
                                                             |     if (r0 != 0) {
    0x00018ce0 bne 0x18ca8                                   |         goto label_12;
                                                             |     }
    0x00018ce4 b 0x18620                                     |     goto label_3;
                                                             | label_25:
    0x00018ce8 mov sb, r6                                    |     sb = r6;
    0x00018cec b 0x18620                                     |     goto label_3;
                                                             | label_22:
    0x00018cf0 mov sb, r2                                    |     sb = r2;
                                                             | label_21:
    0x00018cf4 ldr r3, [r4, 0x110]                           |     r3 = *((r4 + 0x110));
    0x00018cf8 tst r3, 2                                     |     
                                                             |     if ((r3 & 2) != 0) {
    0x00018cfc beq 0x18dc0                                   |         
    0x00018d00 tst sl, 2                                     |         
                                                             |         if ((sl & 2) == 0) {
    0x00018d04 beq 0x18dc0                                   |             goto label_49;
                                                             |         }
    0x00018d08 ldrd r2, r3, [r4, 0x90]                       |         __asm ("ldrd r2, r3, [r4, 0x90]");
    0x00018d0c orrs r3, r2, r3                               |         r3 = r2 | r3;
                                                             |         if (r3 == r2) {
    0x00018d10 bne 0x18d2c                                   |             
    0x00018d14 ldrd r2, r3, [r4, 0x98]                       |             __asm ("ldrd r2, r3, [r4, 0x98]");
    0x00018d18 orrs r3, r2, r3                               |             r3 = r2 | r3;
                                                             |             if (r3 != r2) {
    0x00018d1c bne 0x18d2c                                   |                 goto label_50;
                                                             |             }
    0x00018d20 mov r1, 7                                     |             r1 = 7;
    0x00018d24 mov r0, r4                                    |             r0 = r4;
    0x00018d28 bl 0x7f7c                                     |             Curl_pgrsTime ();
                                                             |         }
                                                             | label_50:
    0x00018d2c ldr r3, [r4, 0x120]                           |         r3 = *((r4 + 0x120));
    0x00018d30 orr r6, sb, 2                                 |         r6 = sb | 2;
    0x00018d34 cmp r3, 0                                     |         
                                                             |         if (r3 != 0) {
    0x00018d38 bne 0x18f90                                   |             goto label_51;
                                                             |         }
    0x00018d3c ldrb sl, [r4, 0x114]                          |         sl = *((r4 + 0x114));
    0x00018d40 add r3, r4, 0x7d0                             |         r3 = r4 + 0x7d0;
    0x00018d44 cmp sl, 0                                     |         
    0x00018d48 str r3, [r4, 0x124]                           |         *((r4 + 0x124)) = r3;
                                                             |         if (sl != 0) {
    0x00018d4c beq 0x18d64                                   |             
                                                             | label_13:
    0x00018d50 ldr r3, [r4, 0x110]                           |             r3 = *((r4 + 0x110));
    0x00018d54 tst r3, 0x20                                  |             
                                                             |             if ((r3 & 0x20) == 0) {
    0x00018d58 beq 0x18e64                                   |                 goto label_52;
                                                             |             }
                                                             | label_14:
    0x00018d5c mov sb, r6                                    |             sb = r6;
    0x00018d60 b 0x18dc0                                     |             
                                                             |         } else {
    0x00018d64 ldr r2, [r4, 0xf4]                            |             r2 = *((r4 + 0xf4));
    0x00018d68 ldr r3, [r4, 0x12c]                           |             r3 = *((r4 + 0x12c));
    0x00018d6c cmp r2, 2                                     |             
                                                             |             if (r2 != 2) {
    0x00018d70 bne 0x18e1c                                   |                 goto label_53;
                                                             |             }
    0x00018d74 ldr r2, [r3, 0x1b0]                           |             r2 = *((r3 + 0x1b0));
    0x00018d78 cmp r2, 2                                     |             
                                                             |             if (r2 != 2) {
    0x00018d7c bne 0x18e1c                                   |                 goto label_53;
                                                             |             }
    0x00018d80 mov r3, 1                                     |             r3 = 1;
    0x00018d84 str r3, [r4, 0xf4]                            |             *((r4 + 0xf4)) = r3;
    0x00018d88 ldr r3, [r4, 0x110]                           |             r3 = *((r4 + 0x110));
    0x00018d8c add r5, sp, 0x48                              |             r5 += var_48h;
    0x00018d90 bic r3, r3, 2                                 |             r3 = BIT_MASK (r3, 2);
    0x00018d94 str r3, [r4, 0x110]                           |             *((r4 + 0x110)) = r3;
    0x00018d98 mov r0, r5                                    |             r0 = r5;
    0x00018d9c bl 0x69f0                                     |             Curl_now ();
    0x00018da0 ldr r3, [sp, 0x30]                            |             r3 = var_30h;
    0x00018da4 ldm r5, {r0, r1}                              |             r0 = *(r5);
                                                             |             r1 = *((r5 + 4));
    0x00018da8 add r3, r3, 0x7c                              |             r3 += 0x7c;
    0x00018dac stm r3, {r0, r1}                              |             *(r3) = r0;
                                                             |             *((r3 + 4)) = r1;
    0x00018db0 ldr r1, [r4, 0x648]                           |             r1 = *((r4 + 0x648));
    0x00018db4 mov r2, sl                                    |             r2 = sl;
    0x00018db8 mov r0, r4                                    |             r0 = r4;
    0x00018dbc bl 0x1e348                                    |             Curl_expire ();
                                                             |         }
                                                             |     }
                                                             | label_49:
    0x00018dc0 add r5, sp, 0x48                              |     r5 += var_48h;
    0x00018dc4 mov r0, r5                                    |     r0 = r5;
    0x00018dc8 bl 0x69f0                                     |     Curl_now ();
    0x00018dcc ldr r3, [sp, 0x30]                            |     r3 = var_30h;
    0x00018dd0 ldm r5, {r0, r1}                              |     r0 = *(r5);
                                                             |     r1 = *((r5 + 4));
    0x00018dd4 add r6, r3, 0x40                              |     r6 = r3 + 0x40;
    0x00018dd8 cmp sb, 0                                     |     
    0x00018ddc stm r6, {r0, r1}                              |     *(r6) = r0;
                                                             |     *((r6 + 4)) = r1;
                                                             |     if (sb == 0) {
    0x00018de0 beq 0x190a8                                   |         goto label_54;
                                                             |     }
    0x00018de4 ldr r1, [r4, 0x78]                            |     r1 = *((r4 + 0x78));
    0x00018de8 cmp r1, 0                                     |     
    0x00018dec ldrdne r2, r3, [r4, 0x90]                     |     __asm ("ldrdne r2, r3, [r4, 0x90]");
    0x00018df0 strdne r2, r3, [r1]                           |     __asm ("strdne r2, r3, [r1]");
    0x00018df4 ldr r1, [r4, 0x88]                            |     r1 = *((r4 + 0x88));
    0x00018df8 cmp r1, 0                                     |     
    0x00018dfc ldrdne r2, r3, [r4, 0x98]                     |     __asm ("ldrdne r2, r3, [r4, 0x98]");
    0x00018e00 strdne r2, r3, [r1]                           |     __asm ("strdne r2, r3, [r1]");
                                                             | label_16:
    0x00018e04 mov r0, r8                                    |     r0 = r8;
    0x00018e08 bl 0x831c                                     |     r0 = Curl_pgrsUpdate ();
    0x00018e0c cmp r0, 0                                     |     
                                                             |     if (r0 == 0) {
    0x00018e10 beq 0x19104                                   |         goto label_55;
                                                             |     }
                                                             | label_18:
    0x00018e14 mov r5, 0x2a                                  |     r5 = 0x2a;
    0x00018e18 b 0x1839c                                     |     goto label_0;
                                                             | label_53:
    0x00018e1c ldr r2, [r8, 0x284]                           |     r2 = *((r8 + 0x284));
    0x00018e20 ldr r1, [pc, 0x3c8]                           |     r1 = *(0x191ec);
    0x00018e24 ldr r2, [r2, 0x40]                            |     r2 = *((r2 + 0x40));
    0x00018e28 mov r0, r8                                    |     r0 = r8;
    0x00018e2c tst r1, r2                                    |     
                                                             |     if ((r1 & r2) == 0) {
    0x00018e30 ldrne sl, [r3, 0x1b0]                         |         sl = *((r3 + 0x1b0));
                                                             |     }
    0x00018e34 add r2, sp, 0x54                              |     r2 += size;
                                                             |     if ((r1 & r2) == 0) {
    0x00018e38 subne sl, sl, 1                               |         sl--;
                                                             |     }
    0x00018e3c mov r1, 0x4000                                |     r1 = 0x4000;
    0x00018e40 clzne sl, sl                                  |     __asm ("clzne sl, sl");
                                                             |     if ((r1 & r2) == 0) {
    0x00018e44 lsrne sl, sl, 5                               |         sl >>= 5;
                                                             |     }
    0x00018e48 bl 0x17eb4                                    |     r0 = Curl_fillreadbuffer ();
    0x00018e4c subs r5, r0, 0                                |     r5 = r0 - 0;
                                                             |     if (r5 != r0) {
    0x00018e50 bne 0x1839c                                   |         goto label_0;
                                                             |     }
    0x00018e54 ldr r7, [sp, 0x54]                            |     r7 = size;
    0x00018e58 cmp r7, 0                                     |     
                                                             |     if (r7 == 0) {
    0x00018e5c beq 0x18d50                                   |         goto label_13;
                                                             |     }
                                                             |     if (r7 > 0) {
    0x00018e60 bgt 0x18e90                                   |         goto label_56;
                                                             |     }
                                                             | label_52:
    0x00018e64 ldr r3, [r4, 0x110]                           |     r3 = *((r4 + 0x110));
    0x00018e68 bic r3, r3, 2                                 |     r3 = BIT_MASK (r3, 2);
    0x00018e6c str r3, [r4, 0x110]                           |     *((r4 + 0x110)) = r3;
    0x00018e70 ldrb r3, [r8, 0x263]                          |     r3 = *((r8 + 0x263));
    0x00018e74 cmp r3, 0                                     |     
                                                             |     if (r3 == 0) {
    0x00018e78 beq 0x18d5c                                   |         goto label_14;
                                                             |     }
    0x00018e7c mov r0, r8                                    |     r0 = r8;
    0x00018e80 bl 0x180c0                                    |     r0 = Curl_readrewind ();
    0x00018e84 subs r5, r0, 0                                |     r5 = r0 - 0;
                                                             |     if (r5 == r0) {
    0x00018e88 beq 0x18d5c                                   |         goto label_14;
                                                             |     }
    0x00018e8c b 0x1839c                                     |     goto label_0;
                                                             | label_56:
    0x00018e90 cmp sl, 0                                     |     
    0x00018e94 str r7, [r4, 0x120]                           |     *((r4 + 0x120)) = r7;
                                                             |     if (sl != 0) {
    0x00018e98 bne 0x18f90                                   |         goto label_51;
                                                             |     }
    0x00018e9c ldrb r3, [r4, 0x4c3]                          |     r3 = *((r4 + 0x4c3));
    0x00018ea0 cmp r3, 0                                     |     
                                                             |     if (r3 == 0) {
    0x00018ea4 bne 0x18eb4                                   |         
    0x00018ea8 ldrb r3, [r4, 0x3a2]                          |         r3 = *((r4 + 0x3a2));
    0x00018eac cmp r3, 0                                     |         
                                                             |         if (r3 == 0) {
    0x00018eb0 beq 0x18f90                                   |             goto label_51;
                                                             |         }
                                                             |     }
    0x00018eb4 add r5, r4, 0x4000                            |     r5 = r4 + 0x4000;
    0x00018eb8 ldr r3, [r5, 0x81c]                           |     r3 = *((r5 + 0x81c));
    0x00018ebc cmp r3, 0                                     |     
                                                             |     if (r3 == 0) {
    0x00018ec0 bne 0x18f04                                   |         
    0x00018ec4 ldr r2, [sp, 0x3c]                            |         r2 = var_3ch;
    0x00018ec8 ldr r3, [pc, 0x344]                           |         
    0x00018ecc ldr r0, [r4, 0x498]                           |         r0 = *((r4 + 0x498));
    0x00018ed0 ldr r3, [r2, r3]                              |         r3 = *((r2 + r3));
    0x00018ed4 lsl r0, r0, 1                                 |         r0 <<= 1;
    0x00018ed8 ldr r3, [r3]                                  |         r3 = *(0x19210);
    0x00018edc blx r3                                        |         r0 = uint32_t (*r3)(uint32_t, uint32_t, uint32_t) (r0, r2, r3);
    0x00018ee0 cmp r0, 0                                     |         
    0x00018ee4 str r0, [r5, 0x81c]                           |         *((r5 + 0x81c)) = r0;
                                                             |         if (r0 != 0) {
    0x00018ee8 bne 0x18f04                                   |             goto label_57;
                                                             |         }
    0x00018eec ldr r1, [pc, 0x324]                           |         r1 = *(0x19214);
    0x00018ef0 mov r0, r4                                    |         r0 = r4;
    0x00018ef4 add r1, pc, r1                                |         r1 = pc + r1;
    0x00018ef8 bl 0x10544                                    |         Curl_failf ();
    0x00018efc mov r5, 0x1b                                  |         r5 = 0x1b;
    0x00018f00 b 0x1839c                                     |         goto label_0;
                                                             |     }
                                                             | label_57:
    0x00018f04 mov r3, 0                                     |     r3 = 0;
    0x00018f08 mov r2, r3                                    |     r2 = r3;
    0x00018f0c mov lr, 0xd                                   |     lr = 0xd;
    0x00018f10 add ip, r4, 0x4a00                            |     
    0x00018f14 mvn sl, 0                                     |     sl = ~0;
    0x00018f18 mvn fp, 0                                     |     
                                                             |     do {
    0x00018f1c ldr r1, [r4, 0x124]                           |         r1 = *((r4 + 0x124));
    0x00018f20 ldr r0, [r5, 0x81c]                           |         r0 = *((r5 + 0x81c));
    0x00018f24 ldrb r1, [r1, r2]                             |         r1 = *((r1 + r2));
    0x00018f28 add sb, r0, r3                                |         sb = r0 + r3;
    0x00018f2c cmp r1, 0xa                                   |         
                                                             |         if (r1 == 0xa) {
    0x00018f30 strbne r1, [r0, r3]                           |             *((r0 + r3)) = r1;
                                                             |         }
                                                             |         if (r1 == 0xa) {
    0x00018f34 bne 0x18f70                                   |             
    0x00018f38 strb lr, [sb]                                 |             
    0x00018f3c ldr r0, [r5, 0x81c]                           |             r0 = *((r5 + 0x81c));
    0x00018f40 add r3, r3, 1                                 |             r3++;
    0x00018f44 strb r1, [r0, r3]                             |             *((r0 + r3)) = r1;
    0x00018f48 ldrb r1, [r4, 0x3a2]                          |             r1 = *((r4 + 0x3a2));
    0x00018f4c cmp r1, 0                                     |             
                                                             |             if (r1 != 0) {
    0x00018f50 bne 0x18f70                                   |                 goto label_58;
                                                             |             }
    0x00018f54 ldrd r0, r1, [ip, 0x10]                       |             __asm ("ldrd r0, r1, [ip, 0x10]");
    0x00018f58 cmp r1, fp                                    |             
    0x00018f5c cmpeq r0, sl                                  |             __asm ("cmpeq r0, sl");
                                                             |             if (r1 == fp) {
    0x00018f60 beq 0x18f70                                   |                 goto label_58;
                                                             |             }
    0x00018f64 adds r0, r0, 1                                |             r0++;
    0x00018f68 adc r1, r1, 0                                 |             __asm ("adc r1, r1, 0");
    0x00018f6c strd r0, r1, [ip, 0x10]                       |             __asm ("strd r0, r1, [ip, 0x10]");
                                                             |         }
                                                             | label_58:
    0x00018f70 add r2, r2, 1                                 |         r2++;
    0x00018f74 cmp r7, r2                                    |         
    0x00018f78 add r3, r3, 1                                 |         r3++;
    0x00018f7c bne 0x18f1c                                   |         
                                                             |     } while (r7 != r2);
    0x00018f80 cmp r7, r3                                    |     
                                                             |     if (r7 == r3) {
    0x00018f84 ldrne r2, [r5, 0x81c]                         |         r2 = *((r5 + 0x81c));
                                                             |     }
                                                             |     if (r7 == r3) {
    0x00018f88 strne r3, [r4, 0x120]                         |         *((r4 + 0x120)) = r3;
                                                             |     }
                                                             |     if (r7 == r3) {
    0x00018f8c strne r2, [r4, 0x124]                         |         *((r4 + 0x124)) = r2;
                                                             |     }
                                                             | label_51:
    0x00018f90 add r3, sp, 0x54                              |     r3 += size;
    0x00018f94 str r3, [sp]                                  |     *(sp) = r3;
    0x00018f98 ldr r2, [r4, 0x124]                           |     r2 = *((r4 + 0x124));
    0x00018f9c ldr r3, [r4, 0x120]                           |     r3 = *((r4 + 0x120));
    0x00018fa0 ldr r1, [r8, 0x294]                           |     r1 = *((r8 + 0x294));
    0x00018fa4 mov r0, r8                                    |     r0 = r8;
    0x00018fa8 bl 0x10244                                    |     r0 = Curl_write ();
    0x00018fac subs r5, r0, 0                                |     r5 = r0 - 0;
                                                             |     if (r5 != r0) {
    0x00018fb0 bne 0x1839c                                   |         goto label_0;
                                                             |     }
    0x00018fb4 ldrb r3, [r4, 0x4d8]                          |     r3 = *((r4 + 0x4d8));
    0x00018fb8 cmp r3, 0                                     |     
                                                             |     if (r3 != 0) {
    0x00018fbc beq 0x18fd4                                   |         
    0x00018fc0 ldr r3, [sp, 0x54]                            |         r3 = size;
    0x00018fc4 ldr r2, [r4, 0x124]                           |         r2 = *((r4 + 0x124));
    0x00018fc8 mov r1, 4                                     |         r1 = 4;
    0x00018fcc mov r0, r4                                    |         r0 = r4;
    0x00018fd0 bl 0x10424                                    |         Curl_debug ();
                                                             |     }
    0x00018fd4 ldrd r2, r3, [r4, 0x98]                       |     __asm ("ldrd r2, r3, [r4, 0x98]");
    0x00018fd8 ldr r1, [sp, 0x54]                            |     r1 = size;
    0x00018fdc adds sl, r2, r1                               |     sl = r2 + r1;
    0x00018fe0 adc fp, r3, r1, asr 31                        |     __asm ("adc fp, r3, r1, asr 31");
    0x00018fe4 ldrb r1, [r4, 0x129]                          |     r1 = *((r4 + 0x129));
    0x00018fe8 strd sl, fp, [r4, 0x98]                       |     __asm ("strd sl, fp, [r4, 0x98]");
    0x00018fec cmp r1, 0                                     |     
                                                             |     if (r1 != 0) {
    0x00018ff0 beq 0x19000                                   |         
    0x00018ff4 ldrb r1, [r4, 0x12b]                          |         r1 = *((r4 + 0x12b));
    0x00018ff8 cmp r1, 0                                     |         
                                                             |         if (r1 == 0) {
    0x00018ffc beq 0x1902c                                   |             goto label_59;
                                                             |         }
                                                             |     }
    0x00019000 add r1, r4, 0x4a00                            |     r1 = r4 + 0x4a00;
    0x00019004 ldrd r0, r1, [r1, 0x10]                       |     __asm ("ldrd r0, r1, [r1, 0x10]");
    0x00019008 cmp fp, r1                                    |     
    0x0001900c cmpeq sl, r0                                  |     __asm ("cmpeq sl, r0");
                                                             |     if (fp == r1) {
    0x00019010 bne 0x1902c                                   |         
    0x00019014 ldr r1, [pc, 0x200]                           |         r1 = *(0x19218);
    0x00019018 mov r3, 1                                     |         r3 = 1;
    0x0001901c strb r3, [r4, 0x114]                          |         *((r4 + 0x114)) = r3;
    0x00019020 add r1, pc, r1                                |         r1 = pc + r1;
    0x00019024 mov r0, r4                                    |         r0 = r4;
    0x00019028 bl 0x104cc                                    |         Curl_infof ();
                                                             |     }
                                                             | label_59:
    0x0001902c ldr r3, [r4, 0x120]                           |     r3 = *((r4 + 0x120));
    0x00019030 ldr r2, [sp, 0x54]                            |     r2 = size;
    0x00019034 cmp r3, r2                                    |     
                                                             |     if (r3 == r2) {
    0x00019038 beq 0x19060                                   |         goto label_60;
                                                             |     }
    0x0001903c sub r3, r3, r2                                |     r3 -= r2;
    0x00019040 str r3, [r4, 0x120]                           |     *((r4 + 0x120)) = r3;
    0x00019044 ldr r3, [r4, 0x124]                           |     r3 = *((r4 + 0x124));
    0x00019048 add r3, r3, r2                                |     r3 += r2;
    0x0001904c str r3, [r4, 0x124]                           |     *((r4 + 0x124)) = r3;
                                                             |     do {
                                                             | label_15:
    0x00019050 ldrd r2, r3, [r4, 0x98]                       |         __asm ("ldrd r2, r3, [r4, 0x98]");
    0x00019054 mov r0, r4                                    |         r0 = r4;
    0x00019058 bl 0x8288                                     |         Curl_pgrsSetUploadCounter ();
    0x0001905c b 0x18d5c                                     |         goto label_14;
                                                             | label_60:
    0x00019060 add r3, r4, 0x7d0                             |         r3 = r4 + 0x7d0;
    0x00019064 str r3, [r4, 0x124]                           |         *((r4 + 0x124)) = r3;
    0x00019068 mov r3, 0                                     |         r3 = 0;
    0x0001906c str r3, [r4, 0x120]                           |         *((r4 + 0x120)) = r3;
    0x00019070 ldrb r3, [r4, 0x114]                          |         r3 = *((r4 + 0x114));
    0x00019074 cmp r3, 0                                     |         
    0x00019078 beq 0x19050                                   |         
                                                             |     } while (r3 == 0);
    0x0001907c ldr r3, [r4, 0x110]                           |     r3 = *((r4 + 0x110));
    0x00019080 bic r3, r3, 2                                 |     r3 = BIT_MASK (r3, 2);
    0x00019084 str r3, [r4, 0x110]                           |     *((r4 + 0x110)) = r3;
    0x00019088 ldrb r3, [r8, 0x263]                          |     r3 = *((r8 + 0x263));
    0x0001908c cmp r3, 0                                     |     
                                                             |     if (r3 == 0) {
    0x00019090 beq 0x19050                                   |         goto label_15;
                                                             |     }
    0x00019094 mov r0, r8                                    |     r0 = r8;
    0x00019098 bl 0x180c0                                    |     r0 = Curl_readrewind ();
    0x0001909c subs r5, r0, 0                                |     r5 = r0 - 0;
                                                             |     if (r5 == r0) {
    0x000190a0 beq 0x19050                                   |         goto label_15;
                                                             |     }
    0x000190a4 b 0x1839c                                     |     goto label_0;
                                                             | label_54:
    0x000190a8 ldr r3, [r4, 0xf4]                            |     r3 = *((r4 + 0xf4));
    0x000190ac cmp r3, 1                                     |     
                                                             |     if (r3 != 1) {
    0x000190b0 bne 0x18e04                                   |         goto label_16;
                                                             |     }
    0x000190b4 ldr r3, [sp, 0x30]                            |     r3 = var_30h;
    0x000190b8 ldm r6, {r0, r1}                              |     r0 = *(r6);
                                                             |     r1 = *((r6 + 4));
    0x000190bc add r3, r3, 0x7c                              |     r3 += 0x7c;
    0x000190c0 ldm r3, {r2, r3}                              |     r2 = *(r3);
                                                             |     r3 = *((r3 + 4));
    0x000190c4 bl 0x6a20                                     |     Curl_timediff ();
    0x000190c8 ldr r3, [r4, 0x648]                           |     r3 = *((r4 + 0x648));
    0x000190cc cmp r3, r0                                    |     
                                                             |     if (r3 > r0) {
    0x000190d0 bgt 0x18e04                                   |         goto label_16;
                                                             |     }
    0x000190d4 ldr r3, [r4, 0x110]                           |     r3 = *((r4 + 0x110));
    0x000190d8 mov r1, sb                                    |     r1 = sb;
    0x000190dc orr r3, r3, 2                                 |     r3 |= 2;
    0x000190e0 mov r0, r4                                    |     r0 = r4;
    0x000190e4 str sb, [r4, 0xf4]                            |     *((r4 + 0xf4)) = sb;
    0x000190e8 str r3, [r4, 0x110]                           |     *((r4 + 0x110)) = r3;
    0x000190ec bl 0x1eb2c                                    |     Curl_expire_done ();
    0x000190f0 ldr r1, [pc, 0x128]                           |     r1 = *(0x1921c);
    0x000190f4 mov r0, r4                                    |     r0 = r4;
    0x000190f8 add r1, pc, r1                                |     r1 = pc + r1;
    0x000190fc bl 0x104cc                                    |     Curl_infof ();
    0x00019100 b 0x18e04                                     |     goto label_16;
                                                             | label_55:
    0x00019104 ldm r6, {r1, r2}                              |     r1 = *(r6);
                                                             |     r2 = *((r6 + 4));
    0x00019108 mov r0, r4                                    |     r0 = r4;
    0x0001910c bl 0x15410                                    |     r0 = Curl_speedcheck ();
    0x00019110 subs r5, r0, 0                                |     r5 = r0 - 0;
                                                             |     if (r5 != r0) {
    0x00019114 bne 0x1839c                                   |         goto label_0;
                                                             |     }
    0x00019118 ldr r3, [r4, 0x110]                           |     r3 = *((r4 + 0x110));
    0x0001911c cmp r3, 0                                     |     
                                                             |     if (r3 == 0) {
    0x00019120 beq 0x19234                                   |         goto label_61;
                                                             |     }
    0x00019124 mov r2, r5                                    |     r2 = r5;
    0x00019128 add r1, r4, 0xb0                              |     r1 = r4 + 0xb0;
    0x0001912c mov r0, r4                                    |     r0 = r4;
    0x00019130 bl 0x1b738                                    |     r0 = Curl_timeleft ();
    0x00019134 cmp r0, 0                                     |     
                                                             |     if (r0 >= 0) {
    0x00019138 blt 0x19158                                   |         
                                                             | label_17:
    0x0001913c ldr r3, [r4, 0x110]                           |         r3 = *((r4 + 0x110));
    0x00019140 ldr r2, [sp, 0x2c]                            |         r2 = var_2ch;
    0x00019144 tst r3, 0x33                                  |         
                                                             |         if ((r3 & 0x33) != 0) {
    0x00019148 moveq r3, 1                                   |             r3 = 1;
                                                             |         }
                                                             |         if ((r3 & 0x33) == 0) {
    0x0001914c movne r3, 0                                   |             r3 = 0;
                                                             |         }
    0x00019150 strb r3, [r2]                                 |         *(r2) = r3;
    0x00019154 b 0x1839c                                     |         goto label_0;
                                                             |     }
    0x00019158 ldrd r2, r3, [r4, 0x70]                       |     __asm ("ldrd r2, r3, [r4, 0x70]");
    0x0001915c mvn r1, 0                                     |     r1 = ~0;
    0x00019160 cmp r3, r1                                    |     
    0x00019164 mvn r0, 0                                     |     r0 = ~0;
    0x00019168 add r3, r4, 0x700                             |     r3 = r4 + 0x700;
    0x0001916c cmpeq r2, r0                                  |     __asm ("cmpeq r2, r0");
    0x00019170 add r3, r3, 8                                 |     r3 += 8;
    0x00019174 ldm r3, {r2, r3}                              |     r2 = *(r3);
                                                             |     r3 = *((r3 + 4));
    0x00019178 ldm r6, {r0, r1}                              |     r0 = *(r6);
                                                             |     r1 = *((r6 + 4));
                                                             |     if (r3 == r1) {
    0x0001917c beq 0x191b0                                   |         goto label_62;
                                                             |     }
    0x00019180 bl 0x6a20                                     |     Curl_timediff ();
    0x00019184 ldrd r2, r3, [r4, 0x70]                       |     __asm ("ldrd r2, r3, [r4, 0x70]");
    0x00019188 ldr r1, [pc, 0x94]                            |     r1 = *(0x19220);
    0x0001918c strd r2, r3, [sp, 8]                          |     __asm ("strd r2, r3, [var_8h]");
    0x00019190 ldrd r2, r3, [r4, 0x90]                       |     __asm ("ldrd r2, r3, [r4, 0x90]");
    0x00019194 add r1, pc, r1                                |     r1 = pc + r1;
    0x00019198 strd r2, r3, [sp]                             |     __asm ("strd r2, r3, [sp]");
    0x0001919c mov r2, r0                                    |     r2 = r0;
    0x000191a0 mov r0, r4                                    |     r0 = r4;
    0x000191a4 bl 0x10544                                    |     Curl_failf ();
                                                             |     do {
    0x000191a8 mov r5, 0x1c                                  |         r5 = 0x1c;
    0x000191ac b 0x1839c                                     |         goto label_0;
                                                             | label_62:
    0x000191b0 bl 0x6a20                                     |         Curl_timediff ();
    0x000191b4 ldrd r2, r3, [r4, 0x90]                       |         __asm ("ldrd r2, r3, [r4, 0x90]");
    0x000191b8 ldr r1, [pc, 0x68]                            |         r1 = *(0x19224);
    0x000191bc strd r2, r3, [sp]                             |         __asm ("strd r2, r3, [sp]");
    0x000191c0 add r1, pc, r1                                |         r1 = pc + r1;
    0x000191c4 mov r2, r0                                    |         r2 = r0;
    0x000191c8 mov r0, r4                                    |         r0 = r4;
    0x000191cc bl 0x10544                                    |         Curl_failf ();
    0x000191d0 b 0x191a8                                     |         
                                                             |     } while (1);
                                                             | label_61:
    0x00019234 ldrb r3, [r4, 0x4d0]                          |     r3 = *((r4 + 0x4d0));
    0x00019238 cmp r3, 0                                     |     
                                                             |     if (r3 != 0) {
    0x0001923c bne 0x192dc                                   |         goto label_63;
                                                             |     }
    0x00019240 ldrd sl, fp, [r4, 0x70]                       |     __asm ("ldrd sl, fp, [r4, 0x70]");
    0x00019244 mvn r1, 0                                     |     r1 = ~0;
    0x00019248 mvn r0, 0                                     |     r0 = ~0;
    0x0001924c cmp fp, r1                                    |     
    0x00019250 cmpeq sl, r0                                  |     __asm ("cmpeq sl, r0");
                                                             |     if (fp == r1) {
    0x00019254 beq 0x192b0                                   |         goto label_64;
                                                             |     }
    0x00019258 ldrd r0, r1, [r4, 0x90]                       |     __asm ("ldrd r0, r1, [r4, 0x90]");
    0x0001925c cmp fp, r1                                    |     
    0x00019260 cmpeq sl, r0                                  |     __asm ("cmpeq sl, r0");
                                                             |     if (fp == r1) {
    0x00019264 beq 0x192b0                                   |         goto label_64;
                                                             |     }
    0x00019268 add ip, r4, 0x4900                            |     
    0x0001926c ldrd r6, r7, [ip, 0xe0]                       |     __asm ("ldrd r6, r7, [ip, 0xe0]");
    0x00019270 adds r2, r6, sl                               |     r2 = r6 + sl;
    0x00019274 adc r3, r7, fp                                |     __asm ("adc r3, r7, fp");
    0x00019278 cmp r1, r3                                    |     
    0x0001927c cmpeq r0, r2                                  |     __asm ("cmpeq r0, r2");
                                                             |     if (r1 == r3) {
    0x00019280 beq 0x192b0                                   |         goto label_64;
                                                             |     }
    0x00019284 ldr ip, [r4, 0x11c]                           |     ip = *((r4 + 0x11c));
    0x00019288 cmp ip, 0                                     |     
                                                             |     if (ip != 0) {
    0x0001928c bne 0x192b0                                   |         goto label_64;
                                                             |     }
    0x00019290 subs r2, sl, r0                               |     r2 = sl - r0;
    0x00019294 sbc r3, fp, r1                                |     __asm ("sbc r3, fp, r1");
    0x00019298 ldr r1, [pc, -0x74]                           |     r1 = *(0x19228);
    0x0001929c mov r0, r4                                    |     r0 = r4;
    0x000192a0 add r1, pc, r1                                |     r1 = pc + r1;
    0x000192a4 bl 0x10544                                    |     Curl_failf ();
                                                             |     do {
    0x000192a8 mov r5, 0x12                                  |         r5 = 0x12;
    0x000192ac b 0x1839c                                     |         goto label_0;
                                                             | label_64:
    0x000192b0 ldrb r3, [r4, 0x128]                          |         r3 = *((r4 + 0x128));
    0x000192b4 cmp r3, 0                                     |         
                                                             |         if (r3 == 0) {
    0x000192b8 beq 0x192dc                                   |             goto label_63;
                                                             |         }
    0x000192bc ldr r3, [r8, 0x28]                            |         r3 = *((r8 + 0x28));
    0x000192c0 cmp r3, 4                                     |         
                                                             |         if (r3 == 4) {
    0x000192c4 beq 0x192dc                                   |             goto label_63;
                                                             |         }
    0x000192c8 ldr r1, [pc, -0xa0]                           |         r1 = *(0x1922c);
    0x000192cc mov r0, r4                                    |         r0 = r4;
    0x000192d0 add r1, pc, r1                                |         r1 = pc + r1;
    0x000192d4 bl 0x10544                                    |         Curl_failf ();
    0x000192d8 b 0x192a8                                     |         
                                                             |     } while (1);
                                                             | label_63:
    0x000192dc mov r0, r8                                    |     r0 = r8;
    0x000192e0 bl 0x831c                                     |     r0 = Curl_pgrsUpdate ();
    0x000192e4 cmp r0, 0                                     |     
                                                             |     if (r0 == 0) {
    0x000192e8 beq 0x1913c                                   |         goto label_17;
                                                             |     }
    0x000192ec b 0x18e14                                     |     goto label_18;
                                                             | }
    ; 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/lib/libcurl.so @ 0x266f0 */
                                                                 | #include <stdint.h>
                                                                 |  
                                                                 | #define BIT_MASK(t,v) ((t)(-((v)!= 0)))&(((t)-1)>>((sizeof(t)*CHAR_BIT)-(v)))
                                                                 |  
    ; (fcn) sym.Curl_resolver_is_resolved ()                     | void Curl_resolver_is_resolved (int32_t arg1, int32_t arg2) {
                                                                 |     int32_t var_0h;
                                                                 |     int32_t var_ch;
                                                                 |     r0 = arg1;
                                                                 |     r1 = arg2;
    0x000266f0 push {r0, r1, r2, r4, r5, r6, r7, r8, sb, lr}     |     
    0x000266f4 ldr r5, [r0, 0x43c]                               |     r5 = *((r0 + 0x43c));
    0x000266f8 mov r6, 0                                         |     r6 = 0;
    0x000266fc cmp r5, r6                                        |     
    0x00026700 ldr r7, [r0]                                      |     r7 = *(r0);
    0x00026704 str r6, [r1]                                      |     *(r1) = r6;
                                                                 |     if (r5 != r6) {
    0x00026708 moveq r6, 6                                       |         r6 = 6;
                                                                 |     }
                                                                 |     if (r5 == r6) {
    0x0002670c beq 0x26784                                       |         goto label_0;
                                                                 |     }
    0x00026710 mov r4, r0                                        |     r4 = r0;
    0x00026714 ldr r0, [r5, 0xc]                                 |     r0 = *((r5 + 0xc));
    0x00026718 mov r8, r1                                        |     r8 = r1;
    0x0002671c bl 0x525c                                         |     pthread_mutex_lock ();
    0x00026720 ldr sb, [r5, 0x10]                                |     sb = *((r5 + 0x10));
    0x00026724 ldr r0, [r5, 0xc]                                 |     r0 = *((r5 + 0xc));
    0x00026728 bl 0x59d0                                         |     pthread_mutex_unlock ();
    0x0002672c cmp sb, r6                                        |     
                                                                 |     if (sb == r6) {
    0x00026730 beq 0x267b4                                       |         goto label_1;
                                                                 |     }
    0x00026734 mov r0, r4                                        |     r0 = r4;
    0x00026738 bl 0x264bc                                        |     getaddrinfo_complete ();
    0x0002673c ldr r3, [r4, 0x430]                               |     r3 = *((r4 + 0x430));
    0x00026740 add r7, r4, 0x420                                 |     r7 = r4 + 0x420;
    0x00026744 cmp r3, r6                                        |     
    0x00026748 add r7, r7, 8                                     |     r7 += 8;
                                                                 |     if (r3 != r6) {
    0x0002674c bne 0x267a0                                       |         goto label_2;
                                                                 |     }
    0x00026750 ldrb r3, [r4, 0x256]                              |     r3 = *((r4 + 0x256));
    0x00026754 cmp r3, r6                                        |     
                                                                 |     if (r3 == r6) {
    0x00026758 beq 0x26790                                       |         goto label_3;
                                                                 |     }
    0x0002675c ldr r2, [pc, 0xc8]                                |     r2 = *(0x26828);
    0x00026760 mov r6, 5                                         |     r6 = 5;
    0x00026764 add r2, pc, r2                                    |     r2 = pc + r2;
                                                                 |     do {
    0x00026768 ldr r1, [pc, 0xc0]                                |         r1 = $d;
    0x0002676c ldr r0, [r4]                                      |         r0 = *(r4);
    0x00026770 ldr r3, [r4, 0x428]                               |         r3 = *((r4 + 0x428));
    0x00026774 add r1, pc, r1                                    |         r1 = pc + r1;
    0x00026778 bl 0x10544                                        |         Curl_failf ();
    0x0002677c mov r0, r7                                        |         r0 = r7;
    0x00026780 bl 0x2641c                                        |         destroy_async_data ();
                                                                 | label_0:
    0x00026784 mov r0, r6                                        |         r0 = r6;
    0x00026788 add sp, sp, 0xc                                   |         
    0x0002678c pop {r4, r5, r6, r7, r8, sb, pc}                  |         
                                                                 | label_3:
    0x00026790 ldr r2, [pc, 0x9c]                                |         r2 = *(0x26830);
    0x00026794 mov r6, 6                                         |         r6 = 6;
    0x00026798 add r2, pc, r2                                    |         r2 = pc + r2;
    0x0002679c b 0x26768                                         |         
                                                                 |     } while (1);
                                                                 | label_2:
    0x000267a0 mov r0, r7                                        |     r0 = r7;
    0x000267a4 bl 0x2641c                                        |     destroy_async_data ();
    0x000267a8 ldr r3, [r4, 0x430]                               |     r3 = *((r4 + 0x430));
    0x000267ac str r3, [r8]                                      |     *(r8) = r3;
    0x000267b0 b 0x26784                                         |     goto label_0;
                                                                 | label_1:
    0x000267b4 mov r6, sp                                        |     r6 = sp;
    0x000267b8 mov r0, r6                                        |     r0 = r6;
    0x000267bc bl 0x69f0                                         |     Curl_now ();
    0x000267c0 add r3, r7, 0x700                                 |     r3 = r7 + 0x700;
    0x000267c4 add r3, r3, 8                                     |     r3 += 8;
    0x000267c8 ldm r3, {r2, r3}                                  |     r2 = *(r3);
                                                                 |     r3 = *((r3 + 4));
    0x000267cc ldm r6, {r0, r1}                                  |     r0 = *(r6);
                                                                 |     r1 = *((r6 + 4));
    0x000267d0 bl 0x6a20                                         |     Curl_timediff ();
    0x000267d4 ldr r3, [r5, 4]                                   |     r3 = *((r5 + 4));
    0x000267d8 cmp r3, 0                                         |     
                                                                 |     if (r3 != 0) {
    0x000267dc moveq r3, 1                                       |         r3 = 1;
                                                                 |     }
    0x000267e0 bic r0, r0, r0, asr 31                            |     r0 = BIT_MASK (r0, r0);
                                                                 |     if (r3 != 0) {
    0x000267e4 beq 0x267f8                                       |         
    0x000267e8 ldr r2, [r5, 8]                                   |         r2 = *((r5 + 8));
    0x000267ec cmp r2, r0                                        |         
                                                                 |         if (r2 > r0) {
    0x000267f0 bgt 0x267fc                                       |             goto label_4;
                                                                 |         }
    0x000267f4 lsl r3, r3, 1                                     |         r3 <<= 1;
                                                                 |     }
    0x000267f8 str r3, [r5, 4]                                   |     *((r5 + 4)) = r3;
                                                                 | label_4:
    0x000267fc ldr r3, [r5, 4]                                   |     r3 = *((r5 + 4));
    0x00026800 mov r2, 1                                         |     r2 = 1;
    0x00026804 cmp r3, 0xfa                                      |     
                                                                 |     if (r3 <= 0xfa) {
    0x00026808 movhi r3, 0xfa                                    |         r3 = 0xfa;
                                                                 |     }
                                                                 |     if (r3 <= 0xfa) {
    0x0002680c strhi r3, [r5, 4]                                 |         *((r5 + 4)) = r3;
                                                                 |     }
    0x00026810 ldr r1, [r5, 4]                                   |     r1 = *((r5 + 4));
    0x00026814 mov r6, 0                                         |     r6 = 0;
    0x00026818 add r0, r0, r1                                    |     r0 += r1;
    0x0002681c str r0, [r5, 8]                                   |     *((r5 + 8)) = r0;
    0x00026820 ldr r0, [r4]                                      |     r0 = *(r4);
    0x00026824 bl 0x1e348                                        |     Curl_expire ();
    0x00026828 b 0x26784                                         |     goto label_0;
                                                                 | }
    ; 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/lib/libcurl.so @ 0x276fc */
                                                             | #include <stdint.h>
                                                             |  
    ; (fcn) sym.Curl_sasl_start ()                           | void Curl_sasl_start (int32_t arg1, uint32_t arg2) {
                                                             |     int32_t var_0h;
                                                             |     int32_t var_4h;
                                                             |     int32_t var_8h;
                                                             |     int32_t var_ch;
                                                             |     int32_t var_10h;
                                                             |     int32_t var_14h;
                                                             |     int32_t var_18h;
                                                             |     int32_t var_1ch;
                                                             |     int32_t var_24h;
                                                             |     r0 = arg1;
                                                             |     r1 = arg2;
    0x000276fc push {r4, r5, r6, r7, r8, sb, sl, fp, lr}     |     
    0x00027700 ldr r4, [r1]                                  |     r4 = *(r1);
    0x00027704 sub sp, sp, 0x24                              |     
    0x00027708 str r3, [sp, 0x10]                            |     var_10h = r3;
    0x0002770c ldr r3, [pc, 0x4b8]                           |     r3 = *(0x27bc8);
    0x00027710 mov r6, r1                                    |     r6 = r1;
    0x00027714 ldr r1, [r1, 0xf0]                            |     r1 = *((r1 + 0xf0));
    0x00027718 add r3, pc, r3                                |     r3 = pc + r3;
    0x0002771c str r3, [sp, 0x14]                            |     var_14h = r3;
    0x00027720 cmp r1, 2                                     |     
    0x00027724 mov r3, 0                                     |     r3 = 0;
    0x00027728 mov r8, r0                                    |     r8 = r0;
    0x0002772c mov r5, r2                                    |     r5 = r2;
    0x00027730 str r3, [sp, 0x18]                            |     var_18h = r3;
    0x00027734 str r3, [sp, 0x1c]                            |     var_1ch = r3;
                                                             |     if (r1 == 2) {
    0x00027738 bne 0x2775c                                   |         
    0x0002773c ldr r3, [r6, 0x19c]                           |         r3 = *((r6 + 0x19c));
    0x00027740 adds r3, r3, 1                                |         r3++;
                                                             |         if (r3 == r3) {
    0x00027744 movne r3, 1                                   |             r3 = 1;
                                                             |         }
    0x00027748 add r3, r6, r3, lsl 4                         |         r3 = r6 + (r3 << 4);
    0x0002774c ldr r3, [r3, 0x1e0]                           |         r3 = *((r3 + 0x1e0));
    0x00027750 cmp r3, 2                                     |         
                                                             |         if (r3 == 2) {
    0x00027754 ldrne sl, [r6, 0xe4]                          |             sl = *((r6 + 0xe4));
                                                             |         }
                                                             |         if (r3 != 2) {
    0x00027758 bne 0x27768                                   |             goto label_3;
                                                             |         }
                                                             |     }
    0x0002775c cmp r1, 2                                     |     
    0x00027760 ldr sl, [r6, 0xa0]                            |     sl = *((r6 + 0xa0));
                                                             |     if (r1 == 2) {
    0x00027764 bne 0x27788                                   |         
                                                             | label_3:
    0x00027768 ldr r3, [r6, 0x19c]                           |         r3 = *((r6 + 0x19c));
    0x0002776c adds r3, r3, 1                                |         r3++;
                                                             |         if (r3 == r3) {
    0x00027770 movne r3, 1                                   |             r3 = 1;
                                                             |         }
    0x00027774 add r3, r6, r3, lsl 4                         |         r3 = r6 + (r3 << 4);
    0x00027778 ldr r3, [r3, 0x1e0]                           |         r3 = *((r3 + 0x1e0));
    0x0002777c cmp r3, 2                                     |         
                                                             |         if (r3 == 2) {
    0x00027780 ldrne fp, [r6, 0xfc]                          |             fp = *((r6 + 0xfc));
                                                             |         }
                                                             |         if (r3 != 2) {
    0x00027784 bne 0x2778c                                   |             goto label_4;
                                                             |         }
                                                             |     }
    0x00027788 ldr fp, [r6, 0x100]                           |     fp = *((r6 + 0x100));
                                                             | label_4:
    0x0002778c ldr sb, [r4, 0x5dc]                           |     sb = *((r4 + 0x5dc));
    0x00027790 ldr r7, [r8, 8]                               |     r7 = *((r8 + 8));
    0x00027794 cmp sb, 0                                     |     
                                                             |     if (sb != 0) {
    0x00027798 ldreq r3, [r8]                                |         r3 = *(r8);
                                                             |     }
    0x0002779c ldr r0, [r8, 0xc]                             |     r0 = *((r8 + 0xc));
                                                             |     if (sb != 0) {
    0x000277a0 ldreq sb, [r3]                                |         sb = *(r3);
                                                             |     }
    0x000277a4 ldr r3, [sp, 0x10]                            |     r3 = var_10h;
    0x000277a8 and r7, r7, r0                                |     r7 &= r0;
    0x000277ac mov r1, 0                                     |     r1 = 0;
    0x000277b0 tst r7, 0x20                                  |     
    0x000277b4 strb r5, [r8, 0x16]                           |     *((r8 + 0x16)) = r5;
    0x000277b8 str r1, [r8, 0x10]                            |     *((r8 + 0x10)) = r1;
    0x000277bc str r1, [r3]                                  |     *(r3) = r1;
                                                             |     if ((r7 & 0x20) == 0) {
    0x000277c0 beq 0x278e0                                   |         goto label_5;
                                                             |     }
    0x000277c4 ldr r1, [r6, 0x174]                           |     r1 = *((r6 + 0x174));
    0x000277c8 ldrb r1, [r1]                                 |     r1 = *(r1);
    0x000277cc cmp r1, 0                                     |     
                                                             |     if (r1 != 0) {
    0x000277d0 bne 0x278e0                                   |         goto label_5;
                                                             |     }
    0x000277d4 mov r3, 0x20                                  |     r3 = 0x20;
    0x000277d8 cmp r5, 0                                     |     
    0x000277dc str r3, [r8, 0x10]                            |     *((r8 + 0x10)) = r3;
                                                             |     if (r5 == 0) {
    0x000277e0 bne 0x277f0                                   |         
    0x000277e4 ldrb r3, [r4, 0x60c]                          |         r3 = *((r4 + 0x60c));
    0x000277e8 cmp r3, 0                                     |         
                                                             |         if (r3 == 0) {
    0x000277ec beq 0x27b54                                   |             goto label_6;
                                                             |         }
                                                             |     }
    0x000277f0 mov r0, r4                                    |     r0 = r4;
    0x000277f4 add r3, sp, 0x1c                              |     r3 += var_1ch;
    0x000277f8 add r2, sp, 0x18                              |     r2 += var_18h;
    0x000277fc ldr r1, [r6, 0x170]                           |     r1 = *((r6 + 0x170));
    0x00027800 bl 0x2fcc0                                    |     Curl_auth_create_external_message ();
    0x00027804 ldr r7, [pc, 0x3c4]                           |     r7 = $d;
    0x00027808 mov fp, 0x10                                  |     
    0x0002780c mov r4, 4                                     |     r4 = 4;
    0x00027810 add r7, pc, r7                                |     r7 = pc + r7;
    0x00027814 mov r5, r0                                    |     r5 = r0;
                                                             |     do {
                                                             | label_1:
    0x00027818 adds r3, r7, 0                                |         r3 = r7 + 0;
                                                             |         if (r3 == r7) {
    0x0002781c movne r3, 1                                   |             r3 = 1;
                                                             |         }
    0x00027820 cmp r5, 0                                     |         
                                                             |         if (r5 == 0) {
    0x00027824 movne r3, 0                                   |             r3 = 0;
                                                             |         }
    0x00027828 cmp r3, 0                                     |         
    0x0002782c ldr r2, [sp, 0x14]                            |         r2 = var_14h;
    0x00027830 ldr r3, [pc, 0x39c]                           |         r3 = *(0x27bd0);
    0x00027834 ldr sl, [r2, r3]                              |         sl = *((r2 + r3));
                                                             |         if (r3 != 0) {
    0x00027838 beq 0x278c8                                   |             
    0x0002783c ldr r5, [sp, 0x18]                            |             r5 = var_18h;
    0x00027840 cmp r5, 0                                     |             
                                                             |             if (r5 != 0) {
    0x00027844 beq 0x2788c                                   |                 
    0x00027848 ldr r3, [r8]                                  |                 r3 = *(r8);
    0x0002784c ldr r2, [r3, 0xc]                             |                 r2 = *((r3 + 0xc));
    0x00027850 cmp r2, 0                                     |                 
    0x00027854 str r2, [sp, 0x14]                            |                 var_14h = r2;
                                                             |                 if (r2 == 0) {
    0x00027858 beq 0x2788c                                   |                     goto label_7;
                                                             |                 }
    0x0002785c mov r0, r7                                    |                 r0 = r7;
    0x00027860 bl 0x5250                                     |                 strlen (r0);
    0x00027864 ldr r3, [sp, 0x1c]                            |                 r3 = var_1ch;
    0x00027868 ldr r2, [sp, 0x14]                            |                 r2 = var_14h;
    0x0002786c add r0, r0, r3                                |                 r0 += r3;
    0x00027870 cmp r2, r0                                    |                 
                                                             |                 if (r2 >= r0) {
    0x00027874 bhs 0x2788c                                   |                     goto label_7;
                                                             |                 }
    0x00027878 ldr r3, [sl]                                  |                 r3 = *(sl);
    0x0002787c mov r0, r5                                    |                 r0 = r5;
    0x00027880 blx r3                                        |                 uint32_t (*r3)(uint32_t, uint32_t) (r0, r3);
    0x00027884 mov r3, 0                                     |                 r3 = 0;
    0x00027888 str r3, [sp, 0x18]                            |                 var_18h = r3;
                                                             |             }
                                                             | label_7:
    0x0002788c ldr r3, [r8]                                  |             r3 = *(r8);
    0x00027890 ldr r2, [sp, 0x18]                            |             r2 = var_18h;
    0x00027894 ldr r3, [r3, 0x10]                            |             r3 = *((r3 + 0x10));
    0x00027898 mov r1, r7                                    |             r1 = r7;
    0x0002789c mov r0, r6                                    |             r0 = r6;
    0x000278a0 blx r3                                        |             r0 = uint32_t (*r3)(uint32_t, uint32_t, uint32_t, uint32_t) (r0, r1, r2, r3);
    0x000278a4 subs r5, r0, 0                                |             r5 = r0 - 0;
                                                             |             if (r5 != r0) {
    0x000278a8 bne 0x278c8                                   |                 goto label_8;
                                                             |             }
    0x000278ac ldr r2, [sp, 0x10]                            |             r2 = var_10h;
    0x000278b0 mov r3, 1                                     |             r3 = 1;
    0x000278b4 str r3, [r2]                                  |             *(r2) = r3;
    0x000278b8 ldr r3, [sp, 0x18]                            |             r3 = var_18h;
    0x000278bc cmp r3, 0                                     |             
                                                             |             if (r3 == 0) {
    0x000278c0 movne r4, fp                                  |                 r4 = fp;
                                                             |             }
    0x000278c4 str r4, [r8, 4]                               |             *((r8 + 4)) = r4;
                                                             |         }
                                                             | label_8:
    0x000278c8 ldr r0, [sp, 0x18]                            |         r0 = var_18h;
    0x000278cc ldr r3, [sl]                                  |         r3 = *(sl);
    0x000278d0 blx r3                                        |         uint32_t (*r3)(uint32_t, uint32_t, uint32_t) (r0, r2, r3);
    0x000278d4 mov r0, r5                                    |         r0 = r5;
    0x000278d8 add sp, sp, 0x24                              |         
    0x000278dc pop {r4, r5, r6, r7, r8, sb, sl, fp, pc}      |         
                                                             | label_5:
    0x000278e0 ldrb r1, [r6, 0x258]                          |         r1 = *((r6 + 0x258));
    0x000278e4 cmp r1, 0                                     |         
                                                             |         if (r1 != 0) {
    0x000278e8 bne 0x27900                                   |             goto label_9;
                                                             |         }
                                                             | label_2:
    0x000278ec mov r4, 0                                     |         r4 = 0;
    0x000278f0 mov fp, 0x10                                  |         
    0x000278f4 mov r7, r4                                    |         r7 = r4;
                                                             | label_0:
    0x000278f8 mov r5, 0                                     |         r5 = 0;
    0x000278fc b 0x27818                                     |         
                                                             |     } while (1);
                                                             | label_9:
    0x00027900 tst r7, 8                                     |     
                                                             |     if ((r7 & 8) != 0) {
    0x00027904 beq 0x27930                                   |         
    0x00027908 bl 0x305cc                                    |         r0 = Curl_auth_is_digest_supported ();
    0x0002790c cmp r0, 0                                     |         
                                                             |         if (r0 == 0) {
    0x00027910 beq 0x27930                                   |             goto label_10;
                                                             |         }
    0x00027914 ldr r7, [pc, 0x2bc]                           |         r7 = *(0x27bd4);
    0x00027918 mov r3, 8                                     |         r3 = 8;
    0x0002791c str r3, [r8, 0x10]                            |         *((r8 + 0x10)) = r3;
    0x00027920 mov fp, 0x10                                  |         
    0x00027924 mov r4, 6                                     |         r4 = 6;
    0x00027928 add r7, pc, r7                                |         r7 = pc + r7;
    0x0002792c b 0x278f8                                     |         goto label_0;
                                                             |     }
                                                             | label_10:
    0x00027930 tst r7, 4                                     |     
                                                             |     if ((r7 & 4) != 0) {
    0x00027934 beq 0x27954                                   |         
    0x00027938 ldr r7, [pc, 0x29c]                           |         r7 = *(0x27bd8);
    0x0002793c mov r3, 4                                     |         r3 = 4;
    0x00027940 str r3, [r8, 0x10]                            |         *((r8 + 0x10)) = r3;
    0x00027944 mov fp, 0x10                                  |         
    0x00027948 mov r4, 5                                     |         r4 = 5;
    0x0002794c add r7, pc, r7                                |         r7 = pc + r7;
    0x00027950 b 0x278f8                                     |         goto label_0;
                                                             |     }
    0x00027954 tst r7, 0x40                                  |     
                                                             |     if ((r7 & 0x40) != 0) {
    0x00027958 beq 0x279cc                                   |         
    0x0002795c bl 0x31304                                    |         r0 = Curl_auth_is_ntlm_supported ();
    0x00027960 cmp r0, 0                                     |         
                                                             |         if (r0 == 0) {
    0x00027964 beq 0x279cc                                   |             goto label_11;
                                                             |         }
    0x00027968 mov r1, 0x40                                  |         r1 = 0x40;
    0x0002796c cmp r5, 0                                     |         
    0x00027970 str r1, [r8, 0x10]                            |         *((r8 + 0x10)) = r1;
                                                             |         if (r5 == 0) {
    0x00027974 bne 0x27984                                   |             
    0x00027978 ldrb r1, [r4, 0x60c]                          |             r1 = *((r4 + 0x60c));
    0x0002797c cmp r1, 0                                     |             
                                                             |             if (r1 == 0) {
    0x00027980 beq 0x27b68                                   |                 goto label_12;
                                                             |             }
                                                             |         }
    0x00027984 add r1, sp, 0x1c                              |         r1 += var_1ch;
    0x00027988 str r1, [sp, 0xc]                             |         var_ch = r1;
    0x0002798c add r1, sp, 0x18                              |         r1 += var_18h;
    0x00027990 str r1, [sp, 8]                               |         var_8h = r1;
    0x00027994 add r1, r6, 0x2f8                             |         r1 = r6 + 0x2f8;
    0x00027998 str r1, [sp, 4]                               |         var_4h = r1;
    0x0002799c mov r0, r4                                    |         r0 = r4;
    0x000279a0 str sl, [sp]                                  |         *(sp) = sl;
    0x000279a4 mov r3, sb                                    |         r3 = sb;
    0x000279a8 ldr r2, [r6, 0x174]                           |         r2 = *((r6 + 0x174));
    0x000279ac ldr r1, [r6, 0x170]                           |         r1 = *((r6 + 0x170));
    0x000279b0 bl 0x31540                                    |         Curl_auth_create_ntlm_type1_message ();
    0x000279b4 ldr r7, [pc, 0x224]                           |         r7 = *(0x27bdc);
    0x000279b8 mov fp, 9                                     |         
    0x000279bc mov r4, 8                                     |         r4 = 8;
    0x000279c0 add r7, pc, r7                                |         r7 = pc + r7;
    0x000279c4 mov r5, r0                                    |         r5 = r0;
    0x000279c8 b 0x27818                                     |         goto label_1;
                                                             |     }
                                                             | label_11:
    0x000279cc tst r7, 0x100                                 |     
                                                             |     if ((r7 & 0x100) != 0) {
    0x000279d0 beq 0x27a3c                                   |         
    0x000279d4 ldr r3, [r6, 0x17c]                           |         r3 = *((r6 + 0x17c));
    0x000279d8 cmp r3, 0                                     |         
                                                             |         if (r3 == 0) {
    0x000279dc beq 0x27a3c                                   |             goto label_13;
                                                             |         }
    0x000279e0 mov r1, 0x100                                 |         r1 = 0x100;
    0x000279e4 cmp r5, 0                                     |         
    0x000279e8 str r1, [r8, 0x10]                            |         *((r8 + 0x10)) = r1;
                                                             |         if (r5 == 0) {
    0x000279ec bne 0x279fc                                   |             
    0x000279f0 ldrb r1, [r4, 0x60c]                          |             r1 = *((r4 + 0x60c));
    0x000279f4 cmp r1, 0                                     |             
                                                             |             if (r1 == 0) {
    0x000279f8 beq 0x27b7c                                   |                 goto label_14;
                                                             |             }
                                                             |         }
    0x000279fc add r1, sp, 0x1c                              |         r1 += var_1ch;
    0x00027a00 str r1, [sp, 8]                               |         var_8h = r1;
    0x00027a04 add r1, sp, 0x18                              |         r1 += var_18h;
    0x00027a08 str r1, [sp, 4]                               |         var_4h = r1;
    0x00027a0c str r3, [sp]                                  |         *(sp) = r3;
    0x00027a10 mov r0, r4                                    |         r0 = r4;
    0x00027a14 mov r3, fp                                    |         r3 = fp;
    0x00027a18 mov r2, sl                                    |         r2 = sl;
    0x00027a1c ldr r1, [r6, 0x170]                           |         r1 = *((r6 + 0x170));
    0x00027a20 bl 0x31c20                                    |         Curl_auth_create_oauth_bearer_message ();
    0x00027a24 ldr r7, [pc, 0x1b8]                           |         r7 = *(0x27be0);
    0x00027a28 mov fp, 0xe                                   |         
    0x00027a2c mov r4, 0xd                                   |         r4 = 0xd;
    0x00027a30 add r7, pc, r7                                |         r7 = pc + r7;
    0x00027a34 mov r5, r0                                    |         r5 = r0;
    0x00027a38 b 0x27818                                     |         goto label_1;
                                                             |     }
                                                             | label_13:
    0x00027a3c tst r7, 0x80                                  |     
                                                             |     if ((r7 & 0x80) != 0) {
    0x00027a40 beq 0x27aac                                   |         
    0x00027a44 ldr r3, [r6, 0x17c]                           |         r3 = *((r6 + 0x17c));
    0x00027a48 cmp r3, 0                                     |         
                                                             |         if (r3 == 0) {
    0x00027a4c beq 0x27aac                                   |             goto label_15;
                                                             |         }
    0x00027a50 mov r2, 0x80                                  |         r2 = 0x80;
    0x00027a54 cmp r5, 0                                     |         
    0x00027a58 str r2, [r8, 0x10]                            |         *((r8 + 0x10)) = r2;
                                                             |         if (r5 == 0) {
    0x00027a5c bne 0x27a6c                                   |             
    0x00027a60 ldrb r2, [r4, 0x60c]                          |             r2 = *((r4 + 0x60c));
    0x00027a64 cmp r2, 0                                     |             
                                                             |             if (r2 == 0) {
    0x00027a68 beq 0x27b90                                   |                 goto label_16;
                                                             |             }
                                                             |         }
    0x00027a6c add r2, sp, 0x1c                              |         r2 += var_1ch;
    0x00027a70 str r2, [sp, 8]                               |         var_8h = r2;
    0x00027a74 str r3, [sp]                                  |         *(sp) = r3;
    0x00027a78 add r2, sp, 0x18                              |         r2 += var_18h;
    0x00027a7c mov r3, 0                                     |         r3 = 0;
    0x00027a80 str r2, [sp, 4]                               |         var_4h = r2;
    0x00027a84 mov r0, r4                                    |         r0 = r4;
    0x00027a88 mov r2, r3                                    |         r2 = r3;
    0x00027a8c ldr r1, [r6, 0x170]                           |         r1 = *((r6 + 0x170));
    0x00027a90 bl 0x31c20                                    |         Curl_auth_create_oauth_bearer_message ();
    0x00027a94 ldr r7, [pc, 0x14c]                           |         r7 = *(0x27be4);
    0x00027a98 mov fp, 0x10                                  |         
    0x00027a9c mov r4, 0xd                                   |         r4 = 0xd;
    0x00027aa0 add r7, pc, r7                                |         r7 = pc + r7;
    0x00027aa4 mov r5, r0                                    |         r5 = r0;
    0x00027aa8 b 0x27818                                     |         goto label_1;
                                                             |     }
                                                             | label_15:
    0x00027aac tst r7, 2                                     |     
                                                             |     if ((r7 & 2) != 0) {
    0x00027ab0 beq 0x27b04                                   |         
    0x00027ab4 mov r3, 2                                     |         r3 = 2;
    0x00027ab8 cmp r5, 0                                     |         
    0x00027abc str r3, [r8, 0x10]                            |         *((r8 + 0x10)) = r3;
                                                             |         if (r5 == 0) {
    0x00027ac0 bne 0x27ad0                                   |             
    0x00027ac4 ldrb r3, [r4, 0x60c]                          |             r3 = *((r4 + 0x60c));
    0x00027ac8 cmp r3, 0                                     |             
                                                             |             if (r3 == 0) {
    0x00027acc beq 0x27ba4                                   |                 goto label_17;
                                                             |             }
                                                             |         }
    0x00027ad0 add r3, sp, 0x1c                              |         r3 += var_1ch;
    0x00027ad4 str r3, [sp]                                  |         *(sp) = r3;
    0x00027ad8 mov r0, r4                                    |         r0 = r4;
    0x00027adc add r3, sp, 0x18                              |         r3 += var_18h;
    0x00027ae0 ldr r2, [r6, 0x174]                           |         r2 = *((r6 + 0x174));
    0x00027ae4 ldr r1, [r6, 0x170]                           |         r1 = *((r6 + 0x170));
    0x00027ae8 bl 0x2fb20                                    |         Curl_auth_create_plain_message ();
    0x00027aec ldr r7, [pc, 0xf8]                            |         r7 = *(0x27be8);
    0x00027af0 mov fp, 0x10                                  |         
    0x00027af4 mov r4, 1                                     |         r4 = 1;
    0x00027af8 add r7, pc, r7                                |         r7 = pc + r7;
    0x00027afc mov r5, r0                                    |         r5 = r0;
    0x00027b00 b 0x27818                                     |         goto label_1;
                                                             |     }
    0x00027b04 tst r7, 1                                     |     
                                                             |     if ((r7 & 1) == 0) {
    0x00027b08 beq 0x278ec                                   |         goto label_2;
                                                             |     }
    0x00027b0c mov r3, 1                                     |     r3 = 1;
    0x00027b10 cmp r5, 0                                     |     
    0x00027b14 str r3, [r8, 0x10]                            |     *((r8 + 0x10)) = r3;
                                                             |     if (r5 == 0) {
    0x00027b18 bne 0x27b28                                   |         
    0x00027b1c ldrb r3, [r4, 0x60c]                          |         r3 = *((r4 + 0x60c));
    0x00027b20 cmp r3, 0                                     |         
                                                             |         if (r3 == 0) {
    0x00027b24 beq 0x27bb8                                   |             goto label_18;
                                                             |         }
                                                             |     }
    0x00027b28 mov r0, r4                                    |     r0 = r4;
    0x00027b2c add r3, sp, 0x1c                              |     r3 += var_1ch;
    0x00027b30 add r2, sp, 0x18                              |     r2 += var_18h;
    0x00027b34 ldr r1, [r6, 0x170]                           |     r1 = *((r6 + 0x170));
    0x00027b38 bl 0x2fc30                                    |     Curl_auth_create_login_message ();
    0x00027b3c ldr r7, [pc, 0xac]                            |     r7 = *(0x27bec);
    0x00027b40 mov fp, 3                                     |     
    0x00027b44 mov r4, 2                                     |     r4 = 2;
    0x00027b48 add r7, pc, r7                                |     r7 = pc + r7;
    0x00027b4c mov r5, r0                                    |     r5 = r0;
    0x00027b50 b 0x27818                                     |     goto label_1;
                                                             | label_6:
    0x00027b54 ldr r7, [pc, 0x98]                            |     r7 = *(0x27bf0);
    0x00027b58 mov fp, 0x10                                  |     
    0x00027b5c mov r4, 4                                     |     r4 = 4;
    0x00027b60 add r7, pc, r7                                |     r7 = pc + r7;
    0x00027b64 b 0x27818                                     |     goto label_1;
                                                             | label_12:
    0x00027b68 ldr r7, [pc, 0x88]                            |     r7 = *(0x27bf4);
    0x00027b6c mov fp, 9                                     |     
    0x00027b70 mov r4, 8                                     |     r4 = 8;
    0x00027b74 add r7, pc, r7                                |     r7 = pc + r7;
    0x00027b78 b 0x27818                                     |     goto label_1;
                                                             | label_14:
    0x00027b7c ldr r7, [pc, 0x78]                            |     r7 = *(0x27bf8);
    0x00027b80 mov fp, 0xe                                   |     
    0x00027b84 mov r4, 0xd                                   |     r4 = 0xd;
    0x00027b88 add r7, pc, r7                                |     r7 = pc + r7;
    0x00027b8c b 0x27818                                     |     goto label_1;
                                                             | label_16:
    0x00027b90 ldr r7, [pc, 0x68]                            |     r7 = *(0x27bfc);
    0x00027b94 mov fp, 0x10                                  |     
    0x00027b98 mov r4, 0xd                                   |     r4 = 0xd;
    0x00027b9c add r7, pc, r7                                |     r7 = pc + r7;
    0x00027ba0 b 0x27818                                     |     goto label_1;
                                                             | label_17:
    0x00027ba4 ldr r7, [pc, 0x58]                            |     r7 = *(0x27c00);
    0x00027ba8 mov fp, 0x10                                  |     
    0x00027bac mov r4, 1                                     |     r4 = 1;
    0x00027bb0 add r7, pc, r7                                |     r7 = pc + r7;
    0x00027bb4 b 0x27818                                     |     goto label_1;
                                                             | label_18:
    0x00027bb8 ldr r7, [pc, 0x48]                            |     r7 = *(0x27c04);
    0x00027bbc mov fp, 3                                     |     
    0x00027bc0 mov r4, 2                                     |     r4 = 2;
    0x00027bc4 add r7, pc, r7                                |     r7 = pc + r7;
    0x00027bc8 b 0x27818                                     |     goto label_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/lib/libcurl.so @ 0x10ae8 */
                                                                 | #include <stdint.h>
                                                                 |  
    ; (fcn) sym.Curl_sendf ()                                    | void Curl_sendf (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_40h;
                                                                 |     int32_t var_44h;
                                                                 |     r0 = arg1;
                                                                 |     r1 = arg2;
    0x00010ae8 push {r2, r3}                                     |     
    0x00010aec push {r4, r5, r6, r7, r8, sb, sl, fp, lr}         |     
    0x00010af0 ldr sl, [r1]                                      |     sl = *(r1);
    0x00010af4 sub sp, sp, 0x1c                                  |     
    0x00010af8 str r0, [sp, 0xc]                                 |     var_ch = r0;
    0x00010afc mov fp, r1                                        |     
    0x00010b00 ldr r0, [sp, 0x40]                                |     r0 = var_40h;
    0x00010b04 add r1, sp, 0x44                                  |     r1 += var_44h;
    0x00010b08 str r1, [sp, 0x14]                                |     var_14h = r1;
    0x00010b0c bl 0x5490                                         |     fcn_00005490 ();
    0x00010b10 ldr sb, [pc, 0xa0]                                |     sb = *(0x00010bb8);
    0x00010b14 add sb, pc, sb                                    |     sb = pc + sb;
    0x00010b18 subs r8, r0, 0                                    |     r8 = r0 - 0;
                                                                 |     if (r8 != r0) {
    0x00010b1c moveq r7, 0x1b                                    |         r7 = 0x1b;
                                                                 |     }
                                                                 |     if (r8 == r0) {
    0x00010b20 beq 0x10ba4                                       |         goto label_0;
                                                                 |     }
    0x00010b24 mov r3, 0                                         |     r3 = 0;
    0x00010b28 add r6, sp, 0x18                                  |     r6 += var_18h;
    0x00010b2c str r3, [r6, -8]!                                 |     *((r6 -= 8)) = r3;
    0x00010b30 bl 0x5250                                         |     strlen (r0);
    0x00010b34 mov r4, r8                                        |     r4 = r8;
    0x00010b38 mov r5, r0                                        |     r5 = r0;
                                                                 |     do {
    0x00010b3c str r6, [sp]                                      |         *(sp) = r6;
    0x00010b40 mov r3, r5                                        |         r3 = r5;
    0x00010b44 mov r2, r4                                        |         r2 = r4;
    0x00010b48 ldr r1, [sp, 0xc]                                 |         r1 = var_ch;
    0x00010b4c mov r0, fp                                        |         r0 = fp;
    0x00010b50 bl 0x10244                                        |         r0 = Curl_write ();
    0x00010b54 subs r7, r0, 0                                    |         r7 = r0 - 0;
                                                                 |         if (r7 != r0) {
    0x00010b58 bne 0x10b90                                       |             goto label_1;
                                                                 |         }
    0x00010b5c ldrb r3, [sl, 0x4d8]                              |         r3 = *((sl + 0x4d8));
    0x00010b60 cmp r3, 0                                         |         
                                                                 |         if (r3 != 0) {
    0x00010b64 beq 0x10b7c                                       |             
    0x00010b68 ldr r3, [sp, 0x10]                                |             r3 = var_10h;
    0x00010b6c mov r2, r4                                        |             r2 = r4;
    0x00010b70 mov r1, 4                                         |             r1 = 4;
    0x00010b74 mov r0, sl                                        |             r0 = sl;
    0x00010b78 bl 0x10424                                        |             Curl_debug ();
                                                                 |         }
    0x00010b7c ldr r3, [sp, 0x10]                                |         r3 = var_10h;
    0x00010b80 cmp r3, r5                                        |         
                                                                 |         if (r3 == r5) {
    0x00010b84 subne r5, r5, r3                                  |             r5 -= r3;
                                                                 |         }
                                                                 |         if (r3 == r5) {
    0x00010b88 addne r4, r4, r3                                  |             r4 += r3;
                                                                 |         }
    0x00010b8c bne 0x10b3c                                       |         
                                                                 |     } while (r3 != r5);
                                                                 | label_1:
    0x00010b90 ldr r3, [pc, 0x24]                                |     
    0x00010b94 mov r0, r8                                        |     r0 = r8;
    0x00010b98 ldr r3, [sb, r3]                                  |     r3 = *((sb + r3));
    0x00010b9c ldr r3, [r3]                                      |     r3 = $d;
    0x00010ba0 blx r3                                            |     uint32_t (*r3)(uint32_t, uint32_t) (r0, r3);
                                                                 | label_0:
    0x00010ba4 mov r0, r7                                        |     r0 = r7;
    0x00010ba8 add sp, sp, 0x1c                                  |     
    0x00010bac pop {r4, r5, r6, r7, r8, sb, sl, fp, lr}          |     
    0x00010bb0 add sp, sp, 8                                     |     
    0x00010bb4 bx lr                                             |     return;
                                                                 | }
    ; 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/lib/libcurl.so @ 0x192f0 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.Curl_single_getsock ()       | void Curl_single_getsock (int32_t arg1, int32_t arg2) {
                                             |     r0 = arg1;
                                             |     r1 = arg2;
    0x000192f0 push {r4, lr}                 |     
    0x000192f4 ldr lr, [r0, 0x284]           |     
    0x000192f8 ldr lr, [lr, 0x2c]            |     
    0x000192fc cmp lr, 0                     |     
                                             |     if (lr != 0) {
    0x00019300 beq 0x19310                   |         
    0x00019304 mov r3, lr                    |         r3 = lr;
    0x00019308 pop {r4, lr}                  |         
    0x0001930c bx r3                         |         return uint32_t (*r3)() ();
                                             |     }
    0x00019310 cmp r2, 1                     |     
    0x00019314 mov r4, r2                    |     r4 = r2;
                                             |     if (r2 > 1) {
    0x00019318 ble 0x19390                   |         
    0x0001931c ldr r2, [r0]                  |         r2 = *(r0);
    0x00019320 mov r3, r0                    |         r3 = r0;
    0x00019324 ldr r0, [r2, 0x110]           |         r0 = *((r2 + 0x110));
    0x00019328 mov ip, r1                    |         
    0x0001932c and r0, r0, 0x15              |         r0 &= 0x15;
    0x00019330 cmp r0, 1                     |         
                                             |         if (r0 != 1) {
    0x00019334 ldreq r1, [r3, 0x290]         |             r1 = *((r3 + 0x290));
                                             |         }
                                             |         if (r0 == 1) {
    0x00019338 movne r0, lr                  |             r0 = lr;
                                             |         }
                                             |         if (r0 != 1) {
    0x0001933c streq r1, [ip]                |             *(ip) = r1;
                                             |         }
    0x00019340 ldr r2, [r2, 0x110]           |         r2 = *((r2 + 0x110));
    0x00019344 and r2, r2, 0x2a              |         r2 &= 0x2a;
    0x00019348 cmp r2, 2                     |         
    0x0001934c popne {r4, pc}                |         
    0x00019350 ldr r2, [r3, 0x294]           |         r2 = *((r3 + 0x294));
    0x00019354 ldr r3, [r3, 0x290]           |         r3 = *((r3 + 0x290));
    0x00019358 cmp r3, r2                    |         
                                             |         if (r3 == r2) {
    0x0001935c bne 0x19374                   |             
    0x00019360 cmp r0, 0                     |             
                                             |             if (r0 == 0) {
    0x00019364 movne r3, 0                   |                 r3 = 0;
                                             |             }
                                             |             if (r0 != 0) {
    0x00019368 bne 0x19380                   |                 goto label_0;
                                             |             }
    0x0001936c mov r3, r0                    |             r3 = r0;
    0x00019370 b 0x1937c                     |             
                                             |         } else {
    0x00019374 adds r3, r0, 0                |             r3 = r0 + 0;
                                             |             if (r3 != r0) {
    0x00019378 movne r3, 1                   |                 r3 = 1;
                                             |                 goto label_1;
                                             |             }
                                             |         }
                                             | label_1:
    0x0001937c str r2, [ip, r3, lsl 2]       |         offset_0 = r3 << 2;
                                             |         *((ip + offset_0)) = r2;
                                             | label_0:
    0x00019380 add r3, r3, 0x10              |         r3 += 0x10;
    0x00019384 mov r2, 1                     |         r2 = 1;
    0x00019388 orr r0, r0, r2, lsl r3        |         r0 |= (r2 << r3);
    0x0001938c pop {r4, pc}                  |         
                                             |     }
    0x00019390 mov r0, lr                    |     r0 = lr;
    0x00019394 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/lib/libcurl.so @ 0x36df8 */
                                         | #include <stdint.h>
                                         |  
    ; (fcn) sym.Curl_ssl_connect ()      | void Curl_ssl_connect (int32_t arg1, int32_t arg2) {
                                         |     r0 = arg1;
                                         |     r1 = arg2;
    0x00036df8 add r3, r0, r1            |     r3 = r0 + r1;
    0x00036dfc ldrb r3, [r3, 0x271]      |     r3 = *((r3 + 0x271));
    0x00036e00 push {r4, r5, r6, lr}     |     
    0x00036e04 cmp r3, 0                 |     
    0x00036e08 mov r4, r0                |     r4 = r0;
    0x00036e0c mov r6, r1                |     r6 = r1;
    0x00036e10 bne 0x36e6c               |     
                                         |     while (r5 == r0) {
    0x00036e14 ldr r0, [r4]              |         r0 = *(r4);
    0x00036e18 bl 0x36700                |         r0 = ssl_prefs_check ();
    0x00036e1c cmp r0, 0                 |         
                                         |         if (r0 != 0) {
    0x00036e20 moveq r5, 0x23            |             r5 = 0x23;
                                         |         }
                                         |         if (r0 == 0) {
    0x00036e24 beq 0x36e78               |             goto label_0;
                                         |         }
    0x00036e28 add r3, r4, r6, lsl 4     |         r3 = r4 + (r6 << 4);
    0x00036e2c mov r2, 1                 |         r2 = 1;
    0x00036e30 strb r2, [r3, 0x1bc]      |         *((r3 + 0x1bc)) = r2;
    0x00036e34 str r2, [r3, 0x1c0]       |         *((r3 + 0x1c0)) = r2;
    0x00036e38 ldr r3, [pc, 0x40]        |         
    0x00036e3c mov r1, r6                |         r1 = r6;
    0x00036e40 add r3, pc, r3            |         r3 = pc + r3;
    0x00036e44 ldr r3, [r3]              |         
    0x00036e48 mov r0, r4                |         r0 = r4;
    0x00036e4c ldr r3, [r3, 0x30]        |         r3 = *(0x36eac);
    0x00036e50 blx r3                    |         r0 = uint32_t (*r3)(uint32_t, uint32_t, uint32_t, uint32_t) (r0, r1, r2, r3);
    0x00036e54 subs r5, r0, 0            |         r5 = r0 - 0;
                                         |         if (r5 != r0) {
    0x00036e58 bne 0x36e78               |             goto label_0;
                                         |         }
    0x00036e5c mov r1, 5                 |         r1 = 5;
    0x00036e60 ldr r0, [r4]              |         r0 = *(r4);
    0x00036e64 bl 0x7f7c                 |         Curl_pgrsTime ();
    0x00036e68 b 0x36e78                 |         goto label_0;
    0x00036e6c bl 0x369e4                |         r0 = ssl_connect_init_proxy ();
    0x00036e70 subs r5, r0, 0            |         r5 = r0 - 0;
    0x00036e74 beq 0x36e14               |         
                                         |     }
                                         | label_0:
    0x00036e78 mov r0, r5                |     r0 = r5;
    0x00036e7c 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/lib/libcurl.so @ 0x36e84 */
                                                     | #include <stdint.h>
                                                     |  
    ; (fcn) sym.Curl_ssl_connect_nonblocking ()      | void Curl_ssl_connect_nonblocking (int32_t arg1, int32_t arg2) {
                                                     |     r0 = arg1;
                                                     |     r1 = arg2;
    0x00036e84 add r3, r0, r1                        |     r3 = r0 + r1;
    0x00036e88 ldrb r3, [r3, 0x271]                  |     r3 = *((r3 + 0x271));
    0x00036e8c push {r4, r5, r6, r7, r8, lr}         |     
    0x00036e90 cmp r3, 0                             |     
    0x00036e94 mov r4, r0                            |     r4 = r0;
    0x00036e98 mov r6, r1                            |     r6 = r1;
    0x00036e9c mov r7, r2                            |     r7 = r2;
    0x00036ea0 bne 0x36f08                           |     
                                                     |     while (r5 == r0) {
    0x00036ea4 ldr r0, [r4]                          |         r0 = *(r4);
    0x00036ea8 bl 0x36700                            |         r0 = ssl_prefs_check ();
    0x00036eac cmp r0, 0                             |         
                                                     |         if (r0 != 0) {
    0x00036eb0 moveq r5, 0x23                        |             r5 = 0x23;
                                                     |         }
                                                     |         if (r0 == 0) {
    0x00036eb4 beq 0x36f14                           |             goto label_0;
                                                     |         }
    0x00036eb8 add r3, r4, r6, lsl 4                 |         r3 = r4 + (r6 << 4);
    0x00036ebc mov r2, 1                             |         r2 = 1;
    0x00036ec0 strb r2, [r3, 0x1bc]                  |         *((r3 + 0x1bc)) = r2;
    0x00036ec4 ldr r3, [pc, 0x50]                    |         
    0x00036ec8 mov r2, r7                            |         r2 = r7;
    0x00036ecc add r3, pc, r3                        |         r3 = pc + r3;
    0x00036ed0 ldr r3, [r3]                          |         
    0x00036ed4 mov r1, r6                            |         r1 = r6;
    0x00036ed8 ldr r3, [r3, 0x34]                    |         r3 = *(0x36f4c);
    0x00036edc mov r0, r4                            |         r0 = r4;
    0x00036ee0 blx r3                                |         r0 = uint32_t (*r3)(uint32_t, uint32_t, uint32_t, uint32_t) (r0, r1, r2, r3);
    0x00036ee4 subs r5, r0, 0                        |         r5 = r0 - 0;
                                                     |         if (r5 != r0) {
    0x00036ee8 bne 0x36f14                           |             goto label_0;
                                                     |         }
    0x00036eec ldrb r3, [r7]                         |         r3 = *(r7);
    0x00036ef0 cmp r3, 0                             |         
                                                     |         if (r3 == 0) {
    0x00036ef4 beq 0x36f14                           |             goto label_0;
                                                     |         }
    0x00036ef8 mov r1, 5                             |         r1 = 5;
    0x00036efc ldr r0, [r4]                          |         r0 = *(r4);
    0x00036f00 bl 0x7f7c                             |         Curl_pgrsTime ();
    0x00036f04 b 0x36f14                             |         goto label_0;
    0x00036f08 bl 0x369e4                            |         r0 = ssl_connect_init_proxy ();
    0x00036f0c subs r5, r0, 0                        |         r5 = r0 - 0;
    0x00036f10 beq 0x36ea4                           |         
                                                     |     }
                                                     | label_0:
    0x00036f14 mov r0, r5                            |     r0 = r5;
    0x00036f18 pop {r4, r5, r6, r7, r8, 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/lib/libcurl.so @ 0x36e84 */
                                                     | #include <stdint.h>
                                                     |  
    ; (fcn) sym.Curl_ssl_connect_nonblocking ()      | void Curl_ssl_connect_nonblocking (int32_t arg1, int32_t arg2) {
                                                     |     r0 = arg1;
                                                     |     r1 = arg2;
    0x00036e84 add r3, r0, r1                        |     r3 = r0 + r1;
    0x00036e88 ldrb r3, [r3, 0x271]                  |     r3 = *((r3 + 0x271));
    0x00036e8c push {r4, r5, r6, r7, r8, lr}         |     
    0x00036e90 cmp r3, 0                             |     
    0x00036e94 mov r4, r0                            |     r4 = r0;
    0x00036e98 mov r6, r1                            |     r6 = r1;
    0x00036e9c mov r7, r2                            |     r7 = r2;
    0x00036ea0 bne 0x36f08                           |     
                                                     |     while (r5 == r0) {
    0x00036ea4 ldr r0, [r4]                          |         r0 = *(r4);
    0x00036ea8 bl 0x36700                            |         r0 = ssl_prefs_check ();
    0x00036eac cmp r0, 0                             |         
                                                     |         if (r0 != 0) {
    0x00036eb0 moveq r5, 0x23                        |             r5 = 0x23;
                                                     |         }
                                                     |         if (r0 == 0) {
    0x00036eb4 beq 0x36f14                           |             goto label_0;
                                                     |         }
    0x00036eb8 add r3, r4, r6, lsl 4                 |         r3 = r4 + (r6 << 4);
    0x00036ebc mov r2, 1                             |         r2 = 1;
    0x00036ec0 strb r2, [r3, 0x1bc]                  |         *((r3 + 0x1bc)) = r2;
    0x00036ec4 ldr r3, [pc, 0x50]                    |         
    0x00036ec8 mov r2, r7                            |         r2 = r7;
    0x00036ecc add r3, pc, r3                        |         r3 = pc + r3;
    0x00036ed0 ldr r3, [r3]                          |         
    0x00036ed4 mov r1, r6                            |         r1 = r6;
    0x00036ed8 ldr r3, [r3, 0x34]                    |         r3 = *(0x36f4c);
    0x00036edc mov r0, r4                            |         r0 = r4;
    0x00036ee0 blx r3                                |         r0 = uint32_t (*r3)(uint32_t, uint32_t, uint32_t, uint32_t) (r0, r1, r2, r3);
    0x00036ee4 subs r5, r0, 0                        |         r5 = r0 - 0;
                                                     |         if (r5 != r0) {
    0x00036ee8 bne 0x36f14                           |             goto label_0;
                                                     |         }
    0x00036eec ldrb r3, [r7]                         |         r3 = *(r7);
    0x00036ef0 cmp r3, 0                             |         
                                                     |         if (r3 == 0) {
    0x00036ef4 beq 0x36f14                           |             goto label_0;
                                                     |         }
    0x00036ef8 mov r1, 5                             |         r1 = 5;
    0x00036efc ldr r0, [r4]                          |         r0 = *(r4);
    0x00036f00 bl 0x7f7c                             |         Curl_pgrsTime ();
    0x00036f04 b 0x36f14                             |         goto label_0;
    0x00036f08 bl 0x369e4                            |         r0 = ssl_connect_init_proxy ();
    0x00036f0c subs r5, r0, 0                        |         r5 = r0 - 0;
    0x00036f10 beq 0x36ea4                           |         
                                                     |     }
                                                     | label_0:
    0x00036f14 mov r0, r5                            |     r0 = r5;
    0x00036f18 pop {r4, r5, r6, r7, r8, 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/lib/libcurl.so @ 0x36f6c */
                                                             | #include <stdint.h>
                                                             |  
    ; (fcn) sym.Curl_ssl_getsessionid ()                     | void Curl_ssl_getsessionid (int32_t arg1, int32_t arg2) {
                                                             |     int32_t var_0h;
                                                             |     int32_t var_4h;
                                                             |     int32_t var_8h;
                                                             |     int32_t var_ch;
                                                             |     int32_t var_14h;
                                                             |     r0 = arg1;
                                                             |     r1 = arg2;
    0x00036f6c ldr ip, [r0, 0xf0]                            |     ip = *((r0 + 0xf0));
    0x00036f70 push {r4, r5, r6, r7, r8, sb, sl, fp, lr}     |     
    0x00036f74 ldr r8, [r0]                                  |     r8 = *(r0);
    0x00036f78 cmp ip, 2                                     |     
    0x00036f7c sub sp, sp, 0x14                              |     
                                                             |     if (ip != 2) {
    0x00036f80 bne 0x37004                                   |         goto label_4;
                                                             |     }
    0x00036f84 add r3, r0, r3                                |     r3 = r0 + r3;
    0x00036f88 ldrb r3, [r3, 0x271]                          |     r3 = *((r3 + 0x271));
    0x00036f8c cmp r3, 0                                     |     
                                                             |     if (r3 != 0) {
    0x00036f90 bne 0x37004                                   |         goto label_4;
                                                             |     }
    0x00036f94 ldr r3, [r0, 0xe4]                            |     r3 = *((r0 + 0xe4));
    0x00036f98 add fp, r0, 0x228                             |     
    0x00036f9c str r3, [sp]                                  |     *(sp) = r3;
    0x00036fa0 mov r3, 1                                     |     r3 = 1;
                                                             |     do {
    0x00036fa4 ldr lr, [r0, 0xfc]                            |         
    0x00036fa8 cmp r3, 0                                     |         
    0x00036fac ldr sb, [r0, 0x100]                           |         sb = *((r0 + 0x100));
    0x00036fb0 mov r3, 0                                     |         r3 = 0;
                                                             |         if (r3 == 0) {
    0x00036fb4 movne sb, lr                                  |             sb = lr;
                                                             |         }
    0x00036fb8 cmp ip, 2                                     |         
    0x00036fbc str r3, [r1]                                  |         *(r1) = r3;
                                                             |         if (ip == 2) {
    0x00036fc0 bne 0x36fe4                                   |             
    0x00036fc4 ldr r3, [r0, 0x19c]                           |             r3 = *((r0 + 0x19c));
    0x00036fc8 adds r3, r3, 1                                |             r3++;
                                                             |             if (r3 == r3) {
    0x00036fcc movne r3, 1                                   |                 r3 = 1;
                                                             |             }
    0x00036fd0 add r3, r0, r3, lsl 4                         |             r3 = r0 + (r3 << 4);
    0x00036fd4 ldr r3, [r3, 0x1e0]                           |             r3 = *((r3 + 0x1e0));
    0x00036fd8 cmp r3, 2                                     |             
                                                             |             if (r3 == 2) {
    0x00036fdc ldrbne r6, [r8, 0x43f]                        |                 r6 = *((r8 + 0x43f));
                                                             |             }
                                                             |             if (r3 != 2) {
    0x00036fe0 bne 0x36fe8                                   |                 goto label_5;
                                                             |             }
                                                             |         }
    0x00036fe4 ldrb r6, [r8, 0x3e7]                          |         r6 = *((r8 + 0x3e7));
                                                             | label_5:
    0x00036fe8 eor r6, r6, 1                                 |         r6 ^= 1;
    0x00036fec cmp r6, 0                                     |         
                                                             |         if (r6 == 0) {
    0x00036ff0 beq 0x37018                                   |             goto label_6;
                                                             |         }
                                                             | label_0:
    0x00036ff4 mov r6, 1                                     |         r6 = 1;
                                                             | label_1:
    0x00036ff8 mov r0, r6                                    |         r0 = r6;
    0x00036ffc add sp, sp, 0x14                              |         
    0x00037000 pop {r4, r5, r6, r7, r8, sb, sl, fp, pc}      |         
                                                             | label_4:
    0x00037004 ldr r3, [r0, 0xa0]                            |         r3 = *((r0 + 0xa0));
    0x00037008 add fp, r0, 0x200                             |         
    0x0003700c str r3, [sp]                                  |         *(sp) = r3;
    0x00037010 mov r3, 0                                     |         r3 = 0;
    0x00037014 b 0x36fa4                                     |         
                                                             |     } while (1);
                                                             | label_6:
    0x00037018 ldr r5, [r8, 0x6c]                            |     r5 = *((r8 + 0x6c));
    0x0003701c cmp r5, 0                                     |     
                                                             |     if (r5 != 0) {
    0x00037020 beq 0x37034                                   |         
    0x00037024 ldr r3, [r5]                                  |         r3 = *(r5);
    0x00037028 tst r3, 0x10                                  |         
                                                             |         if ((r3 & 0x10) == 0) {
    0x0003702c addne r5, r5, 0x64                            |             r5 += 0x64;
                                                             |         }
                                                             |         if ((r3 & 0x10) != 0) {
    0x00037030 bne 0x3703c                                   |             goto label_7;
                                                             |         }
                                                             |     }
    0x00037034 add r5, r8, 0x4700                            |     r5 = r8 + 0x4700;
    0x00037038 add r5, r5, 0xf0                              |     r5 += 0xf0;
                                                             | label_7:
    0x0003703c add r3, r8, 0x4000                            |     r3 = r8 + 0x4000;
    0x00037040 mov r4, r0                                    |     r4 = r0;
    0x00037044 mov r7, 0                                     |     r7 = 0;
    0x00037048 str r2, [sp, 4]                               |     var_4h = r2;
    0x0003704c str r1, [sp, 0xc]                             |     var_ch = r1;
    0x00037050 str r3, [sp, 8]                               |     var_8h = r3;
                                                             | label_2:
    0x00037054 ldr r3, [r8, 0x48c]                           |     r3 = *((r8 + 0x48c));
    0x00037058 cmp r3, r7                                    |     
                                                             |     if (r3 < r7) {
    0x0003705c bls 0x36ff4                                   |         goto label_0;
                                                             |     }
    0x00037060 ldr r3, [sp, 8]                               |     r3 = var_8h;
    0x00037064 mov r2, 0x48                                  |     r2 = 0x48;
    0x00037068 mul r2, r7, r2                                |     r2 = r7 * r2;
    0x0003706c ldr r1, [r3, 0x7ec]                           |     r1 = *((r3 + 0x7ec));
    0x00037070 add sl, r1, r2                                |     sl = r1 + r2;
    0x00037074 ldr r0, [sl, 0xc]                             |     r0 = *((sl + 0xc));
    0x00037078 cmp r0, 0                                     |     
                                                             |     if (r0 == 0) {
    0x0003707c beq 0x37148                                   |         goto label_8;
                                                             |     }
    0x00037080 ldr r1, [r1, r2]                              |     r1 = *((r1 + r2));
    0x00037084 ldr r0, [sp]                                  |     r0 = *(sp);
    0x00037088 bl 0x19dc0                                    |     r0 = Curl_strcasecompare ();
    0x0003708c cmp r0, 0                                     |     
                                                             |     if (r0 == 0) {
    0x00037090 beq 0x37148                                   |         goto label_8;
                                                             |     }
    0x00037094 ldrb r2, [r4, 0x253]                          |     r2 = *((r4 + 0x253));
    0x00037098 ldr r1, [sl, 4]                               |     r1 = *((sl + 4));
    0x0003709c cmp r2, 0                                     |     
                                                             |     if (r2 != 0) {
    0x000370a0 bne 0x37130                                   |         goto label_9;
                                                             |     }
    0x000370a4 cmp r1, 0                                     |     
                                                             |     if (r1 != 0) {
    0x000370a8 bne 0x37148                                   |         goto label_8;
                                                             |     }
                                                             |     do {
    0x000370ac ldrb r1, [r4, 0x254]                          |         r1 = *((r4 + 0x254));
    0x000370b0 ldr r2, [sl, 0x1c]                            |         r2 = *((sl + 0x1c));
    0x000370b4 cmp r1, 0                                     |         
                                                             |         if (r1 != 0) {
    0x000370b8 bne 0x37150                                   |             goto label_10;
                                                             |         }
    0x000370bc cmn r2, 1                                     |         
                                                             |         if (r2 != 1) {
                                                             | label_3:
    0x000370c0 bne 0x37148                                   |             goto label_8;
                                                             |         }
    0x000370c4 ldr r2, [sl, 0x18]                            |         r2 = *((sl + 0x18));
    0x000370c8 cmp r2, sb                                    |         
                                                             |         if (r2 != sb) {
    0x000370cc bne 0x37148                                   |             goto label_8;
                                                             |         }
    0x000370d0 ldr r2, [r4, 0x284]                           |         r2 = *((r4 + 0x284));
    0x000370d4 ldr r1, [sl, 8]                               |         r1 = *((sl + 8));
    0x000370d8 ldr r0, [r2]                                  |         r0 = *(r2);
    0x000370dc bl 0x19dc0                                    |         r0 = Curl_strcasecompare ();
    0x000370e0 cmp r0, 0                                     |         
                                                             |         if (r0 == 0) {
    0x000370e4 beq 0x37148                                   |             goto label_8;
                                                             |         }
    0x000370e8 add r1, sl, 0x20                              |         r1 = sl + 0x20;
    0x000370ec mov r0, fp                                    |         r0 = fp;
    0x000370f0 bl 0x36a84                                    |         r0 = Curl_ssl_config_matches ();
    0x000370f4 cmp r0, 0                                     |         
                                                             |         if (r0 == 0) {
    0x000370f8 beq 0x37148                                   |             goto label_8;
                                                             |         }
    0x000370fc ldr r2, [r5]                                  |         r2 = *(r5);
    0x00037100 ldr r3, [sp, 0xc]                             |         r3 = var_ch;
    0x00037104 add r2, r2, 1                                 |         r2++;
    0x00037108 str r2, [r5]                                  |         *(r5) = r2;
    0x0003710c str r2, [sl, 0x14]                            |         *((sl + 0x14)) = r2;
    0x00037110 ldr r2, [sl, 0xc]                             |         r2 = *((sl + 0xc));
    0x00037114 str r2, [r3]                                  |         *(r3) = r2;
    0x00037118 ldr r3, [sp, 4]                               |         r3 = var_4h;
    0x0003711c cmp r3, 0                                     |         
                                                             |         if (r3 == 0) {
    0x00037120 ldrne r3, [sl, 0x10]                          |             r3 = *((sl + 0x10));
                                                             |         }
                                                             |         if (r3 == 0) {
    0x00037124 ldrne r2, [sp, 4]                             |             r2 = var_4h;
                                                             |         }
                                                             |         if (r3 == 0) {
    0x00037128 strne r3, [r2]                                |             *(r2) = r3;
                                                             |         }
    0x0003712c b 0x36ff8                                     |         goto label_1;
                                                             | label_9:
    0x00037130 cmp r1, 0                                     |         
                                                             |         if (r1 == 0) {
    0x00037134 beq 0x37148                                   |             goto label_8;
                                                             |         }
    0x00037138 ldr r0, [r4, 0xb4]                            |         r0 = *((r4 + 0xb4));
    0x0003713c bl 0x19dc0                                    |         r0 = Curl_strcasecompare ();
    0x00037140 cmp r0, 0                                     |         
    0x00037144 bne 0x370ac                                   |         
                                                             |     } while (r0 != 0);
                                                             |     do {
                                                             | label_8:
    0x00037148 add r7, r7, 1                                 |         r7++;
    0x0003714c b 0x37054                                     |         goto label_2;
                                                             | label_10:
    0x00037150 cmn r2, 1                                     |         
    0x00037154 beq 0x37148                                   |         
                                                             |     } while (r2 == 1);
    0x00037158 ldr r1, [r4, 0x104]                           |     r1 = *((r4 + 0x104));
    0x0003715c cmp r1, r2                                    |     
    0x00037160 b 0x370c0                                     |     goto label_3;
                                                             | }
    ; 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/lib/libcurl.so @ 0x37734 */
                                                 | #include <stdint.h>
                                                 |  
    ; (fcn) sym.Curl_ssl_init_certinfo ()        | void Curl_ssl_init_certinfo (int32_t arg1, int32_t arg2) {
                                                 |     r0 = arg1;
                                                 |     r1 = arg2;
    0x00037734 push {r4, r5, r6, lr}             |     
    0x00037738 ldr r6, [pc, 0x40]                |     r6 = *(0x3777c);
    0x0003773c mov r5, r1                        |     r5 = r1;
    0x00037740 mov r4, r0                        |     r4 = r0;
    0x00037744 bl 0x376c0                        |     Curl_ssl_free_certinfo ();
    0x00037748 ldr r3, [pc, 0x34]                |     r3 = $d;
    0x0003774c add r6, pc, r6                    |     r6 = pc + r6;
    0x00037750 ldr r3, [r6, r3]                  |     
    0x00037754 mov r1, 4                         |     r1 = 4;
    0x00037758 ldr r3, [r3]                      |     r3 = *(0x3777c);
    0x0003775c mov r0, r5                        |     r0 = r5;
    0x00037760 blx r3                            |     r0 = uint32_t (*r3)(uint32_t, uint32_t, uint32_t) (r0, r1, r3);
    0x00037764 cmp r0, 0                         |     
                                                 |     if (r0 == 0) {
    0x00037768 addne r3, r4, 0x4000              |         r3 = r4 + 0x4000;
                                                 |     }
                                                 |     if (r0 == 0) {
    0x0003776c strne r0, [r3, 0xb04]             |         *((r3 + 0xb04)) = r0;
                                                 |     }
                                                 |     if (r0 == 0) {
    0x00037770 strne r5, [r3, 0xb00]             |         *((r3 + 0xb00)) = r5;
                                                 |     }
                                                 |     if (r0 == 0) {
    0x00037774 movne r0, 0                       |         r0 = 0;
                                                 |     }
                                                 |     if (r0 != 0) {
    0x00037778 moveq r0, 0x1b                    |         r0 = 0x1b;
                                                 |     }
    0x0003777c 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/lib/libcurl.so @ 0x37788 */
                                                                         | #include <stdint.h>
                                                                         |  
    ; (fcn) sym.Curl_ssl_push_certinfo_len ()                            | void Curl_ssl_push_certinfo_len (int32_t arg_30h, int32_t arg1, int32_t arg2) {
                                                                         |     int32_t var_4h;
                                                                         |     int32_t var_ch;
                                                                         |     r0 = arg1;
                                                                         |     r1 = arg2;
    0x00037788 push {r0, r1, r2, r4, r5, r6, r7, r8, sb, sl, fp, lr}     |     
    0x0003778c ldr sb, [pc, 0xd4]                                        |     sb = *(0x37864);
    0x00037790 mov r5, r0                                                |     r5 = r0;
    0x00037794 mov r0, r2                                                |     r0 = r2;
    0x00037798 mov r8, r1                                                |     r8 = r1;
    0x0003779c mov fp, r3                                                |     
    0x000377a0 str r2, [sp, 4]                                           |     var_4h = r2;
    0x000377a4 bl 0x5250                                                 |     strlen (r0);
    0x000377a8 ldr r3, [sp, 0x30]                                        |     r3 = *(arg_30h);
    0x000377ac add sb, pc, sb                                            |     sb = pc + sb;
    0x000377b0 add r4, r0, r3                                            |     r4 = r0 + r3;
    0x000377b4 ldr r3, [pc, 0xb0]                                        |     r3 = $d;
    0x000377b8 add sl, r4, 2                                             |     sl = r4 + 2;
    0x000377bc ldr r3, [sb, r3]                                          |     
    0x000377c0 mov r7, r0                                                |     r7 = r0;
    0x000377c4 ldr r3, [r3]                                              |     r3 = *(0x37864);
    0x000377c8 mov r0, sl                                                |     r0 = sl;
    0x000377cc blx r3                                                    |     r0 = uint32_t (*r3)(uint32_t, uint32_t) (r0, r3);
    0x000377d0 subs r6, r0, 0                                            |     r6 = r0 - 0;
                                                                         |     if (r6 != r0) {
    0x000377d4 moveq r0, 0x1b                                            |         r0 = 0x1b;
                                                                         |     }
                                                                         |     if (r6 != r0) {
    0x000377d8 beq 0x37860                                               |         
    0x000377dc ldr r2, [sp, 4]                                           |         r2 = var_4h;
    0x000377e0 mov r1, sl                                                |         r1 = sl;
    0x000377e4 mov r3, r2                                                |         r3 = r2;
    0x000377e8 ldr r2, [pc, 0x80]                                        |         r2 = *(0x3786c);
    0x000377ec add r5, r5, 0x4000                                        |         r5 += 0x4000;
    0x000377f0 add r2, pc, r2                                            |         r2 = pc + r2;
    0x000377f4 bl 0x579c                                                 |         fcn_0000579c ();
    0x000377f8 add r0, r7, 1                                             |         r0 = r7 + 1;
    0x000377fc ldr r2, [sp, 0x30]                                        |         r2 = *(arg_30h);
    0x00037800 mov r1, fp                                                |         r1 = fp;
    0x00037804 add r0, r6, r0                                            |         r0 = r6 + r0;
    0x00037808 bl 0x4f5c                                                 |         memcpy (r0, r1, r2);
    0x0003780c add r3, r6, r4                                            |         r3 = r6 + r4;
    0x00037810 mov r4, 0                                                 |         r4 = 0;
    0x00037814 strb r4, [r3, 1]                                          |         *((r3 + 1)) = r4;
    0x00037818 ldr r3, [r5, 0xb04]                                       |         r3 = *((r5 + 0xb04));
    0x0003781c mov r1, r6                                                |         r1 = r6;
    0x00037820 ldr r0, [r3, r8, lsl 2]                                   |         offset_0 = r8 << 2;
                                                                         |         r0 = *((r3 + offset_0));
    0x00037824 bl 0x24fa0                                                |         r0 = Curl_slist_append_nodup ();
    0x00037828 subs r7, r0, 0                                            |         r7 = r0 - 0;
                                                                         |         if (r7 == r0) {
    0x0003782c movne r0, r4                                              |             r0 = r4;
                                                                         |         }
                                                                         |         if (r7 == r0) {
    0x00037830 bne 0x37858                                               |             
    0x00037834 ldr r3, [pc, 0x38]                                        |             
    0x00037838 mov r0, r6                                                |             r0 = r6;
    0x0003783c ldr r3, [sb, r3]                                          |             r3 = *((sb + r3));
    0x00037840 ldr r3, [r3]                                              |             r3 = *(0x37870);
    0x00037844 blx r3                                                    |             uint32_t (*r3)(uint32_t, uint32_t) (r0, r3);
    0x00037848 ldr r3, [r5, 0xb04]                                       |             r3 = *((r5 + 0xb04));
    0x0003784c ldr r0, [r3, r8, lsl 2]                                   |             r0 = *(0x37870);
    0x00037850 bl 0x54fc                                                 |             fcn_000054fc ();
    0x00037854 mov r0, 0x1b                                              |             r0 = 0x1b;
                                                                         |         }
    0x00037858 ldr r3, [r5, 0xb04]                                       |         r3 = *((r5 + 0xb04));
    0x0003785c str r7, [r3, r8, lsl 2]                                   |         offset_1 = r8 << 2;
                                                                         |         *((r3 + offset_1)) = r7;
                                                                         |     }
    0x00037860 add sp, sp, 0xc                                           |     
    0x00037864 pop {r4, r5, r6, r7, r8, sb, sl, fp, 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/lib/libcurl.so @ 0x37550 */
                                         | #include <stdint.h>
                                         |  
    ; (fcn) sym.Curl_ssl_shutdown ()     | void Curl_ssl_shutdown (int32_t arg1, int32_t arg2) {
                                         |     r0 = arg1;
                                         |     r1 = arg2;
    0x00037550 ldr r3, [pc, 0x5c]        |     
    0x00037554 push {r4, r5, r6, lr}     |     
    0x00037558 ldr r5, [pc, 0x58]        |     r5 = $d;
    0x0003755c add r3, pc, r3            |     r3 = pc + r3;
    0x00037560 ldr r3, [r3]              |     
    0x00037564 mov r4, r0                |     r4 = r0;
    0x00037568 ldr r3, [r3, 0x20]        |     r3 = *(0x375d0);
    0x0003756c mov r6, r1                |     r6 = r1;
    0x00037570 blx r3                    |     uint32_t (*r3)(uint32_t) (r3);
    0x00037574 add r5, pc, r5            |     r5 = pc + r5;
    0x00037578 cmp r0, 0                 |     
                                         |     if (r0 == 0) {
    0x0003757c bne 0x375ac               |         
    0x00037580 add r3, r4, r6, lsl 4     |         r3 = r4 + (r6 << 4);
    0x00037584 strb r0, [r3, 0x1bc]      |         *((r3 + 0x1bc)) = r0;
    0x00037588 str r0, [r3, 0x1c0]       |         *((r3 + 0x1c0)) = r0;
    0x0003758c ldr r3, [pc, 0x28]        |         r3 = *(0x375b8);
    0x00037590 add r4, r4, r6, lsl 2     |         r4 += (r6 << 2);
    0x00037594 ldr r3, [r5, r3]          |         r3 = *((r5 + r3));
    0x00037598 str r3, [r4, 0x1ac]       |         *((r4 + 0x1ac)) = r3;
    0x0003759c ldr r3, [pc, 0x1c]        |         r3 = *(0x375bc);
    0x000375a0 ldr r3, [r5, r3]          |         r3 = *((r5 + r3));
    0x000375a4 str r3, [r4, 0x1b4]       |         *((r4 + 0x1b4)) = r3;
    0x000375a8 pop {r4, r5, r6, pc}      |         
                                         |     }
    0x000375ac mov r0, 0x50              |     r0 = 0x50;
    0x000375b0 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/lib/libcurl.so @ 0x19ec4 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.Curl_strntoupper ()          | void Curl_strntoupper (char * arg1, char * arg2) {
                                             |     r0 = arg1;
                                             |     r1 = arg2;
    0x00019ec4 cmp r2, 0                     |     
                                             |     if (r2 != 0) {
    0x00019ec8 bxeq lr                       |         return;
                                             |     }
    0x00019ecc push {r4, lr}                 |     
    0x00019ed0 sub r1, r1, 1                 |     r1--;
    0x00019ed4 mov r4, r0                    |     r4 = r0;
    0x00019ed8 add r2, r0, r2                |     r2 = r0 + r2;
                                             |     do {
    0x00019edc ldrb r0, [r1, 1]!             |         r0 = *((r1 += 1));
    0x00019ee0 bl 0x19dac                    |         Curl_raw_toupper ();
    0x00019ee4 strb r0, [r4], 1              |         *(r4) = r0;
                                             |         r4++;
    0x00019ee8 ldrb r3, [r1]                 |         r3 = *(r1);
    0x00019eec cmp r3, 0                     |         
    0x00019ef0 popeq {r4, pc}                |         
    0x00019ef4 cmp r4, r2                    |         
    0x00019ef8 bne 0x19edc                   |         
                                             |     } while (r4 != r2);
    0x00019efc 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/lib/libcurl.so @ 0x157d4 */
                                                             | #include <stdint.h>
                                                             |  
    ; (fcn) sym.Curl_urldecode ()                            | void Curl_urldecode (int32_t arg_38h, int32_t arg_3ch, char * s) {
                                                             |     int32_t var_0h;
                                                             |     int32_t var_4h;
                                                             |     char * str;
                                                             |     int32_t var_9h;
                                                             |     int32_t var_ah;
                                                             |     int32_t var_14h;
                                                             |     r1 = s;
    0x000157d4 push {r4, r5, r6, r7, r8, sb, sl, fp, lr}     |     
    0x000157d8 ldr r7, [pc, 0x140]                           |     r7 = *(0x1591c);
    0x000157dc sub sp, sp, 0x14                              |     
    0x000157e0 str r3, [sp]                                  |     *(sp) = r3;
    0x000157e4 ldrb r3, [sp, 0x3c]                           |     r3 = *(arg_3ch);
    0x000157e8 cmp r2, 0                                     |     
    0x000157ec add r7, pc, r7                                |     r7 = pc + r7;
    0x000157f0 mov r4, r1                                    |     r4 = r1;
    0x000157f4 str r3, [sp, 4]                               |     var_4h = r3;
                                                             |     if (r2 == 0) {
    0x000157f8 addne r5, r2, 1                               |         r5 = r2 + 1;
                                                             |     }
                                                             |     if (r2 == 0) {
    0x000157fc bne 0x1580c                                   |         
    0x00015800 mov r0, r1                                    |         r0 = r1;
    0x00015804 bl 0x5250                                     |         r0 = strlen (r0);
    0x00015808 add r5, r0, 1                                 |         r5 = r0 + 1;
                                                             |     }
    0x0001580c ldr r3, [pc, 0x110]                           |     
    0x00015810 mov r0, r5                                    |     r0 = r5;
    0x00015814 ldr r3, [r7, r3]                              |     r3 = *((r7 + r3));
    0x00015818 ldr r3, [r3]                                  |     r3 = "k_asked_for_PAUSE_when_not_supported_";
    0x0001581c blx r3                                        |     r0 = uint32_t (*r3)(uint32_t, char*) (r0, "k_asked_for_PAUSE_when_not_supported_");
    0x00015820 subs r8, r0, 0                                |     r8 = r0 - 0;
                                                             |     if (r8 == r0) {
    0x00015824 movne r6, r8                                  |         r6 = r8;
                                                             |     }
                                                             |     if (r8 == r0) {
    0x00015828 movne sl, 0                                   |         sl = 0;
                                                             |     }
                                                             |     if (r8 == r0) {
    0x0001582c addne fp, sp, 0xc                             |         
                                                             |     }
                                                             |     if (r8 != r0) {
    0x00015830 bne 0x158f4                                   |         goto label_2;
                                                             |     }
    0x00015834 mov r0, 0x1b                                  |     r0 = 0x1b;
    0x00015838 b 0x158d8                                     |     goto label_1;
                                                             | label_0:
    0x0001583c ldrb r0, [r4]                                 |     r0 = *(r4);
    0x00015840 cmp sb, 2                                     |     
    0x00015844 sub r1, r0, 0x25                              |     r1 = r0 - 0x25;
    0x00015848 clz r1, r1                                    |     r1 &= r1;
    0x0001584c lsr r1, r1, 5                                 |     r1 >>= 5;
                                                             |     if (sb > 2) {
    0x00015850 movls r1, 0                                   |         r1 = 0;
                                                             |     }
    0x00015854 cmp r1, 0                                     |     
                                                             |     if (r1 == 0) {
    0x00015858 beq 0x158a8                                   |         goto label_3;
                                                             |     }
    0x0001585c ldrb r0, [r4, 1]                              |     r0 = *((r4 + 1));
    0x00015860 bl 0x2f910                                    |     r0 = Curl_isxdigit ();
    0x00015864 cmp r0, 0                                     |     
                                                             |     if (r0 == 0) {
    0x00015868 beq 0x158e0                                   |         goto label_4;
                                                             |     }
    0x0001586c ldrb r0, [r4, 2]                              |     r0 = *((r4 + 2));
    0x00015870 bl 0x2f910                                    |     r0 = Curl_isxdigit ();
    0x00015874 cmp r0, 0                                     |     
                                                             |     if (r0 == 0) {
    0x00015878 beq 0x158e0                                   |         goto label_4;
                                                             |     }
    0x0001587c ldrb r2, [r4, 1]                              |     r2 = *((r4 + 1));
    0x00015880 mov r1, fp                                    |     r1 = fp;
    0x00015884 strb r2, [sp, 8]                              |     str = r2;
    0x00015888 ldrb r2, [r4, 2]!                             |     r2 = *((r4 += 2));
    0x0001588c add r0, sp, 8                                 |     r0 += str;
    0x00015890 strb r2, [sp, 9]                              |     var_9h = r2;
    0x00015894 mov r2, 0x10                                  |     r2 = 0x10;
    0x00015898 strb sl, [sp, 0xa]                            |     var_ah = sl;
    0x0001589c bl 0x510c                                     |     r0 = strtoul (r0, r1, r2);
    0x000158a0 bl 0x2531c                                    |     curlx_ultouc ();
    0x000158a4 sub sb, r5, 3                                 |     sb = r5 - 3;
                                                             |     do {
                                                             | label_3:
    0x000158a8 ldr r1, [sp, 4]                               |         r1 = var_4h;
    0x000158ac cmp r0, 0x1f                                  |         
                                                             |         if (r0 <= 0x1f) {
    0x000158b0 movhi r1, 0                                   |             r1 = 0;
                                                             |         }
                                                             |         if (r0 > 0x1f) {
    0x000158b4 andls r1, r1, 1                               |             r1 &= 1;
                                                             |         }
    0x000158b8 cmp r1, 0                                     |         
                                                             |         if (r1 == 0) {
    0x000158bc beq 0x158e8                                   |             goto label_5;
                                                             |         }
    0x000158c0 ldr r2, [pc, 0x60]                            |         
    0x000158c4 mov r0, r8                                    |         r0 = r8;
    0x000158c8 ldr r2, [r7, r2]                              |         r2 = *((r7 + r2));
    0x000158cc ldr r2, [r2]                                  |         r2 = *(0x15924);
    0x000158d0 blx r2                                        |         uint32_t (*r2)(uint32_t, uint32_t) (r0, r2);
    0x000158d4 mov r0, 3                                     |         r0 = 3;
                                                             | label_1:
    0x000158d8 add sp, sp, 0x14                              |         
    0x000158dc pop {r4, r5, r6, r7, r8, sb, sl, fp, pc}      |         
                                                             | label_4:
    0x000158e0 mov r0, 0x25                                  |         r0 = 0x25;
    0x000158e4 b 0x158a8                                     |         
                                                             |     } while (1);
                                                             | label_5:
    0x000158e8 add r4, r4, 1                                 |     r4++;
    0x000158ec mov r5, sb                                    |     r5 = sb;
    0x000158f0 strb r0, [r6], 1                              |     *(r6) = r0;
                                                             |     r6++;
                                                             | label_2:
    0x000158f4 subs sb, r5, 1                                |     sb = r5 - 1;
    0x000158f8 sub r1, r6, r8                                |     r1 = r6 - r8;
                                                             |     if (sb != r5) {
    0x000158fc bne 0x1583c                                   |         goto label_0;
                                                             |     }
    0x00015900 ldr r3, [sp, 0x38]                            |     r3 = *(arg_38h);
    0x00015904 strb sb, [r8, r1]                             |     *((r8 + r1)) = sb;
    0x00015908 cmp r3, 0                                     |     
                                                             |     if (r3 == 0) {
    0x0001590c strne r1, [r3]                                |         *(r3) = r1;
                                                             |     }
    0x00015910 ldr r3, [sp]                                  |     r3 = *(sp);
    0x00015914 mov r0, 0                                     |     r0 = 0;
    0x00015918 str r8, [r3]                                  |     *(r3) = r8;
    0x0001591c b 0x158d8                                     |     goto label_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/lib/libcurl.so @ 0x2ce34 */
                                                                 | #include <stdint.h>
                                                                 |  
                                                                 | #define BIT_MASK(t,v) ((t)(-((v)!= 0)))&(((t)-1)>>((sizeof(t)*CHAR_BIT)-(v)))
                                                                 |  
    ; (fcn) sym.Curl_vsetopt ()                                  | void Curl_vsetopt (int32_t arg1, uint32_t arg2) {
                                                                 |     int32_t var_0h;
                                                                 |     int32_t var_4h;
                                                                 |     int32_t var_8h;
                                                                 |     int32_t var_10h;
                                                                 |     r0 = arg1;
                                                                 |     r1 = arg2;
    0x0002ce34 push {r0, r1, r2, r3, r4, r5, r6, r7, r8, lr}     |     
    0x0002ce38 ldr r3, [pc, 0xf90]                               |     r3 = *(0x2ddcc);
    0x0002ce3c ldr r7, [pc, 0xf90]                               |     r7 = $d;
    0x0002ce40 cmp r1, r3                                        |     
    0x0002ce44 add r7, pc, r7                                    |     r7 = pc + r7;
    0x0002ce48 mov r4, r0                                        |     r4 = r0;
    0x0002ce4c mov r5, r2                                        |     r5 = r2;
                                                                 |     if (r1 == r3) {
    0x0002ce50 beq 0x2e3f0                                       |         goto label_15;
                                                                 |     }
                                                                 |     if (r1 > r3) {
    0x0002ce54 bhi 0x2d624                                       |         goto label_16;
                                                                 |     }
    0x0002ce58 cmp r1, 0x8c                                      |     
                                                                 |     if (r1 == 0x8c) {
    0x0002ce5c beq 0x2ecb0                                       |         goto label_17;
                                                                 |     }
                                                                 |     if (r1 > 0x8c) {
    0x0002ce60 bhi 0x2d220                                       |         goto label_18;
                                                                 |     }
    0x0002ce64 cmp r1, 0x45                                      |     
                                                                 |     if (r1 == 0x45) {
    0x0002ce68 beq 0x2e158                                       |         goto label_19;
                                                                 |     }
                                                                 |     if (r1 > 0x45) {
    0x0002ce6c bhi 0x2d028                                       |         goto label_20;
                                                                 |     }
    0x0002ce70 cmp r1, 0x2d                                      |     
                                                                 |     if (r1 == 0x2d) {
    0x0002ce74 beq 0x2e118                                       |         goto label_21;
                                                                 |     }
                                                                 |     if (r1 > 0x2d) {
    0x0002ce78 bhi 0x2cf38                                       |         goto label_22;
                                                                 |     }
    0x0002ce7c cmp r1, 0x1b                                      |     
                                                                 |     if (r1 == 0x1b) {
    0x0002ce80 beq 0x2ec6c                                       |         goto label_23;
                                                                 |     }
                                                                 |     if (r1 > 0x1b) {
    0x0002ce84 bhi 0x2cedc                                       |         goto label_24;
                                                                 |     }
    0x0002ce88 cmp r1, 0xe                                       |     
                                                                 |     if (r1 == 0xe) {
    0x0002ce8c beq 0x2e984                                       |         goto label_25;
                                                                 |     }
                                                                 |     if (r1 > 0xe) {
    0x0002ce90 bhi 0x2ceac                                       |         goto label_26;
                                                                 |     }
    0x0002ce94 cmp r1, 3                                         |     
                                                                 |     if (r1 == 3) {
    0x0002ce98 beq 0x2e9e4                                       |         goto label_27;
                                                                 |     }
    0x0002ce9c cmp r1, 0xd                                       |     
                                                                 |     if (r1 == 0xd) {
    0x0002cea0 beq 0x2e9fc                                       |         goto label_28;
                                                                 |     }
                                                                 |     do {
                                                                 | label_0:
    0x0002cea4 mov r5, 0x30                                      |         r5 = 0x30;
    0x0002cea8 b 0x2d7e0                                         |         goto label_2;
                                                                 | label_26:
    0x0002ceac cmp r1, 0x14                                      |         
                                                                 |         if (r1 == 0x14) {
    0x0002ceb0 beq 0x2e9cc                                       |             goto label_29;
                                                                 |         }
    0x0002ceb4 cmp r1, 0x15                                      |         
                                                                 |         if (r1 == 0x15) {
    0x0002ceb8 beq 0x2eb28                                       |             goto label_30;
                                                                 |         }
    0x0002cebc cmp r1, 0x13                                      |         
    0x0002cec0 bne 0x2cea4                                       |         
                                                                 |     } while (r1 != 0x13);
    0x0002cec4 ldr r3, [r2]                                      |     r3 = *(r2);
    0x0002cec8 cmp r3, 0                                         |     
                                                                 |     if (r3 < 0) {
    0x0002cecc strge r3, [r0, 0x208]                             |         *((r0 + 0x208)) = r3;
                                                                 |     }
                                                                 |     if (r3 < 0) {
    0x0002ced0 movge r5, 0                                       |         r5 = 0;
                                                                 |     }
                                                                 |     if (r3 >= 0) {
    0x0002ced4 movlt r5, 0x2b                                    |         r5 = 0x2b;
                                                                 |     }
    0x0002ced8 b 0x2d7e0                                         |     goto label_2;
                                                                 | label_24:
    0x0002cedc cmp r1, 0x29                                      |     
                                                                 |     if (r1 == 0x29) {
    0x0002cee0 beq 0x2e0c0                                       |         goto label_31;
                                                                 |     }
                                                                 |     if (r1 > 0x29) {
    0x0002cee4 bhi 0x2cf14                                       |         goto label_32;
                                                                 |     }
    0x0002cee8 cmp r1, 0x21                                      |     
                                                                 |     if (r1 == 0x21) {
    0x0002ceec beq 0x2e260                                       |         goto label_33;
                                                                 |     }
    0x0002cef0 cmp r1, 0x22                                      |     
                                                                 |     if (r1 != 0x22) {
    0x0002cef4 ldreq r3, [r2]                                    |         r3 = *(r2);
                                                                 |     }
                                                                 |     if (r1 != 0x22) {
    0x0002cef8 moveq r5, 0                                       |         r5 = 0;
                                                                 |     }
                                                                 |     if (r1 != 0x22) {
    0x0002cefc streq r3, [r0, 0x3cc]                             |         *((r0 + 0x3cc)) = r3;
                                                                 |     }
                                                                 |     if (r1 == 0x22) {
    0x0002cf00 beq 0x2d7e0                                       |         goto label_2;
                                                                 |     }
    0x0002cf04 cmp r1, 0x20                                      |     
                                                                 |     if (r1 != 0x20) {
    0x0002cf08 bne 0x2cea4                                       |         goto label_0;
                                                                 |     }
    0x0002cf0c add r4, r0, 0x3dc                                 |     r4 = r0 + 0x3dc;
    0x0002cf10 b 0x2e298                                         |     goto label_34;
                                                                 | label_32:
    0x0002cf14 cmp r1, 0x2b                                      |     
    0x0002cf18 ldr r5, [r2]                                      |     r5 = *(r2);
                                                                 |     if (r1 == 0x2b) {
    0x0002cf1c beq 0x2e0d8                                       |         goto label_35;
                                                                 |     }
                                                                 |     if (r1 > 0x2b) {
    0x0002cf20 bhi 0x2e104                                       |         goto label_36;
                                                                 |     }
    0x0002cf24 adds r5, r5, 0                                    |     r5 += 0;
                                                                 |     if (r5 == r5) {
    0x0002cf28 movne r5, 1                                       |         r5 = 1;
                                                                 |     }
    0x0002cf2c strb r5, [r0, 0x4cd]                              |     *((r0 + 0x4cd)) = r5;
    0x0002cf30 mov r5, 0                                         |     r5 = 0;
    0x0002cf34 b 0x2d7e0                                         |     goto label_2;
                                                                 | label_22:
    0x0002cf38 cmp r1, 0x35                                      |     
                                                                 |     if (r1 == 0x35) {
    0x0002cf3c beq 0x2e248                                       |         goto label_37;
                                                                 |     }
                                                                 |     if (r1 > 0x35) {
    0x0002cf40 bhi 0x2cfac                                       |         goto label_38;
                                                                 |     }
    0x0002cf44 cmp r1, 0x30                                      |     
                                                                 |     if (r1 == 0x30) {
    0x0002cf48 beq 0x2e1f8                                       |         goto label_39;
                                                                 |     }
                                                                 |     if (r1 > 0x30) {
    0x0002cf4c bhi 0x2cf80                                       |         goto label_40;
                                                                 |     }
    0x0002cf50 cmp r1, 0x2e                                      |     
                                                                 |     if (r1 == 0x2e) {
    0x0002cf54 beq 0x2cfcc                                       |         goto label_41;
                                                                 |     }
    0x0002cf58 cmp r1, 0x2f                                      |     
                                                                 |     if (r1 != 0x2f) {
    0x0002cf5c bne 0x2cea4                                       |         goto label_0;
                                                                 |     }
    0x0002cf60 ldr r3, [r2]                                      |     r3 = *(r2);
    0x0002cf64 cmp r3, 0                                         |     
                                                                 |     if (r3 == 0) {
    0x0002cf68 beq 0x2e148                                       |         goto label_42;
                                                                 |     }
    0x0002cf6c mov r3, 2                                         |     r3 = 2;
    0x0002cf70 mov r5, 0                                         |     r5 = 0;
    0x0002cf74 str r3, [r0, 0x3d0]                               |     *((r0 + 0x3d0)) = r3;
    0x0002cf78 strb r5, [r0, 0x4d0]                              |     *((r0 + 0x4d0)) = r5;
    0x0002cf7c b 0x2d7e0                                         |     goto label_2;
                                                                 | label_40:
    0x0002cf80 cmp r1, 0x33                                      |     
                                                                 |     if (r1 == 0x33) {
    0x0002cf84 beq 0x2e224                                       |         goto label_43;
                                                                 |     }
                                                                 |     if (r1 > 0x33) {
    0x0002cf88 bhi 0x2e300                                       |         goto label_44;
                                                                 |     }
    0x0002cf8c cmp r1, 0x32                                      |     
                                                                 |     if (r1 != 0x32) {
    0x0002cf90 bne 0x2cea4                                       |         goto label_0;
                                                                 |     }
    0x0002cf94 ldr r3, [r2]                                      |     r3 = *(r2);
    0x0002cf98 mov r5, 0                                         |     r5 = 0;
    0x0002cf9c adds r3, r3, 0                                    |     r3 += 0;
                                                                 |     if (r3 == r3) {
    0x0002cfa0 movne r3, 1                                       |         r3 = 1;
                                                                 |     }
    0x0002cfa4 strb r3, [r0, 0x4c4]                              |     *((r0 + 0x4c4)) = r3;
    0x0002cfa8 b 0x2d7e0                                         |     goto label_2;
                                                                 | label_38:
    0x0002cfac cmp r1, 0x3c                                      |     
                                                                 |     if (r1 == 0x3c) {
    0x0002cfb0 beq 0x2e418                                       |         goto label_45;
                                                                 |     }
                                                                 |     if (r1 > 0x3c) {
    0x0002cfb4 bhi 0x2cff8                                       |         goto label_46;
                                                                 |     }
    0x0002cfb8 cmp r1, 0x3a                                      |     
                                                                 |     if (r1 == 0x3a) {
    0x0002cfbc beq 0x2e2c8                                       |         goto label_47;
                                                                 |     }
                                                                 |     if (r1 > 0x3a) {
    0x0002cfc0 bhi 0x2e888                                       |         goto label_48;
                                                                 |     }
    0x0002cfc4 cmp r1, 0x36                                      |     
                                                                 |     if (r1 != 0x36) {
    0x0002cfc8 bne 0x2cea4                                       |         goto label_0;
                                                                 |     }
                                                                 | label_41:
    0x0002cfcc ldr r3, [r5]                                      |     r3 = *(r5);
    0x0002cfd0 cmp r3, 0                                         |     
                                                                 |     if (r3 == 0) {
    0x0002cfd4 movne r3, 1                                       |         r3 = 1;
                                                                 |     }
                                                                 |     if (r3 != 0) {
    0x0002cfd8 moveq r3, 0                                       |         r3 = 0;
                                                                 |     }
    0x0002cfdc strb r3, [r4, 0x4d1]                              |     *((r4 + 0x4d1)) = r3;
                                                                 |     if (r3 == 0) {
    0x0002cfe0 beq 0x2e148                                       |         goto label_42;
                                                                 |     }
    0x0002cfe4 mov r3, 5                                         |     r3 = 5;
    0x0002cfe8 mov r5, 0                                         |     r5 = 0;
    0x0002cfec str r3, [r4, 0x3d0]                               |     *((r4 + 0x3d0)) = r3;
    0x0002cff0 strb r5, [r4, 0x4d0]                              |     *((r4 + 0x4d0)) = r5;
    0x0002cff4 b 0x2d7e0                                         |     goto label_2;
                                                                 | label_46:
    0x0002cff8 cmp r1, 0x40                                      |     
                                                                 |     if (r1 == 0x40) {
    0x0002cffc beq 0x2ecd0                                       |         goto label_49;
                                                                 |     }
    0x0002d000 cmp r1, 0x44                                      |     
                                                                 |     if (r1 == 0x44) {
    0x0002d004 beq 0x2e318                                       |         goto label_50;
                                                                 |     }
    0x0002d008 cmp r1, 0x3d                                      |     
                                                                 |     if (r1 != 0x3d) {
    0x0002d00c bne 0x2cea4                                       |         goto label_0;
                                                                 |     }
    0x0002d010 ldr r3, [r2]                                      |     r3 = *(r2);
    0x0002d014 mov r5, 0                                         |     r5 = 0;
    0x0002d018 adds r3, r3, 0                                    |     r3 += 0;
                                                                 |     if (r3 == r3) {
    0x0002d01c movne r3, 1                                       |         r3 = 1;
                                                                 |     }
    0x0002d020 strb r3, [r0, 0x4c2]                              |     *((r0 + 0x4c2)) = r3;
    0x0002d024 b 0x2d7e0                                         |     goto label_2;
                                                                 | label_20:
    0x0002d028 cmp r1, 0x65                                      |     
                                                                 |     if (r1 == 0x65) {
    0x0002d02c beq 0x2e8b8                                       |         goto label_51;
                                                                 |     }
                                                                 |     if (r1 > 0x65) {
    0x0002d030 bhi 0x2d118                                       |         goto label_52;
                                                                 |     }
    0x0002d034 cmp r1, 0x54                                      |     
                                                                 |     if (r1 == 0x54) {
    0x0002d038 beq 0x2e80c                                       |         goto label_53;
                                                                 |     }
                                                                 |     if (r1 > 0x54) {
    0x0002d03c bhi 0x2d0b0                                       |         goto label_54;
                                                                 |     }
    0x0002d040 cmp r1, 0x4b                                      |     
                                                                 |     if (r1 == 0x4b) {
    0x0002d044 beq 0x2e0a8                                       |         goto label_55;
                                                                 |     }
                                                                 |     if (r1 > 0x4b) {
    0x0002d048 bhi 0x2d074                                       |         goto label_56;
                                                                 |     }
    0x0002d04c cmp r1, 0x47                                      |     
                                                                 |     if (r1 == 0x47) {
    0x0002d050 beq 0x2e090                                       |         goto label_57;
                                                                 |     }
    0x0002d054 cmp r1, 0x4a                                      |     
                                                                 |     if (r1 != 0x4a) {
    0x0002d058 bne 0x2cea4                                       |         goto label_0;
                                                                 |     }
    0x0002d05c ldr r3, [r2]                                      |     r3 = *(r2);
    0x0002d060 mov r5, 0                                         |     r5 = 0;
    0x0002d064 adds r3, r3, 0                                    |     r3 += 0;
                                                                 |     if (r3 == r3) {
    0x0002d068 movne r3, 1                                       |         r3 = 1;
                                                                 |     }
    0x0002d06c strb r3, [r0, 0x4db]                              |     *((r0 + 0x4db)) = r3;
    0x0002d070 b 0x2d7e0                                         |     goto label_2;
                                                                 | label_56:
    0x0002d074 cmp r1, 0x50                                      |     
                                                                 |     if (r1 == 0x50) {
    0x0002d078 beq 0x2e7e8                                       |         goto label_58;
                                                                 |     }
    0x0002d07c cmp r1, 0x51                                      |     
                                                                 |     if (r1 == 0x51) {
    0x0002d080 beq 0x2ecf8                                       |         goto label_59;
                                                                 |     }
    0x0002d084 cmp r1, 0x4e                                      |     
                                                                 |     if (r1 != 0x4e) {
    0x0002d088 bne 0x2cea4                                       |         goto label_0;
                                                                 |     }
    0x0002d08c ldr r1, [r2]                                      |     r1 = *(r2);
    0x0002d090 ldr r2, [pc, 0xe00]                               |     r2 = *(0x2de94);
    0x0002d094 cmp r1, r2                                        |     
                                                                 |     if (r1 <= r2) {
    0x0002d098 movhi r5, 0x2b                                    |         r5 = 0x2b;
                                                                 |     }
                                                                 |     if (r1 > r2) {
    0x0002d09c movls r2, 0x3e8                                   |         r2 = 0x3e8;
                                                                 |     }
                                                                 |     if (r1 > r2) {
    0x0002d0a0 mulls r3, r2, r1                                  |         r3 = r2 * r1;
                                                                 |     }
                                                                 |     if (r1 > r2) {
    0x0002d0a4 movls r5, 0                                       |         r5 = 0;
                                                                 |     }
                                                                 |     if (r1 > r2) {
    0x0002d0a8 strls r3, [r0, 0x1e4]                             |         *((r0 + 0x1e4)) = r3;
                                                                 |     }
    0x0002d0ac b 0x2d7e0                                         |     goto label_2;
                                                                 | label_54:
    0x0002d0b0 cmp r1, 0x5c                                      |     
                                                                 |     if (r1 == 0x5c) {
    0x0002d0b4 beq 0x2e020                                       |         goto label_60;
                                                                 |     }
                                                                 |     if (r1 > 0x5c) {
    0x0002d0b8 bhi 0x2d0e8                                       |         goto label_61;
                                                                 |     }
    0x0002d0bc cmp r1, 0x5a                                      |     
                                                                 |     if (r1 == 0x5a) {
    0x0002d0c0 beq 0x2ec60                                       |         goto label_62;
                                                                 |     }
                                                                 |     if (r1 > 0x5a) {
    0x0002d0c4 bhi 0x2e038                                       |         goto label_63;
                                                                 |     }
    0x0002d0c8 cmp r1, 0x55                                      |     
                                                                 |     if (r1 != 0x55) {
    0x0002d0cc bne 0x2cea4                                       |         goto label_0;
                                                                 |     }
    0x0002d0d0 ldr r3, [r2]                                      |     r3 = *(r2);
    0x0002d0d4 mov r5, 0                                         |     r5 = 0;
    0x0002d0d8 adds r3, r3, 0                                    |     r3 += 0;
                                                                 |     if (r3 == r3) {
    0x0002d0dc movne r3, 1                                       |         r3 = 1;
                                                                 |     }
    0x0002d0e0 strb r3, [r0, 0x4dc]                              |     *((r0 + 0x4dc)) = r3;
    0x0002d0e4 b 0x2d7e0                                         |     goto label_2;
                                                                 | label_61:
    0x0002d0e8 cmp r1, 0x62                                      |     
                                                                 |     if (r1 == 0x62) {
    0x0002d0ec beq 0x2eee4                                       |         goto label_64;
                                                                 |     }
    0x0002d0f0 cmp r1, 0x63                                      |     
                                                                 |     if (r1 == 0x63) {
    0x0002d0f4 beq 0x2ef48                                       |         goto label_65;
                                                                 |     }
    0x0002d0f8 cmp r1, 0x60                                      |     
                                                                 |     if (r1 != 0x60) {
    0x0002d0fc bne 0x2cea4                                       |         goto label_0;
                                                                 |     }
    0x0002d100 ldr r3, [r2]                                      |     r3 = *(r2);
    0x0002d104 mov r5, 0                                         |     r5 = 0;
    0x0002d108 adds r3, r3, 0                                    |     r3 += 0;
                                                                 |     if (r3 == r3) {
    0x0002d10c movne r3, 1                                       |         r3 = 1;
                                                                 |     }
    0x0002d110 strb r3, [r0, 0x3a1]                              |     *((r0 + 0x3a1)) = r3;
    0x0002d114 b 0x2d7e0                                         |     goto label_2;
                                                                 | label_52:
    0x0002d118 cmp r1, 0x72                                      |     
                                                                 |     if (r1 == 0x72) {
    0x0002d11c beq 0x2f07c                                       |         goto label_66;
                                                                 |     }
                                                                 |     if (r1 > 0x72) {
    0x0002d120 bhi 0x2d1c0                                       |         goto label_67;
                                                                 |     }
    0x0002d124 cmp r1, 0x6e                                      |     
                                                                 |     if (r1 == 0x6e) {
    0x0002d128 beq 0x2e170                                       |         goto label_68;
                                                                 |     }
                                                                 |     if (r1 > 0x6e) {
    0x0002d12c bhi 0x2d160                                       |         goto label_69;
                                                                 |     }
    0x0002d130 cmp r1, 0x6a                                      |     
                                                                 |     if (r1 == 0x6a) {
    0x0002d134 beq 0x2e944                                       |         goto label_70;
                                                                 |     }
    0x0002d138 cmp r1, 0x6b                                      |     
                                                                 |     if (r1 == 0x6b) {
    0x0002d13c beq 0x2e830                                       |         goto label_71;
                                                                 |     }
    0x0002d140 cmp r1, 0x69                                      |     
                                                                 |     if (r1 != 0x69) {
    0x0002d144 bne 0x2cea4                                       |         goto label_0;
                                                                 |     }
    0x0002d148 ldr r3, [r2]                                      |     r3 = *(r2);
    0x0002d14c mov r5, 0                                         |     r5 = 0;
    0x0002d150 adds r3, r3, 0                                    |     r3 += 0;
                                                                 |     if (r3 == r3) {
    0x0002d154 movne r3, 1                                       |         r3 = 1;
                                                                 |     }
    0x0002d158 strb r3, [r0, 0x4cc]                              |     *((r0 + 0x4cc)) = r3;
    0x0002d15c b 0x2d7e0                                         |     goto label_2;
                                                                 | label_69:
    0x0002d160 cmp r1, 0x70                                      |     
                                                                 |     if (r1 == 0x70) {
    0x0002d164 beq 0x2e1a4                                       |         goto label_72;
                                                                 |     }
                                                                 |     if (r1 > 0x70) {
    0x0002d168 bhi 0x2f0f4                                       |         goto label_73;
                                                                 |     }
    0x0002d16c ldr r5, [r2]                                      |     r5 = *(r2);
    0x0002d170 cmp r5, 0                                         |     
                                                                 |     if (r5 != 0) {
    0x0002d174 streq r5, [r0, 0x158]                             |         *((r0 + 0x158)) = r5;
                                                                 |     }
                                                                 |     if (r5 == 0) {
    0x0002d178 beq 0x2d7e0                                       |         goto label_2;
                                                                 |     }
    0x0002d17c tst r5, 0x10                                      |     
    0x0002d180 lsr r2, r5, 4                                     |     r2 = r5 >> 4;
    0x0002d184 bicne r5, r5, 0x10                                |     __asm ("bicne r5, r5, 0x10");
    0x0002d188 add r3, r0, 0x4000                                |     r3 = r0 + 0x4000;
    0x0002d18c and r2, r2, 1                                     |     r2 &= 1;
                                                                 |     if ((r5 & 0x10) == 0) {
    0x0002d190 orrne r5, r5, 2                                   |         r5 |= 2;
                                                                 |     }
    0x0002d194 strb r2, [r3, 0x89e]                              |     *((r3 + 0x89e)) = r2;
    0x0002d198 bic r5, r5, 0x24                                  |     r5 = BIT_MASK (r5, 0x24);
    0x0002d19c mov r3, 0                                         |     r3 = 0;
                                                                 |     do {
    0x0002d1a0 add r2, r3, 1                                     |         r2 = r3 + 1;
    0x0002d1a4 lsr r3, r5, r3                                    |         r3 = r5 >> r3;
    0x0002d1a8 tst r3, 1                                         |         
                                                                 |         if ((r3 & 1) != 0) {
    0x0002d1ac bne 0x2f438                                       |             goto label_74;
                                                                 |         }
    0x0002d1b0 cmp r2, 0x1f                                      |         
    0x0002d1b4 mov r3, r2                                        |         r3 = r2;
    0x0002d1b8 bne 0x2d1a0                                       |         
                                                                 |     } while (r2 != 0x1f);
    0x0002d1bc b 0x2e880                                         |     goto label_75;
                                                                 | label_67:
    0x0002d1c0 cmp r1, 0x88                                      |     
                                                                 |     if (r1 == 0x88) {
    0x0002d1c4 beq 0x2f14c                                       |         goto label_76;
                                                                 |     }
                                                                 |     if (r1 > 0x88) {
    0x0002d1c8 bhi 0x2d1fc                                       |         goto label_77;
                                                                 |     }
    0x0002d1cc cmp r1, 0x79                                      |     
                                                                 |     if (r1 == 0x79) {
    0x0002d1d0 beq 0x2f134                                       |         goto label_78;
                                                                 |     }
    0x0002d1d4 cmp r1, 0x81                                      |     
                                                                 |     if (r1 == 0x81) {
    0x0002d1d8 beq 0x2f0dc                                       |         goto label_79;
                                                                 |     }
    0x0002d1dc cmp r1, 0x77                                      |     
                                                                 |     if (r1 != 0x77) {
    0x0002d1e0 bne 0x2cea4                                       |         goto label_0;
                                                                 |     }
    0x0002d1e4 ldr r3, [r2]                                      |     r3 = *(r2);
    0x0002d1e8 cmp r3, 3                                         |     
                                                                 |     if (r3 > 3) {
    0x0002d1ec strls r3, [r0, 0x4e0]                             |         *((r0 + 0x4e0)) = r3;
                                                                 |     }
                                                                 |     if (r3 > 3) {
    0x0002d1f0 movls r5, 0                                       |         r5 = 0;
                                                                 |     }
                                                                 |     if (r3 <= 3) {
    0x0002d1f4 movhi r5, 0x2b                                    |         r5 = 0x2b;
                                                                 |     }
    0x0002d1f8 b 0x2d7e0                                         |     goto label_2;
                                                                 | label_77:
    0x0002d1fc cmp r1, 0x8a                                      |     
    0x0002d200 ldr r0, [r2]                                      |     r0 = *(r2);
                                                                 |     if (r1 == 0x8a) {
    0x0002d204 beq 0x2e210                                       |         goto label_80;
                                                                 |     }
                                                                 |     if (r1 > 0x8a) {
    0x0002d208 bhi 0x2ec90                                       |         goto label_81;
                                                                 |     }
    0x0002d20c adds r0, r0, 0                                    |     r0 += 0;
                                                                 |     if (r0 == r0) {
    0x0002d210 movne r0, 1                                       |         r0 = 1;
                                                                 |     }
    0x0002d214 strb r0, [r4, 0x4f0]                              |     *((r4 + 0x4f0)) = r0;
    0x0002d218 mov r5, 0                                         |     r5 = 0;
    0x0002d21c b 0x2d7e0                                         |     goto label_2;
                                                                 | label_18:
    0x0002d220 cmp r1, 0xe1                                      |     
                                                                 |     if (r1 == 0xe1) {
    0x0002d224 beq 0x2f340                                       |         goto label_82;
                                                                 |     }
                                                                 |     if (r1 > 0xe1) {
    0x0002d228 bhi 0x2d400                                       |         goto label_83;
                                                                 |     }
    0x0002d22c cmp r1, 0xb5                                      |     
                                                                 |     if (r1 != 0xb5) {
    0x0002d230 ldreq r3, [r2]                                    |         r3 = *(r2);
                                                                 |     }
                                                                 |     if (r1 != 0xb5) {
    0x0002d234 moveq r5, 0                                       |         r5 = 0;
                                                                 |     }
                                                                 |     if (r1 != 0xb5) {
    0x0002d238 streq r3, [r0, 0x600]                             |         *((r0 + 0x600)) = r3;
                                                                 |     }
                                                                 |     if (r1 == 0xb5) {
    0x0002d23c beq 0x2d7e0                                       |         goto label_2;
                                                                 |     }
                                                                 |     if (r1 > 0xb5) {
    0x0002d240 bhi 0x2d320                                       |         goto label_84;
                                                                 |     }
    0x0002d244 cmp r1, 0x9e                                      |     
                                                                 |     if (r1 == 0x9e) {
    0x0002d248 beq 0x2f1dc                                       |         goto label_85;
                                                                 |     }
                                                                 |     if (r1 > 0x9e) {
    0x0002d24c bhi 0x2d2ac                                       |         goto label_86;
                                                                 |     }
    0x0002d250 cmp r1, 0x9a                                      |     
                                                                 |     if (r1 == 0x9a) {
    0x0002d254 beq 0x2e95c                                       |         goto label_87;
                                                                 |     }
                                                                 |     if (r1 > 0x9a) {
    0x0002d258 bhi 0x2d288                                       |         goto label_88;
                                                                 |     }
    0x0002d25c cmp r1, 0x8d                                      |     
                                                                 |     if (r1 == 0x8d) {
    0x0002d260 beq 0x2f164                                       |         goto label_89;
                                                                 |     }
    0x0002d264 cmp r1, 0x96                                      |     
                                                                 |     if (r1 != 0x96) {
    0x0002d268 bne 0x2cea4                                       |         goto label_0;
                                                                 |     }
    0x0002d26c ldr r3, [r5]                                      |     r3 = *(r5);
    0x0002d270 mov r5, 0                                         |     r5 = 0;
    0x0002d274 adds r3, r3, 0                                    |     r3 += 0;
                                                                 |     if (r3 == r3) {
    0x0002d278 movne r3, 1                                       |         r3 = 1;
                                                                 |     }
    0x0002d27c strb r3, [r0, 0x3e7]                              |     *((r0 + 0x3e7)) = r3;
    0x0002d280 strb r3, [r0, 0x43f]                              |     *((r0 + 0x43f)) = r3;
    0x0002d284 b 0x2d7e0                                         |     goto label_2;
                                                                 | label_88:
    0x0002d288 cmp r1, 0x9c                                      |     
    0x0002d28c ldr r3, [r5]                                      |     r3 = *(r5);
                                                                 |     if (r1 == 0x9c) {
    0x0002d290 beq 0x2ea20                                       |         goto label_90;
                                                                 |     }
                                                                 |     if (r1 > 0x9c) {
    0x0002d294 bhi 0x2f1c8                                       |         goto label_91;
                                                                 |     }
    0x0002d298 cmp r3, 0                                         |     
                                                                 |     if (r3 < 0) {
    0x0002d29c strge r3, [r0, 0x1e0]                             |         *((r0 + 0x1e0)) = r3;
                                                                 |     }
                                                                 |     if (r3 < 0) {
    0x0002d2a0 movge r5, 0                                       |         r5 = 0;
                                                                 |     }
                                                                 |     if (r3 >= 0) {
    0x0002d2a4 movlt r5, 0x2b                                    |         r5 = 0x2b;
                                                                 |     }
    0x0002d2a8 b 0x2d7e0                                         |     goto label_2;
                                                                 | label_86:
    0x0002d2ac cmp r1, 0xa6                                      |     
                                                                 |     if (r1 == 0xa6) {
    0x0002d2b0 beq 0x2e8d0                                       |         goto label_92;
                                                                 |     }
                                                                 |     if (r1 > 0xa6) {
    0x0002d2b4 bhi 0x2d2e8                                       |         goto label_93;
                                                                 |     }
    0x0002d2b8 cmp r1, 0xa0                                      |     
                                                                 |     if (r1 == 0xa0) {
    0x0002d2bc beq 0x2f20c                                       |         goto label_94;
                                                                 |     }
                                                                 |     if (r1 <= 0xa0) {
    0x0002d2c0 blo 0x2f1f4                                       |         goto label_95;
                                                                 |     }
    0x0002d2c4 cmp r1, 0xa1                                      |     
                                                                 |     if (r1 != 0xa1) {
    0x0002d2c8 bne 0x2cea4                                       |         goto label_0;
                                                                 |     }
    0x0002d2cc ldr r3, [r5]                                      |     r3 = *(r5);
    0x0002d2d0 cmp r3, 0                                         |     
                                                                 |     if (r3 < 0) {
    0x0002d2d4 andge r3, r3, 7                                   |         r3 &= 7;
                                                                 |     }
                                                                 |     if (r3 < 0) {
    0x0002d2d8 strge r3, [r0, 0x168]                             |         *((r0 + 0x168)) = r3;
                                                                 |     }
                                                                 |     if (r3 < 0) {
    0x0002d2dc movge r5, 0                                       |         r5 = 0;
                                                                 |     }
                                                                 |     if (r3 >= 0) {
    0x0002d2e0 movlt r5, 0x2b                                    |         r5 = 0x2b;
                                                                 |     }
    0x0002d2e4 b 0x2d7e0                                         |     goto label_2;
                                                                 | label_93:
    0x0002d2e8 cmp r1, 0xac                                      |     
                                                                 |     if (r1 == 0xac) {
    0x0002d2ec beq 0x2ee0c                                       |         goto label_96;
                                                                 |     }
    0x0002d2f0 cmp r1, 0xb2                                      |     
                                                                 |     if (r1 == 0xb2) {
    0x0002d2f4 beq 0x2e1e0                                       |         goto label_97;
                                                                 |     }
    0x0002d2f8 cmp r1, 0xab                                      |     
                                                                 |     if (r1 != 0xab) {
    0x0002d2fc bne 0x2cea4                                       |         goto label_0;
                                                                 |     }
    0x0002d300 ldr r0, [r5]                                      |     r0 = *(r5);
    0x0002d304 cmp r0, 0xf                                       |     
                                                                 |     if (r0 <= 0xf) {
    0x0002d308 movhi r5, 0x2b                                    |         r5 = 0x2b;
                                                                 |     }
                                                                 |     if (r0 > 0xf) {
    0x0002d30c bhi 0x2d7e0                                       |         goto label_2;
                                                                 |     }
    0x0002d310 bl 0x2534c                                        |     curlx_sltoui ();
    0x0002d314 mov r5, 0                                         |     r5 = 0;
    0x0002d318 str r0, [r4, 0x5fc]                               |     *((r4 + 0x5fc)) = r0;
    0x0002d31c b 0x2d7e0                                         |     goto label_2;
                                                                 | label_84:
    0x0002d320 cmp r1, 0xcf                                      |     
                                                                 |     if (r1 == 0xcf) {
    0x0002d324 beq 0x2e2e8                                       |         goto label_98;
                                                                 |     }
                                                                 |     if (r1 > 0xcf) {
    0x0002d328 bhi 0x2d39c                                       |         goto label_99;
                                                                 |     }
    0x0002d32c cmp r1, 0xbd                                      |     
                                                                 |     if (r1 == 0xbd) {
    0x0002d330 beq 0x2f23c                                       |         goto label_100;
                                                                 |     }
                                                                 |     if (r1 > 0xbd) {
    0x0002d334 bhi 0x2d36c                                       |         goto label_101;
                                                                 |     }
    0x0002d338 cmp r1, 0xb6                                      |     
                                                                 |     if (r1 != 0xb6) {
    0x0002d33c ldreq r3, [r5]                                    |         r3 = *(r5);
                                                                 |     }
                                                                 |     if (r1 != 0xb6) {
    0x0002d340 moveq r5, 0                                       |         r5 = 0;
                                                                 |     }
                                                                 |     if (r1 != 0xb6) {
    0x0002d344 streq r3, [r0, 0x604]                             |         *((r0 + 0x604)) = r3;
                                                                 |     }
                                                                 |     if (r1 == 0xb6) {
    0x0002d348 beq 0x2d7e0                                       |         goto label_2;
                                                                 |     }
    0x0002d34c cmp r1, 0xbc                                      |     
                                                                 |     if (r1 != 0xbc) {
    0x0002d350 bne 0x2cea4                                       |         goto label_0;
                                                                 |     }
    0x0002d354 ldr r3, [r5]                                      |     r3 = *(r5);
    0x0002d358 mov r5, 0                                         |     r5 = 0;
    0x0002d35c adds r3, r3, 0                                    |     r3 += 0;
                                                                 |     if (r3 == r3) {
    0x0002d360 movne r3, 1                                       |         r3 = 1;
                                                                 |     }
    0x0002d364 strb r3, [r0, 0x4de]                              |     *((r0 + 0x4de)) = r3;
    0x0002d368 b 0x2d7e0                                         |     goto label_2;
                                                                 | label_101:
    0x0002d36c cmp r1, 0xc1                                      |     
                                                                 |     if (r1 <= 0xc1) {
    0x0002d370 blo 0x2cea4                                       |         goto label_0;
                                                                 |     }
    0x0002d374 cmp r1, 0xc2                                      |     
                                                                 |     if (r1 < 0xc2) {
    0x0002d378 bls 0x2f288                                       |         goto label_102;
                                                                 |     }
    0x0002d37c cmp r1, 0xc5                                      |     
                                                                 |     if (r1 != 0xc5) {
    0x0002d380 bne 0x2cea4                                       |         goto label_0;
                                                                 |     }
    0x0002d384 ldr r3, [r5]                                      |     r3 = *(r5);
    0x0002d388 mov r5, 0                                         |     r5 = 0;
    0x0002d38c adds r3, r3, 0                                    |     r3 += 0;
                                                                 |     if (r3 == r3) {
    0x0002d390 movne r3, 1                                       |         r3 = 1;
                                                                 |     }
    0x0002d394 strb r3, [r0, 0x618]                              |     *((r0 + 0x618)) = r3;
    0x0002d398 b 0x2d7e0                                         |     goto label_2;
                                                                 | label_99:
    0x0002d39c cmp r1, 0xd6                                      |     
                                                                 |     if (r1 == 0xd6) {
    0x0002d3a0 beq 0x2f2f8                                       |         goto label_103;
                                                                 |     }
                                                                 |     if (r1 > 0xd6) {
    0x0002d3a4 bhi 0x2d3d4                                       |         goto label_104;
                                                                 |     }
    0x0002d3a8 cmp r1, 0xd4                                      |     
                                                                 |     if (r1 == 0xd4) {
    0x0002d3ac beq 0x2ea34                                       |         goto label_105;
                                                                 |     }
                                                                 |     if (r1 > 0xd4) {
    0x0002d3b0 bhi 0x2f2e0                                       |         goto label_106;
                                                                 |     }
    0x0002d3b4 cmp r1, 0xd2                                      |     
                                                                 |     if (r1 != 0xd2) {
    0x0002d3b8 bne 0x2cea4                                       |         goto label_0;
                                                                 |     }
    0x0002d3bc ldr r3, [r5]                                      |     r3 = *(r5);
    0x0002d3c0 cmp r3, 0                                         |     
                                                                 |     if (r3 < 0) {
    0x0002d3c4 strge r3, [r0, 0x62c]                             |         *((r0 + 0x62c)) = r3;
                                                                 |     }
                                                                 |     if (r3 < 0) {
    0x0002d3c8 movge r5, 0                                       |         r5 = 0;
                                                                 |     }
                                                                 |     if (r3 >= 0) {
    0x0002d3cc movlt r5, 0x2b                                    |         r5 = 0x2b;
                                                                 |     }
    0x0002d3d0 b 0x2d7e0                                         |     goto label_2;
                                                                 | label_104:
    0x0002d3d4 cmp r1, 0xd8                                      |     
                                                                 |     if (r1 == 0xd8) {
    0x0002d3d8 beq 0x2f09c                                       |         goto label_107;
                                                                 |     }
                                                                 |     if (r1 <= 0xd8) {
    0x0002d3dc blo 0x2f310                                       |         goto label_108;
                                                                 |     }
    0x0002d3e0 cmp r1, 0xda                                      |     
                                                                 |     if (r1 != 0xda) {
    0x0002d3e4 bne 0x2cea4                                       |         goto label_0;
                                                                 |     }
    0x0002d3e8 ldr r3, [r5]                                      |     r3 = *(r5);
    0x0002d3ec mov r5, 0                                         |     r5 = 0;
    0x0002d3f0 adds r3, r3, 0                                    |     r3 += 0;
                                                                 |     if (r3 == r3) {
    0x0002d3f4 movne r3, 1                                       |         r3 = 1;
                                                                 |     }
    0x0002d3f8 strb r3, [r0, 0x60c]                              |     *((r0 + 0x60c)) = r3;
    0x0002d3fc b 0x2d7e0                                         |     goto label_2;
                                                                 | label_83:
    0x0002d400 ldr r3, [pc, 0x9d0]                               |     r3 = *(0x2ddd4);
    0x0002d404 cmp r1, r3                                        |     
                                                                 |     if (r1 == r3) {
    0x0002d408 beq 0x2f0bc                                       |         goto label_109;
                                                                 |     }
                                                                 |     if (r1 > r3) {
    0x0002d40c bhi 0x2d4e8                                       |         goto label_110;
                                                                 |     }
    0x0002d410 cmp r1, 0xed                                      |     
                                                                 |     if (r1 == 0xed) {
    0x0002d414 beq 0x2f3a4                                       |         goto label_111;
                                                                 |     }
                                                                 |     if (r1 > 0xed) {
    0x0002d418 bhi 0x2d47c                                       |         goto label_112;
                                                                 |     }
    0x0002d41c cmp r1, 0xe5                                      |     
                                                                 |     if (r1 == 0xe5) {
    0x0002d420 beq 0x2e59c                                       |         goto label_113;
                                                                 |     }
                                                                 |     if (r1 > 0xe5) {
    0x0002d424 bhi 0x2d450                                       |         goto label_114;
                                                                 |     }
    0x0002d428 cmp r1, 0xe2                                      |     
                                                                 |     if (r1 == 0xe2) {
    0x0002d42c beq 0x2f358                                       |         goto label_115;
                                                                 |     }
    0x0002d430 cmp r1, 0xe3                                      |     
                                                                 |     if (r1 != 0xe3) {
    0x0002d434 bne 0x2cea4                                       |         goto label_0;
                                                                 |     }
    0x0002d438 ldr r3, [r2]                                      |     r3 = *(r2);
    0x0002d43c cmp r3, 0                                         |     
                                                                 |     if (r3 < 0) {
    0x0002d440 strge r3, [r0, 0x648]                             |         *((r0 + 0x648)) = r3;
                                                                 |     }
                                                                 |     if (r3 < 0) {
    0x0002d444 movge r5, 0                                       |         r5 = 0;
                                                                 |     }
                                                                 |     if (r3 >= 0) {
    0x0002d448 movlt r5, 0x2b                                    |         r5 = 0x2b;
                                                                 |     }
    0x0002d44c b 0x2d7e0                                         |     goto label_2;
                                                                 | label_114:
    0x0002d450 cmp r1, 0xe9                                      |     
                                                                 |     if (r1 == 0xe9) {
    0x0002d454 beq 0x2ede8                                       |         goto label_116;
                                                                 |     }
    0x0002d458 cmp r1, 0xea                                      |     
                                                                 |     if (r1 == 0xea) {
    0x0002d45c beq 0x2f38c                                       |         goto label_117;
                                                                 |     }
    0x0002d460 cmp r1, 0xe8                                      |     
                                                                 |     if (r1 != 0xe8) {
    0x0002d464 bne 0x2cea4                                       |         goto label_0;
                                                                 |     }
    0x0002d468 bl 0x37d38                                        |     r0 = Curl_ssl_cert_status_request ();
    0x0002d46c cmp r0, 0                                         |     
                                                                 |     if (r0 != 0) {
    0x0002d470 bne 0x2ed70                                       |         goto label_118;
                                                                 |     }
                                                                 | label_14:
    0x0002d474 mov r5, 4                                         |     r5 = 4;
    0x0002d478 b 0x2d7e0                                         |     goto label_2;
                                                                 | label_112:
    0x0002d47c cmp r1, 0xf5                                      |     
                                                                 |     if (r1 == 0xf5) {
    0x0002d480 beq 0x2e130                                       |         goto label_119;
                                                                 |     }
                                                                 |     if (r1 > 0xf5) {
    0x0002d484 bhi 0x2d4a8                                       |         goto label_120;
                                                                 |     }
    0x0002d488 cmp r1, 0xf2                                      |     
                                                                 |     if (r1 == 0xf2) {
    0x0002d48c beq 0x2e1c8                                       |         goto label_121;
                                                                 |     }
    0x0002d490 cmp r1, 0xf4                                      |     
                                                                 |     if (r1 == 0xf4) {
    0x0002d494 beq 0x2f328                                       |         goto label_122;
                                                                 |     }
    0x0002d498 cmp r1, 0xef                                      |     
                                                                 |     if (r1 != 0xef) {
    0x0002d49c bne 0x2cea4                                       |         goto label_0;
                                                                 |     }
                                                                 | label_3:
    0x0002d4a0 mov r5, 4                                         |     r5 = 4;
    0x0002d4a4 b 0x2d7e0                                         |     goto label_2;
                                                                 | label_120:
    0x0002d4a8 cmp r1, 0xf9                                      |     
                                                                 |     if (r1 == 0xf9) {
    0x0002d4ac beq 0x2ed40                                       |         goto label_123;
                                                                 |     }
    0x0002d4b0 cmp r1, 0xfa                                      |     
                                                                 |     if (r1 == 0xfa) {
    0x0002d4b4 beq 0x2e290                                       |         goto label_124;
                                                                 |     }
    0x0002d4b8 cmp r1, 0xf8                                      |     
                                                                 |     if (r1 != 0xf8) {
    0x0002d4bc bne 0x2cea4                                       |         goto label_0;
                                                                 |     }
    0x0002d4c0 ldr r3, [r2]                                      |     r3 = *(r2);
    0x0002d4c4 ldr r2, [r0, 8]                                   |     r2 = *((r0 + 8));
    0x0002d4c8 adds r3, r3, 0                                    |     r3 += 0;
                                                                 |     if (r3 == r3) {
    0x0002d4cc movne r3, 1                                       |         r3 = 1;
                                                                 |     }
    0x0002d4d0 cmp r2, 0                                         |     
    0x0002d4d4 strb r3, [r0, 0x43c]                              |     *((r0 + 0x43c)) = r3;
                                                                 |     if (r2 == 0) {
    0x0002d4d8 movne r5, 0                                       |         r5 = 0;
                                                                 |     }
                                                                 |     if (r2 == 0) {
    0x0002d4dc strbne r3, [r2, 0x230]                            |         *((r2 + 0x230)) = r3;
                                                                 |     }
                                                                 |     if (r2 != 0) {
    0x0002d4e0 bne 0x2d7e0                                       |         goto label_2;
                                                                 |     }
    0x0002d4e4 b 0x2eb98                                         |     goto label_12;
                                                                 | label_110:
    0x0002d4e8 ldr r3, [pc, 0x8ec]                               |     r3 = *(0x2ddd8);
    0x0002d4ec cmp r1, r3                                        |     
                                                                 |     if (r1 == r3) {
    0x0002d4f0 beq 0x2e934                                       |         goto label_125;
                                                                 |     }
                                                                 |     if (r1 > r3) {
    0x0002d4f4 bhi 0x2d57c                                       |         goto label_126;
                                                                 |     }
    0x0002d4f8 ldr r3, [pc, 0x8e0]                               |     r3 = *(0x2dddc);
    0x0002d4fc cmp r1, r3                                        |     
                                                                 |     if (r1 == r3) {
    0x0002d500 beq 0x2f3e4                                       |         goto label_127;
                                                                 |     }
                                                                 |     if (r1 > r3) {
    0x0002d504 bhi 0x2d540                                       |         goto label_128;
                                                                 |     }
    0x0002d508 sub r3, r3, 4                                     |     r3 -= 4;
    0x0002d50c cmp r1, r3                                        |     
                                                                 |     if (r1 == r3) {
    0x0002d510 beq 0x2e8f4                                       |         goto label_129;
                                                                 |     }
    0x0002d514 cmp r1, 0x10c                                     |     
                                                                 |     if (r1 == 0x10c) {
    0x0002d518 beq 0x2f3cc                                       |         goto label_130;
                                                                 |     }
    0x0002d51c sub r3, r3, 2                                     |     r3 -= 2;
    0x0002d520 cmp r1, r3                                        |     
                                                                 |     if (r1 != r3) {
    0x0002d524 bne 0x2cea4                                       |         goto label_0;
                                                                 |     }
    0x0002d528 ldr r3, [r2]                                      |     r3 = *(r2);
    0x0002d52c mov r5, 0                                         |     r5 = 0;
    0x0002d530 adds r3, r3, 0                                    |     r3 += 0;
                                                                 |     if (r3 == r3) {
    0x0002d534 movne r3, 1                                       |         r3 = 1;
                                                                 |     }
    0x0002d538 strb r3, [r0, 0x64c]                              |     *((r0 + 0x64c)) = r3;
    0x0002d53c b 0x2d7e0                                         |     goto label_2;
                                                                 | label_128:
    0x0002d540 ldr r3, [pc, 0x89c]                               |     r3 = *(0x2dde0);
    0x0002d544 cmp r1, r3                                        |     
                                                                 |     if (r1 == r3) {
    0x0002d548 beq 0x2f3fc                                       |         goto label_131;
                                                                 |     }
    0x0002d54c add r3, r3, 3                                     |     r3 += 3;
    0x0002d550 cmp r1, r3                                        |     
                                                                 |     if (r1 == r3) {
    0x0002d554 beq 0x2f414                                       |         goto label_132;
                                                                 |     }
    0x0002d558 sub r3, r3, 4                                     |     r3 -= 4;
    0x0002d55c cmp r1, r3                                        |     
                                                                 |     if (r1 != r3) {
    0x0002d560 bne 0x2cea4                                       |         goto label_0;
                                                                 |     }
    0x0002d564 ldr r3, [r2]                                      |     r3 = *(r2);
    0x0002d568 mov r5, 0                                         |     r5 = 0;
    0x0002d56c adds r3, r3, 0                                    |     r3 += 0;
                                                                 |     if (r3 == r3) {
    0x0002d570 movne r3, 1                                       |         r3 = 1;
                                                                 |     }
    0x0002d574 strb r3, [r0, 0x65c]                              |     *((r0 + 0x65c)) = r3;
    0x0002d578 b 0x2d7e0                                         |     goto label_2;
                                                                 | label_126:
    0x0002d57c ldr r3, [pc, 0x864]                               |     r3 = *(0x2dde4);
    0x0002d580 cmp r1, r3                                        |     
                                                                 |     if (r1 == r3) {
    0x0002d584 beq 0x2eb04                                       |         goto label_133;
                                                                 |     }
                                                                 |     if (r1 > r3) {
    0x0002d588 bhi 0x2d5f4                                       |         goto label_134;
                                                                 |     }
    0x0002d58c sub r3, r3, 2                                     |     r3 -= 2;
    0x0002d590 cmp r1, r3                                        |     
                                                                 |     if (r1 == r3) {
    0x0002d594 beq 0x2e8a0                                       |         goto label_135;
                                                                 |     }
                                                                 |     if (r1 > r3) {
    0x0002d598 bhi 0x2ea4c                                       |         goto label_136;
                                                                 |     }
    0x0002d59c sub r3, r3, 2                                     |     r3 -= 2;
    0x0002d5a0 cmp r1, r3                                        |     
                                                                 |     if (r1 != r3) {
    0x0002d5a4 bne 0x2cea4                                       |         goto label_0;
                                                                 |     }
    0x0002d5a8 ldrb r3, [r0, 0x67c]                              |     r3 = *((r0 + 0x67c));
    0x0002d5ac cmp r3, 0                                         |     
                                                                 |     if (r3 != 0) {
    0x0002d5b0 beq 0x2d5d4                                       |         
    0x0002d5b4 ldr r3, [pc, 0x8d4]                               |         
    0x0002d5b8 ldr r0, [r0, 0x678]                               |         r0 = *((r0 + 0x678));
    0x0002d5bc ldr r3, [r7, r3]                                  |         r3 = *((r7 + r3));
    0x0002d5c0 ldr r3, [r3]                                      |         r3 = *(0x2de8c);
    0x0002d5c4 blx r3                                            |         uint32_t (*r3)(uint32_t, uint32_t) (r0, r3);
    0x0002d5c8 mov r3, 0                                         |         r3 = 0;
    0x0002d5cc str r3, [r4, 0x678]                               |         *((r4 + 0x678)) = r3;
    0x0002d5d0 strb r3, [r4, 0x67c]                              |         *((r4 + 0x67c)) = r3;
                                                                 |     }
    0x0002d5d4 add r0, r4, 0x560                                 |     r0 = r4 + 0x560;
    0x0002d5d8 ldr r1, [r5]                                      |     r1 = *(r5);
    0x0002d5dc add r0, r0, 0xc                                   |     r0 += 0xc;
    0x0002d5e0 bl 0x2cdb8                                        |     Curl_setstropt ();
    0x0002d5e4 ldr r3, [r4, 0x56c]                               |     r3 = *((r4 + 0x56c));
    0x0002d5e8 str r3, [r4, 0x678]                               |     *((r4 + 0x678)) = r3;
    0x0002d5ec mov r5, r0                                        |     r5 = r0;
    0x0002d5f0 b 0x2d7e0                                         |     goto label_2;
                                                                 | label_134:
    0x0002d5f4 ldr r3, [pc, 0x7f0]                               |     r3 = *(0x2dde8);
    0x0002d5f8 cmp r1, r3                                        |     
                                                                 |     if (r1 == r3) {
    0x0002d5fc beq 0x2e974                                       |         goto label_137;
                                                                 |     }
    0x0002d600 add r3, r3, 1                                     |     r3++;
    0x0002d604 cmp r1, r3                                        |     
                                                                 |     if (r1 == r3) {
    0x0002d608 beq 0x2e924                                       |         goto label_138;
                                                                 |     }
    0x0002d60c sub r3, r3, 3                                     |     r3 -= 3;
    0x0002d610 cmp r1, r3                                        |     
                                                                 |     if (r1 != r3) {
    0x0002d614 bne 0x2cea4                                       |         goto label_0;
                                                                 |     }
    0x0002d618 ldr r1, [r2]                                      |     r1 = *(r2);
    0x0002d61c add r0, r0, 0x560                                 |     r0 += 0x560;
    0x0002d620 b 0x2e070                                         |     goto label_10;
                                                                 | label_16:
    0x0002d624 ldr r3, [pc, 0x7c4]                               |     r3 = *(0x2ddec);
    0x0002d628 cmp r1, r3                                        |     
                                                                 |     if (r1 == r3) {
    0x0002d62c beq 0x2eab0                                       |         goto label_139;
                                                                 |     }
                                                                 |     if (r1 > r3) {
    0x0002d630 bhi 0x2da9c                                       |         goto label_140;
                                                                 |     }
    0x0002d634 sub r3, r3, 0x6a                                  |     r3 -= 0x6a;
    0x0002d638 cmp r1, r3                                        |     
                                                                 |     if (r1 == r3) {
    0x0002d63c beq 0x2ee90                                       |         goto label_141;
                                                                 |     }
                                                                 |     if (r1 > r3) {
    0x0002d640 bhi 0x2d86c                                       |         goto label_142;
                                                                 |     }
    0x0002d644 sub r3, r3, 0x28                                  |     r3 -= 0x28;
    0x0002d648 cmp r1, r3                                        |     
                                                                 |     if (r1 == r3) {
    0x0002d64c beq 0x2eaf4                                       |         goto label_143;
                                                                 |     }
                                                                 |     if (r1 > r3) {
    0x0002d650 bhi 0x2d750                                       |         goto label_144;
                                                                 |     }
    0x0002d654 sub r3, r3, 0x20                                  |     r3 -= 0x20;
    0x0002d658 cmp r1, r3                                        |     
                                                                 |     if (r1 == r3) {
    0x0002d65c beq 0x2ec00                                       |         goto label_145;
                                                                 |     }
                                                                 |     if (r1 > r3) {
    0x0002d660 bhi 0x2d6e0                                       |         goto label_146;
                                                                 |     }
    0x0002d664 sub r3, r3, 7                                     |     r3 -= 7;
    0x0002d668 cmp r1, r3                                        |     
                                                                 |     if (r1 == r3) {
    0x0002d66c beq 0x2e570                                       |         goto label_147;
                                                                 |     }
                                                                 |     if (r1 > r3) {
    0x0002d670 bhi 0x2d6b4                                       |         goto label_148;
                                                                 |     }
    0x0002d674 sub r3, r3, 2                                     |     r3 -= 2;
    0x0002d678 cmp r1, r3                                        |     
                                                                 |     if (r1 == r3) {
    0x0002d67c beq 0x2e524                                       |         goto label_149;
                                                                 |     }
    0x0002d680 add r3, r3, 1                                     |     r3++;
    0x0002d684 cmp r1, r3                                        |     
                                                                 |     if (r1 != r3) {
    0x0002d688 bne 0x2cea4                                       |         goto label_0;
                                                                 |     }
    0x0002d68c add r0, r0, 0x530                                 |     r0 += 0x530;
    0x0002d690 ldr r1, [r2]                                      |     r1 = *(r2);
    0x0002d694 add r0, r0, 8                                     |     r0 += 8;
    0x0002d698 bl 0x2cdb8                                        |     Curl_setstropt ();
    0x0002d69c ldr r3, [r4, 0x538]                               |     r3 = *((r4 + 0x538));
    0x0002d6a0 adds r3, r3, 0                                    |     r3 += 0;
                                                                 |     if (r3 == r3) {
    0x0002d6a4 movne r3, 1                                       |         r3 = 1;
                                                                 |     }
    0x0002d6a8 strb r3, [r4, 0x4c6]                              |     *((r4 + 0x4c6)) = r3;
    0x0002d6ac mov r5, r0                                        |     r5 = r0;
    0x0002d6b0 b 0x2d7e0                                         |     goto label_2;
                                                                 | label_148:
    0x0002d6b4 ldr r3, [pc, 0x738]                               |     r3 = *(0x2ddf0);
    0x0002d6b8 cmp r1, r3                                        |     
                                                                 |     if (r1 == r3) {
    0x0002d6bc beq 0x2e57c                                       |         goto label_150;
                                                                 |     }
                                                                 |     if (r1 > r3) {
    0x0002d6c0 bhi 0x2e4e4                                       |         goto label_151;
                                                                 |     }
    0x0002d6c4 sub r3, r3, 1                                     |     r3--;
    0x0002d6c8 cmp r1, r3                                        |     
                                                                 |     if (r1 != r3) {
    0x0002d6cc ldreq r1, [r2]                                    |         r1 = *(r2);
                                                                 |     }
                                                                 |     if (r1 == r3) {
    0x0002d6d0 addeq r0, r0, 0x510                               |         r0 += 0x510;
                                                                 |         goto label_152;
                                                                 |     }
                                                                 |     if (r1 != r3) {
                                                                 | label_152:
    0x0002d6d4 bne 0x2cea4                                       |         goto label_0;
                                                                 |     }
                                                                 | label_1:
    0x0002d6d8 add r0, r0, 8                                     |     r0 += 8;
    0x0002d6dc b 0x2dc70                                         |     goto label_5;
                                                                 | label_146:
    0x0002d6e0 ldr r3, [pc, 0x710]                               |     r3 = *(0x2ddf4);
    0x0002d6e4 cmp r1, r3                                        |     
                                                                 |     if (r1 == r3) {
    0x0002d6e8 beq 0x2e5b0                                       |         goto label_153;
                                                                 |     }
                                                                 |     if (r1 > r3) {
    0x0002d6ec bhi 0x2d720                                       |         goto label_154;
                                                                 |     }
    0x0002d6f0 sub r3, r3, 3                                     |     r3 -= 3;
    0x0002d6f4 cmp r1, r3                                        |     
                                                                 |     if (r1 == r3) {
    0x0002d6f8 beq 0x2eaa0                                       |         goto label_155;
                                                                 |     }
    0x0002d6fc add r3, r3, 1                                     |     r3++;
    0x0002d700 cmp r1, r3                                        |     
                                                                 |     if (r1 == r3) {
    0x0002d704 beq 0x2e914                                       |         goto label_156;
                                                                 |     }
    0x0002d708 sub r3, r3, 3                                     |     r3 -= 3;
    0x0002d70c cmp r1, r3                                        |     
                                                                 |     if (r1 != r3) {
    0x0002d710 bne 0x2cea4                                       |         goto label_0;
                                                                 |     }
    0x0002d714 ldr r1, [r2]                                      |     r1 = *(r2);
    0x0002d718 add r0, r0, 0x540                                 |     r0 += 0x540;
    0x0002d71c b 0x2e070                                         |     goto label_10;
                                                                 | label_154:
    0x0002d720 ldr r3, [pc, 0x6d4]                               |     r3 = *(0x2ddf8);
    0x0002d724 cmp r1, r3                                        |     
                                                                 |     if (r1 == r3) {
    0x0002d728 beq 0x2eb88                                       |         goto label_157;
                                                                 |     }
    0x0002d72c add r3, r3, 2                                     |     r3 += 2;
    0x0002d730 cmp r1, r3                                        |     
                                                                 |     if (r1 == r3) {
    0x0002d734 beq 0x2ea80                                       |         goto label_158;
                                                                 |     }
    0x0002d738 sub r3, r3, 3                                     |     r3 -= 3;
    0x0002d73c cmp r1, r3                                        |     
                                                                 |     if (r1 != r3) {
    0x0002d740 bne 0x2cea4                                       |         goto label_0;
                                                                 |     }
    0x0002d744 ldr r1, [r2]                                      |     r1 = *(r2);
    0x0002d748 add r0, r0, 0x520                                 |     r0 += 0x520;
    0x0002d74c b 0x2dc70                                         |     goto label_5;
                                                                 | label_144:
    0x0002d750 ldr r3, [pc, 0x6a8]                               |     r3 = *(0x2ddfc);
    0x0002d754 cmp r1, r3                                        |     
                                                                 |     if (r1 == r3) {
    0x0002d758 beq 0x2e5f0                                       |         goto label_159;
                                                                 |     }
                                                                 |     if (r1 > r3) {
    0x0002d75c bhi 0x2d7ec                                       |         goto label_160;
                                                                 |     }
    0x0002d760 sub r3, r3, 0x11                                  |     r3 -= 0x11;
    0x0002d764 cmp r1, r3                                        |     
                                                                 |     if (r1 == r3) {
    0x0002d768 beq 0x2ee84                                       |         goto label_161;
                                                                 |     }
                                                                 |     if (r1 > r3) {
    0x0002d76c bhi 0x2d7b0                                       |         goto label_162;
                                                                 |     }
    0x0002d770 sub r3, r3, 3                                     |     r3 -= 3;
    0x0002d774 cmp r1, r3                                        |     
                                                                 |     if (r1 == r3) {
    0x0002d778 beq 0x2ec84                                       |         goto label_163;
                                                                 |     }
    0x0002d77c add r3, r3, 1                                     |     r3++;
    0x0002d780 cmp r1, r3                                        |     
                                                                 |     if (r1 != r3) {
    0x0002d784 bne 0x2cea4                                       |         goto label_0;
                                                                 |     }
    0x0002d788 add r0, r0, 0x550                                 |     r0 += 0x550;
    0x0002d78c ldr r1, [r2]                                      |     r1 = *(r2);
    0x0002d790 add r0, r0, 4                                     |     r0 += 4;
    0x0002d794 bl 0x2cdb8                                        |     Curl_setstropt ();
    0x0002d798 ldr r3, [r4, 0x554]                               |     r3 = *((r4 + 0x554));
    0x0002d79c adds r3, r3, 0                                    |     r3 += 0;
                                                                 |     if (r3 == r3) {
    0x0002d7a0 movne r3, 1                                       |         r3 = 1;
                                                                 |     }
    0x0002d7a4 strb r3, [r4, 0x4d9]                              |     *((r4 + 0x4d9)) = r3;
    0x0002d7a8 mov r5, r0                                        |     r5 = r0;
    0x0002d7ac b 0x2d7e0                                         |     goto label_2;
                                                                 | label_162:
    0x0002d7b0 ldr r3, [pc, 0x64c]                               |     r3 = "pe";
    0x0002d7b4 cmp r1, r3                                        |     
                                                                 |     if (r1 == r3) {
    0x0002d7b8 beq 0x2e078                                       |         goto label_164;
                                                                 |     }
    0x0002d7bc add r3, r3, 1                                     |     r3++;
    0x0002d7c0 cmp r1, r3                                        |     
                                                                 |     if (r1 == r3) {
    0x0002d7c4 beq 0x2e084                                       |         goto label_165;
                                                                 |     }
    0x0002d7c8 sub r3, r3, 7                                     |     r3 -= 7;
    0x0002d7cc cmp r1, r3                                        |     
                                                                 |     if (r1 != r3) {
    0x0002d7d0 ldreq r3, [r2]                                    |         r3 = *(r2);
                                                                 |     }
                                                                 |     if (r1 != r3) {
    0x0002d7d4 moveq r5, 0                                       |         r5 = 0;
                                                                 |     }
                                                                 |     if (r1 == r3) {
    0x0002d7d8 streq r3, [r0, 0x3bc]                             |         *((r0 + 0x3bc)) = r3;
                                                                 |         goto label_166;
                                                                 |     }
                                                                 |     if (r1 != r3) {
                                                                 | label_166:
    0x0002d7dc bne 0x2cea4                                       |         goto label_0;
                                                                 |     }
                                                                 | label_2:
    0x0002d7e0 mov r0, r5                                        |     r0 = r5;
    0x0002d7e4 add sp, sp, 0x10                                  |     
    0x0002d7e8 pop {r4, r5, r6, r7, r8, pc}                      |     
                                                                 | label_160:
    0x0002d7ec ldr r3, [pc, 0x614]                               |     r3 = "y_escape";
    0x0002d7f0 cmp r1, r3                                        |     
                                                                 |     if (r1 == r3) {
    0x0002d7f4 beq 0x2ec3c                                       |         goto label_167;
                                                                 |     }
                                                                 |     if (r1 > r3) {
    0x0002d7f8 bhi 0x2d824                                       |         goto label_168;
                                                                 |     }
    0x0002d7fc sub r3, r3, 2                                     |     r3 -= 2;
    0x0002d800 cmp r1, r3                                        |     
                                                                 |     if (r1 == r3) {
    0x0002d804 beq 0x2ec0c                                       |         goto label_169;
                                                                 |     }
                                                                 |     if (r1 > r3) {
    0x0002d808 bhi 0x2ec24                                       |         goto label_170;
                                                                 |     }
    0x0002d80c sub r3, r3, 3                                     |     r3 -= 3;
    0x0002d810 cmp r1, r3                                        |     
                                                                 |     if (r1 != r3) {
    0x0002d814 ldreq r1, [r2]                                    |         r1 = *(r2);
                                                                 |     }
                                                                 |     if (r1 == r3) {
    0x0002d818 addeq r0, r0, 0x580                               |         r0 += 0x580;
                                                                 |         goto label_171;
                                                                 |     }
                                                                 |     if (r1 == r3) {
                                                                 | label_171:
    0x0002d81c beq 0x2d6d8                                       |         goto label_1;
                                                                 |     }
    0x0002d820 b 0x2cea4                                         |     goto label_0;
                                                                 | label_168:
    0x0002d824 ldr r3, [pc, 0x5e0]                               |     r3 = "l_escape";
    0x0002d828 cmp r1, r3                                        |     
                                                                 |     if (r1 == r3) {
    0x0002d82c beq 0x2ea90                                       |         goto label_172;
                                                                 |     }
    0x0002d830 add r3, r3, 2                                     |     r3 += 2;
    0x0002d834 cmp r1, r3                                        |     
                                                                 |     if (r1 == r3) {
    0x0002d838 beq 0x2eb78                                       |         goto label_173;
                                                                 |     }
    0x0002d83c sub r3, r3, 6                                     |     r3 -= 6;
    0x0002d840 cmp r1, r3                                        |     
                                                                 |     if (r1 != r3) {
    0x0002d844 bne 0x2cea4                                       |         goto label_0;
                                                                 |     }
    0x0002d848 ldr r1, [r2]                                      |     r1 = *(r2);
    0x0002d84c cmp r1, 0                                         |     
                                                                 |     if (r1 == 0) {
    0x0002d850 beq 0x2eb98                                       |         goto label_12;
                                                                 |     }
    0x0002d854 ldrb r3, [r1]                                     |     r3 = *(r1);
    0x0002d858 cmp r3, 0                                         |     
                                                                 |     if (r3 == 0) {
    0x0002d85c beq 0x2eb98                                       |         goto label_12;
                                                                 |     }
    0x0002d860 add sp, sp, 0x10                                  |     
    0x0002d864 pop {r4, r5, r6, r7, r8, lr}                      |     
    0x0002d868 b 0x375c4                                         |     void (*0x375c4)() ();
                                                                 | label_142:
    0x0002d86c ldr r3, [pc, 0x59c]                               |     r3 = *(0x2de0c);
    0x0002d870 cmp r1, r3                                        |     
                                                                 |     if (r1 == r3) {
    0x0002d874 beq 0x2eed8                                       |         goto label_174;
                                                                 |     }
                                                                 |     if (r1 > r3) {
    0x0002d878 bhi 0x2d9bc                                       |         goto label_175;
                                                                 |     }
    0x0002d87c sub r3, r3, 0x26                                  |     r3 -= 0x26;
    0x0002d880 cmp r1, r3                                        |     
                                                                 |     if (r1 == r3) {
    0x0002d884 beq 0x2ebf0                                       |         goto label_176;
                                                                 |     }
                                                                 |     if (r1 > r3) {
    0x0002d888 bhi 0x2d93c                                       |         goto label_177;
                                                                 |     }
    0x0002d88c sub r3, r3, 0x1c                                  |     r3 -= 0x1c;
    0x0002d890 cmp r1, r3                                        |     
                                                                 |     if (r1 == r3) {
    0x0002d894 beq 0x2f06c                                       |         goto label_178;
                                                                 |     }
                                                                 |     if (r1 > r3) {
    0x0002d898 bhi 0x2d908                                       |         goto label_179;
                                                                 |     }
    0x0002d89c sub r3, r3, 3                                     |     r3 -= 3;
    0x0002d8a0 cmp r1, r3                                        |     
                                                                 |     if (r1 == r3) {
    0x0002d8a4 beq 0x2ef60                                       |         goto label_180;
                                                                 |     }
    0x0002d8a8 add r3, r3, 2                                     |     r3 += 2;
    0x0002d8ac cmp r1, r3                                        |     
                                                                 |     if (r1 != r3) {
    0x0002d8b0 bne 0x2cea4                                       |         goto label_0;
                                                                 |     }
    0x0002d8b4 ldr r1, [r2]                                      |     r1 = *(r2);
    0x0002d8b8 cmp r1, 0                                         |     
                                                                 |     if (r1 == 0) {
    0x0002d8bc beq 0x2e2e0                                       |         goto label_181;
                                                                 |     }
    0x0002d8c0 ldrb r3, [r1]                                     |     r3 = *(r1);
    0x0002d8c4 cmp r3, 0                                         |     
                                                                 |     if (r3 != 0) {
    0x0002d8c8 bne 0x2e2e0                                       |         goto label_181;
                                                                 |     }
    0x0002d8cc bl 0x208ec                                        |     r0 = Curl_all_content_encodings ();
    0x0002d8d0 subs r6, r0, 0                                    |     r6 = r0 - 0;
                                                                 |     if (r6 == r0) {
    0x0002d8d4 moveq r5, 0x1b                                    |         r5 = 0x1b;
                                                                 |         goto label_182;
                                                                 |     }
                                                                 |     if (r6 == r0) {
                                                                 | label_182:
    0x0002d8d8 beq 0x2d7e0                                       |         goto label_2;
                                                                 |     }
    0x0002d8dc add r0, r4, 0x520                                 |     r0 = r4 + 0x520;
    0x0002d8e0 mov r1, r6                                        |     r1 = r6;
    0x0002d8e4 add r0, r0, 0xc                                   |     r0 += 0xc;
    0x0002d8e8 bl 0x2cdb8                                        |     Curl_setstropt ();
    0x0002d8ec ldr r3, [pc, 0x59c]                               |     
    0x0002d8f0 ldr r3, [r7, r3]                                  |     r3 = *((r7 + r3));
    0x0002d8f4 ldr r3, [r3]                                      |     r3 = *(0x2de8c);
    0x0002d8f8 mov r5, r0                                        |     r5 = r0;
    0x0002d8fc mov r0, r6                                        |     r0 = r6;
    0x0002d900 blx r3                                            |     uint32_t (*r3)(uint32_t, uint32_t) (r0, r3);
    0x0002d904 b 0x2d7e0                                         |     goto label_2;
                                                                 | label_179:
    0x0002d908 ldr r3, [pc, 0x504]                               |     r3 = *(0x2de10);
    0x0002d90c cmp r1, r3                                        |     
                                                                 |     if (r1 == r3) {
    0x0002d910 beq 0x2edc0                                       |         goto label_183;
                                                                 |     }
    0x0002d914 add r3, r3, 9                                     |     r3 += 9;
    0x0002d918 cmp r1, r3                                        |     
                                                                 |     if (r1 == r3) {
    0x0002d91c beq 0x2e23c                                       |         goto label_184;
                                                                 |     }
    0x0002d920 sub r3, r3, 0xe                                   |     r3 -= 0xe;
    0x0002d924 cmp r1, r3                                        |     
                                                                 |     if (r1 != r3) {
    0x0002d928 ldreq r3, [r2]                                    |         r3 = *(r2);
                                                                 |     }
                                                                 |     if (r1 != r3) {
    0x0002d92c moveq r5, 0                                       |         r5 = 0;
                                                                 |     }
                                                                 |     if (r1 == r3) {
    0x0002d930 streq r3, [r0, 0x4a0]                             |         *((r0 + 0x4a0)) = r3;
                                                                 |         goto label_185;
                                                                 |     }
                                                                 |     if (r1 == r3) {
                                                                 | label_185:
    0x0002d934 beq 0x2d7e0                                       |         goto label_2;
                                                                 |     }
    0x0002d938 b 0x2cea4                                         |     goto label_0;
                                                                 | label_177:
    0x0002d93c ldr r3, [pc, 0x4d4]                               |     r3 = *(0x2de14);
    0x0002d940 cmp r1, r3                                        |     
                                                                 |     if (r1 == r3) {
    0x0002d944 beq 0x2f188                                       |         goto label_186;
                                                                 |     }
                                                                 |     if (r1 > r3) {
    0x0002d948 bhi 0x2d97c                                       |         goto label_187;
                                                                 |     }
    0x0002d94c sub r3, r3, 0xe                                   |     r3 -= 0xe;
    0x0002d950 cmp r1, r3                                        |     
                                                                 |     if (r1 == r3) {
    0x0002d954 beq 0x2e628                                       |         goto label_188;
                                                                 |     }
    0x0002d958 add r3, r3, 0xc                                   |     r3 += 0xc;
    0x0002d95c cmp r1, r3                                        |     
                                                                 |     if (r1 == r3) {
    0x0002d960 beq 0x2f17c                                       |         goto label_189;
                                                                 |     }
    0x0002d964 sub r3, r3, 0xd                                   |     r3 -= 0xd;
    0x0002d968 cmp r1, r3                                        |     
                                                                 |     if (r1 != r3) {
    0x0002d96c bne 0x2cea4                                       |         goto label_0;
                                                                 |     }
    0x0002d970 ldr r1, [r2]                                      |     r1 = *(r2);
    0x0002d974 add r0, r0, 0x530                                 |     r0 += 0x530;
    0x0002d978 b 0x2dc70                                         |     goto label_5;
                                                                 | label_187:
    0x0002d97c ldr r3, [pc, 0x498]                               |     r3 = *(0x2de18);
    0x0002d980 cmp r1, r3                                        |     
                                                                 |     if (r1 == r3) {
    0x0002d984 beq 0x2e330                                       |         goto label_190;
                                                                 |     }
    0x0002d988 add r3, r3, 3                                     |     r3 += 3;
    0x0002d98c cmp r1, r3                                        |     
                                                                 |     if (r1 != r3) {
    0x0002d990 ldreq r3, [r2]                                    |         r3 = *(r2);
                                                                 |     }
                                                                 |     if (r1 != r3) {
    0x0002d994 moveq r5, 0                                       |         r5 = 0;
                                                                 |     }
                                                                 |     if (r1 == r3) {
    0x0002d998 streq r3, [r0, 0x1c8]                             |         *((r0 + 0x1c8)) = r3;
                                                                 |         goto label_191;
                                                                 |     }
                                                                 |     if (r1 == r3) {
                                                                 | label_191:
    0x0002d99c beq 0x2d7e0                                       |         goto label_2;
                                                                 |     }
    0x0002d9a0 sub r3, r3, 4                                     |     r3 -= 4;
    0x0002d9a4 cmp r1, r3                                        |     
                                                                 |     if (r1 != r3) {
    0x0002d9a8 ldreq r3, [r5]                                    |         r3 = *(r5);
                                                                 |     }
                                                                 |     if (r1 != r3) {
    0x0002d9ac moveq r5, 0                                       |         r5 = 0;
                                                                 |     }
                                                                 |     if (r1 == r3) {
    0x0002d9b0 streq r3, [r0, 0x1bc]                             |         *((r0 + 0x1bc)) = r3;
                                                                 |         goto label_192;
                                                                 |     }
                                                                 |     if (r1 == r3) {
                                                                 | label_192:
    0x0002d9b4 beq 0x2d7e0                                       |         goto label_2;
                                                                 |     }
    0x0002d9b8 b 0x2cea4                                         |     goto label_0;
                                                                 | label_175:
    0x0002d9bc ldr r3, [pc, 0x45c]                               |     r3 = *(0x2de1c);
    0x0002d9c0 cmp r1, r3                                        |     
                                                                 |     if (r1 == r3) {
    0x0002d9c4 beq 0x2f224                                       |         goto label_193;
                                                                 |     }
                                                                 |     if (r1 > r3) {
    0x0002d9c8 bhi 0x2da28                                       |         goto label_194;
                                                                 |     }
    0x0002d9cc sub r3, r3, 0xb                                   |     r3 -= 0xb;
    0x0002d9d0 cmp r1, r3                                        |     
                                                                 |     if (r1 == r3) {
    0x0002d9d4 beq 0x2eb10                                       |         goto label_195;
                                                                 |     }
                                                                 |     if (r1 > r3) {
    0x0002d9d8 bhi 0x2da08                                       |         goto label_196;
                                                                 |     }
    0x0002d9dc sub r3, r3, 2                                     |     r3 -= 2;
    0x0002d9e0 cmp r1, r3                                        |     
                                                                 |     if (r1 == r3) {
    0x0002d9e4 beq 0x2ea68                                       |         goto label_197;
                                                                 |     }
                                                                 |     if (r1 > r3) {
    0x0002d9e8 bhi 0x2ea74                                       |         goto label_198;
                                                                 |     }
    0x0002d9ec sub r3, r3, 3                                     |     r3 -= 3;
    0x0002d9f0 cmp r1, r3                                        |     
                                                                 |     if (r1 != r3) {
    0x0002d9f4 ldreq r1, [r2]                                    |         r1 = *(r2);
                                                                 |     }
                                                                 |     if (r1 == r3) {
    0x0002d9f8 addeq r0, r0, 0x5a0                               |         r0 += 0x5a0;
                                                                 |         goto label_199;
                                                                 |     }
                                                                 |     if (r1 != r3) {
                                                                 | label_199:
    0x0002d9fc bne 0x2cea4                                       |         goto label_0;
                                                                 |     }
                                                                 | label_4:
    0x0002da00 add r0, r0, 0xc                                   |     r0 += 0xc;
    0x0002da04 b 0x2dc70                                         |     goto label_5;
                                                                 | label_196:
    0x0002da08 ldr r3, [pc, 0x414]                               |     r3 = "l_mvfprintf";
    0x0002da0c cmp r1, r3                                        |     
                                                                 |     if (r1 == r3) {
    0x0002da10 beq 0x2eb1c                                       |         goto label_200;
                                                                 |     }
                                                                 |     if (r1 < r3) {
    0x0002da14 addhs r3, r3, 2                                   |         r3 += 2;
                                                                 |     }
                                                                 |     if (r1 >= r3) {
    0x0002da18 bhs 0x2db94                                       |         goto label_201;
                                                                 |     }
    0x0002da1c ldr r1, [r2]                                      |     r1 = *(r2);
    0x0002da20 add r0, r0, 0x5c0                                 |     r0 += 0x5c0;
    0x0002da24 b 0x2e070                                         |     goto label_10;
                                                                 | label_194:
    0x0002da28 ldr r3, [pc, 0x3f8]                               |     r3 = *(0x2de24);
    0x0002da2c cmp r1, r3                                        |     
                                                                 |     if (r1 == r3) {
    0x0002da30 beq 0x2f27c                                       |         goto label_202;
                                                                 |     }
                                                                 |     if (r1 > r3) {
    0x0002da34 bhi 0x2da64                                       |         goto label_203;
                                                                 |     }
    0x0002da38 sub r3, r3, 2                                     |     r3 -= 2;
    0x0002da3c cmp r1, r3                                        |     
                                                                 |     if (r1 == r3) {
    0x0002da40 beq 0x2f264                                       |         goto label_204;
                                                                 |     }
                                                                 |     if (r1 > r3) {
    0x0002da44 bhi 0x2f270                                       |         goto label_205;
                                                                 |     }
    0x0002da48 sub r3, r3, 3                                     |     r3 -= 3;
    0x0002da4c cmp r1, r3                                        |     
                                                                 |     if (r1 != r3) {
    0x0002da50 ldreq r3, [r2]                                    |         r3 = *(r2);
                                                                 |     }
                                                                 |     if (r1 != r3) {
    0x0002da54 moveq r5, 0                                       |         r5 = 0;
                                                                 |     }
                                                                 |     if (r1 == r3) {
    0x0002da58 streq r3, [r0, 0x608]                             |         *((r0 + 0x608)) = r3;
                                                                 |         goto label_206;
                                                                 |     }
                                                                 |     if (r1 == r3) {
                                                                 | label_206:
    0x0002da5c beq 0x2d7e0                                       |         goto label_2;
                                                                 |     }
    0x0002da60 b 0x2cea4                                         |     goto label_0;
                                                                 | label_203:
    0x0002da64 ldr r3, [pc, 0x3c0]                               |     r3 = "rintf";
    0x0002da68 cmp r1, r3                                        |     
                                                                 |     if (r1 == r3) {
    0x0002da6c beq 0x2f29c                                       |         goto label_207;
                                                                 |     }
                                                                 |     if (r1 <= r3) {
    0x0002da70 ldrhi r3, [r2]                                    |         r3 = *(r2);
                                                                 |     }
                                                                 |     if (r1 <= r3) {
    0x0002da74 movhi r5, 0                                       |         r5 = 0;
                                                                 |     }
                                                                 |     if (r1 > r3) {
    0x0002da78 strhi r3, [r0, 0x628]                             |         *((r0 + 0x628)) = r3;
                                                                 |         goto label_208;
                                                                 |     }
                                                                 |     if (r1 > r3) {
                                                                 | label_208:
    0x0002da7c bhi 0x2d7e0                                       |         goto label_2;
                                                                 |     }
    0x0002da80 sub r3, r3, 6                                     |     r3 -= 6;
    0x0002da84 cmp r1, r3                                        |     
                                                                 |     if (r1 != r3) {
    0x0002da88 ldreq r3, [r5]                                    |         r3 = *(r5);
                                                                 |     }
                                                                 |     if (r1 != r3) {
    0x0002da8c moveq r5, 0                                       |         r5 = 0;
                                                                 |     }
                                                                 |     if (r1 == r3) {
    0x0002da90 streq r3, [r0, 0x14c]                             |         *((r0 + 0x14c)) = r3;
                                                                 |         goto label_209;
                                                                 |     }
                                                                 |     if (r1 == r3) {
                                                                 | label_209:
    0x0002da94 beq 0x2d7e0                                       |         goto label_2;
                                                                 |     }
    0x0002da98 b 0x2cea4                                         |     goto label_0;
                                                                 | label_140:
    0x0002da9c ldr r3, [pc, 0x38c]                               |     r3 = *(0x2de2c);
    0x0002daa0 cmp r1, r3                                        |     
                                                                 |     if (r1 == r3) {
    0x0002daa4 beq 0x2e500                                       |         goto label_210;
                                                                 |     }
                                                                 |     if (r1 > r3) {
    0x0002daa8 bhi 0x2dc7c                                       |         goto label_211;
                                                                 |     }
    0x0002daac sub r3, r3, 0x1c                                  |     r3 -= 0x1c;
    0x0002dab0 cmp r1, r3                                        |     
                                                                 |     if (r1 > r3) {
    0x0002dab4 bhi 0x2dba8                                       |         goto label_212;
                                                                 |     }
    0x0002dab8 cmp r1, 0x2800                                    |     
                                                                 |     if (r1 >= 0x2800) {
    0x0002dabc bhs 0x2d4a0                                       |         goto label_3;
                                                                 |     }
    0x0002dac0 sub r3, r3, 0x12                                  |     r3 -= 0x12;
    0x0002dac4 cmp r1, r3                                        |     
                                                                 |     if (r1 == r3) {
    0x0002dac8 beq 0x2f2d0                                       |         goto label_213;
                                                                 |     }
                                                                 |     if (r1 > r3) {
    0x0002dacc bhi 0x2db30                                       |         goto label_214;
                                                                 |     }
    0x0002dad0 sub r3, r3, 6                                     |     r3 -= 6;
    0x0002dad4 cmp r1, r3                                        |     
                                                                 |     if (r1 == r3) {
    0x0002dad8 beq 0x2f230                                       |         goto label_215;
                                                                 |     }
                                                                 |     if (r1 > r3) {
    0x0002dadc bhi 0x2db08                                       |         goto label_216;
                                                                 |     }
    0x0002dae0 sub r3, r3, 8                                     |     r3 -= 8;
    0x0002dae4 cmp r1, r3                                        |     
                                                                 |     if (r1 == r3) {
    0x0002dae8 beq 0x2f1b8                                       |         goto label_217;
                                                                 |     }
    0x0002daec add r3, r3, 2                                     |     r3 += 2;
    0x0002daf0 cmp r1, r3                                        |     
                                                                 |     if (r1 != r3) {
    0x0002daf4 bne 0x2cea4                                       |         goto label_0;
                                                                 |     }
    0x0002daf8 ldr r1, [r2]                                      |     r1 = *(r2);
    0x0002dafc add sp, sp, 0x10                                  |     
    0x0002db00 pop {r4, r5, r6, r7, r8, lr}                      |     
    0x0002db04 b 0x26b54                                         |     void (*0x26b54)() ();
                                                                 | label_216:
    0x0002db08 ldr r3, [pc, 0x324]                               |     r3 = *(0x2de30);
    0x0002db0c cmp r1, r3                                        |     
                                                                 |     if (r1 == r3) {
    0x0002db10 beq 0x2f2b0                                       |         goto label_218;
                                                                 |     }
                                                                 |     if (r1 > r3) {
    0x0002db14 bhi 0x2f2c0                                       |         goto label_219;
                                                                 |     }
    0x0002db18 sub r3, r3, 1                                     |     r3--;
    0x0002db1c cmp r1, r3                                        |     
                                                                 |     if (r1 != r3) {
    0x0002db20 ldreq r1, [r2]                                    |         r1 = *(r2);
                                                                 |     }
                                                                 |     if (r1 == r3) {
    0x0002db24 addeq r0, r0, 0x5e0                               |         r0 += 0x5e0;
                                                                 |         goto label_220;
                                                                 |     }
                                                                 |     if (r1 == r3) {
                                                                 | label_220:
    0x0002db28 beq 0x2d6d8                                       |         goto label_1;
                                                                 |     }
    0x0002db2c b 0x2cea4                                         |     goto label_0;
                                                                 | label_214:
    0x0002db30 ldr r3, [pc, 0x300]                               |     r3 = *(0x2de34);
    0x0002db34 cmp r1, r3                                        |     
                                                                 |     if (r1 == r3) {
    0x0002db38 beq 0x2f370                                       |         goto label_221;
                                                                 |     }
                                                                 |     if (r1 > r3) {
    0x0002db3c bhi 0x2db70                                       |         goto label_222;
                                                                 |     }
    0x0002db40 sub r3, r3, 3                                     |     r3 -= 3;
    0x0002db44 cmp r1, r3                                        |     
                                                                 |     if (r1 == r3) {
    0x0002db48 beq 0x2e58c                                       |         goto label_223;
                                                                 |     }
    0x0002db4c add r3, r3, 2                                     |     r3 += 2;
    0x0002db50 cmp r1, r3                                        |     
                                                                 |     if (r1 == r3) {
    0x0002db54 beq 0x2ee3c                                       |         goto label_224;
                                                                 |     }
    0x0002db58 sub r3, r3, 6                                     |     r3 -= 6;
    0x0002db5c cmp r1, r3                                        |     
                                                                 |     if (r1 != r3) {
    0x0002db60 bne 0x2cea4                                       |         goto label_0;
                                                                 |     }
    0x0002db64 ldr r1, [r2]                                      |     r1 = *(r2);
    0x0002db68 add r0, r0, 0x5b0                                 |     r0 += 0x5b0;
    0x0002db6c b 0x2da00                                         |     goto label_4;
                                                                 | label_222:
    0x0002db70 ldr r3, [pc, 0x2c4]                               |     r3 = *(0x2de38);
    0x0002db74 cmp r1, r3                                        |     
                                                                 |     if (r1 == r3) {
    0x0002db78 beq 0x2e908                                       |         goto label_225;
                                                                 |     }
    0x0002db7c add r3, r3, 2                                     |     r3 += 2;
    0x0002db80 cmp r1, r3                                        |     
                                                                 |     if (r1 != r3) {
    0x0002db84 ldreq r1, [r2]                                    |         r1 = *(r2);
                                                                 |     }
                                                                 |     if (r1 != r3) {
    0x0002db88 addeq r0, r0, 0x520                               |         r0 += 0x520;
                                                                 |     }
                                                                 |     if (r1 == r3) {
    0x0002db8c beq 0x2e070                                       |         goto label_10;
                                                                 |     }
    0x0002db90 sub r3, r3, 3                                     |     r3 -= 3;
                                                                 | label_201:
    0x0002db94 cmp r1, r3                                        |     
                                                                 |     if (r1 != r3) {
    0x0002db98 bne 0x2cea4                                       |         goto label_0;
                                                                 |     }
    0x0002db9c ldr r1, [r5]                                      |     r1 = *(r5);
    0x0002dba0 add r0, r4, 0x5d0                                 |     r0 = r4 + 0x5d0;
    0x0002dba4 b 0x2d6d8                                         |     goto label_1;
                                                                 | label_212:
    0x0002dba8 ldr r3, [pc, 0x290]                               |     r3 = "oc";
    0x0002dbac cmp r1, r3                                        |     
                                                                 |     if (r1 == r3) {
    0x0002dbb0 beq 0x2ec48                                       |         goto label_226;
                                                                 |     }
                                                                 |     if (r1 > r3) {
    0x0002dbb4 bhi 0x2dc14                                       |         goto label_227;
                                                                 |     }
    0x0002dbb8 sub r3, r3, 0xa                                   |     r3 -= 0xa;
    0x0002dbbc cmp r1, r3                                        |     
                                                                 |     if (r1 == r3) {
    0x0002dbc0 beq 0x2eeb4                                       |         goto label_228;
                                                                 |     }
                                                                 |     if (r1 > r3) {
    0x0002dbc4 bhi 0x2dbec                                       |         goto label_229;
                                                                 |     }
    0x0002dbc8 sub r3, r3, 4                                     |     r3 -= 4;
    0x0002dbcc cmp r1, r3                                        |     
                                                                 |     if (r1 == r3) {
    0x0002dbd0 beq 0x2f3bc                                       |         goto label_230;
                                                                 |     }
    0x0002dbd4 add r3, r3, 3                                     |     r3 += 3;
    0x0002dbd8 cmp r1, r3                                        |     
                                                                 |     if (r1 != r3) {
    0x0002dbdc ldreq r1, [r2]                                    |         r1 = *(r2);
                                                                 |     }
                                                                 |     if (r1 == r3) {
    0x0002dbe0 addeq r0, r0, 0x570                               |         r0 += 0x570;
                                                                 |         goto label_231;
                                                                 |     }
                                                                 |     if (r1 == r3) {
                                                                 | label_231:
    0x0002dbe4 beq 0x2da00                                       |         goto label_4;
                                                                 |     }
    0x0002dbe8 b 0x2cea4                                         |     goto label_0;
                                                                 | label_229:
    0x0002dbec ldr r3, [pc, 0x250]                               |     r3 = *(0x2de40);
    0x0002dbf0 cmp r1, r3                                        |     
                                                                 |     if (r1 == r3) {
    0x0002dbf4 beq 0x2ec18                                       |         goto label_232;
                                                                 |     }
                                                                 |     if (r1 > r3) {
    0x0002dbf8 bhi 0x2ec30                                       |         goto label_233;
                                                                 |     }
    0x0002dbfc sub r3, r3, 1                                     |     r3--;
    0x0002dc00 cmp r1, r3                                        |     
                                                                 |     if (r1 != r3) {
    0x0002dc04 ldreq r1, [r2]                                    |         r1 = *(r2);
                                                                 |     }
                                                                 |     if (r1 == r3) {
    0x0002dc08 addeq r0, r0, 0x500                               |         r0 += 0x500;
                                                                 |         goto label_234;
                                                                 |     }
                                                                 |     if (r1 == r3) {
                                                                 | label_234:
    0x0002dc0c beq 0x2da00                                       |         goto label_4;
                                                                 |     }
    0x0002dc10 b 0x2cea4                                         |     goto label_0;
                                                                 | label_227:
    0x0002dc14 ldr r3, [pc, 0x22c]                               |     r3 = *(0x2de44);
    0x0002dc18 cmp r1, r3                                        |     
                                                                 |     if (r1 == r3) {
    0x0002dc1c beq 0x2e8ac                                       |         goto label_235;
                                                                 |     }
                                                                 |     if (r1 > r3) {
    0x0002dc20 bhi 0x2dc4c                                       |         goto label_236;
                                                                 |     }
    0x0002dc24 sub r3, r3, 3                                     |     r3 -= 3;
    0x0002dc28 cmp r1, r3                                        |     
                                                                 |     if (r1 == r3) {
    0x0002dc2c beq 0x2e050                                       |         goto label_237;
                                                                 |     }
                                                                 |     if (r1 <= r3) {
    0x0002dc30 blo 0x2ec54                                       |         goto label_238;
                                                                 |     }
    0x0002dc34 add r3, r3, 1                                     |     r3++;
    0x0002dc38 cmp r1, r3                                        |     
                                                                 |     if (r1 != r3) {
    0x0002dc3c ldreq r1, [r2]                                    |         r1 = *(r2);
                                                                 |     }
                                                                 |     if (r1 == r3) {
    0x0002dc40 addeq r0, r0, 0x5a0                               |         r0 += 0x5a0;
                                                                 |         goto label_239;
                                                                 |     }
                                                                 |     if (r1 == r3) {
                                                                 | label_239:
    0x0002dc44 beq 0x2d6d8                                       |         goto label_1;
                                                                 |     }
    0x0002dc48 b 0x2cea4                                         |     goto label_0;
                                                                 | label_236:
    0x0002dc4c ldr r3, [pc, 0x1f8]                               |     r3 = *(0x2de48);
    0x0002dc50 cmp r1, r3                                        |     
                                                                 |     if (r1 == r3) {
    0x0002dc54 beq 0x2f384                                       |         goto label_240;
                                                                 |     }
                                                                 |     if (r1 <= r3) {
    0x0002dc58 blo 0x2ee60                                       |         goto label_241;
                                                                 |     }
    0x0002dc5c add r3, r3, 2                                     |     r3 += 2;
    0x0002dc60 cmp r1, r3                                        |     
                                                                 |     if (r1 != r3) {
    0x0002dc64 ldreq r1, [r2]                                    |         r1 = *(r2);
                                                                 |     }
                                                                 |     if (r1 == r3) {
    0x0002dc68 addeq r0, r0, 0x5f0                               |         r0 += 0x5f0;
                                                                 |         goto label_242;
                                                                 |     }
                                                                 |     if (r1 != r3) {
                                                                 | label_242:
    0x0002dc6c bne 0x2cea4                                       |         goto label_0;
                                                                 |     }
                                                                 | label_5:
    0x0002dc70 add sp, sp, 0x10                                  |     
    0x0002dc74 pop {r4, r5, r6, r7, r8, lr}                      |     
    0x0002dc78 b 0x2cdb8                                         |     void (*0x2cdb8)() ();
                                                                 | label_211:
    0x0002dc7c ldr r3, [pc, 0x1cc]                               |     r3 = "url_global_init";
    0x0002dc80 cmp r1, r3                                        |     
                                                                 |     if (r1 == r3) {
    0x0002dc84 beq 0x2f198                                       |         goto label_243;
                                                                 |     }
                                                                 |     if (r1 > r3) {
    0x0002dc88 bhi 0x2deac                                       |         goto label_244;
                                                                 |     }
    0x0002dc8c sub r3, r3, 0x54                                  |     r3 -= 0x54;
    0x0002dc90 cmp r1, r3                                        |     
                                                                 |     if (r1 == r3) {
    0x0002dc94 beq 0x2ebb4                                       |         goto label_245;
                                                                 |     }
                                                                 |     if (r1 > r3) {
    0x0002dc98 bhi 0x2dd30                                       |         goto label_246;
                                                                 |     }
    0x0002dc9c ldr r3, [pc, 0x1b0]                               |     r3 = *(0x2de50);
    0x0002dca0 cmp r1, r3                                        |     
                                                                 |     if (r1 == r3) {
    0x0002dca4 beq 0x2e05c                                       |         goto label_247;
                                                                 |     }
                                                                 |     if (r1 > r3) {
    0x0002dca8 bhi 0x2dce0                                       |         goto label_248;
                                                                 |     }
    0x0002dcac sub r3, r3, 4                                     |     r3 -= 4;
    0x0002dcb0 cmp r1, r3                                        |     
                                                                 |     if (r1 == r3) {
    0x0002dcb4 beq 0x2f1a8                                       |         goto label_249;
                                                                 |     }
    0x0002dcb8 add r3, r3, 3                                     |     r3 += 3;
    0x0002dcbc cmp r1, r3                                        |     
                                                                 |     if (r1 != r3) {
    0x0002dcc0 bne 0x2cea4                                       |         goto label_0;
                                                                 |     }
    0x0002dcc4 bl 0x37d68                                        |     r0 = Curl_ssl_tls13_ciphersuites ();
    0x0002dcc8 cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x0002dccc ldrne r1, [r5]                                    |         r1 = *(r5);
                                                                 |     }
                                                                 |     if (r0 != 0) {
    0x0002dcd0 addne r0, r4, 0x590                               |         r0 = r4 + 0x590;
                                                                 |         goto label_250;
                                                                 |     }
                                                                 |     if (r0 != 0) {
                                                                 | label_250:
    0x0002dcd4 bne 0x2dc70                                       |         goto label_5;
                                                                 |     }
                                                                 | label_6:
    0x0002dcd8 mov r5, 4                                         |     r5 = 4;
    0x0002dcdc b 0x2d7e0                                         |     goto label_2;
                                                                 | label_248:
    0x0002dce0 ldr r3, [pc, 0x170]                               |     r3 = *(0x2de54);
    0x0002dce4 cmp r1, r3                                        |     
                                                                 |     if (r1 == r3) {
    0x0002dce8 beq 0x2ebc4                                       |         goto label_251;
                                                                 |     }
    0x0002dcec add r3, r3, 0x2c                                  |     r3 += 0x2c;
    0x0002dcf0 cmp r1, r3                                        |     
                                                                 |     if (r1 == r3) {
    0x0002dcf4 beq 0x2eac4                                       |         goto label_252;
                                                                 |     }
    0x0002dcf8 sub r3, r3, 0x2d                                  |     r3 -= 0x2d;
    0x0002dcfc cmp r1, r3                                        |     
                                                                 |     if (r1 != r3) {
    0x0002dd00 bne 0x2cea4                                       |         goto label_0;
                                                                 |     }
    0x0002dd04 ldr r5, [r2]                                      |     r5 = *(r2);
    0x0002dd08 cmp r5, 0                                         |     
                                                                 |     if (r5 == 0) {
    0x0002dd0c movne r3, 1                                       |         r3 = 1;
                                                                 |     }
    0x0002dd10 str r5, [r0, 0x188]                               |     *((r0 + 0x188)) = r5;
                                                                 |     if (r5 == 0) {
    0x0002dd14 strne r3, [r0, 0x19c]                             |         *((r0 + 0x19c)) = r3;
                                                                 |     }
                                                                 |     if (r5 == 0) {
    0x0002dd18 movne r5, 0                                       |         r5 = 0;
                                                                 |     }
                                                                 |     if (r5 != 0) {
    0x0002dd1c ldreq r3, [pc, 0x138]                             |         r3 = *((pc + 0x138));
                                                                 |     }
                                                                 |     if (r5 != 0) {
    0x0002dd20 streq r5, [r0, 0x19c]                             |         *((r0 + 0x19c)) = r5;
                                                                 |     }
                                                                 |     if (r5 != 0) {
    0x0002dd24 ldreq r3, [r7, r3]                                |         r3 = *((r7 + r3));
                                                                 |     }
                                                                 |     if (r5 != 0) {
    0x0002dd28 streq r3, [r0, 0x188]                             |         *((r0 + 0x188)) = r3;
                                                                 |     }
    0x0002dd2c b 0x2d7e0                                         |     goto label_2;
                                                                 | label_246:
    0x0002dd30 ldr r3, [pc, 0x128]                               |     r3 = *(0x2de5c);
    0x0002dd34 cmp r1, r3                                        |     
                                                                 |     if (r1 != r3) {
    0x0002dd38 ldreq r3, [r2]                                    |         r3 = *(r2);
                                                                 |     }
                                                                 |     if (r1 != r3) {
    0x0002dd3c moveq r5, 0                                       |         r5 = 0;
                                                                 |     }
                                                                 |     if (r1 == r3) {
    0x0002dd40 streq r3, [r0, 0x1cc]                             |         *((r0 + 0x1cc)) = r3;
                                                                 |         goto label_253;
                                                                 |     }
                                                                 |     if (r1 == r3) {
                                                                 | label_253:
    0x0002dd44 beq 0x2d7e0                                       |         goto label_2;
                                                                 |     }
                                                                 |     if (r1 > r3) {
    0x0002dd48 bhi 0x2dd8c                                       |         goto label_254;
                                                                 |     }
    0x0002dd4c sub r3, r3, 0x22                                  |     r3 -= 0x22;
    0x0002dd50 cmp r1, r3                                        |     
                                                                 |     if (r1 == r3) {
    0x0002dd54 beq 0x2ed98                                       |         goto label_255;
                                                                 |     }
    0x0002dd58 add r3, r3, 0x16                                  |     r3 += 0x16;
    0x0002dd5c cmp r1, r3                                        |     
                                                                 |     if (r1 != r3) {
    0x0002dd60 ldreq r3, [r5]                                    |         r3 = *(r5);
                                                                 |     }
                                                                 |     if (r1 != r3) {
    0x0002dd64 moveq r5, 0                                       |         r5 = 0;
                                                                 |     }
                                                                 |     if (r1 == r3) {
    0x0002dd68 streq r3, [r0, 0x1ac]                             |         *((r0 + 0x1ac)) = r3;
                                                                 |         goto label_256;
                                                                 |     }
                                                                 |     if (r1 == r3) {
                                                                 | label_256:
    0x0002dd6c beq 0x2d7e0                                       |         goto label_2;
                                                                 |     }
    0x0002dd70 sub r3, r3, 0x24                                  |     r3 -= 0x24;
    0x0002dd74 cmp r1, r3                                        |     
                                                                 |     if (r1 != r3) {
    0x0002dd78 ldreq r3, [r5]                                    |         r3 = *(r5);
                                                                 |     }
                                                                 |     if (r1 != r3) {
    0x0002dd7c moveq r5, 0                                       |         r5 = 0;
                                                                 |     }
                                                                 |     if (r1 == r3) {
    0x0002dd80 streq r3, [r0, 0x1a8]                             |         *((r0 + 0x1a8)) = r3;
                                                                 |         goto label_257;
                                                                 |     }
                                                                 |     if (r1 == r3) {
                                                                 | label_257:
    0x0002dd84 beq 0x2d7e0                                       |         goto label_2;
                                                                 |     }
    0x0002dd88 b 0x2cea4                                         |     goto label_0;
                                                                 | label_254:
    0x0002dd8c ldr r3, [pc, 0xd0]                                |     r3 = *(0x2de60);
    0x0002dd90 cmp r1, r3                                        |     
                                                                 |     if (r1 != r3) {
    0x0002dd94 ldreq r3, [r5]                                    |         r3 = *(r5);
                                                                 |     }
                                                                 |     if (r1 != r3) {
    0x0002dd98 moveq r5, 0                                       |         r5 = 0;
                                                                 |     }
                                                                 |     if (r1 == r3) {
    0x0002dd9c streq r3, [r0, 0x1d4]                             |         *((r0 + 0x1d4)) = r3;
                                                                 |         goto label_258;
                                                                 |     }
                                                                 |     if (r1 == r3) {
                                                                 | label_258:
    0x0002dda0 beq 0x2d7e0                                       |         goto label_2;
                                                                 |     }
                                                                 |     if (r1 >= r3) {
    0x0002dda4 ldrlo r3, [r5]                                    |         r3 = *(r5);
                                                                 |     }
                                                                 |     if (r1 >= r3) {
    0x0002dda8 movlo r5, 0                                       |         r5 = 0;
                                                                 |     }
                                                                 |     if (r1 < r3) {
    0x0002ddac strlo r3, [r0, 0x1d0]                             |         *((r0 + 0x1d0)) = r3;
                                                                 |         goto label_259;
                                                                 |     }
                                                                 |     if (r1 <= r3) {
                                                                 | label_259:
    0x0002ddb0 blo 0x2d7e0                                       |         goto label_2;
                                                                 |     }
    0x0002ddb4 add r3, r3, 4                                     |     r3 += 4;
    0x0002ddb8 cmp r1, r3                                        |     
                                                                 |     if (r1 != r3) {
    0x0002ddbc ldreq r3, [r5]                                    |         r3 = *(r5);
                                                                 |     }
                                                                 |     if (r1 != r3) {
    0x0002ddc0 moveq r5, 0                                       |         r5 = 0;
                                                                 |     }
                                                                 |     if (r1 == r3) {
    0x0002ddc4 streq r3, [r0, 0x1b0]                             |         *((r0 + 0x1b0)) = r3;
                                                                 |         goto label_260;
                                                                 |     }
                                                                 |     if (r1 == r3) {
                                                                 | label_260:
    0x0002ddc8 beq 0x2d7e0                                       |         goto label_2;
                                                                 |     }
    0x0002ddcc b 0x2cea4                                         |     goto label_0;
                                                                 | label_244:
    0x0002deac ldr r3, [pc, -0x4c]                               |     r3 = *(0x2de64);
    0x0002deb0 cmp r1, r3                                        |     
                                                                 |     if (r1 != r3) {
    0x0002deb4 ldreq r3, [r2]                                    |         r3 = *(r2);
                                                                 |     }
                                                                 |     if (r1 != r3) {
    0x0002deb8 moveq r5, 0                                       |         r5 = 0;
                                                                 |     }
                                                                 |     if (r1 == r3) {
    0x0002debc streq r3, [r0, 0x668]                             |         *((r0 + 0x668)) = r3;
                                                                 |         goto label_261;
                                                                 |     }
                                                                 |     if (r1 == r3) {
                                                                 | label_261:
    0x0002dec0 beq 0x2d7e0                                       |         goto label_2;
                                                                 |     }
                                                                 |     if (r1 > r3) {
    0x0002dec4 bhi 0x2df70                                       |         goto label_262;
                                                                 |     }
    0x0002dec8 sub r3, r3, 0x49                                  |     r3 -= 0x49;
    0x0002decc cmp r1, r3                                        |     
                                                                 |     if (r1 != r3) {
    0x0002ded0 ldreq r3, [r5]                                    |         r3 = *(r5);
                                                                 |     }
                                                                 |     if (r1 != r3) {
    0x0002ded4 moveq r5, 0                                       |         r5 = 0;
                                                                 |     }
                                                                 |     if (r1 == r3) {
    0x0002ded8 streq r3, [r0, 0x620]                             |         *((r0 + 0x620)) = r3;
                                                                 |         goto label_263;
                                                                 |     }
                                                                 |     if (r1 == r3) {
                                                                 | label_263:
    0x0002dedc beq 0x2d7e0                                       |         goto label_2;
                                                                 |     }
                                                                 |     if (r1 > r3) {
    0x0002dee0 bhi 0x2df30                                       |         goto label_264;
                                                                 |     }
    0x0002dee4 sub r3, r3, 3                                     |     r3 -= 3;
    0x0002dee8 cmp r1, r3                                        |     
                                                                 |     if (r1 != r3) {
    0x0002deec ldreq r3, [r5]                                    |         r3 = *(r5);
                                                                 |     }
                                                                 |     if (r1 != r3) {
    0x0002def0 moveq r5, 0                                       |         r5 = 0;
                                                                 |     }
                                                                 |     if (r1 == r3) {
    0x0002def4 streq r3, [r0, 0x190]                             |         *((r0 + 0x190)) = r3;
                                                                 |         goto label_265;
                                                                 |     }
                                                                 |     if (r1 == r3) {
                                                                 | label_265:
    0x0002def8 beq 0x2d7e0                                       |         goto label_2;
                                                                 |     }
    0x0002defc add r3, r3, 2                                     |     r3 += 2;
    0x0002df00 cmp r1, r3                                        |     
                                                                 |     if (r1 != r3) {
    0x0002df04 ldreq r3, [r5]                                    |         r3 = *(r5);
                                                                 |     }
                                                                 |     if (r1 != r3) {
    0x0002df08 moveq r5, 0                                       |         r5 = 0;
                                                                 |     }
                                                                 |     if (r1 == r3) {
    0x0002df0c streq r3, [r0, 0x61c]                             |         *((r0 + 0x61c)) = r3;
                                                                 |         goto label_266;
                                                                 |     }
                                                                 |     if (r1 == r3) {
                                                                 | label_266:
    0x0002df10 beq 0x2d7e0                                       |         goto label_2;
                                                                 |     }
    0x0002df14 sub r3, r3, 0x1f                                  |     r3 -= 0x1f;
    0x0002df18 cmp r1, r3                                        |     
                                                                 |     if (r1 != r3) {
    0x0002df1c ldreq r3, [r5]                                    |         r3 = *(r5);
                                                                 |     }
                                                                 |     if (r1 != r3) {
    0x0002df20 moveq r5, 0                                       |         r5 = 0;
                                                                 |     }
                                                                 |     if (r1 == r3) {
    0x0002df24 streq r3, [r0, 0x174]                             |         *((r0 + 0x174)) = r3;
                                                                 |         goto label_267;
                                                                 |     }
                                                                 |     if (r1 == r3) {
                                                                 | label_267:
    0x0002df28 beq 0x2d7e0                                       |         goto label_2;
                                                                 |     }
    0x0002df2c b 0x2cea4                                         |     goto label_0;
                                                                 | label_264:
    0x0002df30 ldr r3, [pc, -0xcc]                               |     r3 = fcn.00004ef0;
    0x0002df34 cmp r1, r3                                        |     
                                                                 |     if (r1 != r3) {
    0x0002df38 ldreq r3, [r5]                                    |         r3 = *(r5);
                                                                 |     }
                                                                 |     if (r1 != r3) {
    0x0002df3c moveq r5, 0                                       |         r5 = 0;
                                                                 |     }
                                                                 |     if (r1 == r3) {
    0x0002df40 streq r3, [r0, 0x1c0]                             |         *((r0 + 0x1c0)) = r3;
                                                                 |         goto label_268;
                                                                 |     }
                                                                 |     if (r1 == r3) {
                                                                 | label_268:
    0x0002df44 beq 0x2d7e0                                       |         goto label_2;
                                                                 |     }
    0x0002df48 add r3, r3, 0xb                                   |     r3 += 0xb;
    0x0002df4c cmp r1, r3                                        |     
                                                                 |     if (r1 == r3) {
    0x0002df50 beq 0x2eae8                                       |         goto label_269;
                                                                 |     }
    0x0002df54 sub r3, r3, 0x13                                  |     r3 -= 0x13;
    0x0002df58 cmp r1, r3                                        |     
                                                                 |     if (r1 != r3) {
    0x0002df5c ldreq r3, [r5]                                    |         r3 = *(r5);
                                                                 |     }
                                                                 |     if (r1 != r3) {
    0x0002df60 moveq r5, 0                                       |         r5 = 0;
                                                                 |     }
                                                                 |     if (r1 == r3) {
    0x0002df64 streq r3, [r0, 0x624]                             |         *((r0 + 0x624)) = r3;
                                                                 |         goto label_270;
                                                                 |     }
                                                                 |     if (r1 == r3) {
                                                                 | label_270:
    0x0002df68 beq 0x2d7e0                                       |         goto label_2;
                                                                 |     }
    0x0002df6c b 0x2cea4                                         |     goto label_0;
                                                                 | label_262:
    0x0002df70 ldr r3, [pc, -0x108]                              |     r3 = *(0x2de6c);
    0x0002df74 cmp r1, r3                                        |     
                                                                 |     if (r1 == r3) {
    0x0002df78 beq 0x2e478                                       |         goto label_271;
                                                                 |     }
                                                                 |     if (r1 > r3) {
    0x0002df7c bhi 0x2dfd4                                       |         goto label_272;
                                                                 |     }
    0x0002df80 sub r3, r3, 4                                     |     r3 -= 4;
    0x0002df84 cmp r1, r3                                        |     
                                                                 |     if (r1 == r3) {
    0x0002df88 beq 0x2eb48                                       |         goto label_273;
                                                                 |     }
    0x0002df8c add r3, r3, 1                                     |     r3++;
    0x0002df90 cmp r1, r3                                        |     
                                                                 |     if (r1 == r3) {
    0x0002df94 beq 0x2f10c                                       |         goto label_274;
                                                                 |     }
    0x0002df98 sub r3, r3, 2                                     |     r3 -= 2;
    0x0002df9c cmp r1, r3                                        |     
                                                                 |     if (r1 != r3) {
    0x0002dfa0 bne 0x2cea4                                       |         goto label_0;
                                                                 |     }
    0x0002dfa4 add r3, r5, 7                                     |     r3 = r5 + 7;
    0x0002dfa8 bic r3, r3, 7                                     |     r3 = BIT_MASK (r3, 7);
    0x0002dfac ldrd r2, r3, [r3]                                 |     __asm ("ldrd r2, r3, [r3]");
    0x0002dfb0 mvn r0, 0                                         |     r0 = ~0;
    0x0002dfb4 mvn r1, 0                                         |     r1 = ~0;
    0x0002dfb8 cmp r2, r0                                        |     
    0x0002dfbc sbcs r1, r3, r1                                   |     __asm ("sbcs r1, r3, r1");
                                                                 |     if (r2 >= r0) {
    0x0002dfc0 movlt r5, 0x2b                                    |         r5 = 0x2b;
                                                                 |     }
                                                                 |     if (r2 < r0) {
    0x0002dfc4 addge r4, r4, 0x200                               |         r4 += 0x200;
                                                                 |     }
    0x0002dfc8 strdge r2, r3, [r4]                               |     __asm ("strdge r2, r3, [r4]");
                                                                 |     if (r2 < r0) {
    0x0002dfcc movge r5, 0                                       |         r5 = 0;
                                                                 |     }
    0x0002dfd0 b 0x2d7e0                                         |     goto label_2;
                                                                 | label_272:
    0x0002dfd4 ldr r3, [pc, -0x168]                              |     r3 = *(0x0002de74);
    0x0002dfd8 cmp r1, r3                                        |     
                                                                 |     if (r1 == r3) {
    0x0002dfdc beq 0x2e9a4                                       |         goto label_275;
                                                                 |     }
    0x0002dfe0 add r3, r3, 0x7c                                  |     r3 += 0x7c;
    0x0002dfe4 cmp r1, r3                                        |     
                                                                 |     if (r1 == r3) {
    0x0002dfe8 beq 0x2e278                                       |         goto label_276;
                                                                 |     }
    0x0002dfec sub r3, r3, 0x7d                                  |     r3 -= 0x7d;
    0x0002dff0 cmp r1, r3                                        |     
                                                                 |     if (r1 != r3) {
    0x0002dff4 bne 0x2cea4                                       |         goto label_0;
                                                                 |     }
    0x0002dff8 add r3, r5, 7                                     |     r3 = r5 + 7;
    0x0002dffc bic r3, r3, 7                                     |     r3 = BIT_MASK (r3, 7);
    0x0002e000 ldrd r2, r3, [r3]                                 |     __asm ("ldrd r2, r3, [r3]");
    0x0002e004 cmp r2, 0                                         |     
    0x0002e008 sbcs r1, r3, 0                                    |     __asm ("sbcs r1, r3, 0");
                                                                 |     if (r2 >= 0) {
    0x0002e00c movlt r5, 0x2b                                    |         r5 = 0x2b;
                                                                 |     }
                                                                 |     if (r2 < 0) {
    0x0002e010 addge r4, r0, 0x210                               |         r4 = r0 + 0x210;
                                                                 |     }
    0x0002e014 strdge r2, r3, [r4]                               |     __asm ("strdge r2, r3, [r4]");
                                                                 |     if (r2 < 0) {
    0x0002e018 movge r5, 0                                       |         r5 = 0;
                                                                 |     }
    0x0002e01c b 0x2d7e0                                         |     goto label_2;
                                                                 | label_60:
    0x0002e020 ldr r3, [r2]                                      |     r3 = *(r2);
    0x0002e024 cmn r3, 1                                         |     
                                                                 |     if (r3 < 1) {
    0x0002e028 strge r3, [r0, 0x494]                             |         *((r0 + 0x494)) = r3;
                                                                 |     }
                                                                 |     if (r3 < 1) {
    0x0002e02c movge r5, 0                                       |         r5 = 0;
                                                                 |     }
                                                                 |     if (r3 >= 1) {
    0x0002e030 movlt r5, 0x2b                                    |         r5 = 0x2b;
                                                                 |     }
    0x0002e034 b 0x2d7e0                                         |     goto label_2;
                                                                 | label_63:
    0x0002e038 ldr r3, [r2]                                      |     r3 = *(r2);
    0x0002e03c mov r5, 0                                         |     r5 = 0;
    0x0002e040 adds r3, r3, 0                                    |     r3 += 0;
                                                                 |     if (r3 == r3) {
    0x0002e044 movne r3, 1                                       |         r3 = 1;
                                                                 |     }
    0x0002e048 strb r3, [r0, 0x4ed]                              |     *((r0 + 0x4ed)) = r3;
    0x0002e04c b 0x2d7e0                                         |     goto label_2;
                                                                 | label_237:
    0x0002e050 ldr r1, [r2]                                      |     r1 = *(r2);
    0x0002e054 add r0, r0, 0x580                                 |     r0 += 0x580;
    0x0002e058 b 0x2da00                                         |     goto label_4;
                                                                 | label_247:
    0x0002e05c bl 0x37d68                                        |     r0 = Curl_ssl_tls13_ciphersuites ();
    0x0002e060 cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x0002e064 ldrne r1, [r5]                                    |         r1 = *(r5);
                                                                 |     }
                                                                 |     if (r0 != 0) {
    0x0002e068 addne r0, r4, 0x590                               |         r0 = r4 + 0x590;
                                                                 |         goto label_277;
                                                                 |     }
                                                                 |     if (r0 == 0) {
                                                                 | label_277:
    0x0002e06c beq 0x2dcd8                                       |         goto label_6;
                                                                 |     }
                                                                 | label_10:
    0x0002e070 add r0, r0, 4                                     |     r0 += 4;
    0x0002e074 b 0x2dc70                                         |     goto label_5;
                                                                 | label_164:
    0x0002e078 ldr r1, [r2]                                      |     r1 = *(r2);
    0x0002e07c add r0, r0, 0x590                                 |     r0 += 0x590;
    0x0002e080 b 0x2da00                                         |     goto label_4;
                                                                 | label_165:
    0x0002e084 ldr r1, [r2]                                      |     r1 = *(r2);
    0x0002e088 add r0, r0, 0x590                                 |     r0 += 0x590;
    0x0002e08c b 0x2d6d8                                         |     goto label_1;
                                                                 | label_57:
    0x0002e090 ldr r3, [r2]                                      |     r3 = *(r2);
    0x0002e094 cmp r3, 0                                         |     
                                                                 |     if (r3 < 0) {
    0x0002e098 strge r3, [r0, 0x640]                             |         *((r0 + 0x640)) = r3;
                                                                 |     }
                                                                 |     if (r3 < 0) {
    0x0002e09c movge r5, 0                                       |         r5 = 0;
                                                                 |     }
                                                                 |     if (r3 >= 0) {
    0x0002e0a0 movlt r5, 0x2b                                    |         r5 = 0x2b;
                                                                 |     }
    0x0002e0a4 b 0x2d7e0                                         |     goto label_2;
                                                                 | label_55:
    0x0002e0a8 ldr r3, [r2]                                      |     r3 = *(r2);
    0x0002e0ac mov r5, 0                                         |     r5 = 0;
    0x0002e0b0 adds r3, r3, 0                                    |     r3 += 0;
                                                                 |     if (r3 == r3) {
    0x0002e0b4 movne r3, 1                                       |         r3 = 1;
                                                                 |     }
    0x0002e0b8 strb r3, [r0, 0x4da]                              |     *((r0 + 0x4da)) = r3;
    0x0002e0bc b 0x2d7e0                                         |     goto label_2;
                                                                 | label_31:
    0x0002e0c0 ldr r3, [r2]                                      |     r3 = *(r2);
    0x0002e0c4 mov r5, 0                                         |     r5 = 0;
    0x0002e0c8 adds r3, r3, 0                                    |     r3 += 0;
                                                                 |     if (r3 == r3) {
    0x0002e0cc movne r3, 1                                       |         r3 = 1;
                                                                 |     }
    0x0002e0d0 strb r3, [r0, 0x4d8]                              |     *((r0 + 0x4d8)) = r3;
    0x0002e0d4 b 0x2d7e0                                         |     goto label_2;
                                                                 | label_35:
    0x0002e0d8 cmp r5, 0                                         |     
                                                                 |     if (r5 == 0) {
    0x0002e0dc movne r3, 1                                       |         r3 = 1;
                                                                 |     }
                                                                 |     if (r5 != 0) {
    0x0002e0e0 moveq r3, 0                                       |         r3 = 0;
                                                                 |     }
    0x0002e0e4 strb r3, [r0, 0x4c7]                              |     *((r0 + 0x4c7)) = r3;
    0x0002e0e8 ldr r3, [r0, 0x6d0]                               |     r3 = *((r0 + 0x6d0));
                                                                 |     if (r5 == 0) {
    0x0002e0ec movne r5, 0                                       |         r5 = 0;
                                                                 |     }
                                                                 |     if (r5 == 0) {
    0x0002e0f0 orrne r3, r3, 0x10                                |         r3 |= 0x10;
                                                                 |     }
    0x0002e0f4 biceq r3, r3, 0x10                                |     __asm ("biceq r3, r3, 0x10");
                                                                 |     if (r5 == 0) {
    0x0002e0f8 strne r3, [r0, 0x6d0]                             |         *((r0 + 0x6d0)) = r3;
                                                                 |     }
                                                                 |     if (r5 != 0) {
    0x0002e0fc streq r3, [r0, 0x6d0]                             |         *((r0 + 0x6d0)) = r3;
                                                                 |     }
    0x0002e100 b 0x2d7e0                                         |     goto label_2;
                                                                 | label_36:
    0x0002e104 adds r5, r5, 0                                    |     r5 += 0;
                                                                 |     if (r5 == r5) {
    0x0002e108 movne r5, 1                                       |         r5 = 1;
                                                                 |     }
    0x0002e10c strb r5, [r0, 0x4d0]                              |     *((r0 + 0x4d0)) = r5;
    0x0002e110 mov r5, 0                                         |     r5 = 0;
    0x0002e114 b 0x2d7e0                                         |     goto label_2;
                                                                 | label_21:
    0x0002e118 ldr r3, [r2]                                      |     r3 = *(r2);
    0x0002e11c mov r5, 0                                         |     r5 = 0;
    0x0002e120 adds r3, r3, 0                                    |     r3 += 0;
                                                                 |     if (r3 == r3) {
    0x0002e124 movne r3, 1                                       |         r3 = 1;
                                                                 |     }
    0x0002e128 strb r3, [r0, 0x4c8]                              |     *((r0 + 0x4c8)) = r3;
    0x0002e12c b 0x2d7e0                                         |     goto label_2;
                                                                 | label_119:
    0x0002e130 ldr r3, [r2]                                      |     r3 = *(r2);
    0x0002e134 mov r5, 0                                         |     r5 = 0;
    0x0002e138 adds r3, r3, 0                                    |     r3 += 0;
                                                                 |     if (r3 == r3) {
    0x0002e13c movne r3, 1                                       |         r3 = 1;
                                                                 |     }
    0x0002e140 strb r3, [r0, 0x4c9]                              |     *((r0 + 0x4c9)) = r3;
    0x0002e144 b 0x2d7e0                                         |     goto label_2;
                                                                 | label_42:
    0x0002e148 mov r3, 1                                         |     r3 = 1;
    0x0002e14c str r3, [r4, 0x3d0]                               |     *((r4 + 0x3d0)) = r3;
    0x0002e150 mov r5, 0                                         |     r5 = 0;
    0x0002e154 b 0x2d7e0                                         |     goto label_2;
                                                                 | label_19:
    0x0002e158 ldr r3, [r2]                                      |     r3 = *(r2);
    0x0002e15c mov r5, 0                                         |     r5 = 0;
    0x0002e160 adds r3, r3, 0                                    |     r3 += 0;
                                                                 |     if (r3 == r3) {
    0x0002e164 movne r3, 1                                       |         r3 = 1;
                                                                 |     }
    0x0002e168 strb r3, [r0, 0x4c1]                              |     *((r0 + 0x4c1)) = r3;
    0x0002e16c b 0x2d7e0                                         |     goto label_2;
                                                                 | label_68:
    0x0002e170 ldr r5, [r2]                                      |     r5 = *(r2);
    0x0002e174 cmp r5, 1                                         |     
                                                                 |     if (r5 != 1) {
    0x0002e178 streq r5, [r0, 0x4b4]                             |         *((r0 + 0x4b4)) = r5;
                                                                 |     }
                                                                 |     if (r5 == 1) {
    0x0002e17c moveq r5, 0                                       |         r5 = 0;
                                                                 |         goto label_278;
                                                                 |     }
                                                                 |     if (r5 == 1) {
                                                                 | label_278:
    0x0002e180 beq 0x2d7e0                                       |         goto label_2;
                                                                 |     }
    0x0002e184 cmp r5, 2                                         |     
                                                                 |     if (r5 != 2) {
    0x0002e188 streq r5, [r0, 0x4b4]                             |         *((r0 + 0x4b4)) = r5;
                                                                 |     }
                                                                 |     if (r5 == 2) {
    0x0002e18c moveq r5, 0                                       |         r5 = 0;
                                                                 |         goto label_279;
                                                                 |     }
                                                                 |     if (r5 == 2) {
                                                                 | label_279:
    0x0002e190 beq 0x2d7e0                                       |         goto label_2;
                                                                 |     }
    0x0002e194 cmp r5, 0                                         |     
                                                                 |     if (r5 != 0) {
    0x0002e198 streq r5, [r0, 0x4b4]                             |         *((r0 + 0x4b4)) = r5;
                                                                 |     }
                                                                 |     if (r5 == 0) {
    0x0002e19c movne r5, 0x30                                    |         r5 = 0x30;
                                                                 |     }
    0x0002e1a0 b 0x2d7e0                                         |     goto label_2;
                                                                 | label_72:
    0x0002e1a4 ldr r1, [r2]                                      |     r1 = *(r2);
    0x0002e1a8 ldr r2, [pc, -0x318]                              |     r2 = *(0x0002de98);
    0x0002e1ac cmp r1, r2                                        |     
                                                                 |     if (r1 <= r2) {
    0x0002e1b0 movhi r5, 0x2b                                    |         r5 = 0x2b;
                                                                 |     }
                                                                 |     if (r1 > r2) {
    0x0002e1b4 movls r2, 0x3e8                                   |         r2 = 0x3e8;
                                                                 |     }
                                                                 |     if (r1 > r2) {
    0x0002e1b8 mulls r3, r2, r1                                  |         r3 = r2 * r1;
                                                                 |     }
                                                                 |     if (r1 > r2) {
    0x0002e1bc movls r5, 0                                       |         r5 = 0;
                                                                 |     }
                                                                 |     if (r1 > r2) {
    0x0002e1c0 strls r3, [r0, 0x1f0]                             |         *((r0 + 0x1f0)) = r3;
                                                                 |     }
    0x0002e1c4 b 0x2d7e0                                         |     goto label_2;
                                                                 | label_121:
    0x0002e1c8 ldr r3, [r2]                                      |     r3 = *(r2);
    0x0002e1cc mov r5, 0                                         |     r5 = 0;
    0x0002e1d0 adds r3, r3, 0                                    |     r3 += 0;
                                                                 |     if (r3 == r3) {
    0x0002e1d4 movne r3, 1                                       |         r3 = 1;
                                                                 |     }
    0x0002e1d8 strb r3, [r0, 0x1f8]                              |     *((r0 + 0x1f8)) = r3;
    0x0002e1dc b 0x2d7e0                                         |     goto label_2;
                                                                 | label_97:
    0x0002e1e0 ldr r3, [r5]                                      |     r3 = *(r5);
    0x0002e1e4 cmp r3, 0                                         |     
                                                                 |     if (r3 < 0) {
    0x0002e1e8 strge r3, [r0, 0x1f4]                             |         *((r0 + 0x1f4)) = r3;
                                                                 |     }
                                                                 |     if (r3 < 0) {
    0x0002e1ec movge r5, 0                                       |         r5 = 0;
                                                                 |     }
                                                                 |     if (r3 >= 0) {
    0x0002e1f0 movlt r5, 0x2b                                    |         r5 = 0x2b;
                                                                 |     }
    0x0002e1f4 b 0x2d7e0                                         |     goto label_2;
                                                                 | label_39:
    0x0002e1f8 ldr r3, [r2]                                      |     r3 = *(r2);
    0x0002e1fc mov r5, 0                                         |     r5 = 0;
    0x0002e200 adds r3, r3, 0                                    |     r3 += 0;
                                                                 |     if (r3 == r3) {
    0x0002e204 movne r3, 1                                       |         r3 = 1;
                                                                 |     }
    0x0002e208 strb r3, [r0, 0x4c5]                              |     *((r0 + 0x4c5)) = r3;
    0x0002e20c b 0x2d7e0                                         |     goto label_2;
                                                                 | label_80:
    0x0002e210 cmp r0, 3                                         |     
                                                                 |     if (r0 > 3) {
    0x0002e214 strls r0, [r4, 0x4b0]                             |         *((r4 + 0x4b0)) = r0;
                                                                 |     }
                                                                 |     if (r0 > 3) {
    0x0002e218 movls r5, 0                                       |         r5 = 0;
                                                                 |     }
                                                                 |     if (r0 <= 3) {
    0x0002e21c movhi r5, 0x2b                                    |         r5 = 0x2b;
                                                                 |     }
    0x0002e220 b 0x2d7e0                                         |     goto label_2;
                                                                 | label_43:
    0x0002e224 ldr r3, [r2]                                      |     r3 = *(r2);
    0x0002e228 cmp r3, 2                                         |     
                                                                 |     if (r3 > 2) {
    0x0002e22c strls r3, [r0, 0x4d4]                             |         *((r0 + 0x4d4)) = r3;
                                                                 |     }
                                                                 |     if (r3 > 2) {
    0x0002e230 movls r5, 0                                       |         r5 = 0;
                                                                 |     }
                                                                 |     if (r3 <= 2) {
    0x0002e234 movhi r5, 0x2b                                    |         r5 = 0x2b;
                                                                 |     }
    0x0002e238 b 0x2d7e0                                         |     goto label_2;
                                                                 | label_184:
    0x0002e23c ldr r1, [r2]                                      |     r1 = *(r2);
    0x0002e240 add r0, r0, 0x550                                 |     r0 += 0x550;
    0x0002e244 b 0x2d6d8                                         |     goto label_1;
                                                                 | label_37:
    0x0002e248 ldr r3, [r2]                                      |     r3 = *(r2);
    0x0002e24c mov r5, 0                                         |     r5 = 0;
    0x0002e250 adds r3, r3, 0                                    |     r3 += 0;
                                                                 |     if (r3 == r3) {
    0x0002e254 movne r3, 1                                       |         r3 = 1;
                                                                 |     }
    0x0002e258 strb r3, [r0, 0x4c3]                              |     *((r0 + 0x4c3)) = r3;
    0x0002e25c b 0x2d7e0                                         |     goto label_2;
                                                                 | label_33:
    0x0002e260 ldr r3, [r2]                                      |     r3 = *(r2);
    0x0002e264 cmp r3, 3                                         |     
                                                                 |     if (r3 > 3) {
    0x0002e268 strls r3, [r0, 0x3c8]                             |         *((r0 + 0x3c8)) = r3;
                                                                 |     }
                                                                 |     if (r3 > 3) {
    0x0002e26c movls r5, 0                                       |         r5 = 0;
                                                                 |     }
                                                                 |     if (r3 <= 3) {
    0x0002e270 movhi r5, 0x2b                                    |         r5 = 0x2b;
                                                                 |     }
    0x0002e274 b 0x2d7e0                                         |     goto label_2;
                                                                 | label_276:
    0x0002e278 add r3, r5, 7                                     |     r3 = r5 + 7;
    0x0002e27c bic r3, r3, 7                                     |     r3 = BIT_MASK (r3, 7);
    0x0002e280 ldr r3, [r3]                                      |     r3 = *(r3);
    0x0002e284 mov r5, 0                                         |     r5 = 0;
    0x0002e288 str r3, [r0, 0x3cc]                               |     *((r0 + 0x3cc)) = r3;
    0x0002e28c b 0x2d7e0                                         |     goto label_2;
                                                                 | label_124:
    0x0002e290 add r4, r0, 0x430                                 |     r4 = r0 + 0x430;
    0x0002e294 add r4, r4, 4                                     |     r4 += 4;
                                                                 | label_34:
    0x0002e298 ldr r3, [r5]                                      |     r3 = *(r5);
    0x0002e29c lsl r2, r3, 0x10                                  |     r2 = r3 << 0x10;
    0x0002e2a0 lsr r3, r3, 0x10                                  |     r3 >>= 0x10;
    0x0002e2a4 lsr r2, r2, 0x10                                  |     r2 >>= 0x10;
    0x0002e2a8 lsl r3, r3, 0x10                                  |     r3 <<= 0x10;
    0x0002e2ac cmp r2, 7                                         |     
    0x0002e2b0 cmpls r3, 0x80000                                 |     __asm ("cmpls r3, aav.0x000000ff");
                                                                 |     if (r2 < 7) {
    0x0002e2b4 movhs r5, 1                                       |         r5 = 1;
                                                                 |     }
                                                                 |     if (r2 >= 7) {
    0x0002e2b8 movlo r5, 0                                       |         r5 = 0;
                                                                 |     }
                                                                 |     if (r2 < 7) {
    0x0002e2bc movhs r5, 0x2b                                    |         r5 = 0x2b;
                                                                 |     }
                                                                 |     if (r2 >= 7) {
    0x0002e2c0 stmlo r4, {r2, r3}                                |         *(r4) = r2;
                                                                 |         *((r4 + 4)) = r3;
                                                                 |     }
    0x0002e2c4 b 0x2d7e0                                         |     goto label_2;
                                                                 | label_47:
    0x0002e2c8 ldr r3, [r2]                                      |     r3 = *(r2);
    0x0002e2cc mov r5, 0                                         |     r5 = 0;
    0x0002e2d0 adds r3, r3, 0                                    |     r3 += 0;
                                                                 |     if (r3 == r3) {
    0x0002e2d4 movne r3, 1                                       |         r3 = 1;
                                                                 |     }
    0x0002e2d8 strb r3, [r0, 0x4cf]                              |     *((r0 + 0x4cf)) = r3;
    0x0002e2dc b 0x2d7e0                                         |     goto label_2;
                                                                 | label_181:
    0x0002e2e0 add r0, r4, 0x520                                 |     r0 = r4 + 0x520;
    0x0002e2e4 b 0x2da00                                         |     goto label_4;
                                                                 | label_98:
    0x0002e2e8 ldr r3, [r5]                                      |     r3 = *(r5);
    0x0002e2ec mov r5, 0                                         |     r5 = 0;
    0x0002e2f0 adds r3, r3, 0                                    |     r3 += 0;
                                                                 |     if (r3 == r3) {
    0x0002e2f4 movne r3, 1                                       |         r3 = 1;
                                                                 |     }
    0x0002e2f8 strb r3, [r0, 0x4cb]                              |     *((r0 + 0x4cb)) = r3;
    0x0002e2fc b 0x2d7e0                                         |     goto label_2;
                                                                 | label_44:
    0x0002e300 ldr r3, [r2]                                      |     r3 = *(r2);
    0x0002e304 mov r5, 0                                         |     r5 = 0;
    0x0002e308 adds r3, r3, 0                                    |     r3 += 0;
                                                                 |     if (r3 == r3) {
    0x0002e30c movne r3, 1                                       |         r3 = 1;
                                                                 |     }
    0x0002e310 strb r3, [r0, 0x4ca]                              |     *((r0 + 0x4ca)) = r3;
    0x0002e314 b 0x2d7e0                                         |     goto label_2;
                                                                 | label_50:
    0x0002e318 ldr r3, [r2]                                      |     r3 = *(r2);
    0x0002e31c cmn r3, 1                                         |     
                                                                 |     if (r3 < 1) {
    0x0002e320 strge r3, [r0, 0x164]                             |         *((r0 + 0x164)) = r3;
                                                                 |     }
                                                                 |     if (r3 < 1) {
    0x0002e324 movge r5, 0                                       |         r5 = 0;
                                                                 |     }
                                                                 |     if (r3 >= 1) {
    0x0002e328 movlt r5, 0x2b                                    |         r5 = 0x2b;
                                                                 |     }
    0x0002e32c b 0x2d7e0                                         |     goto label_2;
                                                                 | label_190:
    0x0002e330 ldr r6, [r2]                                      |     r6 = *(r2);
    0x0002e334 cmp r6, 0                                         |     
                                                                 |     if (r6 != 0) {
    0x0002e338 beq 0x2e358                                       |         
    0x0002e33c add r5, r0, 0x180                                 |         r5 = r0 + 0x180;
    0x0002e340 ldrd r2, r3, [r5, -8]                             |         __asm ("ldrd r2, r3, [r5, -8]");
    0x0002e344 mvn r1, 0                                         |         r1 = ~0;
    0x0002e348 mvn r0, 0                                         |         r0 = ~0;
    0x0002e34c cmp r3, r1                                        |         
    0x0002e350 cmpeq r2, r0                                      |         __asm ("cmpeq r2, r0");
                                                                 |         if (r3 != r1) {
    0x0002e354 bne 0x2e380                                       |             goto label_280;
                                                                 |         }
                                                                 |     }
    0x0002e358 add r0, r4, 0x5f0                                 |     r0 = r4 + 0x5f0;
    0x0002e35c mov r1, r6                                        |     r1 = r6;
    0x0002e360 add r0, r0, 8                                     |     r0 += 8;
    0x0002e364 bl 0x2cdb8                                        |     r0 = Curl_setstropt ();
    0x0002e368 mov r5, r0                                        |     r5 = r0;
                                                                 |     do {
                                                                 | label_8:
    0x0002e36c ldr r3, [r4, 0x5f8]                               |         r3 = *((r4 + 0x5f8));
    0x0002e370 str r3, [r4, 0x170]                               |         *((r4 + 0x170)) = r3;
    0x0002e374 mov r3, 2                                         |         r3 = 2;
    0x0002e378 str r3, [r4, 0x3d0]                               |         *((r4 + 0x3d0)) = r3;
    0x0002e37c b 0x2d7e0                                         |         goto label_2;
                                                                 | label_280:
    0x0002e380 mov r1, 0                                         |         r1 = 0;
    0x0002e384 mvn r0, 0                                         |         r0 = ~0;
    0x0002e388 cmp r3, r1                                        |         
    0x0002e38c cmpeq r2, r0                                      |         __asm ("cmpeq r2, r0");
                                                                 |         if (r3 < r1) {
    0x0002e390 bls 0x2e39c                                       |             goto label_281;
                                                                 |         }
                                                                 | label_7:
    0x0002e394 mov r5, 0x1b                                      |         r5 = 0x1b;
    0x0002e398 b 0x2e36c                                         |         
                                                                 |     } while (1);
                                                                 | label_281:
    0x0002e39c add r0, r4, 0x5f0                                 |     r0 = r4 + 0x5f0;
    0x0002e3a0 mov r1, 0                                         |     r1 = 0;
    0x0002e3a4 add r0, r0, 8                                     |     r0 += 8;
    0x0002e3a8 bl 0x2cdb8                                        |     Curl_setstropt ();
    0x0002e3ac ldr r3, [pc, -0x53c]                              |     
    0x0002e3b0 ldrd r0, r1, [r5, -8]                             |     __asm ("ldrd r0, r1, [r5, -8]");
    0x0002e3b4 ldr r3, [r7, r3]                                  |     r3 = *((r7 + r3));
    0x0002e3b8 orrs r2, r0, r1                                   |     r2 = r0 | r1;
                                                                 |     if (r2 != r0) {
    0x0002e3bc moveq r0, 1                                       |         r0 = 1;
                                                                 |     }
    0x0002e3c0 ldr r3, [r3]                                      |     r3 = *(0x2de74);
    0x0002e3c4 blx r3                                            |     r0 = uint32_t (*r3)(uint32_t, uint32_t, uint32_t) (r0, r2, r3);
    0x0002e3c8 subs r7, r0, 0                                    |     r7 = r0 - 0;
                                                                 |     if (r7 == r0) {
    0x0002e3cc beq 0x2e394                                       |         goto label_7;
                                                                 |     }
    0x0002e3d0 ldrd r2, r3, [r5, -8]                             |     __asm ("ldrd r2, r3, [r5, -8]");
    0x0002e3d4 orrs r1, r2, r3                                   |     r1 = r2 | r3;
                                                                 |     if (r1 != r2) {
    0x0002e3d8 beq 0x2e3e4                                       |         
    0x0002e3dc mov r1, r6                                        |         r1 = r6;
    0x0002e3e0 bl 0x4f5c                                         |         memcpy (r0, r1, r2);
                                                                 |     }
    0x0002e3e4 str r7, [r4, 0x5f8]                               |     *((r4 + 0x5f8)) = r7;
    0x0002e3e8 mov r5, 0                                         |     r5 = 0;
    0x0002e3ec b 0x2e36c                                         |     goto label_8;
                                                                 | label_15:
    0x0002e3f0 ldr r3, [r2]                                      |     r3 = *(r2);
    0x0002e3f4 add r0, r0, 0x5f0                                 |     r0 += 0x5f0;
    0x0002e3f8 str r3, [r0, -0x480]                              |     *((r0 - 0x480)) = r3;
    0x0002e3fc mov r1, 0                                         |     r1 = 0;
    0x0002e400 add r0, r0, 8                                     |     r0 += 8;
    0x0002e404 bl 0x2cdb8                                        |     Curl_setstropt ();
    0x0002e408 mov r3, 2                                         |     r3 = 2;
    0x0002e40c str r3, [r4, 0x3d0]                               |     *((r4 + 0x3d0)) = r3;
    0x0002e410 mov r5, 0                                         |     r5 = 0;
    0x0002e414 b 0x2d7e0                                         |     goto label_2;
                                                                 | label_45:
    0x0002e418 ldr r3, [r2]                                      |     r3 = *(r2);
    0x0002e41c cmn r3, 1                                         |     
    0x0002e420 mov r6, r3                                        |     r6 = r3;
    0x0002e424 asr r7, r3, 0x1f                                  |     r7 = r3 >> 0x1f;
                                                                 |     if (r3 < 1) {
    0x0002e428 movlt r5, 0x2b                                    |         r5 = 0x2b;
                                                                 |         goto label_282;
                                                                 |     }
                                                                 |     if (r3 < 1) {
                                                                 | label_282:
    0x0002e42c blt 0x2d7e0                                       |         goto label_2;
                                                                 |     }
    0x0002e430 add r5, r0, 0x180                                 |     r5 = r0 + 0x180;
    0x0002e434 ldrd r2, r3, [r5, -8]                             |     __asm ("ldrd r2, r3, [r5, -8]");
    0x0002e438 cmp r2, r6                                        |     
    0x0002e43c sbcs r3, r3, r7                                   |     __asm ("sbcs r3, r3, r7");
                                                                 |     if (r2 < r6) {
    0x0002e440 bge 0x2e46c                                       |         
    0x0002e444 ldr r2, [r0, 0x170]                               |         r2 = *((r0 + 0x170));
    0x0002e448 ldr r3, [r0, 0x5f8]                               |         r3 = *((r0 + 0x5f8));
    0x0002e44c cmp r2, r3                                        |         
                                                                 |         if (r2 != r3) {
    0x0002e450 bne 0x2e46c                                       |             goto label_283;
                                                                 |         }
    0x0002e454 add r0, r0, 0x5f0                                 |         r0 += 0x5f0;
    0x0002e458 mov r1, 0                                         |         r1 = 0;
    0x0002e45c add r0, r0, 8                                     |         r0 += 8;
    0x0002e460 bl 0x2cdb8                                        |         Curl_setstropt ();
    0x0002e464 mov r3, 0                                         |         r3 = 0;
    0x0002e468 str r3, [r4, 0x170]                               |         *((r4 + 0x170)) = r3;
                                                                 |     }
                                                                 | label_283:
    0x0002e46c strd r6, r7, [r5, -8]                             |     __asm ("strd r6, r7, [r5, -8]");
    0x0002e470 mov r5, 0                                         |     r5 = 0;
    0x0002e474 b 0x2d7e0                                         |     goto label_2;
                                                                 | label_271:
    0x0002e478 add r3, r5, 7                                     |     r3 = r5 + 7;
    0x0002e47c bic r3, r3, 7                                     |     r3 = BIT_MASK (r3, 7);
    0x0002e480 ldrd r6, r7, [r3]                                 |     __asm ("ldrd r6, r7, [r3]");
    0x0002e484 mvn r2, 0                                         |     r2 = ~0;
    0x0002e488 mvn r3, 0                                         |     r3 = ~0;
    0x0002e48c cmp r6, r2                                        |     
    0x0002e490 sbcs r3, r7, r3                                   |     __asm ("sbcs r3, r7, r3");
                                                                 |     if (r6 < r2) {
    0x0002e494 movlt r5, 0x2b                                    |         r5 = 0x2b;
                                                                 |         goto label_284;
                                                                 |     }
                                                                 |     if (r6 < r2) {
                                                                 | label_284:
    0x0002e498 blt 0x2d7e0                                       |         goto label_2;
                                                                 |     }
    0x0002e49c add r5, r0, 0x180                                 |     r5 = r0 + 0x180;
    0x0002e4a0 ldrd r2, r3, [r5, -8]                             |     __asm ("ldrd r2, r3, [r5, -8]");
    0x0002e4a4 cmp r2, r6                                        |     
    0x0002e4a8 sbcs r3, r3, r7                                   |     __asm ("sbcs r3, r3, r7");
                                                                 |     if (r2 < r6) {
    0x0002e4ac bge 0x2e4d8                                       |         
    0x0002e4b0 ldr r2, [r0, 0x170]                               |         r2 = *((r0 + 0x170));
    0x0002e4b4 ldr r3, [r0, 0x5f8]                               |         r3 = *((r0 + 0x5f8));
    0x0002e4b8 cmp r2, r3                                        |         
                                                                 |         if (r2 != r3) {
    0x0002e4bc bne 0x2e4d8                                       |             goto label_285;
                                                                 |         }
    0x0002e4c0 add r0, r0, 0x5f0                                 |         r0 += 0x5f0;
    0x0002e4c4 mov r1, 0                                         |         r1 = 0;
    0x0002e4c8 add r0, r0, 8                                     |         r0 += 8;
    0x0002e4cc bl 0x2cdb8                                        |         Curl_setstropt ();
    0x0002e4d0 mov r3, 0                                         |         r3 = 0;
    0x0002e4d4 str r3, [r4, 0x170]                               |         *((r4 + 0x170)) = r3;
                                                                 |     }
                                                                 | label_285:
    0x0002e4d8 strd r6, r7, [r5, -8]                             |     __asm ("strd r6, r7, [r5, -8]");
    0x0002e4dc mov r5, 0                                         |     r5 = 0;
    0x0002e4e0 b 0x2d7e0                                         |     goto label_2;
                                                                 | label_151:
    0x0002e4e4 ldr r3, [r2]                                      |     r3 = *(r2);
    0x0002e4e8 mov r5, 0                                         |     r5 = 0;
    0x0002e4ec str r3, [r0, 0x230]                               |     *((r0 + 0x230)) = r3;
    0x0002e4f0 mov r3, 3                                         |     r3 = 3;
    0x0002e4f4 str r3, [r0, 0x3d0]                               |     *((r0 + 0x3d0)) = r3;
    0x0002e4f8 strb r5, [r0, 0x4d0]                              |     *((r0 + 0x4d0)) = r5;
    0x0002e4fc b 0x2d7e0                                         |     goto label_2;
                                                                 | label_210:
    0x0002e500 ldr r1, [r5]                                      |     r1 = *(r5);
    0x0002e504 mov r2, 0                                         |     r2 = 0;
    0x0002e508 add r0, r0, 0x238                                 |     r0 += 0x238;
    0x0002e50c bl 0x2c1a8                                        |     r0 = Curl_mime_set_subparts ();
    0x0002e510 subs r5, r0, 0                                    |     r5 = r0 - 0;
                                                                 |     if (r5 != r0) {
    0x0002e514 moveq r3, 4                                       |         r3 = 4;
                                                                 |     }
                                                                 |     if (r5 != r0) {
    0x0002e518 streq r3, [r4, 0x3d0]                             |         *((r4 + 0x3d0)) = r3;
                                                                 |     }
                                                                 |     if (r5 != r0) {
    0x0002e51c strbeq r5, [r4, 0x4d0]                            |         *((r4 + 0x4d0)) = r5;
                                                                 |     }
    0x0002e520 b 0x2d7e0                                         |     goto label_2;
                                                                 | label_149:
    0x0002e524 ldrb r3, [r0, 0x684]                              |     r3 = *((r0 + 0x684));
    0x0002e528 cmp r3, 0                                         |     
                                                                 |     if (r3 != 0) {
    0x0002e52c beq 0x2e550                                       |         
    0x0002e530 ldr r3, [pc, -0x6a8]                              |         
    0x0002e534 ldr r0, [r0, 0x680]                               |         r0 = *((r0 + 0x680));
    0x0002e538 ldr r3, [r7, r3]                                  |         r3 = *((r7 + r3));
    0x0002e53c ldr r3, [r3]                                      |         r3 = *(0x2de8c);
    0x0002e540 blx r3                                            |         uint32_t (*r3)(uint32_t, uint32_t) (r0, r3);
    0x0002e544 mov r3, 0                                         |         r3 = 0;
    0x0002e548 str r3, [r4, 0x680]                               |         *((r4 + 0x680)) = r3;
    0x0002e54c strb r3, [r4, 0x684]                              |         *((r4 + 0x684)) = r3;
                                                                 |     }
    0x0002e550 add r0, r4, 0x560                                 |     r0 = r4 + 0x560;
    0x0002e554 ldr r1, [r5]                                      |     r1 = *(r5);
    0x0002e558 add r0, r0, 8                                     |     r0 += 8;
    0x0002e55c bl 0x2cdb8                                        |     Curl_setstropt ();
    0x0002e560 ldr r3, [r4, 0x568]                               |     r3 = *((r4 + 0x568));
    0x0002e564 str r3, [r4, 0x680]                               |     *((r4 + 0x680)) = r3;
    0x0002e568 mov r5, r0                                        |     r5 = r0;
    0x0002e56c b 0x2d7e0                                         |     goto label_2;
                                                                 | label_147:
    0x0002e570 ldr r1, [r2]                                      |     r1 = *(r2);
    0x0002e574 add r0, r0, 0x5a0                                 |     r0 += 0x5a0;
    0x0002e578 b 0x2dc70                                         |     goto label_5;
                                                                 | label_150:
    0x0002e57c ldr r3, [r2]                                      |     r3 = *(r2);
    0x0002e580 mov r5, 0                                         |     r5 = 0;
    0x0002e584 str r3, [r0, 0x228]                               |     *((r0 + 0x228)) = r3;
    0x0002e588 b 0x2d7e0                                         |     goto label_2;
                                                                 | label_223:
    0x0002e58c ldr r3, [r2]                                      |     r3 = *(r2);
    0x0002e590 mov r5, 0                                         |     r5 = 0;
    0x0002e594 str r3, [r0, 0x22c]                               |     *((r0 + 0x22c)) = r3;
    0x0002e598 b 0x2d7e0                                         |     goto label_2;
                                                                 | label_113:
    0x0002e59c ldrb r3, [r2]                                     |     r3 = *(r2);
    0x0002e5a0 mov r5, 0                                         |     r5 = 0;
    0x0002e5a4 and r3, r3, 1                                     |     r3 &= 1;
    0x0002e5a8 strb r3, [r0, 0x3a0]                              |     *((r0 + 0x3a0)) = r3;
    0x0002e5ac b 0x2d7e0                                         |     goto label_2;
                                                                 | label_153:
    0x0002e5b0 ldr r1, [r2]                                      |     r1 = *(r2);
    0x0002e5b4 cmp r1, 0                                         |     
                                                                 |     if (r1 == 0) {
    0x0002e5b8 bne 0x2e5c4                                       |         
                                                                 | label_9:
    0x0002e5bc mov r5, 0                                         |         r5 = 0;
    0x0002e5c0 b 0x2d7e0                                         |         goto label_2;
                                                                 |     }
    0x0002e5c4 ldr r0, [r0, 0x688]                               |     r0 = *((r0 + 0x688));
    0x0002e5c8 bl 0x543c                                         |     r0 = fcn_0000543c ();
    0x0002e5cc subs r5, r0, 0                                    |     r5 = r0 - 0;
                                                                 |     if (r5 == r0) {
    0x0002e5d0 strne r5, [r4, 0x688]                             |         *((r4 + 0x688)) = r5;
                                                                 |     }
                                                                 |     if (r5 != r0) {
    0x0002e5d4 movne r5, 0                                       |         r5 = 0;
                                                                 |         goto label_286;
                                                                 |     }
                                                                 |     if (r5 != r0) {
                                                                 | label_286:
    0x0002e5d8 bne 0x2d7e0                                       |         goto label_2;
                                                                 |     }
    0x0002e5dc ldr r0, [r4, 0x688]                               |     r0 = *((r4 + 0x688));
    0x0002e5e0 bl 0x54fc                                         |     fcn_000054fc ();
    0x0002e5e4 str r5, [r4, 0x688]                               |     *((r4 + 0x688)) = r5;
    0x0002e5e8 mov r5, 0x1b                                      |     r5 = 0x1b;
    0x0002e5ec b 0x2d7e0                                         |     goto label_2;
                                                                 | label_159:
    0x0002e5f0 add r0, r0, 0x510                                 |     r0 += 0x510;
    0x0002e5f4 ldr r1, [r2]                                      |     r1 = *(r2);
    0x0002e5f8 add r0, r0, 0xc                                   |     r0 += 0xc;
    0x0002e5fc bl 0x2cdb8                                        |     Curl_setstropt ();
    0x0002e600 ldrb r3, [r4, 0x3a1]                              |     r3 = *((r4 + 0x3a1));
    0x0002e604 ldr r2, [r4, 0x690]                               |     r2 = *((r4 + 0x690));
    0x0002e608 mov r1, 0                                         |     r1 = 0;
    0x0002e60c mov r5, r0                                        |     r5 = r0;
    0x0002e610 mov r0, r4                                        |     r0 = r4;
    0x0002e614 bl 0xb268                                         |     r0 = Curl_cookie_init ();
    0x0002e618 cmp r0, 0                                         |     
                                                                 |     if (r0 != 0) {
    0x0002e61c moveq r5, 0x1b                                    |         r5 = 0x1b;
                                                                 |     }
    0x0002e620 str r0, [r4, 0x690]                               |     *((r4 + 0x690)) = r0;
    0x0002e624 b 0x2d7e0                                         |     goto label_2;
                                                                 | label_188:
    0x0002e628 ldr r6, [r2]                                      |     r6 = *(r2);
    0x0002e62c cmp r6, 0                                         |     
                                                                 |     if (r6 == 0) {
    0x0002e630 beq 0x2e5bc                                       |         goto label_9;
                                                                 |     }
    0x0002e634 ldr r1, [pc, -0x7c0]                              |     r1 = *(0x2de78);
    0x0002e638 mov r0, r6                                        |     r0 = r6;
    0x0002e63c add r1, pc, r1                                    |     r1 = pc + r1;
    0x0002e640 bl 0x19dc0                                        |     r0 = Curl_strcasecompare ();
    0x0002e644 subs r5, r0, 0                                    |     r5 = r0 - 0;
                                                                 |     if (r5 != r0) {
    0x0002e648 beq 0x2e678                                       |         
    0x0002e64c mov r2, 2                                         |         r2 = 2;
    0x0002e650 mov r1, r2                                        |         r1 = r2;
    0x0002e654 mov r0, r4                                        |         r0 = r4;
    0x0002e658 bl 0x21464                                        |         Curl_share_lock ();
    0x0002e65c ldr r0, [r4, 0x690]                               |         r0 = *((r4 + 0x690));
    0x0002e660 bl 0xb160                                         |         Curl_cookie_clearall ();
    0x0002e664 mov r1, 2                                         |         r1 = 2;
    0x0002e668 mov r0, r4                                        |         r0 = r4;
    0x0002e66c bl 0x214ac                                        |         Curl_share_unlock ();
    0x0002e670 mov r5, 0                                         |         r5 = 0;
    0x0002e674 b 0x2d7e0                                         |         goto label_2;
                                                                 |     }
    0x0002e678 ldr r1, [pc, -0x800]                              |     r1 = *(0x0002de80);
    0x0002e67c mov r0, r6                                        |     r0 = r6;
    0x0002e680 add r1, pc, r1                                    |     r1 = pc + r1;
    0x0002e684 bl 0x19dc0                                        |     r0 = Curl_strcasecompare ();
    0x0002e688 subs r8, r0, 0                                    |     r8 = r0 - 0;
                                                                 |     if (r8 != r0) {
    0x0002e68c beq 0x2e6b8                                       |         
    0x0002e690 mov r2, 2                                         |         r2 = 2;
    0x0002e694 mov r1, r2                                        |         r1 = r2;
    0x0002e698 mov r0, r4                                        |         r0 = r4;
    0x0002e69c bl 0x21464                                        |         Curl_share_lock ();
    0x0002e6a0 ldr r0, [r4, 0x690]                               |         r0 = *((r4 + 0x690));
    0x0002e6a4 bl 0xb194                                         |         Curl_cookie_clearsess ();
    0x0002e6a8 mov r1, 2                                         |         r1 = 2;
    0x0002e6ac mov r0, r4                                        |         r0 = r4;
    0x0002e6b0 bl 0x214ac                                        |         Curl_share_unlock ();
    0x0002e6b4 b 0x2d7e0                                         |         goto label_2;
                                                                 |     }
    0x0002e6b8 ldr r1, [pc, -0x83c]                              |     r1 = *(0x2de80);
    0x0002e6bc mov r0, r6                                        |     r0 = r6;
    0x0002e6c0 add r1, pc, r1                                    |     r1 = pc + r1;
    0x0002e6c4 bl 0x19dc0                                        |     r0 = Curl_strcasecompare ();
    0x0002e6c8 subs r5, r0, 0                                    |     r5 = r0 - 0;
                                                                 |     if (r5 != r0) {
    0x0002e6cc beq 0x2e6e4                                       |         
    0x0002e6d0 mov r1, r8                                        |         r1 = r8;
    0x0002e6d4 mov r0, r4                                        |         r0 = r4;
    0x0002e6d8 bl 0xb64c                                         |         Curl_flush_cookies ();
    0x0002e6dc mov r5, r8                                        |         r5 = r8;
    0x0002e6e0 b 0x2d7e0                                         |         goto label_2;
                                                                 |     }
    0x0002e6e4 ldr r1, [pc, -0x864]                              |     r1 = *(0x0002de88);
    0x0002e6e8 mov r0, r6                                        |     r0 = r6;
    0x0002e6ec add r1, pc, r1                                    |     r1 = pc + r1;
    0x0002e6f0 bl 0x19dc0                                        |     r0 = Curl_strcasecompare ();
    0x0002e6f4 cmp r0, 0                                         |     
                                                                 |     if (r0 != 0) {
    0x0002e6f8 beq 0x2e708                                       |         
    0x0002e6fc mov r0, r4                                        |         r0 = r4;
    0x0002e700 bl 0xb4e4                                         |         Curl_cookie_loadfiles ();
    0x0002e704 b 0x2d7e0                                         |         goto label_2;
                                                                 |     }
    0x0002e708 ldr r2, [r4, 0x690]                               |     r2 = *((r4 + 0x690));
    0x0002e70c cmp r2, 0                                         |     
                                                                 |     if (r2 == 0) {
    0x0002e710 bne 0x2e728                                       |         
    0x0002e714 mov r3, 1                                         |         r3 = 1;
    0x0002e718 mov r1, r2                                        |         r1 = r2;
    0x0002e71c mov r0, r4                                        |         r0 = r4;
    0x0002e720 bl 0xb268                                         |         Curl_cookie_init ();
    0x0002e724 str r0, [r4, 0x690]                               |         *((r4 + 0x690)) = r0;
                                                                 |     }
    0x0002e728 ldr r3, [pc, -0x8a4]                              |     
    0x0002e72c mov r0, r6                                        |     r0 = r6;
    0x0002e730 ldr r3, [r7, r3]                                  |     r3 = *((r7 + r3));
    0x0002e734 ldr r3, [r3]                                      |     r3 = *(0x2de88);
    0x0002e738 blx r3                                            |     uint32_t (*r3)(uint32_t, uint32_t) (r0, r3);
    0x0002e73c ldr r3, [pc, -0x8b4]                              |     r3 = *(0x2de8c);
    0x0002e740 ldr r6, [r7, r3]                                  |     r6 = *((r7 + r3));
    0x0002e744 subs r5, r0, 0                                    |     r5 = r0 - 0;
                                                                 |     if (r5 != r0) {
    0x0002e748 beq 0x2e758                                       |         
    0x0002e74c ldr r3, [r4, 0x690]                               |         r3 = *((r4 + 0x690));
    0x0002e750 cmp r3, 0                                         |         
                                                                 |         if (r3 != 0) {
    0x0002e754 bne 0x2e76c                                       |             goto label_287;
                                                                 |         }
                                                                 |     }
    0x0002e758 mov r0, r5                                        |     r0 = r5;
    0x0002e75c ldr r3, [r6]                                      |     r3 = *(r6);
    0x0002e760 blx r3                                            |     uint32_t (*r3)(uint32_t, uint32_t) (r0, r3);
    0x0002e764 mov r5, 0x1b                                      |     r5 = 0x1b;
    0x0002e768 b 0x2d7e0                                         |     goto label_2;
                                                                 | label_287:
    0x0002e76c mov r2, 2                                         |     r2 = 2;
    0x0002e770 mov r1, r2                                        |     r1 = r2;
    0x0002e774 mov r0, r4                                        |     r0 = r4;
    0x0002e778 bl 0x21464                                        |     Curl_share_lock ();
    0x0002e77c ldr r0, [pc, -0x8f0]                              |     r0 = *(0x2de90);
    0x0002e780 mov r2, 0xb                                       |     r2 = 0xb;
    0x0002e784 mov r1, r5                                        |     r1 = r5;
    0x0002e788 add r0, pc, r0                                    |     r0 = pc + r0;
    0x0002e78c bl 0x5bd4                                         |     r0 = fcn_00005bd4 ();
    0x0002e790 subs r3, r0, 0                                    |     r3 = r0 - 0;
                                                                 |     if (r3 == r0) {
    0x0002e794 movne r3, 0                                       |         r3 = 0;
                                                                 |     }
                                                                 |     if (r3 == r0) {
    0x0002e798 addne r2, r5, 0xb                                 |         r2 = r5 + 0xb;
                                                                 |     }
                                                                 |     if (r3 == r0) {
    0x0002e79c strne r3, [sp, 8]                                 |         var_8h = r3;
                                                                 |     }
                                                                 |     if (r3 == r0) {
    0x0002e7a0 strne r3, [sp, 4]                                 |         var_4h = r3;
                                                                 |     }
                                                                 |     if (r3 == r0) {
    0x0002e7a4 strne r2, [sp]                                    |         *(sp) = r2;
                                                                 |     }
                                                                 |     if (r3 != r0) {
    0x0002e7a8 streq r3, [sp, 8]                                 |         var_8h = r3;
                                                                 |     }
                                                                 |     if (r3 != r0) {
    0x0002e7ac streq r3, [sp, 4]                                 |         var_4h = r3;
                                                                 |     }
                                                                 |     if (r3 != r0) {
    0x0002e7b0 streq r5, [sp]                                    |         *(sp) = r5;
                                                                 |     }
                                                                 |     if (r3 != r0) {
    0x0002e7b4 moveq r2, r3                                      |         r2 = r3;
                                                                 |     }
                                                                 |     if (r3 == r0) {
    0x0002e7b8 movne r2, 1                                       |         r2 = 1;
                                                                 |     }
    0x0002e7bc ldr r1, [r4, 0x690]                               |     r1 = *((r4 + 0x690));
    0x0002e7c0 mov r0, r4                                        |     r0 = r4;
    0x0002e7c4 bl 0x9f7c                                         |     Curl_cookie_add ();
    0x0002e7c8 mov r1, 2                                         |     r1 = 2;
    0x0002e7cc mov r0, r4                                        |     r0 = r4;
    0x0002e7d0 bl 0x214ac                                        |     Curl_share_unlock ();
    0x0002e7d4 mov r0, r5                                        |     r0 = r5;
    0x0002e7d8 ldr r3, [r6]                                      |     r3 = *(r6);
    0x0002e7dc blx r3                                            |     uint32_t (*r3)(uint32_t, uint32_t) (r0, r3);
    0x0002e7e0 mov r5, 0                                         |     r5 = 0;
    0x0002e7e4 b 0x2d7e0                                         |     goto label_2;
                                                                 | label_58:
    0x0002e7e8 ldr r3, [r2]                                      |     r3 = *(r2);
    0x0002e7ec cmp r3, 0                                         |     
                                                                 |     if (r3 == 0) {
    0x0002e7f0 beq 0x2e5bc                                       |         goto label_9;
                                                                 |     }
    0x0002e7f4 mov r5, 0                                         |     r5 = 0;
    0x0002e7f8 mov r3, 1                                         |     r3 = 1;
    0x0002e7fc str r3, [r0, 0x3d0]                               |     *((r0 + 0x3d0)) = r3;
    0x0002e800 strb r5, [r0, 0x4d1]                              |     *((r0 + 0x4d1)) = r5;
    0x0002e804 strb r5, [r0, 0x4d0]                              |     *((r0 + 0x4d0)) = r5;
    0x0002e808 b 0x2d7e0                                         |     goto label_2;
                                                                 | label_53:
    0x0002e80c ldr r3, [r2]                                      |     r3 = *(r2);
    0x0002e810 cmp r3, 0                                         |     
                                                                 |     if (r3 < 0) {
    0x0002e814 movlt r5, 0x2b                                    |         r5 = 0x2b;
                                                                 |         goto label_288;
                                                                 |     }
                                                                 |     if (r3 < 0) {
                                                                 | label_288:
    0x0002e818 blt 0x2d7e0                                       |         goto label_2;
                                                                 |     }
    0x0002e81c cmp r3, 2                                         |     
                                                                 |     if (r3 > 2) {
    0x0002e820 strle r3, [r0, 0x3d4]                             |         *((r0 + 0x3d4)) = r3;
                                                                 |     }
                                                                 |     if (r3 > 2) {
    0x0002e824 movle r5, 0                                       |         r5 = 0;
                                                                 |     }
                                                                 |     if (r3 <= 2) {
    0x0002e828 movgt r5, 1                                       |         r5 = 1;
                                                                 |     }
    0x0002e82c b 0x2d7e0                                         |     goto label_2;
                                                                 | label_71:
    0x0002e830 ldr r5, [r2]                                      |     r5 = *(r2);
    0x0002e834 cmp r5, 0                                         |     
                                                                 |     if (r5 == 0) {
    0x0002e838 streq r5, [r0, 0x154]                             |         *((r0 + 0x154)) = r5;
                                                                 |         goto label_289;
                                                                 |     }
                                                                 |     if (r5 == 0) {
                                                                 | label_289:
    0x0002e83c beq 0x2d7e0                                       |         goto label_2;
                                                                 |     }
    0x0002e840 tst r5, 0x10                                      |     
    0x0002e844 lsr r2, r5, 4                                     |     r2 = r5 >> 4;
    0x0002e848 bicne r5, r5, 0x10                                |     __asm ("bicne r5, r5, 0x10");
    0x0002e84c add r3, r0, 0x4000                                |     r3 = r0 + 0x4000;
    0x0002e850 and r2, r2, 1                                     |     r2 &= 1;
                                                                 |     if ((r5 & 0x10) == 0) {
    0x0002e854 orrne r5, r5, 2                                   |         r5 |= 2;
                                                                 |     }
    0x0002e858 strb r2, [r3, 0x88e]                              |     *((r3 + 0x88e)) = r2;
    0x0002e85c bic r5, r5, 0x24                                  |     r5 = BIT_MASK (r5, 0x24);
    0x0002e860 mov r3, 0                                         |     r3 = 0;
                                                                 |     do {
    0x0002e864 add r2, r3, 1                                     |         r2 = r3 + 1;
    0x0002e868 lsr r3, r5, r3                                    |         r3 = r5 >> r3;
    0x0002e86c tst r3, 1                                         |         
                                                                 |         if ((r3 & 1) != 0) {
    0x0002e870 bne 0x2f42c                                       |             goto label_290;
                                                                 |         }
    0x0002e874 cmp r2, 0x1f                                      |         
    0x0002e878 mov r3, r2                                        |         r3 = r2;
    0x0002e87c bne 0x2e864                                       |         
                                                                 |     } while (r2 != 0x1f);
                                                                 | label_75:
    0x0002e880 mov r5, 4                                         |     r5 = 4;
    0x0002e884 b 0x2d7e0                                         |     goto label_2;
                                                                 | label_48:
    0x0002e888 ldr r3, [r2]                                      |     r3 = *(r2);
    0x0002e88c cmp r3, 0x10000                                   |     
                                                                 |     if (r3 >= 0x10000) {
    0x0002e890 strlo r3, [r0, 0x13c]                             |         *((r0 + 0x13c)) = r3;
                                                                 |     }
                                                                 |     if (r3 >= 0x10000) {
    0x0002e894 movlo r5, 0                                       |         r5 = 0;
                                                                 |     }
                                                                 |     if (r3 < 0x10000) {
    0x0002e898 movhs r5, 0x2b                                    |         r5 = 0x2b;
                                                                 |     }
    0x0002e89c b 0x2d7e0                                         |     goto label_2;
                                                                 | label_135:
    0x0002e8a0 ldr r1, [r2]                                      |     r1 = *(r2);
    0x0002e8a4 add r0, r0, 0x550                                 |     r0 += 0x550;
    0x0002e8a8 b 0x2da00                                         |     goto label_4;
                                                                 | label_235:
    0x0002e8ac ldr r1, [r2]                                      |     r1 = *(r2);
    0x0002e8b0 add r0, r0, 0x560                                 |     r0 += 0x560;
    0x0002e8b4 b 0x2dc70                                         |     goto label_5;
                                                                 | label_51:
    0x0002e8b8 ldr r3, [r2]                                      |     r3 = *(r2);
    0x0002e8bc cmp r3, 7                                         |     
                                                                 |     if (r3 > 7) {
    0x0002e8c0 strls r3, [r0, 0x490]                             |         *((r0 + 0x490)) = r3;
                                                                 |     }
                                                                 |     if (r3 > 7) {
    0x0002e8c4 movls r5, 0                                       |         r5 = 0;
                                                                 |     }
                                                                 |     if (r3 <= 7) {
    0x0002e8c8 movhi r5, 0x2b                                    |         r5 = 0x2b;
                                                                 |     }
    0x0002e8cc b 0x2d7e0                                         |     goto label_2;
                                                                 | label_92:
    0x0002e8d0 ldr r5, [r5]                                      |     r5 = *(r5);
    0x0002e8d4 cmp r5, 0                                         |     
                                                                 |     if (r5 == 0) {
    0x0002e8d8 strbeq r5, [r0, 0x504]                            |         *((r0 + 0x504)) = r5;
                                                                 |         goto label_291;
                                                                 |     }
                                                                 |     if (r5 == 0) {
                                                                 | label_291:
    0x0002e8dc beq 0x2d7e0                                       |         goto label_2;
                                                                 |     }
    0x0002e8e0 cmp r5, 1                                         |     
                                                                 |     if (r5 != 1) {
    0x0002e8e4 strbeq r5, [r0, 0x504]                            |         *((r0 + 0x504)) = r5;
                                                                 |     }
                                                                 |     if (r5 != 1) {
    0x0002e8e8 moveq r5, 0                                       |         r5 = 0;
                                                                 |     }
                                                                 |     if (r5 == 1) {
    0x0002e8ec movne r5, 0x30                                    |         r5 = 0x30;
                                                                 |     }
    0x0002e8f0 b 0x2d7e0                                         |     goto label_2;
                                                                 | label_129:
    0x0002e8f4 ldr r3, [r2]                                      |     r3 = *(r2);
    0x0002e8f8 str r3, [r0, 0x15c]                               |     *((r0 + 0x15c)) = r3;
    0x0002e8fc bics r3, r3, 5                                    |     __asm ("bics r3, r3, 5");
                                                                 |     if (r5 == 1) {
    0x0002e900 beq 0x2e5bc                                       |         goto label_9;
                                                                 |     }
    0x0002e904 b 0x2dcd8                                         |     goto label_6;
                                                                 | label_225:
    0x0002e908 ldr r1, [r2]                                      |     r1 = *(r2);
    0x0002e90c add r0, r0, 0x5d0                                 |     r0 += 0x5d0;
    0x0002e910 b 0x2da00                                         |     goto label_4;
                                                                 | label_156:
    0x0002e914 ldr r3, [r2]                                      |     r3 = *(r2);
    0x0002e918 mov r5, 0                                         |     r5 = 0;
    0x0002e91c str r3, [r0, 0x148]                               |     *((r0 + 0x148)) = r3;
    0x0002e920 b 0x2d7e0                                         |     goto label_2;
                                                                 | label_138:
    0x0002e924 ldr r3, [r2]                                      |     r3 = *(r2);
    0x0002e928 mov r5, 0                                         |     r5 = 0;
    0x0002e92c str r3, [r0, 0x138]                               |     *((r0 + 0x138)) = r3;
    0x0002e930 b 0x2d7e0                                         |     goto label_2;
                                                                 | label_125:
    0x0002e934 ldr r3, [r2]                                      |     r3 = *(r2);
    0x0002e938 mov r5, 0                                         |     r5 = 0;
    0x0002e93c str r3, [r0, 0x140]                               |     *((r0 + 0x140)) = r3;
    0x0002e940 b 0x2d7e0                                         |     goto label_2;
                                                                 | label_70:
    0x0002e944 ldr r3, [r2]                                      |     r3 = *(r2);
    0x0002e948 mov r5, 0                                         |     r5 = 0;
    0x0002e94c adds r3, r3, 0                                    |     r3 += 0;
                                                                 |     if (r3 == r3) {
    0x0002e950 movne r3, 1                                       |         r3 = 1;
                                                                 |     }
    0x0002e954 strb r3, [r0, 0x4dd]                              |     *((r0 + 0x4dd)) = r3;
    0x0002e958 b 0x2d7e0                                         |     goto label_2;
                                                                 | label_87:
    0x0002e95c ldr r3, [r5]                                      |     r3 = *(r5);
    0x0002e960 cmp r3, 2                                         |     
                                                                 |     if (r3 > 2) {
    0x0002e964 strls r3, [r0, 0x4e8]                             |         *((r0 + 0x4e8)) = r3;
                                                                 |     }
                                                                 |     if (r3 > 2) {
    0x0002e968 movls r5, 0                                       |         r5 = 0;
                                                                 |     }
                                                                 |     if (r3 <= 2) {
    0x0002e96c movhi r5, 0x2b                                    |         r5 = 0x2b;
                                                                 |     }
    0x0002e970 b 0x2d7e0                                         |     goto label_2;
                                                                 | label_137:
    0x0002e974 ldr r3, [r2]                                      |     r3 = *(r2);
    0x0002e978 mov r5, 0                                         |     r5 = 0;
    0x0002e97c str r3, [r0, 0x144]                               |     *((r0 + 0x144)) = r3;
    0x0002e980 b 0x2d7e0                                         |     goto label_2;
                                                                 | label_25:
    0x0002e984 ldr r2, [r2]                                      |     r2 = *(r2);
    0x0002e988 cmn r2, 1                                         |     
                                                                 |     if (r2 >= 1) {
    0x0002e98c movlt r5, 0x2b                                    |         r5 = 0x2b;
                                                                 |     }
                                                                 |     if (r2 < 1) {
    0x0002e990 addge r4, r0, 0x200                               |         r4 = r0 + 0x200;
                                                                 |     }
    0x0002e994 asrge r3, r2, 0x1f                                |     __asm ("asrge r3, r2, 0x1f");
    0x0002e998 strdge r2, r3, [r4]                               |     __asm ("strdge r2, r3, [r4]");
                                                                 |     if (r2 < 1) {
    0x0002e99c movge r5, 0                                       |         r5 = 0;
                                                                 |     }
    0x0002e9a0 b 0x2d7e0                                         |     goto label_2;
                                                                 | label_275:
    0x0002e9a4 add r3, r5, 7                                     |     r3 = r5 + 7;
    0x0002e9a8 bic r3, r3, 7                                     |     r3 = BIT_MASK (r3, 7);
    0x0002e9ac ldrd r2, r3, [r3]                                 |     __asm ("ldrd r2, r3, [r3]");
    0x0002e9b0 cmp r2, 0                                         |     
    0x0002e9b4 sbcs r1, r3, 0                                    |     __asm ("sbcs r1, r3, 0");
                                                                 |     if (r2 >= 0) {
    0x0002e9b8 movlt r5, 0x2b                                    |         r5 = 0x2b;
                                                                 |     }
                                                                 |     if (r2 < 0) {
    0x0002e9bc addge r4, r0, 0x220                               |         r4 = r0 + 0x220;
                                                                 |     }
    0x0002e9c0 strdge r2, r3, [r4, -8]                           |     __asm ("strdge r2, r3, [r4, -8]");
                                                                 |     if (r2 < 0) {
    0x0002e9c4 movge r5, 0                                       |         r5 = 0;
                                                                 |     }
    0x0002e9c8 b 0x2d7e0                                         |     goto label_2;
                                                                 | label_29:
    0x0002e9cc ldr r3, [r2]                                      |     r3 = *(r2);
    0x0002e9d0 cmp r3, 0                                         |     
                                                                 |     if (r3 < 0) {
    0x0002e9d4 strge r3, [r0, 0x20c]                             |         *((r0 + 0x20c)) = r3;
                                                                 |     }
                                                                 |     if (r3 < 0) {
    0x0002e9d8 movge r5, 0                                       |         r5 = 0;
                                                                 |     }
                                                                 |     if (r3 >= 0) {
    0x0002e9dc movlt r5, 0x2b                                    |         r5 = 0x2b;
                                                                 |     }
    0x0002e9e0 b 0x2d7e0                                         |     goto label_2;
                                                                 | label_27:
    0x0002e9e4 ldr r3, [r2]                                      |     r3 = *(r2);
    0x0002e9e8 cmp r3, 0x10000                                   |     
                                                                 |     if (r3 >= 0x10000) {
    0x0002e9ec strlo r3, [r0, 0x150]                             |         *((r0 + 0x150)) = r3;
                                                                 |     }
                                                                 |     if (r3 >= 0x10000) {
    0x0002e9f0 movlo r5, 0                                       |         r5 = 0;
                                                                 |     }
                                                                 |     if (r3 < 0x10000) {
    0x0002e9f4 movhs r5, 0x2b                                    |         r5 = 0x2b;
                                                                 |     }
    0x0002e9f8 b 0x2d7e0                                         |     goto label_2;
                                                                 | label_28:
    0x0002e9fc ldr r1, [r2]                                      |     r1 = *(r2);
    0x0002ea00 ldr r2, [pc, -0xb70]                              |     r2 = *(0x0002de98);
    0x0002ea04 cmp r1, r2                                        |     
                                                                 |     if (r1 <= r2) {
    0x0002ea08 movhi r5, 0x2b                                    |         r5 = 0x2b;
                                                                 |     }
                                                                 |     if (r1 > r2) {
    0x0002ea0c movls r2, 0x3e8                                   |         r2 = 0x3e8;
                                                                 |     }
                                                                 |     if (r1 > r2) {
    0x0002ea10 mulls r3, r2, r1                                  |         r3 = r2 * r1;
                                                                 |     }
                                                                 |     if (r1 > r2) {
    0x0002ea14 movls r5, 0                                       |         r5 = 0;
                                                                 |     }
                                                                 |     if (r1 > r2) {
    0x0002ea18 strls r3, [r0, 0x1e0]                             |         *((r0 + 0x1e0)) = r3;
                                                                 |     }
    0x0002ea1c b 0x2d7e0                                         |     goto label_2;
                                                                 | label_90:
    0x0002ea20 cmp r3, 0                                         |     
                                                                 |     if (r3 < 0) {
    0x0002ea24 strge r3, [r0, 0x1e4]                             |         *((r0 + 0x1e4)) = r3;
                                                                 |     }
                                                                 |     if (r3 < 0) {
    0x0002ea28 movge r5, 0                                       |         r5 = 0;
                                                                 |     }
                                                                 |     if (r3 >= 0) {
    0x0002ea2c movlt r5, 0x2b                                    |         r5 = 0x2b;
                                                                 |     }
    0x0002ea30 b 0x2d7e0                                         |     goto label_2;
                                                                 | label_105:
    0x0002ea34 ldr r3, [r5]                                      |     r3 = *(r5);
    0x0002ea38 cmp r3, 0                                         |     
                                                                 |     if (r3 < 0) {
    0x0002ea3c strge r3, [r0, 0x1e8]                             |         *((r0 + 0x1e8)) = r3;
                                                                 |     }
                                                                 |     if (r3 < 0) {
    0x0002ea40 movge r5, 0                                       |         r5 = 0;
                                                                 |     }
                                                                 |     if (r3 >= 0) {
    0x0002ea44 movlt r5, 0x2b                                    |         r5 = 0x2b;
                                                                 |     }
    0x0002ea48 b 0x2d7e0                                         |     goto label_2;
                                                                 | label_136:
    0x0002ea4c add r1, r0, 0x5b0                                 |     r1 = r0 + 0x5b0;
    0x0002ea50 add r2, r1, 8                                     |     r2 = r1 + 8;
    0x0002ea54 add r1, r1, 4                                     |     r1 += 4;
                                                                 | label_11:
    0x0002ea58 ldr r0, [r5]                                      |     r0 = *(r5);
    0x0002ea5c add sp, sp, 0x10                                  |     
    0x0002ea60 pop {r4, r5, r6, r7, r8, lr}                      |     
    0x0002ea64 b 0x2cc98                                         |     void (*0x2cc98)() ();
                                                                 | label_197:
    0x0002ea68 ldr r1, [r2]                                      |     r1 = *(r2);
    0x0002ea6c add r0, r0, 0x5b0                                 |     r0 += 0x5b0;
    0x0002ea70 b 0x2e070                                         |     goto label_10;
                                                                 | label_198:
    0x0002ea74 ldr r1, [r2]                                      |     r1 = *(r2);
    0x0002ea78 add r0, r0, 0x5b0                                 |     r0 += 0x5b0;
    0x0002ea7c b 0x2d6d8                                         |     goto label_1;
                                                                 | label_158:
    0x0002ea80 ldr r3, [r2]                                      |     r3 = *(r2);
    0x0002ea84 mov r5, 0                                         |     r5 = 0;
    0x0002ea88 str r3, [r0, 0x3a8]                               |     *((r0 + 0x3a8)) = r3;
    0x0002ea8c b 0x2d7e0                                         |     goto label_2;
                                                                 | label_172:
    0x0002ea90 ldr r3, [r2]                                      |     r3 = *(r2);
    0x0002ea94 mov r5, 0                                         |     r5 = 0;
    0x0002ea98 str r3, [r0, 0x3ac]                               |     *((r0 + 0x3ac)) = r3;
    0x0002ea9c b 0x2d7e0                                         |     goto label_2;
                                                                 | label_155:
    0x0002eaa0 ldr r3, [r2]                                      |     r3 = *(r2);
    0x0002eaa4 mov r5, 0                                         |     r5 = 0;
    0x0002eaa8 str r3, [r0, 0x3a4]                               |     *((r0 + 0x3a4)) = r3;
    0x0002eaac b 0x2d7e0                                         |     goto label_2;
                                                                 | label_139:
    0x0002eab0 ldr r3, [r2]                                      |     r3 = *(r2);
    0x0002eab4 mov r5, 0                                         |     r5 = 0;
    0x0002eab8 str r3, [r0, 0x3c0]                               |     *((r0 + 0x3c0)) = r3;
    0x0002eabc str r3, [r0, 0x68c]                               |     *((r0 + 0x68c)) = r3;
    0x0002eac0 b 0x2d7e0                                         |     goto label_2;
                                                                 | label_252:
    0x0002eac4 ldr r3, [r2]                                      |     r3 = *(r2);
    0x0002eac8 str r3, [r0, 0x1a0]                               |     *((r0 + 0x1a0)) = r3;
                                                                 |     do {
    0x0002eacc cmp r3, 0                                         |         
                                                                 |         if (r3 == 0) {
    0x0002ead0 movne r3, 1                                       |             r3 = 1;
                                                                 |         }
                                                                 |         if (r3 != 0) {
    0x0002ead4 moveq r5, 0                                       |             r5 = 0;
                                                                 |         }
                                                                 |         if (r3 == 0) {
    0x0002ead8 strbne r3, [r4, 0x6c8]                            |             *((r4 + 0x6c8)) = r3;
                                                                 |         }
                                                                 |         if (r3 == 0) {
    0x0002eadc movne r5, 0                                       |             r5 = 0;
                                                                 |         }
                                                                 |         if (r3 != 0) {
    0x0002eae0 strbeq r5, [r4, 0x6c8]                            |             *((r4 + 0x6c8)) = r5;
                                                                 |         }
    0x0002eae4 b 0x2d7e0                                         |         goto label_2;
                                                                 | label_269:
    0x0002eae8 ldr r3, [r5]                                      |         r3 = *(r5);
    0x0002eaec str r3, [r0, 0x1a4]                               |         *((r0 + 0x1a4)) = r3;
    0x0002eaf0 b 0x2eacc                                         |         
                                                                 |     } while (1);
                                                                 | label_143:
    0x0002eaf4 ldr r3, [r2]                                      |     r3 = *(r2);
    0x0002eaf8 mov r5, 0                                         |     r5 = 0;
    0x0002eafc str r3, [r0, 0x1d8]                               |     *((r0 + 0x1d8)) = r3;
    0x0002eb00 b 0x2d7e0                                         |     goto label_2;
                                                                 | label_133:
    0x0002eb04 add r1, r0, 0x5c0                                 |     r1 = r0 + 0x5c0;
    0x0002eb08 add r2, r1, 4                                     |     r2 = r1 + 4;
    0x0002eb0c b 0x2ea58                                         |     goto label_11;
                                                                 | label_195:
    0x0002eb10 ldr r1, [r2]                                      |     r1 = *(r2);
    0x0002eb14 add r0, r0, 0x5c0                                 |     r0 += 0x5c0;
    0x0002eb18 b 0x2dc70                                         |     goto label_5;
                                                                 | label_200:
    0x0002eb1c ldr r1, [r2]                                      |     r1 = *(r2);
    0x0002eb20 add r0, r0, 0x5c0                                 |     r0 += 0x5c0;
    0x0002eb24 b 0x2d6d8                                         |     goto label_1;
                                                                 | label_30:
    0x0002eb28 ldr r2, [r2]                                      |     r2 = *(r2);
    0x0002eb2c cmn r2, 1                                         |     
                                                                 |     if (r2 >= 1) {
    0x0002eb30 movlt r5, 0x2b                                    |         r5 = 0x2b;
                                                                 |     }
                                                                 |     if (r2 < 1) {
    0x0002eb34 addge r4, r0, 0x220                               |         r4 = r0 + 0x220;
                                                                 |     }
    0x0002eb38 asrge r3, r2, 0x1f                                |     __asm ("asrge r3, r2, 0x1f");
    0x0002eb3c strdge r2, r3, [r4]                               |     __asm ("strdge r2, r3, [r4]");
                                                                 |     if (r2 < 1) {
    0x0002eb40 movge r5, 0                                       |         r5 = 0;
                                                                 |     }
    0x0002eb44 b 0x2d7e0                                         |     goto label_2;
                                                                 | label_273:
    0x0002eb48 add r3, r5, 7                                     |     r3 = r5 + 7;
    0x0002eb4c bic r3, r3, 7                                     |     r3 = BIT_MASK (r3, 7);
    0x0002eb50 ldrd r2, r3, [r3]                                 |     __asm ("ldrd r2, r3, [r3]");
    0x0002eb54 mvn r0, 0                                         |     r0 = ~0;
    0x0002eb58 mvn r1, 0                                         |     r1 = ~0;
    0x0002eb5c cmp r2, r0                                        |     
    0x0002eb60 sbcs r1, r3, r1                                   |     __asm ("sbcs r1, r3, r1");
                                                                 |     if (r2 >= r0) {
    0x0002eb64 movlt r5, 0x2b                                    |         r5 = 0x2b;
                                                                 |     }
                                                                 |     if (r2 < r0) {
    0x0002eb68 addge r4, r4, 0x220                               |         r4 += 0x220;
                                                                 |     }
    0x0002eb6c strdge r2, r3, [r4]                               |     __asm ("strdge r2, r3, [r4]");
                                                                 |     if (r2 < r0) {
    0x0002eb70 movge r5, 0                                       |         r5 = 0;
                                                                 |     }
    0x0002eb74 b 0x2d7e0                                         |     goto label_2;
                                                                 | label_173:
    0x0002eb78 ldr r3, [r2]                                      |     r3 = *(r2);
    0x0002eb7c mov r5, 0                                         |     r5 = 0;
    0x0002eb80 str r3, [r0, 0x134]                               |     *((r0 + 0x134)) = r3;
    0x0002eb84 b 0x2d7e0                                         |     goto label_2;
                                                                 | label_157:
    0x0002eb88 ldr r5, [r2]                                      |     r5 = *(r2);
    0x0002eb8c cmp r5, 0                                         |     
    0x0002eb90 str r5, [r0, 0x130]                               |     *((r0 + 0x130)) = r5;
                                                                 |     if (r5 != 0) {
    0x0002eb94 beq 0x2eba0                                       |         
                                                                 | label_12:
    0x0002eb98 mov r5, 0                                         |         r5 = 0;
    0x0002eb9c b 0x2d7e0                                         |         goto label_2;
                                                                 |     }
    0x0002eba0 ldr r3, [pc, -0xd0c]                              |     
    0x0002eba4 ldr r3, [r7, r3]                                  |     r3 = *((r7 + r3));
    0x0002eba8 ldr r3, [r3]                                      |     r3 = *(0x2de98);
    0x0002ebac str r3, [r0, 0x130]                               |     *((r0 + 0x130)) = r3;
    0x0002ebb0 b 0x2d7e0                                         |     goto label_2;
                                                                 | label_245:
    0x0002ebb4 ldr r3, [r2]                                      |     r3 = *(r2);
    0x0002ebb8 mov r5, 0                                         |     r5 = 0;
    0x0002ebbc str r3, [r0, 0x18c]                               |     *((r0 + 0x18c)) = r3;
    0x0002ebc0 b 0x2d7e0                                         |     goto label_2;
                                                                 | label_251:
    0x0002ebc4 ldr r5, [r2]                                      |     r5 = *(r2);
    0x0002ebc8 cmp r5, 0                                         |     
                                                                 |     if (r5 == 0) {
    0x0002ebcc movne r3, 1                                       |         r3 = 1;
                                                                 |     }
    0x0002ebd0 str r5, [r0, 0x194]                               |     *((r0 + 0x194)) = r5;
                                                                 |     if (r5 == 0) {
    0x0002ebd4 strne r3, [r0, 0x198]                             |         *((r0 + 0x198)) = r3;
                                                                 |     }
                                                                 |     if (r5 == 0) {
    0x0002ebd8 movne r5, 0                                       |         r5 = 0;
                                                                 |     }
                                                                 |     if (r5 != 0) {
    0x0002ebdc ldreq r3, [pc, -0xd44]                            |         r3 = *((pc - 0xd44));
                                                                 |     }
                                                                 |     if (r5 != 0) {
    0x0002ebe0 streq r5, [r0, 0x198]                             |         *((r0 + 0x198)) = r5;
                                                                 |     }
                                                                 |     if (r5 != 0) {
    0x0002ebe4 ldreq r3, [r7, r3]                                |         r3 = *((r7 + r3));
                                                                 |     }
                                                                 |     if (r5 != 0) {
    0x0002ebe8 streq r3, [r0, 0x194]                             |         *((r0 + 0x194)) = r3;
                                                                 |     }
    0x0002ebec b 0x2d7e0                                         |     goto label_2;
                                                                 | label_176:
    0x0002ebf0 ldr r3, [r2]                                      |     r3 = *(r2);
    0x0002ebf4 mov r5, 0                                         |     r5 = 0;
    0x0002ebf8 str r3, [r0, 0x1dc]                               |     *((r0 + 0x1dc)) = r3;
    0x0002ebfc b 0x2d7e0                                         |     goto label_2;
                                                                 | label_145:
    0x0002ec00 ldr r1, [r2]                                      |     r1 = *(r2);
    0x0002ec04 add r0, r0, 0x500                                 |     r0 += 0x500;
    0x0002ec08 b 0x2d6d8                                         |     goto label_1;
                                                                 | label_169:
    0x0002ec0c ldr r1, [r2]                                      |     r1 = *(r2);
    0x0002ec10 add r0, r0, 0x510                                 |     r0 += 0x510;
    0x0002ec14 b 0x2dc70                                         |     goto label_5;
                                                                 | label_232:
    0x0002ec18 ldr r1, [r2]                                      |     r1 = *(r2);
    0x0002ec1c add r0, r0, 0x510                                 |     r0 += 0x510;
    0x0002ec20 b 0x2e070                                         |     goto label_10;
                                                                 | label_170:
    0x0002ec24 ldr r1, [r2]                                      |     r1 = *(r2);
    0x0002ec28 add r0, r0, 0x530                                 |     r0 += 0x530;
    0x0002ec2c b 0x2da00                                         |     goto label_4;
                                                                 | label_233:
    0x0002ec30 ldr r1, [r2]                                      |     r1 = *(r2);
    0x0002ec34 add r0, r0, 0x540                                 |     r0 += 0x540;
    0x0002ec38 b 0x2dc70                                         |     goto label_5;
                                                                 | label_167:
    0x0002ec3c ldr r1, [r2]                                      |     r1 = *(r2);
    0x0002ec40 add r0, r0, 0x540                                 |     r0 += 0x540;
    0x0002ec44 b 0x2da00                                         |     goto label_4;
                                                                 | label_226:
    0x0002ec48 ldr r1, [r2]                                      |     r1 = *(r2);
    0x0002ec4c add r0, r0, 0x550                                 |     r0 += 0x550;
    0x0002ec50 b 0x2dc70                                         |     goto label_5;
                                                                 | label_238:
    0x0002ec54 ldr r1, [r2]                                      |     r1 = *(r2);
    0x0002ec58 add r0, r0, 0x540                                 |     r0 += 0x540;
    0x0002ec5c b 0x2d6d8                                         |     goto label_1;
                                                                 | label_62:
    0x0002ec60 add sp, sp, 0x10                                  |     
    0x0002ec64 pop {r4, r5, r6, r7, r8, lr}                      |     
    0x0002ec68 b 0x375dc                                         |     void (*0x375dc)() ();
                                                                 | label_23:
    0x0002ec6c ldr r3, [r2]                                      |     r3 = *(r2);
    0x0002ec70 mov r5, 0                                         |     r5 = 0;
    0x0002ec74 adds r3, r3, 0                                    |     r3 += 0;
                                                                 |     if (r3 == r3) {
    0x0002ec78 movne r3, 1                                       |         r3 = 1;
                                                                 |     }
    0x0002ec7c strb r3, [r0, 0x3a2]                              |     *((r0 + 0x3a2)) = r3;
    0x0002ec80 b 0x2d7e0                                         |     goto label_2;
                                                                 | label_163:
    0x0002ec84 ldr r1, [r2]                                      |     r1 = *(r2);
    0x0002ec88 add r0, r0, 0x520                                 |     r0 += 0x520;
    0x0002ec8c b 0x2d6d8                                         |     goto label_1;
                                                                 | label_81:
    0x0002ec90 cmp r0, 0x10000                                   |     
                                                                 |     if (r0 >= 0x10000) {
    0x0002ec94 movhs r5, 0x2b                                    |         r5 = 0x2b;
                                                                 |         goto label_292;
                                                                 |     }
                                                                 |     if (r0 >= 0x10000) {
                                                                 | label_292:
    0x0002ec98 bhs 0x2d7e0                                       |         goto label_2;
                                                                 |     }
    0x0002ec9c bl 0x25350                                        |     curlx_sltous ();
    0x0002eca0 add r4, r4, 0x180                                 |     r4 += 0x180;
    0x0002eca4 mov r5, 0                                         |     r5 = 0;
    0x0002eca8 strh r0, [r4]                                     |     *(r4) = r0;
    0x0002ecac b 0x2d7e0                                         |     goto label_2;
                                                                 | label_17:
    0x0002ecb0 ldr r0, [r2]                                      |     r0 = *(r2);
    0x0002ecb4 cmp r0, 0x10000                                   |     
                                                                 |     if (r0 >= 0x10000) {
    0x0002ecb8 movhs r5, 0x2b                                    |         r5 = 0x2b;
                                                                 |         goto label_293;
                                                                 |     }
                                                                 |     if (r0 >= 0x10000) {
                                                                 | label_293:
    0x0002ecbc bhs 0x2d7e0                                       |         goto label_2;
                                                                 |     }
    0x0002ecc0 bl 0x25344                                        |     curlx_sltosi ();
    0x0002ecc4 mov r5, 0                                         |     r5 = 0;
    0x0002ecc8 str r0, [r4, 0x184]                               |     *((r4 + 0x184)) = r0;
    0x0002eccc b 0x2d7e0                                         |     goto label_2;
                                                                 | label_49:
    0x0002ecd0 ldr r3, [r2]                                      |     r3 = *(r2);
    0x0002ecd4 ldr r2, [r0, 8]                                   |     r2 = *((r0 + 8));
    0x0002ecd8 adds r3, r3, 0                                    |     r3 += 0;
                                                                 |     if (r3 == r3) {
    0x0002ecdc movne r3, 1                                       |         r3 = 1;
                                                                 |     }
    0x0002ece0 cmp r2, 0                                         |     
    0x0002ece4 strb r3, [r0, 0x3e4]                              |     *((r0 + 0x3e4)) = r3;
                                                                 |     if (r2 == 0) {
    0x0002ece8 movne r5, 0                                       |         r5 = 0;
                                                                 |     }
                                                                 |     if (r2 != 0) {
    0x0002ecec strbne r3, [r2, 0x208]                            |         *((r2 + 0x208)) = r3;
                                                                 |         goto label_294;
                                                                 |     }
                                                                 |     if (r2 != 0) {
                                                                 | label_294:
    0x0002ecf0 bne 0x2d7e0                                       |         goto label_2;
                                                                 |     }
    0x0002ecf4 b 0x2eb98                                         |     goto label_12;
                                                                 | label_59:
    0x0002ecf8 ldr r3, [r2]                                      |     r3 = *(r2);
    0x0002ecfc cmp r3, 1                                         |     
                                                                 |     if (r3 == 1) {
    0x0002ed00 bne 0x2ed1c                                       |         
                                                                 | label_13:
    0x0002ed04 ldr r1, [pc, -0xe68]                              |         r1 = *(0x2dea0);
    0x0002ed08 mov r0, r4                                        |         r0 = r4;
    0x0002ed0c add r1, pc, r1                                    |         r1 = pc + r1;
    0x0002ed10 bl 0x10544                                        |         Curl_failf ();
    0x0002ed14 mov r5, 0x2b                                      |         r5 = 0x2b;
    0x0002ed18 b 0x2d7e0                                         |         goto label_2;
                                                                 |     }
    0x0002ed1c ldr r2, [r0, 8]                                   |     r2 = *((r0 + 8));
    0x0002ed20 adds r3, r3, 0                                    |     r3 += 0;
                                                                 |     if (r3 == r3) {
    0x0002ed24 movne r3, 1                                       |         r3 = 1;
                                                                 |     }
    0x0002ed28 cmp r2, 0                                         |     
    0x0002ed2c strb r3, [r0, 0x3e5]                              |     *((r0 + 0x3e5)) = r3;
                                                                 |     if (r2 == 0) {
    0x0002ed30 movne r5, 0                                       |         r5 = 0;
                                                                 |     }
                                                                 |     if (r2 != 0) {
    0x0002ed34 strbne r3, [r2, 0x209]                            |         *((r2 + 0x209)) = r3;
                                                                 |         goto label_295;
                                                                 |     }
                                                                 |     if (r2 != 0) {
                                                                 | label_295:
    0x0002ed38 bne 0x2d7e0                                       |         goto label_2;
                                                                 |     }
    0x0002ed3c b 0x2eb98                                         |     goto label_12;
                                                                 | label_123:
    0x0002ed40 ldr r3, [r2]                                      |     r3 = *(r2);
    0x0002ed44 cmp r3, 1                                         |     
                                                                 |     if (r3 == 1) {
    0x0002ed48 beq 0x2ed04                                       |         goto label_13;
                                                                 |     }
    0x0002ed4c ldr r2, [r0, 8]                                   |     r2 = *((r0 + 8));
    0x0002ed50 adds r3, r3, 0                                    |     r3 += 0;
                                                                 |     if (r3 == r3) {
    0x0002ed54 movne r3, 1                                       |         r3 = 1;
                                                                 |     }
    0x0002ed58 cmp r2, 0                                         |     
    0x0002ed5c strb r3, [r0, 0x43d]                              |     *((r0 + 0x43d)) = r3;
                                                                 |     if (r2 == 0) {
    0x0002ed60 movne r5, 0                                       |         r5 = 0;
                                                                 |     }
                                                                 |     if (r2 != 0) {
    0x0002ed64 strbne r3, [r2, 0x231]                            |         *((r2 + 0x231)) = r3;
                                                                 |         goto label_296;
                                                                 |     }
                                                                 |     if (r2 != 0) {
                                                                 | label_296:
    0x0002ed68 bne 0x2d7e0                                       |         goto label_2;
                                                                 |     }
    0x0002ed6c b 0x2eb98                                         |     goto label_12;
                                                                 | label_118:
    0x0002ed70 ldr r3, [r5]                                      |     r3 = *(r5);
    0x0002ed74 ldr r2, [r4, 8]                                   |     r2 = *((r4 + 8));
    0x0002ed78 adds r3, r3, 0                                    |     r3 += 0;
                                                                 |     if (r3 == r3) {
    0x0002ed7c movne r3, 1                                       |         r3 = 1;
                                                                 |     }
    0x0002ed80 cmp r2, 0                                         |     
    0x0002ed84 strb r3, [r4, 0x3e6]                              |     *((r4 + 0x3e6)) = r3;
                                                                 |     if (r2 == 0) {
    0x0002ed88 movne r5, 0                                       |         r5 = 0;
                                                                 |     }
                                                                 |     if (r2 != 0) {
    0x0002ed8c strbne r3, [r2, 0x20a]                            |         *((r2 + 0x20a)) = r3;
                                                                 |         goto label_297;
                                                                 |     }
                                                                 |     if (r2 != 0) {
                                                                 | label_297:
    0x0002ed90 bne 0x2d7e0                                       |         goto label_2;
                                                                 |     }
    0x0002ed94 b 0x2eb98                                         |     goto label_12;
                                                                 | label_255:
    0x0002ed98 ldr r3, [pc, -0xef8]                              |     
    0x0002ed9c ldr r3, [r7, r3]                                  |     r3 = *((r7 + r3));
    0x0002eda0 ldr r3, [r3]                                      |     
    0x0002eda4 ldr r3, [r3, 8]                                   |     r3 = $a;
    0x0002eda8 tst r3, 8                                         |     
                                                                 |     if ((r3 & 8) == 0) {
    0x0002edac ldrne r3, [r5]                                    |         r3 = *(r5);
                                                                 |     }
                                                                 |     if ((r3 & 8) == 0) {
    0x0002edb0 movne r5, 0                                       |         r5 = 0;
                                                                 |     }
                                                                 |     if ((r3 & 8) != 0) {
    0x0002edb4 strne r3, [r0, 0x414]                             |         *((r0 + 0x414)) = r3;
                                                                 |         goto label_298;
                                                                 |     }
                                                                 |     if ((r3 & 8) != 0) {
                                                                 | label_298:
    0x0002edb8 bne 0x2d7e0                                       |         goto label_2;
                                                                 |     }
    0x0002edbc b 0x2d474                                         |     goto label_14;
                                                                 | label_183:
    0x0002edc0 ldr r3, [pc, -0xf20]                              |     
    0x0002edc4 ldr r3, [r7, r3]                                  |     r3 = *((r7 + r3));
    0x0002edc8 ldr r3, [r3]                                      |     
    0x0002edcc ldr r3, [r3, 8]                                   |     r3 = $a;
    0x0002edd0 tst r3, 8                                         |     
                                                                 |     if ((r3 & 8) == 0) {
    0x0002edd4 ldrne r3, [r2]                                    |         r3 = *(r2);
                                                                 |     }
                                                                 |     if ((r3 & 8) == 0) {
    0x0002edd8 movne r5, 0                                       |         r5 = 0;
                                                                 |     }
                                                                 |     if ((r3 & 8) != 0) {
    0x0002eddc strne r3, [r0, 0x418]                             |         *((r0 + 0x418)) = r3;
                                                                 |         goto label_299;
                                                                 |     }
                                                                 |     if ((r3 & 8) != 0) {
                                                                 | label_299:
    0x0002ede0 bne 0x2d7e0                                       |         goto label_2;
                                                                 |     }
    0x0002ede4 b 0x2d474                                         |     goto label_14;
                                                                 | label_116:
    0x0002ede8 bl 0x37d50                                        |     r0 = Curl_ssl_false_start ();
    0x0002edec cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x0002edf0 beq 0x2d474                                       |         goto label_14;
                                                                 |     }
    0x0002edf4 ldr r3, [r5]                                      |     r3 = *(r5);
    0x0002edf8 mov r5, 0                                         |     r5 = 0;
    0x0002edfc adds r3, r3, 0                                    |     r3 += 0;
                                                                 |     if (r3 == r3) {
    0x0002ee00 movne r3, 1                                       |         r3 = 1;
                                                                 |     }
    0x0002ee04 strb r3, [r4, 0x41d]                              |     *((r4 + 0x41d)) = r3;
    0x0002ee08 b 0x2d7e0                                         |     goto label_2;
                                                                 | label_96:
    0x0002ee0c ldr r3, [pc, 0x630]                               |     
    0x0002ee10 ldr r3, [r7, r3]                                  |     r3 = *((r7 + r3));
    0x0002ee14 ldr r3, [r3]                                      |     
    0x0002ee18 ldr r3, [r3, 8]                                   |     r3 = *(0x2f448);
    0x0002ee1c tst r3, 2                                         |     
                                                                 |     if ((r3 & 2) == 0) {
    0x0002ee20 beq 0x2d474                                       |         goto label_14;
                                                                 |     }
    0x0002ee24 ldr r3, [r5]                                      |     r3 = *(r5);
    0x0002ee28 mov r5, 0                                         |     r5 = 0;
    0x0002ee2c adds r3, r3, 0                                    |     r3 += 0;
                                                                 |     if (r3 == r3) {
    0x0002ee30 movne r3, 1                                       |         r3 = 1;
                                                                 |     }
    0x0002ee34 strb r3, [r0, 0x41c]                              |     *((r0 + 0x41c)) = r3;
    0x0002ee38 b 0x2d7e0                                         |     goto label_2;
                                                                 | label_224:
    0x0002ee3c ldr r3, [pc, 0x600]                               |     
    0x0002ee40 ldr r3, [r7, r3]                                  |     r3 = *((r7 + r3));
    0x0002ee44 ldr r3, [r3]                                      |     
    0x0002ee48 ldr r3, [r3, 8]                                   |     r3 = *(0x2f448);
    0x0002ee4c tst r3, 4                                         |     
                                                                 |     if ((r3 & 4) == 0) {
    0x0002ee50 ldrne r1, [r2]                                    |         r1 = *(r2);
                                                                 |     }
                                                                 |     if ((r3 & 4) != 0) {
    0x0002ee54 addne r0, r0, 0x580                               |         r0 += 0x580;
                                                                 |         goto label_300;
                                                                 |     }
                                                                 |     if ((r3 & 4) != 0) {
                                                                 | label_300:
    0x0002ee58 bne 0x2dc70                                       |         goto label_5;
                                                                 |     }
    0x0002ee5c b 0x2d474                                         |     goto label_14;
                                                                 | label_241:
    0x0002ee60 ldr r3, [pc, 0x5dc]                               |     
    0x0002ee64 ldr r3, [r7, r3]                                  |     r3 = *((r7 + r3));
    0x0002ee68 ldr r3, [r3]                                      |     
    0x0002ee6c ldr r3, [r3, 8]                                   |     r3 = *(0x2f448);
    0x0002ee70 tst r3, 4                                         |     
                                                                 |     if ((r3 & 4) == 0) {
    0x0002ee74 ldrne r1, [r2]                                    |         r1 = *(r2);
                                                                 |     }
                                                                 |     if ((r3 & 4) != 0) {
    0x0002ee78 addne r0, r0, 0x580                               |         r0 += 0x580;
                                                                 |         goto label_301;
                                                                 |     }
                                                                 |     if ((r3 & 4) != 0) {
                                                                 | label_301:
    0x0002ee7c bne 0x2e070                                       |         goto label_10;
                                                                 |     }
    0x0002ee80 b 0x2d474                                         |     goto label_14;
                                                                 | label_161:
    0x0002ee84 ldr r1, [r2]                                      |     r1 = *(r2);
    0x0002ee88 add r0, r0, 0x570                                 |     r0 += 0x570;
    0x0002ee8c b 0x2d6d8                                         |     goto label_1;
                                                                 | label_141:
    0x0002ee90 ldr r3, [pc, 0x5ac]                               |     
    0x0002ee94 ldr r3, [r7, r3]                                  |     r3 = *((r7 + r3));
    0x0002ee98 ldr r3, [r3]                                      |     
    0x0002ee9c ldr r3, [r3, 8]                                   |     r3 = *(0x2f448);
    0x0002eea0 tst r3, 1                                         |     
                                                                 |     if ((r3 & 1) == 0) {
    0x0002eea4 ldrne r1, [r2]                                    |         r1 = *(r2);
                                                                 |     }
                                                                 |     if ((r3 & 1) != 0) {
    0x0002eea8 addne r0, r0, 0x570                               |         r0 += 0x570;
                                                                 |         goto label_302;
                                                                 |     }
                                                                 |     if ((r3 & 1) != 0) {
                                                                 | label_302:
    0x0002eeac bne 0x2dc70                                       |         goto label_5;
                                                                 |     }
    0x0002eeb0 b 0x2d474                                         |     goto label_14;
                                                                 | label_228:
    0x0002eeb4 ldr r3, [pc, 0x588]                               |     
    0x0002eeb8 ldr r3, [r7, r3]                                  |     r3 = *((r7 + r3));
    0x0002eebc ldr r3, [r3]                                      |     
    0x0002eec0 ldr r3, [r3, 8]                                   |     r3 = *(0x2f448);
    0x0002eec4 tst r3, 1                                         |     
                                                                 |     if ((r3 & 1) == 0) {
    0x0002eec8 ldrne r1, [r2]                                    |         r1 = *(r2);
                                                                 |     }
                                                                 |     if ((r3 & 1) != 0) {
    0x0002eecc addne r0, r0, 0x570                               |         r0 += 0x570;
                                                                 |         goto label_303;
                                                                 |     }
                                                                 |     if ((r3 & 1) != 0) {
                                                                 | label_303:
    0x0002eed0 bne 0x2e070                                       |         goto label_10;
                                                                 |     }
    0x0002eed4 b 0x2d474                                         |     goto label_14;
                                                                 | label_174:
    0x0002eed8 ldr r1, [r2]                                      |     r1 = *(r2);
    0x0002eedc add r0, r0, 0x5a0                                 |     r0 += 0x5a0;
    0x0002eee0 b 0x2e070                                         |     goto label_10;
                                                                 | label_64:
    0x0002eee4 ldr r6, [r2]                                      |     r6 = *(r2);
    0x0002eee8 cmp r6, 0x80000                                   |     
                                                                 |     if (r6 <= 0x80000) {
    0x0002eeec movgt r6, 0x80000                                 |         r6 = 0x80000;
                                                                 |     }
                                                                 |     if (r6 <= 0x80000) {
    0x0002eef0 bgt 0x2ef08                                       |         
    0x0002eef4 cmp r6, 0                                         |         
                                                                 |         if (r6 > 0) {
    0x0002eef8 movle r6, 0x4000                                  |             r6 = 0x4000;
                                                                 |         }
                                                                 |         if (r6 <= 0) {
    0x0002eefc ble 0x2ef08                                       |             goto label_304;
                                                                 |         }
    0x0002ef00 cmp r6, 0x400                                     |         
                                                                 |         if (r6 < 0x400) {
    0x0002ef04 movlt r6, 0x400                                   |             r6 = 0x400;
                                                                 |             goto label_304;
                                                                 |         }
                                                                 |     }
                                                                 | label_304:
    0x0002ef08 ldr r3, [r4, 0x498]                               |     r3 = *((r4 + 0x498));
    0x0002ef0c cmp r3, r6                                        |     
                                                                 |     if (r3 != r6) {
    0x0002ef10 beq 0x2ef3c                                       |         
    0x0002ef14 ldr r3, [pc, 0x52c]                               |         
    0x0002ef18 add r1, r6, 1                                     |         r1 = r6 + 1;
    0x0002ef1c ldr r3, [r7, r3]                                  |         r3 = *((r7 + r3));
    0x0002ef20 ldr r0, [r4, 0x7cc]                               |         r0 = *((r4 + 0x7cc));
    0x0002ef24 ldr r3, [r3]                                      |         r3 = $d;
    0x0002ef28 blx r3                                            |         r0 = uint32_t (*r3)(uint32_t, uint32_t, uint32_t) (r0, r1, r3);
    0x0002ef2c cmp r0, 0                                         |         
                                                                 |         if (r0 != 0) {
    0x0002ef30 moveq r5, 0x1b                                    |             r5 = 0x1b;
                                                                 |         }
                                                                 |         if (r0 == 0) {
    0x0002ef34 beq 0x2ef40                                       |             goto label_305;
                                                                 |         }
    0x0002ef38 str r0, [r4, 0x7cc]                               |         *((r4 + 0x7cc)) = r0;
                                                                 |     }
    0x0002ef3c mov r5, 0                                         |     r5 = 0;
                                                                 | label_305:
    0x0002ef40 str r6, [r4, 0x498]                               |     *((r4 + 0x498)) = r6;
    0x0002ef44 b 0x2d7e0                                         |     goto label_2;
                                                                 | label_65:
    0x0002ef48 ldr r3, [r2]                                      |     r3 = *(r2);
    0x0002ef4c mov r5, 0                                         |     r5 = 0;
    0x0002ef50 adds r3, r3, 0                                    |     r3 += 0;
                                                                 |     if (r3 == r3) {
    0x0002ef54 movne r3, 1                                       |         r3 = 1;
                                                                 |     }
    0x0002ef58 strb r3, [r0, 0x4ec]                              |     *((r0 + 0x4ec)) = r3;
    0x0002ef5c b 0x2d7e0                                         |     goto label_2;
                                                                 | label_180:
    0x0002ef60 ldr r3, [r0, 0x6c]                                |     r3 = *((r0 + 0x6c));
    0x0002ef64 ldr r5, [r2]                                      |     r5 = *(r2);
    0x0002ef68 cmp r3, 0                                         |     
                                                                 |     if (r3 != 0) {
    0x0002ef6c beq 0x2efd8                                       |         
    0x0002ef70 mov r2, 2                                         |         r2 = 2;
    0x0002ef74 mov r1, 1                                         |         r1 = 1;
    0x0002ef78 bl 0x21464                                        |         Curl_share_lock ();
    0x0002ef7c ldr r3, [r4, 0x60]                                |         r3 = *((r4 + 0x60));
    0x0002ef80 ldr r2, [r4, 0x690]                               |         r2 = *((r4 + 0x690));
    0x0002ef84 cmp r3, 3                                         |         
                                                                 |         if (r3 != 3) {
    0x0002ef88 moveq r3, 0                                       |             r3 = 0;
                                                                 |         }
                                                                 |         if (r3 != 3) {
    0x0002ef8c streq r3, [r4, 0x5c]                              |             *((r4 + 0x5c)) = r3;
                                                                 |         }
                                                                 |         if (r3 != 3) {
    0x0002ef90 streq r3, [r4, 0x60]                              |             *((r4 + 0x60)) = r3;
                                                                 |         }
    0x0002ef94 ldr r3, [r4, 0x6c]                                |         r3 = *((r4 + 0x6c));
    0x0002ef98 ldr r1, [r3, 0x58]                                |         r1 = *((r3 + 0x58));
    0x0002ef9c ldr r0, [r3, 0x5c]                                |         r0 = *((r3 + 0x5c));
    0x0002efa0 cmp r1, r2                                        |         
                                                                 |         if (r1 != r2) {
    0x0002efa4 moveq r2, 0                                       |             r2 = 0;
                                                                 |         }
                                                                 |         if (r1 != r2) {
    0x0002efa8 streq r2, [r4, 0x690]                             |             *((r4 + 0x690)) = r2;
                                                                 |         }
    0x0002efac add r2, r4, 0x4000                                |         r2 = r4 + 0x4000;
    0x0002efb0 ldr r1, [r2, 0x7ec]                               |         r1 = *((r2 + 0x7ec));
    0x0002efb4 cmp r0, r1                                        |         
                                                                 |         if (r0 != r1) {
    0x0002efb8 moveq r1, 0                                       |             r1 = 0;
                                                                 |         }
                                                                 |         if (r0 != r1) {
    0x0002efbc streq r1, [r2, 0x7ec]                             |             *((r2 + 0x7ec)) = r1;
                                                                 |         }
    0x0002efc0 ldr r2, [r3, 4]                                   |         r2 = *((r3 + 4));
    0x0002efc4 mov r1, 1                                         |         r1 = 1;
    0x0002efc8 sub r2, r2, 1                                     |         r2--;
    0x0002efcc str r2, [r3, 4]                                   |         *((r3 + 4)) = r2;
    0x0002efd0 mov r0, r4                                        |         r0 = r4;
    0x0002efd4 bl 0x214ac                                        |         Curl_share_unlock ();
                                                                 |     }
    0x0002efd8 cmp r5, 0                                         |     
    0x0002efdc str r5, [r4, 0x6c]                                |     *((r4 + 0x6c)) = r5;
                                                                 |     if (r5 == 0) {
    0x0002efe0 beq 0x2eb98                                       |         goto label_12;
                                                                 |     }
    0x0002efe4 mov r2, 2                                         |     r2 = 2;
    0x0002efe8 mov r1, 1                                         |     r1 = 1;
    0x0002efec mov r0, r4                                        |     r0 = r4;
    0x0002eff0 bl 0x21464                                        |     Curl_share_lock ();
    0x0002eff4 ldr r3, [r4, 0x6c]                                |     r3 = *((r4 + 0x6c));
    0x0002eff8 ldr r2, [r3, 4]                                   |     r2 = *((r3 + 4));
    0x0002effc add r2, r2, 1                                     |     r2++;
    0x0002f000 str r2, [r3, 4]                                   |     *((r3 + 4)) = r2;
    0x0002f004 ldr r2, [r3]                                      |     r2 = *(r3);
    0x0002f008 tst r2, 8                                         |     
                                                                 |     if ((r2 & 8) == 0) {
    0x0002f00c addne r2, r3, 0x40                                |         r2 = r3 + 0x40;
                                                                 |     }
    0x0002f010 ldr r3, [r3, 0x58]                                |     r3 = *((r3 + 0x58));
                                                                 |     if ((r2 & 8) == 0) {
    0x0002f014 strne r2, [r4, 0x5c]                              |         *((r4 + 0x5c)) = r2;
                                                                 |     }
                                                                 |     if ((r2 & 8) == 0) {
    0x0002f018 movne r2, 3                                       |         r2 = 3;
                                                                 |     }
                                                                 |     if ((r2 & 8) == 0) {
    0x0002f01c strne r2, [r4, 0x60]                              |         *((r4 + 0x60)) = r2;
                                                                 |     }
    0x0002f020 cmp r3, 0                                         |     
                                                                 |     if (r3 != 0) {
    0x0002f024 beq 0x2f03c                                       |         
    0x0002f028 ldr r0, [r4, 0x690]                               |         r0 = *((r4 + 0x690));
    0x0002f02c bl 0xb210                                         |         Curl_cookie_cleanup ();
    0x0002f030 ldr r3, [r4, 0x6c]                                |         r3 = *((r4 + 0x6c));
    0x0002f034 ldr r3, [r3, 0x58]                                |         r3 = *((r3 + 0x58));
    0x0002f038 str r3, [r4, 0x690]                               |         *((r4 + 0x690)) = r3;
                                                                 |     }
    0x0002f03c ldr r2, [r4, 0x6c]                                |     r2 = *((r4 + 0x6c));
    0x0002f040 mov r1, 1                                         |     r1 = 1;
    0x0002f044 ldr r3, [r2, 0x5c]                                |     r3 = *((r2 + 0x5c));
    0x0002f048 mov r0, r4                                        |     r0 = r4;
    0x0002f04c cmp r3, 0                                         |     
                                                                 |     if (r3 == 0) {
    0x0002f050 ldrne r2, [r2, 0x60]                              |         r2 = *((r2 + 0x60));
                                                                 |     }
    0x0002f054 mov r5, 0                                         |     r5 = 0;
                                                                 |     if (r3 == 0) {
    0x0002f058 strne r2, [r4, 0x48c]                             |         *((r4 + 0x48c)) = r2;
                                                                 |     }
                                                                 |     if (r3 == 0) {
    0x0002f05c addne r2, r4, 0x4000                              |         r2 = r4 + 0x4000;
                                                                 |     }
                                                                 |     if (r3 == 0) {
    0x0002f060 strne r3, [r2, 0x7ec]                             |         *((r2 + 0x7ec)) = r3;
                                                                 |     }
    0x0002f064 bl 0x214ac                                        |     Curl_share_unlock ();
    0x0002f068 b 0x2d7e0                                         |     goto label_2;
                                                                 | label_178:
    0x0002f06c ldr r3, [r2]                                      |     r3 = *(r2);
    0x0002f070 mov r5, 0                                         |     r5 = 0;
    0x0002f074 str r3, [r0, 0x49c]                               |     *((r0 + 0x49c)) = r3;
    0x0002f078 b 0x2d7e0                                         |     goto label_2;
                                                                 | label_66:
    0x0002f07c ldr r2, [r2]                                      |     r2 = *(r2);
    0x0002f080 cmp r2, 0                                         |     
                                                                 |     if (r2 >= 0) {
    0x0002f084 movlt r5, 0x2b                                    |         r5 = 0x2b;
                                                                 |     }
                                                                 |     if (r2 < 0) {
    0x0002f088 addge r4, r0, 0x4b0                               |         r4 = r0 + 0x4b0;
                                                                 |     }
    0x0002f08c asrge r3, r2, 0x1f                                |     __asm ("asrge r3, r2, 0x1f");
    0x0002f090 strdge r2, r3, [r4, -8]                           |     __asm ("strdge r2, r3, [r4, -8]");
                                                                 |     if (r2 < 0) {
    0x0002f094 movge r5, 0                                       |         r5 = 0;
                                                                 |     }
    0x0002f098 b 0x2d7e0                                         |     goto label_2;
                                                                 | label_107:
    0x0002f09c ldr r3, [r5]                                      |     r3 = *(r5);
    0x0002f0a0 mov r5, 0                                         |     r5 = 0;
    0x0002f0a4 and r2, r3, 1                                     |     r2 = r3 & 1;
    0x0002f0a8 lsr r3, r3, 1                                     |     r3 >>= 1;
    0x0002f0ac and r3, r3, 1                                     |     r3 &= 1;
    0x0002f0b0 strb r2, [r0, 0x404]                              |     *((r0 + 0x404)) = r2;
    0x0002f0b4 strb r3, [r0, 0x405]                              |     *((r0 + 0x405)) = r3;
    0x0002f0b8 b 0x2d7e0                                         |     goto label_2;
                                                                 | label_109:
    0x0002f0bc ldr r3, [r2]                                      |     r3 = *(r2);
    0x0002f0c0 mov r5, 0                                         |     r5 = 0;
    0x0002f0c4 and r2, r3, 1                                     |     r2 = r3 & 1;
    0x0002f0c8 lsr r3, r3, 1                                     |     r3 >>= 1;
    0x0002f0cc and r3, r3, 1                                     |     r3 &= 1;
    0x0002f0d0 strb r2, [r0, 0x45c]                              |     *((r0 + 0x45c)) = r2;
    0x0002f0d4 strb r3, [r0, 0x45d]                              |     *((r0 + 0x45d)) = r3;
    0x0002f0d8 b 0x2d7e0                                         |     goto label_2;
                                                                 | label_79:
    0x0002f0dc ldr r3, [r2]                                      |     r3 = *(r2);
    0x0002f0e0 cmp r3, 2                                         |     
                                                                 |     if (r3 > 2) {
    0x0002f0e4 strls r3, [r0, 0x4e4]                             |         *((r0 + 0x4e4)) = r3;
                                                                 |     }
                                                                 |     if (r3 > 2) {
    0x0002f0e8 movls r5, 0                                       |         r5 = 0;
                                                                 |     }
                                                                 |     if (r3 <= 2) {
    0x0002f0ec movhi r5, 0x2b                                    |         r5 = 0x2b;
                                                                 |     }
    0x0002f0f0 b 0x2d7e0                                         |     goto label_2;
                                                                 | label_73:
    0x0002f0f4 ldr r3, [r2]                                      |     r3 = *(r2);
    0x0002f0f8 cmp r3, 2                                         |     
                                                                 |     if (r3 > 2) {
    0x0002f0fc strls r3, [r0, 0x4a4]                             |         *((r0 + 0x4a4)) = r3;
                                                                 |     }
                                                                 |     if (r3 > 2) {
    0x0002f100 movls r5, 0                                       |         r5 = 0;
                                                                 |     }
                                                                 |     if (r3 <= 2) {
    0x0002f104 movhi r5, 0x2b                                    |         r5 = 0x2b;
                                                                 |     }
    0x0002f108 b 0x2d7e0                                         |     goto label_2;
                                                                 | label_274:
    0x0002f10c add r3, r5, 7                                     |     r3 = r5 + 7;
    0x0002f110 bic r3, r3, 7                                     |     r3 = BIT_MASK (r3, 7);
    0x0002f114 ldrd r2, r3, [r3]                                 |     __asm ("ldrd r2, r3, [r3]");
    0x0002f118 cmp r2, 0                                         |     
    0x0002f11c sbcs r1, r3, 0                                    |     __asm ("sbcs r1, r3, 0");
                                                                 |     if (r2 >= 0) {
    0x0002f120 movlt r5, 0x2b                                    |         r5 = 0x2b;
                                                                 |     }
                                                                 |     if (r2 < 0) {
    0x0002f124 addge r4, r0, 0x4b0                               |         r4 = r0 + 0x4b0;
                                                                 |     }
    0x0002f128 strdge r2, r3, [r4, -8]                           |     __asm ("strdge r2, r3, [r4, -8]");
                                                                 |     if (r2 < 0) {
    0x0002f12c movge r5, 0                                       |         r5 = 0;
                                                                 |     }
    0x0002f130 b 0x2d7e0                                         |     goto label_2;
                                                                 | label_78:
    0x0002f134 ldr r3, [r2]                                      |     r3 = *(r2);
    0x0002f138 mov r5, 0                                         |     r5 = 0;
    0x0002f13c adds r3, r3, 0                                    |     r3 += 0;
                                                                 |     if (r3 == r3) {
    0x0002f140 movne r3, 1                                       |         r3 = 1;
                                                                 |     }
    0x0002f144 strb r3, [r0, 0x4ee]                              |     *((r0 + 0x4ee)) = r3;
    0x0002f148 b 0x2d7e0                                         |     goto label_2;
                                                                 | label_76:
    0x0002f14c ldr r3, [r2]                                      |     r3 = *(r2);
    0x0002f150 mov r5, 0                                         |     r5 = 0;
    0x0002f154 adds r3, r3, 0                                    |     r3 += 0;
                                                                 |     if (r3 == r3) {
    0x0002f158 movne r3, 1                                       |         r3 = 1;
                                                                 |     }
    0x0002f15c strb r3, [r0, 0x4ef]                              |     *((r0 + 0x4ef)) = r3;
    0x0002f160 b 0x2d7e0                                         |     goto label_2;
                                                                 | label_89:
    0x0002f164 ldr r3, [r5]                                      |     r3 = *(r5);
    0x0002f168 mov r5, 0                                         |     r5 = 0;
    0x0002f16c adds r3, r3, 0                                    |     r3 += 0;
                                                                 |     if (r3 == r3) {
    0x0002f170 movne r3, 1                                       |         r3 = 1;
                                                                 |     }
    0x0002f174 strb r3, [r0, 0x4f1]                              |     *((r0 + 0x4f1)) = r3;
    0x0002f178 b 0x2d7e0                                         |     goto label_2;
                                                                 | label_189:
    0x0002f17c ldr r1, [r2]                                      |     r1 = *(r2);
    0x0002f180 add r0, r0, 0x530                                 |     r0 += 0x530;
    0x0002f184 b 0x2e070                                         |     goto label_10;
                                                                 | label_186:
    0x0002f188 ldr r3, [r2]                                      |     r3 = *(r2);
    0x0002f18c mov r5, 0                                         |     r5 = 0;
    0x0002f190 str r3, [r0, 0x1b4]                               |     *((r0 + 0x1b4)) = r3;
    0x0002f194 b 0x2d7e0                                         |     goto label_2;
                                                                 | label_243:
    0x0002f198 ldr r3, [r2]                                      |     r3 = *(r2);
    0x0002f19c mov r5, 0                                         |     r5 = 0;
    0x0002f1a0 str r3, [r0, 0x1b8]                               |     *((r0 + 0x1b8)) = r3;
    0x0002f1a4 b 0x2d7e0                                         |     goto label_2;
                                                                 | label_249:
    0x0002f1a8 ldr r3, [r2]                                      |     r3 = *(r2);
    0x0002f1ac mov r5, 0                                         |     r5 = 0;
    0x0002f1b0 str r3, [r0, 0x66c]                               |     *((r0 + 0x66c)) = r3;
    0x0002f1b4 b 0x2d7e0                                         |     goto label_2;
                                                                 | label_217:
    0x0002f1b8 ldr r3, [r2]                                      |     r3 = *(r2);
    0x0002f1bc mov r5, 0                                         |     r5 = 0;
    0x0002f1c0 str r3, [r0, 0x1c4]                               |     *((r0 + 0x1c4)) = r3;
    0x0002f1c4 b 0x2d7e0                                         |     goto label_2;
                                                                 | label_91:
    0x0002f1c8 clz r3, r3                                        |     r3 &= r3;
    0x0002f1cc lsr r3, r3, 5                                     |     r3 >>= 5;
    0x0002f1d0 strb r3, [r0, 0x4f8]                              |     *((r0 + 0x4f8)) = r3;
    0x0002f1d4 mov r5, 0                                         |     r5 = 0;
    0x0002f1d8 b 0x2d7e0                                         |     goto label_2;
                                                                 | label_85:
    0x0002f1dc ldr r3, [r5]                                      |     r3 = *(r5);
    0x0002f1e0 mov r5, 0                                         |     r5 = 0;
    0x0002f1e4 clz r3, r3                                        |     r3 &= r3;
    0x0002f1e8 lsr r3, r3, 5                                     |     r3 >>= 5;
    0x0002f1ec strb r3, [r0, 0x4f9]                              |     *((r0 + 0x4f9)) = r3;
    0x0002f1f0 b 0x2d7e0                                         |     goto label_2;
                                                                 | label_95:
    0x0002f1f4 ldr r3, [r5]                                      |     r3 = *(r5);
    0x0002f1f8 cmp r3, 0x200                                     |     
                                                                 |     if (r3 >= 0x200) {
    0x0002f1fc strlo r3, [r0, 0x4fc]                             |         *((r0 + 0x4fc)) = r3;
                                                                 |     }
                                                                 |     if (r3 >= 0x200) {
    0x0002f200 movlo r5, 0                                       |         r5 = 0;
                                                                 |     }
                                                                 |     if (r3 < 0x200) {
    0x0002f204 movhs r5, 0x2b                                    |         r5 = 0x2b;
                                                                 |     }
    0x0002f208 b 0x2d7e0                                         |     goto label_2;
                                                                 | label_94:
    0x0002f20c ldr r3, [r5]                                      |     r3 = *(r5);
    0x0002f210 cmp r3, 0x200                                     |     
                                                                 |     if (r3 >= 0x200) {
    0x0002f214 strlo r3, [r0, 0x500]                             |         *((r0 + 0x500)) = r3;
                                                                 |     }
                                                                 |     if (r3 >= 0x200) {
    0x0002f218 movlo r5, 0                                       |         r5 = 0;
                                                                 |     }
                                                                 |     if (r3 < 0x200) {
    0x0002f21c movhs r5, 0x2b                                    |         r5 = 0x2b;
                                                                 |     }
    0x0002f220 b 0x2d7e0                                         |     goto label_2;
                                                                 | label_193:
    0x0002f224 ldr r1, [r2]                                      |     r1 = *(r2);
    0x0002f228 add r0, r0, 0x5e0                                 |     r0 += 0x5e0;
    0x0002f22c b 0x2dc70                                         |     goto label_5;
                                                                 | label_215:
    0x0002f230 ldr r1, [r2]                                      |     r1 = *(r2);
    0x0002f234 add r0, r0, 0x5e0                                 |     r0 += 0x5e0;
    0x0002f238 b 0x2e070                                         |     goto label_10;
                                                                 | label_100:
    0x0002f23c ldr r3, [r5]                                      |     r3 = *(r5);
    0x0002f240 sub r3, r3, 1                                     |     r3--;
    0x0002f244 cmp r3, 0xa                                       |     
                                                                 |     if (r3 <= 0xa) {
    0x0002f248 movhi r3, 0                                       |         r3 = 0;
                                                                 |     }
                                                                 |     if (r3 > 0xa) {
    0x0002f24c ldrls r2, [pc, 0x1f8]                             |         r2 = *((pc + 0x1f8));
                                                                 |     }
                                                                 |     if (r3 > 0xa) {
    0x0002f250 addls r2, pc, r2                                  |         r2 = pc + r2;
                                                                 |     }
                                                                 |     if (r3 > 0xa) {
    0x0002f254 ldrbls r3, [r2, r3]                               |         r3 = *((r2 + r3));
                                                                 |     }
    0x0002f258 str r3, [r4, 0x610]                               |     *((r4 + 0x610)) = r3;
    0x0002f25c mov r5, 0                                         |     r5 = 0;
    0x0002f260 b 0x2d7e0                                         |     goto label_2;
                                                                 | label_204:
    0x0002f264 ldr r1, [r2]                                      |     r1 = *(r2);
    0x0002f268 add r0, r0, 0x5c0                                 |     r0 += 0x5c0;
    0x0002f26c b 0x2da00                                         |     goto label_4;
                                                                 | label_205:
    0x0002f270 ldr r1, [r2]                                      |     r1 = *(r2);
    0x0002f274 add r0, r0, 0x5d0                                 |     r0 += 0x5d0;
    0x0002f278 b 0x2dc70                                         |     goto label_5;
                                                                 | label_202:
    0x0002f27c ldr r1, [r2]                                      |     r1 = *(r2);
    0x0002f280 add r0, r0, 0x5d0                                 |     r0 += 0x5d0;
    0x0002f284 b 0x2e070                                         |     goto label_10;
                                                                 | label_102:
    0x0002f288 ldr r3, [r5]                                      |     r3 = *(r5);
    0x0002f28c add r4, r0, 0x4000                                |     r4 = r0 + 0x4000;
    0x0002f290 str r3, [r4, 0xa00]                               |     *((r4 + 0xa00)) = r3;
    0x0002f294 mov r5, 0                                         |     r5 = 0;
    0x0002f298 b 0x2d7e0                                         |     goto label_2;
                                                                 | label_207:
    0x0002f29c ldr r3, [r2]                                      |     r3 = *(r2);
    0x0002f2a0 add r4, r0, 0x4000                                |     r4 = r0 + 0x4000;
    0x0002f2a4 str r3, [r4, 0xa5c]                               |     *((r4 + 0xa5c)) = r3;
    0x0002f2a8 mov r5, 0                                         |     r5 = 0;
    0x0002f2ac b 0x2d7e0                                         |     goto label_2;
                                                                 | label_218:
    0x0002f2b0 ldr r1, [r2]                                      |     r1 = *(r2);
    0x0002f2b4 add sp, sp, 0x10                                  |     
    0x0002f2b8 pop {r4, r5, r6, r7, r8, lr}                      |     
    0x0002f2bc b 0x26b5c                                         |     void (*0x26b5c)() ();
                                                                 | label_219:
    0x0002f2c0 ldr r1, [r2]                                      |     r1 = *(r2);
    0x0002f2c4 add sp, sp, 0x10                                  |     
    0x0002f2c8 pop {r4, r5, r6, r7, r8, lr}                      |     
    0x0002f2cc b 0x26b64                                         |     void (*0x26b64)() ();
                                                                 | label_213:
    0x0002f2d0 ldr r1, [r2]                                      |     r1 = *(r2);
    0x0002f2d4 add sp, sp, 0x10                                  |     
    0x0002f2d8 pop {r4, r5, r6, r7, r8, lr}                      |     
    0x0002f2dc b 0x26b6c                                         |     void (*0x26b6c)() ();
                                                                 | label_106:
    0x0002f2e0 ldr r3, [r5]                                      |     r3 = *(r5);
    0x0002f2e4 mov r5, 0                                         |     r5 = 0;
    0x0002f2e8 adds r3, r3, 0                                    |     r3 += 0;
                                                                 |     if (r3 == r3) {
    0x0002f2ec movne r3, 1                                       |         r3 = 1;
                                                                 |     }
    0x0002f2f0 strb r3, [r0, 0x630]                              |     *((r0 + 0x630)) = r3;
    0x0002f2f4 b 0x2d7e0                                         |     goto label_2;
                                                                 | label_103:
    0x0002f2f8 ldr r3, [r5]                                      |     r3 = *(r5);
    0x0002f2fc cmp r3, 0                                         |     
                                                                 |     if (r3 < 0) {
    0x0002f300 strge r3, [r0, 0x634]                             |         *((r0 + 0x634)) = r3;
                                                                 |     }
                                                                 |     if (r3 < 0) {
    0x0002f304 movge r5, 0                                       |         r5 = 0;
                                                                 |     }
                                                                 |     if (r3 >= 0) {
    0x0002f308 movlt r5, 0x2b                                    |         r5 = 0x2b;
                                                                 |     }
    0x0002f30c b 0x2d7e0                                         |     goto label_2;
                                                                 | label_108:
    0x0002f310 ldr r3, [r5]                                      |     r3 = *(r5);
    0x0002f314 cmp r3, 0                                         |     
                                                                 |     if (r3 < 0) {
    0x0002f318 strge r3, [r0, 0x638]                             |         *((r0 + 0x638)) = r3;
                                                                 |     }
                                                                 |     if (r3 < 0) {
    0x0002f31c movge r5, 0                                       |         r5 = 0;
                                                                 |     }
                                                                 |     if (r3 >= 0) {
    0x0002f320 movlt r5, 0x2b                                    |         r5 = 0x2b;
                                                                 |     }
    0x0002f324 b 0x2d7e0                                         |     goto label_2;
                                                                 | label_122:
    0x0002f328 ldr r3, [r2]                                      |     r3 = *(r2);
    0x0002f32c mov r5, 0                                         |     r5 = 0;
    0x0002f330 adds r3, r3, 0                                    |     r3 += 0;
                                                                 |     if (r3 == r3) {
    0x0002f334 movne r3, 1                                       |         r3 = 1;
                                                                 |     }
    0x0002f338 strb r3, [r0, 0x63c]                              |     *((r0 + 0x63c)) = r3;
    0x0002f33c b 0x2d7e0                                         |     goto label_2;
                                                                 | label_82:
    0x0002f340 ldr r3, [r2]                                      |     r3 = *(r2);
    0x0002f344 mov r5, 0                                         |     r5 = 0;
    0x0002f348 adds r3, r3, 0                                    |     r3 += 0;
                                                                 |     if (r3 == r3) {
    0x0002f34c movne r3, 1                                       |         r3 = 1;
                                                                 |     }
    0x0002f350 strb r3, [r0, 0x644]                              |     *((r0 + 0x644)) = r3;
    0x0002f354 b 0x2d7e0                                         |     goto label_2;
                                                                 | label_115:
    0x0002f358 ldr r3, [r2]                                      |     r3 = *(r2);
    0x0002f35c mov r5, 0                                         |     r5 = 0;
    0x0002f360 adds r3, r3, 0                                    |     r3 += 0;
                                                                 |     if (r3 == r3) {
    0x0002f364 movne r3, 1                                       |         r3 = 1;
                                                                 |     }
    0x0002f368 strb r3, [r0, 0x645]                              |     *((r0 + 0x645)) = r3;
    0x0002f36c b 0x2d7e0                                         |     goto label_2;
                                                                 | label_221:
    0x0002f370 mov r3, 0                                         |     r3 = 0;
                                                                 |     do {
    0x0002f374 strb r3, [r4, 0x664]                              |         *((r4 + 0x664)) = r3;
    0x0002f378 ldr r1, [r5]                                      |         r1 = *(r5);
    0x0002f37c add r0, r4, 0x5e0                                 |         r0 = r4 + 0x5e0;
    0x0002f380 b 0x2da00                                         |         goto label_4;
                                                                 | label_240:
    0x0002f384 mov r3, 1                                         |         r3 = 1;
    0x0002f388 b 0x2f374                                         |         
                                                                 |     } while (1);
                                                                 | label_117:
    0x0002f38c ldr r3, [r2]                                      |     r3 = *(r2);
    0x0002f390 mov r5, 0                                         |     r5 = 0;
    0x0002f394 adds r3, r3, 0                                    |     r3 += 0;
                                                                 |     if (r3 == r3) {
    0x0002f398 movne r3, 1                                       |         r3 = 1;
                                                                 |     }
    0x0002f39c strb r3, [r0, 0x646]                              |     *((r0 + 0x646)) = r3;
    0x0002f3a0 b 0x2d7e0                                         |     goto label_2;
                                                                 | label_111:
    0x0002f3a4 ldr r3, [r2]                                      |     r3 = *(r2);
    0x0002f3a8 mov r5, 0                                         |     r5 = 0;
    0x0002f3ac adds r3, r3, 0                                    |     r3 += 0;
                                                                 |     if (r3 == r3) {
    0x0002f3b0 movne r3, 1                                       |         r3 = 1;
                                                                 |     }
    0x0002f3b4 strb r3, [r0, 0x647]                              |     *((r0 + 0x647)) = r3;
    0x0002f3b8 b 0x2d7e0                                         |     goto label_2;
                                                                 | label_230:
    0x0002f3bc ldr r3, [r2]                                      |     r3 = *(r2);
    0x0002f3c0 mov r5, 0                                         |     r5 = 0;
    0x0002f3c4 str r3, [r0, 0x3c4]                               |     *((r0 + 0x3c4)) = r3;
    0x0002f3c8 b 0x2d7e0                                         |     goto label_2;
                                                                 | label_130:
    0x0002f3cc ldr r3, [r2]                                      |     r3 = *(r2);
    0x0002f3d0 mov r5, 0                                         |     r5 = 0;
    0x0002f3d4 adds r3, r3, 0                                    |     r3 += 0;
                                                                 |     if (r3 == r3) {
    0x0002f3d8 movne r3, 1                                       |         r3 = 1;
                                                                 |     }
    0x0002f3dc strb r3, [r0, 0x4c0]                              |     *((r0 + 0x4c0)) = r3;
    0x0002f3e0 b 0x2d7e0                                         |     goto label_2;
                                                                 | label_127:
    0x0002f3e4 ldr r3, [r2]                                      |     r3 = *(r2);
    0x0002f3e8 cmp r3, 0                                         |     
                                                                 |     if (r3 < 0) {
    0x0002f3ec strge r3, [r0, 0x1ec]                             |         *((r0 + 0x1ec)) = r3;
                                                                 |     }
                                                                 |     if (r3 < 0) {
    0x0002f3f0 movge r5, 0                                       |         r5 = 0;
                                                                 |     }
                                                                 |     if (r3 >= 0) {
    0x0002f3f4 movlt r5, 0x2b                                    |         r5 = 0x2b;
                                                                 |     }
    0x0002f3f8 b 0x2d7e0                                         |     goto label_2;
                                                                 | label_131:
    0x0002f3fc ldr r3, [r2]                                      |     r3 = *(r2);
    0x0002f400 mov r5, 0                                         |     r5 = 0;
    0x0002f404 adds r3, r3, 0                                    |     r3 += 0;
                                                                 |     if (r3 == r3) {
    0x0002f408 movne r3, 1                                       |         r3 = 1;
                                                                 |     }
    0x0002f40c strb r3, [r0, 0x64d]                              |     *((r0 + 0x64d)) = r3;
    0x0002f410 b 0x2d7e0                                         |     goto label_2;
                                                                 | label_132:
    0x0002f414 ldr r3, [r2]                                      |     r3 = *(r2);
    0x0002f418 mov r5, 0                                         |     r5 = 0;
    0x0002f41c adds r3, r3, 0                                    |     r3 += 0;
                                                                 |     if (r3 == r3) {
    0x0002f420 movne r3, 1                                       |         r3 = 1;
                                                                 |     }
    0x0002f424 strb r3, [r0, 0x670]                              |     *((r0 + 0x670)) = r3;
    0x0002f428 b 0x2d7e0                                         |     goto label_2;
                                                                 | label_290:
    0x0002f42c str r5, [r4, 0x154]                               |     *((r4 + 0x154)) = r5;
    0x0002f430 mov r5, 0                                         |     r5 = 0;
    0x0002f434 b 0x2d7e0                                         |     goto label_2;
                                                                 | label_74:
    0x0002f438 str r5, [r4, 0x158]                               |     *((r4 + 0x158)) = r5;
    0x0002f43c mov r5, 0                                         |     r5 = 0;
    0x0002f440 b 0x2d7e0                                         |     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/lib/libcurl.so @ 0x22dac */
                                                     | #include <stdint.h>
                                                     |  
    ; (fcn) sym.Curl_wait_ms ()                      | void Curl_wait_ms (int32_t arg1) {
                                                     |     int32_t var_0h;
                                                     |     int32_t var_8h;
                                                     |     int32_t var_ch;
                                                     |     int32_t var_10h;
                                                     |     int32_t var_18h;
                                                     |     int32_t var_24h;
                                                     |     r0 = arg1;
    0x00022dac push {r4, r5, r6, r7, r8, sb, lr}     |     
    0x00022db0 subs r5, r0, 0                        |     r5 = r0 - 0;
    0x00022db4 sub sp, sp, 0x24                      |     
                                                     |     if (r5 != r0) {
    0x00022db8 beq 0x22dd0                           |         
                                                     |         if (r5 >= r0) {
    0x00022dbc bge 0x22ddc                           |             goto label_1;
                                                     |         }
    0x00022dc0 bl 0x4eb4                             |         errno_location ();
    0x00022dc4 mvn r5, 0                             |         r5 = ~0;
    0x00022dc8 mov r3, 0x16                          |         r3 = 0x16;
    0x00022dcc str r3, [r0]                          |         *(r0) = r3;
                                                     |     }
                                                     | label_0:
    0x00022dd0 mov r0, r5                            |     r0 = r5;
    0x00022dd4 add sp, sp, 0x24                      |     
    0x00022dd8 pop {r4, r5, r6, r7, r8, sb, pc}      |     
                                                     | label_1:
    0x00022ddc add r6, sp, 0x10                      |     r6 += var_10h;
    0x00022de0 mov r0, r6                            |     r0 = r6;
    0x00022de4 bl 0x69f0                             |     Curl_now ();
    0x00022de8 ldr sb, [pc, 0xb4]                    |     sb = *(0x22ea0);
    0x00022dec mov r4, r5                            |     r4 = r5;
    0x00022df0 mov r8, 0x3e8                         |     r8 = 0x3e8;
    0x00022df4 add r7, sp, 8                         |     r7 += var_8h;
    0x00022df8 add sb, pc, sb                        |     sb = pc + sb;
                                                     |     do {
    0x00022dfc mov r1, 0x3e8                         |         r1 = 0x3e8;
    0x00022e00 mov r0, r4                            |         r0 = r4;
    0x00022e04 bl 0x37f24                            |         divsi3 ();
    0x00022e08 mov r1, 0x3e8                         |         r1 = 0x3e8;
    0x00022e0c str r0, [sp, 8]                       |         var_8h = r0;
    0x00022e10 mov r0, r4                            |         r0 = r4;
    0x00022e14 bl 0x38000                            |         aeabi_idivmod ();
    0x00022e18 str r7, [sp]                          |         *(sp) = r7;
    0x00022e1c mul r3, r8, r1                        |         r3 = r8 * r1;
    0x00022e20 str r3, [sp, 0xc]                     |         var_ch = r3;
    0x00022e24 mov r3, 0                             |         r3 = 0;
    0x00022e28 mov r2, r3                            |         r2 = r3;
    0x00022e2c mov r1, r3                            |         r1 = r3;
    0x00022e30 mov r0, r3                            |         r0 = r3;
    0x00022e34 bl 0x5364                             |         r0 = select ();
    0x00022e38 cmn r0, 1                             |         
    0x00022e3c mov r4, r0                            |         r4 = r0;
                                                     |         if (r0 != 1) {
    0x00022e40 bne 0x22e90                           |             goto label_2;
                                                     |         }
    0x00022e44 bl 0x4eb4                             |         r0 = errno_location ();
    0x00022e48 ldr r3, [r0]                          |         r3 = *(r0);
    0x00022e4c cmp r3, 0                             |         
                                                     |         if (r3 != 0) {
    0x00022e50 beq 0x22e64                           |             
    0x00022e54 ldr r2, [sb]                          |             r2 = *(sb);
    0x00022e58 cmp r3, 4                             |             
    0x00022e5c cmpeq r2, 0                           |             __asm ("cmpeq r2, 0");
                                                     |             if (r3 != 4) {
    0x00022e60 bne 0x22e9c                           |                 goto label_3;
                                                     |             }
                                                     |         }
    0x00022e64 add r4, sp, 0x18                      |         r4 += var_18h;
    0x00022e68 mov r0, r4                            |         r0 = r4;
    0x00022e6c bl 0x69f0                             |         r0 = Curl_now ();
    0x00022e70 ldm r4, {r0, r1}                      |         r0 = *(r4);
                                                     |         r1 = *((r4 + 4));
    0x00022e74 ldm r6, {r2, r3}                      |         r2 = *(r6);
                                                     |         r3 = *((r6 + 4));
    0x00022e78 bl 0x6a20                             |         r0 = Curl_timediff ();
    0x00022e7c sub r4, r5, r0                        |         r4 = r5 - r0;
    0x00022e80 cmp r4, 0                             |         
    0x00022e84 bgt 0x22dfc                           |         
                                                     |     } while (r4 > 0);
    0x00022e88 mov r4, 0                             |     r4 = 0;
    0x00022e8c b 0x22e9c                             |     goto label_3;
                                                     | label_2:
    0x00022e90 adds r4, r0, 0                        |     r4 = r0 + 0;
                                                     |     if (r4 == r0) {
    0x00022e94 movne r4, 1                           |         r4 = 1;
                                                     |     }
    0x00022e98 rsb r4, r4, 0                         |     r4 -= ;
                                                     | label_3:
    0x00022e9c mov r5, r4                            |     r5 = r4;
    0x00022ea0 b 0x22dd0                             |     goto label_0;
                                                     | }
    ; 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/lib/libcurl.so @ 0x2ff80 */
                                                             | #include <stdint.h>
                                                             |  
                                                             | #define BIT_MASK(t,v) ((t)(-((v)!= 0)))&(((t)-1)>>((sizeof(t)*CHAR_BIT)-(v)))
                                                             |  
    ; (fcn) sym._Curl_auth_create_digest_http_message ()     | void Curl_auth_create_digest_http_message (int32_t arg_180h, int32_t arg_184h, int32_t arg_188h, int32_t arg_18ch, int32_t arg_190h, int32_t arg_194h, int32_t arg1, int32_t arg2) {
                                                             |     int32_t var_0h;
                                                             |     int32_t var_4h;
                                                             |     int32_t var_8h;
                                                             |     int32_t var_ch;
                                                             |     int32_t var_10h;
                                                             |     int32_t var_1ch;
                                                             |     int32_t var_20h;
                                                             |     int32_t var_24h;
                                                             |     size_t nmeb;
                                                             |     size_t var_48h;
                                                             |     size_t size;
                                                             |     int32_t var_d0h;
                                                             |     char * s;
                                                             |     int32_t var_15ch;
                                                             |     r0 = arg1;
                                                             |     r1 = arg2;
    0x0002ff80 push {r4, r5, r6, r7, r8, sb, sl, fp, lr}     |     
    0x0002ff84 ldr sl, [pc, 0x4e8]                           |     sl = *(0x30470);
    0x0002ff88 sub sp, sp, 0x15c                             |     
    0x0002ff8c ldr r4, [sp, 0x184]                           |     r4 = *(arg_184h);
    0x0002ff90 str r3, [sp, 0x1c]                            |     var_1ch = r3;
    0x0002ff94 mov r3, 0                                     |     r3 = 0;
    0x0002ff98 str r3, [sp, 0x20]                            |     var_20h = r3;
    0x0002ff9c str r3, [sp, 0x24]                            |     var_24h = r3;
    0x0002ffa0 ldr r3, [r4, 0x20]                            |     r3 = *((r4 + 0x20));
    0x0002ffa4 add sl, pc, sl                                |     sl = pc + sl;
    0x0002ffa8 cmp r3, 0                                     |     
                                                             |     if (r3 != 0) {
    0x0002ffac moveq r3, 1                                   |         r3 = 1;
                                                             |     }
                                                             |     if (r3 != 0) {
    0x0002ffb0 streq r3, [r4, 0x20]                          |         *((r4 + 0x20)) = r3;
                                                             |     }
    0x0002ffb4 ldr r3, [r4, 4]                               |     r3 = *((r4 + 4));
    0x0002ffb8 mov sb, r0                                    |     sb = r0;
    0x0002ffbc cmp r3, 0                                     |     
    0x0002ffc0 mov r7, r1                                    |     r7 = r1;
    0x0002ffc4 mov r6, r2                                    |     r6 = r2;
    0x0002ffc8 ldr r8, [sp, 0x194]                           |     r8 = *(arg_194h);
                                                             |     if (r3 == 0) {
    0x0002ffcc bne 0x3001c                                   |         
    0x0002ffd0 add r5, sp, 0x114                             |         r5 += s;
    0x0002ffd4 mov r2, 0x21                                  |         r2 = 0x21;
    0x0002ffd8 mov r1, r5                                    |         r1 = r5;
    0x0002ffdc bl 0x28260                                    |         r0 = Curl_rand_hex ();
    0x0002ffe0 cmp r0, 0                                     |         
                                                             |         if (r0 != 0) {
    0x0002ffe4 bne 0x30048                                   |             goto label_1;
                                                             |         }
    0x0002ffe8 mov r0, r5                                    |         r0 = r5;
    0x0002ffec bl 0x5250                                     |         strlen (r0);
    0x0002fff0 add r3, sp, 0x24                              |         r3 += var_24h;
    0x0002fff4 str r3, [sp]                                  |         *(sp) = r3;
    0x0002fff8 mov r1, r5                                    |         r1 = r5;
    0x0002fffc add r3, sp, 0x20                              |         r3 += var_20h;
    0x00030000 mov r2, r0                                    |         r2 = r0;
    0x00030004 mov r0, sb                                    |         r0 = sb;
    0x00030008 bl 0x6e88                                     |         r0 = Curl_base64_encode ();
    0x0003000c cmp r0, 0                                     |         
                                                             |         if (r0 != 0) {
    0x00030010 bne 0x30048                                   |             goto label_1;
                                                             |         }
    0x00030014 ldr r3, [sp, 0x20]                            |         r3 = var_20h;
    0x00030018 str r3, [r4, 4]                               |         *((r4 + 4)) = r3;
                                                             |     }
    0x0003001c ldrb r3, [r4, 0x24]                           |     r3 = *((r4 + 0x24));
    0x00030020 cmp r3, 0                                     |     
                                                             |     if (r3 == 0) {
    0x00030024 beq 0x30084                                   |         goto label_6;
                                                             |     }
    0x00030028 ldr r0, [pc, 0x448]                           |     r0 = *(0x30474);
    0x0003002c ldr r2, [r4, 8]                               |     r2 = *((r4 + 8));
    0x00030030 mov r1, r7                                    |     r1 = r7;
    0x00030034 add r0, pc, r0                                |     r0 = pc + r0;
    0x00030038 bl 0x5b80                                     |     r0 = fcn_00005b80 ();
    0x0003003c subs sb, r0, 0                                |     sb = r0 - 0;
    0x00030040 bne 0x30050                                   |     
                                                             |     while (sb == r0) {
                                                             | label_0:
    0x00030044 mov r0, 0x1b                                  |         r0 = 0x1b;
                                                             | label_1:
    0x00030048 add sp, sp, 0x15c                             |         
    0x0003004c pop {r4, r5, r6, r7, r8, sb, sl, fp, pc}      |         
    0x00030050 add r5, sp, 0x28                              |         r5 += nmeb;
    0x00030054 mov r1, sb                                    |         r1 = sb;
    0x00030058 mov r0, r5                                    |         r0 = r5;
    0x0003005c blx r8                                        |         uint32_t (*r8)(uint32_t, uint32_t) (r0, r1);
    0x00030060 ldr r3, [pc, 0x414]                           |         
    0x00030064 mov r0, sb                                    |         r0 = sb;
    0x00030068 ldr r3, [sl, r3]                              |         r3 = *((sl + r3));
    0x0003006c ldr r3, [r3]                                  |         r3 = "me_field";
    0x00030070 blx r3                                        |         uint32_t (*r3)(uint32_t, char*) (r0, "me_field");
    0x00030074 add r1, sp, 0xd0                              |         r1 += var_d0h;
    0x00030078 mov r0, r5                                    |         r0 = r5;
    0x0003007c ldr r3, [sp, 0x190]                           |         r3 = *(arg_190h);
    0x00030080 blx r3                                        |         uint32_t (*r3)(uint32_t, uint32_t, uint32_t) (r0, r1, r3);
                                                             | label_6:
    0x00030084 ldrb r3, [r4, 0x24]                           |         r3 = *((r4 + 0x24));
    0x00030088 ldr fp, [pc, 0x3f0]                           |         fp = *(0x3047c);
    0x0003008c cmp r3, 0                                     |         
    0x00030090 add fp, pc, fp                                |         
                                                             |         if (r3 == 0) {
    0x00030094 addne r1, sp, 0xd0                            |             r1 += var_d0h;
                                                             |         }
                                                             |         if (r3 != 0) {
    0x00030098 moveq r1, r7                                  |             r1 = r7;
                                                             |         }
    0x0003009c mov r3, r6                                    |         r3 = r6;
    0x000300a0 ldr r2, [r4, 8]                               |         r2 = *((r4 + 8));
    0x000300a4 mov r0, fp                                    |         r0 = fp;
    0x000300a8 bl 0x5b80                                     |         r0 = fcn_00005b80 ();
    0x000300ac subs sb, r0, 0                                |         sb = r0 - 0;
    0x000300b0 beq 0x30044                                   |         
                                                             |     }
    0x000300b4 add r5, sp, 0x28                              |     r5 += nmeb;
    0x000300b8 mov r1, sb                                    |     r1 = sb;
    0x000300bc mov r0, r5                                    |     r0 = r5;
    0x000300c0 blx r8                                        |     uint32_t (*r8)(uint32_t, uint32_t) (r0, r1);
    0x000300c4 ldr r3, [pc, 0x3b0]                           |     r3 = "me_field";
    0x000300c8 mov r0, sb                                    |     r0 = sb;
    0x000300cc ldr r6, [sl, r3]                              |     r6 = *((sl + r3));
    0x000300d0 add sb, sp, 0x8c                              |     sb += size;
    0x000300d4 ldr r3, [r6]                                  |     r3 = *(r6);
    0x000300d8 blx r3                                        |     uint32_t (*r3)(uint32_t, uint32_t) (r0, r3);
    0x000300dc ldr r3, [sp, 0x190]                           |     r3 = *(arg_190h);
    0x000300e0 mov r1, sb                                    |     r1 = sb;
    0x000300e4 mov r0, r5                                    |     r0 = r5;
    0x000300e8 blx r3                                        |     uint32_t (*r3)(uint32_t, uint32_t, uint32_t) (r0, r1, r3);
    0x000300ec ldr r3, [r4, 0xc]                             |     r3 = *((r4 + 0xc));
    0x000300f0 bic r2, r3, 2                                 |     r2 = BIT_MASK (r3, 2);
    0x000300f4 cmp r3, 5                                     |     
    0x000300f8 cmpne r2, 1                                   |     __asm ("cmpne r2, 1");
                                                             |     if (r3 != 5) {
    0x000300fc bne 0x30140                                   |         goto label_7;
                                                             |     }
    0x00030100 mov r0, fp                                    |     r0 = fp;
    0x00030104 ldm r4, {r2, r3}                              |     r2 = *(r4);
                                                             |     r3 = *((r4 + 4));
    0x00030108 mov r1, sb                                    |     r1 = sb;
    0x0003010c bl 0x5b80                                     |     r0 = fcn_00005b80 ();
    0x00030110 subs fp, r0, 0                                |     
                                                             |     if (fp == r0) {
    0x00030114 beq 0x30044                                   |         goto label_0;
                                                             |     }
    0x00030118 mov r1, fp                                    |     r1 = fp;
    0x0003011c mov r0, r5                                    |     r0 = r5;
    0x00030120 blx r8                                        |     uint32_t (*r8)(uint32_t, uint32_t) (r0, r1);
    0x00030124 ldr r3, [r6]                                  |     r3 = *(r6);
    0x00030128 mov r0, fp                                    |     r0 = fp;
    0x0003012c blx r3                                        |     uint32_t (*r3)(uint32_t, uint32_t) (r0, r3);
    0x00030130 mov r1, sb                                    |     r1 = sb;
    0x00030134 mov r0, r5                                    |     r0 = r5;
    0x00030138 ldr r3, [sp, 0x190]                           |     r3 = *(arg_190h);
    0x0003013c blx r3                                        |     uint32_t (*r3)(uint32_t, uint32_t, uint32_t) (r0, r1, r3);
                                                             | label_7:
    0x00030140 ldr fp, [pc, 0x33c]                           |     fp = *(0x00030484);
    0x00030144 ldr r2, [sp, 0x180]                           |     r2 = *(arg_180h);
    0x00030148 add fp, pc, fp                                |     
    0x0003014c ldr r1, [sp, 0x1c]                            |     r1 = var_1ch;
    0x00030150 mov r0, fp                                    |     r0 = fp;
    0x00030154 bl 0x5b80                                     |     r0 = fcn_00005b80 ();
    0x00030158 mov sb, r0                                    |     sb = r0;
    0x0003015c ldr r0, [r4, 0x18]                            |     r0 = *((r4 + 0x18));
    0x00030160 cmp r0, 0                                     |     
                                                             |     if (r0 != 0) {
    0x00030164 beq 0x301c8                                   |         
    0x00030168 ldr r1, [pc, 0x318]                           |         r1 = *(0x30484);
    0x0003016c add r1, pc, r1                                |         r1 = pc + r1;
    0x00030170 bl 0x19dc0                                    |         r0 = Curl_strcasecompare ();
    0x00030174 cmp r0, 0                                     |         
                                                             |         if (r0 == 0) {
    0x00030178 beq 0x301c8                                   |             goto label_8;
                                                             |         }
    0x0003017c ldr r1, [pc, 0x308]                           |         r1 = *(0x30488);
    0x00030180 mov r0, r5                                    |         r0 = r5;
    0x00030184 add r1, pc, r1                                |         r1 = pc + r1;
    0x00030188 blx r8                                        |         uint32_t (*r8)(uint32_t, uint32_t) (r0, r1);
    0x0003018c add r2, sp, 0x114                             |         r2 += s;
    0x00030190 mov r1, r2                                    |         r1 = r2;
    0x00030194 ldr r3, [sp, 0x190]                           |         r3 = *(arg_190h);
    0x00030198 mov r0, r5                                    |         r0 = r5;
    0x0003019c str r2, [sp, 0x1c]                            |         var_1ch = r2;
    0x000301a0 blx r3                                        |         uint32_t (*r3)(uint32_t, uint32_t, uint32_t, uint32_t) (r0, r1, r2, r3);
    0x000301a4 mov r1, sb                                    |         r1 = sb;
    0x000301a8 ldr r2, [sp, 0x1c]                            |         r2 = var_1ch;
    0x000301ac mov r0, fp                                    |         r0 = fp;
    0x000301b0 bl 0x5b80                                     |         fcn_00005b80 ();
    0x000301b4 ldr r3, [r6]                                  |         r3 = *(r6);
    0x000301b8 mov fp, r0                                    |         
    0x000301bc mov r0, sb                                    |         r0 = sb;
    0x000301c0 blx r3                                        |         uint32_t (*r3)(uint32_t, uint32_t) (r0, r3);
    0x000301c4 mov sb, fp                                    |         sb = fp;
                                                             |     }
                                                             | label_8:
    0x000301c8 cmp sb, 0                                     |     
                                                             |     if (sb == 0) {
    0x000301cc beq 0x30044                                   |         goto label_0;
                                                             |     }
    0x000301d0 mov r1, sb                                    |     r1 = sb;
    0x000301d4 mov r0, r5                                    |     r0 = r5;
    0x000301d8 blx r8                                        |     uint32_t (*r8)(uint32_t, uint32_t) (r0, r1);
    0x000301dc mov r0, sb                                    |     r0 = sb;
    0x000301e0 ldr r3, [r6]                                  |     r3 = *(r6);
    0x000301e4 blx r3                                        |     uint32_t (*r3)(uint32_t, uint32_t) (r0, r3);
    0x000301e8 add sb, sp, 0x114                             |     sb += s;
    0x000301ec mov r1, sb                                    |     r1 = sb;
    0x000301f0 ldr r3, [sp, 0x190]                           |     r3 = *(arg_190h);
    0x000301f4 mov r0, r5                                    |     r0 = r5;
    0x000301f8 blx r3                                        |     uint32_t (*r3)(uint32_t, uint32_t, uint32_t) (r0, r1, r3);
    0x000301fc ldr r3, [r4, 0x18]                            |     r3 = *((r4 + 0x18));
    0x00030200 add r1, sp, 0x8c                              |     r1 += size;
    0x00030204 cmp r3, 0                                     |     
                                                             |     if (r3 == 0) {
    0x00030208 beq 0x303fc                                   |         goto label_9;
                                                             |     }
    0x0003020c stmib sp, {r3, sb}                            |     __asm ("stmib sp, {r3, sb}");
    0x00030210 ldr r0, [pc, 0x278]                           |     r0 = *(0x3048c);
    0x00030214 ldr r3, [r4, 4]                               |     r3 = *((r4 + 4));
    0x00030218 add r0, pc, r0                                |     r0 = pc + r0;
    0x0003021c str r3, [sp]                                  |     *(sp) = r3;
    0x00030220 ldr r3, [r4, 0x20]                            |     r3 = *((r4 + 0x20));
    0x00030224 ldr r2, [r4]                                  |     r2 = *(r4);
    0x00030228 bl 0x5b80                                     |     r0 = fcn_00005b80 ();
                                                             | label_2:
    0x0003022c cmp r0, 0                                     |     
    0x00030230 mov sb, r0                                    |     sb = r0;
                                                             |     if (r0 == 0) {
    0x00030234 beq 0x30044                                   |         goto label_0;
                                                             |     }
    0x00030238 mov r1, r0                                    |     r1 = r0;
    0x0003023c mov r0, r5                                    |     r0 = r5;
    0x00030240 blx r8                                        |     uint32_t (*r8)(uint32_t, uint32_t) (r0, r1);
    0x00030244 ldr r3, [r6]                                  |     r3 = *(r6);
    0x00030248 mov r0, sb                                    |     r0 = sb;
    0x0003024c add r8, sp, 0x48                              |     r8 += var_48h;
    0x00030250 blx r3                                        |     uint32_t (*r3)(uint32_t, uint32_t) (r0, r3);
    0x00030254 mov r0, r5                                    |     r0 = r5;
    0x00030258 ldr r3, [sp, 0x190]                           |     r3 = *(arg_190h);
    0x0003025c mov r1, r8                                    |     r1 = r8;
    0x00030260 blx r3                                        |     uint32_t (*r3)(uint32_t, uint32_t, uint32_t) (r0, r1, r3);
    0x00030264 ldrb r3, [r4, 0x24]                           |     r3 = *((r4 + 0x24));
    0x00030268 mov r0, 1                                     |     r0 = 1;
    0x0003026c cmp r3, 0                                     |     
                                                             |     if (r3 == 0) {
    0x00030270 addne r7, sp, 0xd0                            |         r7 += var_d0h;
                                                             |     }
    0x00030274 sub r7, r7, 1                                 |     r7--;
    0x00030278 mov r2, r7                                    |     r2 = r7;
                                                             | label_3:
    0x0003027c ldrb r3, [r2, 1]!                             |     r3 = *((r2 += 1));
    0x00030280 cmp r3, 0                                     |     
                                                             |     if (r3 != 0) {
    0x00030284 bne 0x30414                                   |         goto label_10;
                                                             |     }
    0x00030288 ldr r3, [pc, 0x204]                           |     
    0x0003028c ldr r3, [sl, r3]                              |     r3 = *((sl + r3));
    0x00030290 ldr r3, [r3]                                  |     r3 = *(0x30490);
    0x00030294 blx r3                                        |     r0 = uint32_t (*r3)(uint32_t) (r3);
    0x00030298 subs sb, r0, 0                                |     sb = r0 - 0;
                                                             |     if (sb == r0) {
    0x0003029c movne r3, sb                                  |         r3 = sb;
                                                             |     }
                                                             |     if (sb != r0) {
    0x000302a0 movne r1, 0x5c                                |         r1 = 0x5c;
                                                             |         goto label_11;
                                                             |     }
                                                             |     if (sb == r0) {
                                                             | label_11:
    0x000302a4 beq 0x30044                                   |         goto label_0;
                                                             |     }
                                                             | label_4:
    0x000302a8 ldrb r2, [r7, 1]!                             |     r2 = *((r7 += 1));
    0x000302ac cmp r2, 0                                     |     
                                                             |     if (r2 != 0) {
    0x000302b0 bne 0x30428                                   |         goto label_12;
                                                             |     }
    0x000302b4 strb r2, [r3]                                 |     *(r3) = r2;
    0x000302b8 ldr r3, [r4, 0x18]                            |     r3 = *((r4 + 0x18));
    0x000302bc cmp r3, 0                                     |     
                                                             |     if (r3 == 0) {
    0x000302c0 beq 0x30448                                   |         goto label_13;
                                                             |     }
    0x000302c4 str r8, [sp, 0x10]                            |     var_10h = r8;
    0x000302c8 str r3, [sp, 0xc]                             |     var_ch = r3;
    0x000302cc ldr r3, [r4, 0x20]                            |     r3 = *((r4 + 0x20));
    0x000302d0 ldr r0, [pc, 0x1c0]                           |     r0 = *(0x30494);
    0x000302d4 str r3, [sp, 8]                               |     var_8h = r3;
    0x000302d8 ldr r3, [r4, 4]                               |     r3 = *((r4 + 4));
    0x000302dc mov r1, sb                                    |     r1 = sb;
    0x000302e0 str r3, [sp, 4]                               |     var_4h = r3;
    0x000302e4 ldr r3, [sp, 0x180]                           |     r3 = *(arg_180h);
    0x000302e8 add r0, pc, r0                                |     r0 = pc + r0;
    0x000302ec str r3, [sp]                                  |     *(sp) = r3;
    0x000302f0 ldr r3, [r4]                                  |     r3 = *(r4);
    0x000302f4 ldr r2, [r4, 8]                               |     r2 = *((r4 + 8));
    0x000302f8 bl 0x5b80                                     |     fcn_00005b80 ();
    0x000302fc ldr r1, [pc, 0x198]                           |     r1 = *(0x30498);
    0x00030300 add r1, pc, r1                                |     r1 = pc + r1;
    0x00030304 mov r5, r0                                    |     r5 = r0;
    0x00030308 ldr r0, [r4, 0x18]                            |     r0 = *((r4 + 0x18));
    0x0003030c bl 0x19dc0                                    |     r0 = Curl_strcasecompare ();
    0x00030310 cmp r0, 0                                     |     
                                                             |     if (r0 == 0) {
    0x00030314 ldrne r3, [r4, 0x20]                          |         r3 = *((r4 + 0x20));
                                                             |     }
                                                             |     if (r0 == 0) {
    0x00030318 addne r3, r3, 1                               |         r3++;
                                                             |     }
                                                             |     if (r0 == 0) {
    0x0003031c strne r3, [r4, 0x20]                          |         *((r4 + 0x20)) = r3;
                                                             |     }
                                                             | label_5:
    0x00030320 ldr r3, [r6]                                  |     r3 = *(r6);
    0x00030324 mov r0, sb                                    |     r0 = sb;
    0x00030328 blx r3                                        |     uint32_t (*r3)(uint32_t, uint32_t) (r0, r3);
    0x0003032c cmp r5, 0                                     |     
                                                             |     if (r5 == 0) {
    0x00030330 beq 0x30044                                   |         goto label_0;
                                                             |     }
    0x00030334 ldr r2, [r4, 0x14]                            |     r2 = *((r4 + 0x14));
    0x00030338 cmp r2, 0                                     |     
                                                             |     if (r2 == 0) {
    0x0003033c beq 0x3036c                                   |         goto label_14;
                                                             |     }
    0x00030340 ldr r0, [pc, 0x158]                           |     r0 = *(0x3049c);
    0x00030344 mov r1, r5                                    |     r1 = r5;
    0x00030348 add r0, pc, r0                                |     r0 = pc + r0;
    0x0003034c bl 0x5b80                                     |     fcn_00005b80 ();
    0x00030350 ldr r3, [r6]                                  |     r3 = *(r6);
    0x00030354 mov r7, r0                                    |     r7 = r0;
    0x00030358 mov r0, r5                                    |     r0 = r5;
    0x0003035c blx r3                                        |     uint32_t (*r3)(uint32_t, uint32_t) (r0, r3);
    0x00030360 cmp r7, 0                                     |     
                                                             |     if (r7 == 0) {
    0x00030364 beq 0x30044                                   |         goto label_0;
                                                             |     }
    0x00030368 mov r5, r7                                    |     r5 = r7;
                                                             | label_14:
    0x0003036c ldr r2, [r4, 0x1c]                            |     r2 = *((r4 + 0x1c));
    0x00030370 cmp r2, 0                                     |     
                                                             |     if (r2 == 0) {
    0x00030374 beq 0x303a4                                   |         goto label_15;
                                                             |     }
    0x00030378 ldr r0, [pc, 0x124]                           |     r0 = *(0x304a0);
    0x0003037c mov r1, r5                                    |     r1 = r5;
    0x00030380 add r0, pc, r0                                |     r0 = pc + r0;
    0x00030384 bl 0x5b80                                     |     fcn_00005b80 ();
    0x00030388 ldr r3, [r6]                                  |     r3 = *(r6);
    0x0003038c mov r7, r0                                    |     r7 = r0;
    0x00030390 mov r0, r5                                    |     r0 = r5;
    0x00030394 blx r3                                        |     uint32_t (*r3)(uint32_t, uint32_t) (r0, r3);
    0x00030398 cmp r7, 0                                     |     
                                                             |     if (r7 == 0) {
    0x0003039c beq 0x30044                                   |         goto label_0;
                                                             |     }
    0x000303a0 mov r5, r7                                    |     r5 = r7;
                                                             | label_15:
    0x000303a4 ldrb r3, [r4, 0x24]                           |     r3 = *((r4 + 0x24));
    0x000303a8 cmp r3, 0                                     |     
                                                             |     if (r3 == 0) {
    0x000303ac beq 0x303dc                                   |         goto label_16;
                                                             |     }
    0x000303b0 ldr r0, [pc, 0xf0]                            |     r0 = *(0x304a4);
    0x000303b4 mov r1, r5                                    |     r1 = r5;
    0x000303b8 add r0, pc, r0                                |     r0 = pc + r0;
    0x000303bc bl 0x5b80                                     |     fcn_00005b80 ();
    0x000303c0 ldr r3, [r6]                                  |     r3 = *(r6);
    0x000303c4 mov r4, r0                                    |     r4 = r0;
    0x000303c8 mov r0, r5                                    |     r0 = r5;
    0x000303cc blx r3                                        |     uint32_t (*r3)(uint32_t, uint32_t) (r0, r3);
    0x000303d0 cmp r4, 0                                     |     
                                                             |     if (r4 == 0) {
    0x000303d4 beq 0x30044                                   |         goto label_0;
                                                             |     }
    0x000303d8 mov r5, r4                                    |     r5 = r4;
                                                             | label_16:
    0x000303dc ldr r3, [sp, 0x188]                           |     r3 = *(arg_188h);
    0x000303e0 mov r0, r5                                    |     r0 = r5;
    0x000303e4 str r5, [r3]                                  |     *(r3) = r5;
    0x000303e8 bl 0x5250                                     |     strlen (r0);
    0x000303ec ldr r3, [sp, 0x18c]                           |     r3 = *(arg_18ch);
    0x000303f0 str r0, [r3]                                  |     *(r3) = r0;
    0x000303f4 mov r0, 0                                     |     r0 = 0;
    0x000303f8 b 0x30048                                     |     goto label_1;
                                                             | label_9:
    0x000303fc ldr r0, [pc, 0xa8]                            |     r0 = *(0x304a8);
    0x00030400 mov r3, sb                                    |     r3 = sb;
    0x00030404 ldr r2, [r4]                                  |     r2 = *(r4);
    0x00030408 add r0, pc, r0                                |     r0 = pc + r0;
    0x0003040c bl 0x5b80                                     |     fcn_00005b80 ();
    0x00030410 b 0x3022c                                     |     goto label_2;
                                                             | label_10:
    0x00030414 cmp r3, 0x5c                                  |     
    0x00030418 cmpne r3, 0x22                                |     __asm ("cmpne r3, 0x22");
                                                             |     if (r3 == 0x5c) {
    0x0003041c addne r0, r0, 1                               |         r0++;
                                                             |     }
                                                             |     if (r3 != 0x5c) {
    0x00030420 addeq r0, r0, 2                               |         r0 += 2;
                                                             |     }
    0x00030424 b 0x3027c                                     |     goto label_3;
                                                             | label_12:
    0x00030428 cmp r2, 0x5c                                  |     
    0x0003042c cmpne r2, 0x22                                |     __asm ("cmpne r2, 0x22");
                                                             |     if (r2 != 0x5c) {
    0x00030430 strbeq r1, [r3]                               |         *(r3) = r1;
                                                             |     }
    0x00030434 ldrb r2, [r7]                                 |     r2 = *(r7);
                                                             |     if (r2 != 0x5c) {
    0x00030438 addeq r3, r3, 1                               |         r3++;
                                                             |     }
    0x0003043c strb r2, [r3]                                 |     *(r3) = r2;
    0x00030440 add r3, r3, 1                                 |     r3++;
    0x00030444 b 0x302a8                                     |     goto label_4;
                                                             | label_13:
    0x00030448 ldr r3, [sp, 0x180]                           |     r3 = *(arg_180h);
    0x0003044c ldr r0, [pc, 0x5c]                            |     r0 = *(0x304ac);
    0x00030450 str r8, [sp, 4]                               |     var_4h = r8;
    0x00030454 str r3, [sp]                                  |     *(sp) = r3;
    0x00030458 mov r1, sb                                    |     r1 = sb;
    0x0003045c ldr r3, [r4]                                  |     r3 = *(r4);
    0x00030460 ldr r2, [r4, 8]                               |     r2 = *((r4 + 8));
    0x00030464 add r0, pc, r0                                |     r0 = pc + r0;
    0x00030468 bl 0x5b80                                     |     r0 = fcn_00005b80 ();
    0x0003046c mov r5, r0                                    |     r5 = r0;
    0x00030470 b 0x30320                                     |     goto label_5;
                                                             | }


r2dec has crashed (info: /logs/firmware/unblob_extracted/firmware_extract/56048-12514271.gzip_extract/gzip.uncompressed_extract/5243916-15068666.gzip_extract/gzip.uncompressed_extract/usr/lib/libcurl.so @ 0x3802c).
Please report the bug at https://github.com/radareorg/r2dec-js/issues
Use the option '--issue' or the command 'pddi' to generate 
the needed data for the issue.
    ; 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/lib/libcurl.so @ 0x3864c */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.__divdf3 ()                  | void divdf3 (int32_t arg2) {
                                             |     r1 = arg2;
    0x0003864c push {r4, r5, r6, lr}         |     
    0x00038650 mov ip, 0xff                  |     
    0x00038654 orr ip, ip, 0x700             |     
    0x00038658 ands r4, ip, r1, lsr 20       |     r4 = ip & (r1 >> 20);
    0x0003865c andsne r5, ip, r3, lsr 20     |     __asm ("andsne r5, ip, r3, lsr 20");
    0x00038660 teqne r4, ip                  |     __asm ("teqne r4, ip");
    0x00038664 teqne r5, ip                  |     __asm ("teqne r5, ip");
    0x00038668 bleq 0x387e0                  |     __asm ("bleq fcn.000387e0");
    0x0003866c sub r4, r4, r5                |     r4 -= r5;
    0x00038670 eor lr, r1, r3                |     lr = r1 ^ r3;
    0x00038674 orrs r5, r2, r3, lsl 12       |     r5 = r2 | (r3 << 12);
    0x00038678 lsl r1, r1, 0xc               |     r1 <<= 0xc;
                                             |     if (r5 == r2) {
    0x0003867c beq 0x387b0                   |         goto label_1;
                                             |     }
    0x00038680 lsl r3, r3, 0xc               |     r3 <<= 0xc;
    0x00038684 mov r5, 0x10000000            |     r5 = 0x10000000;
    0x00038688 orr r3, r5, r3, lsr 4         |     r3 = r5 | (r3 >> 4);
    0x0003868c orr r3, r3, r2, lsr 24        |     r3 |= (r2 >> 24);
    0x00038690 lsl r2, r2, 8                 |     r2 <<= 8;
    0x00038694 orr r5, r5, r1, lsr 4         |     r5 |= (r1 >> 4);
    0x00038698 orr r5, r5, r0, lsr 24        |     r5 |= (r0 >> 24);
    0x0003869c lsl r6, r0, 8                 |     r6 = r0 << 8;
    0x000386a0 and r1, lr, 0x80000000        |     r1 = lr & 0x80000000;
    0x000386a4 cmp r5, r3                    |     
    0x000386a8 cmpeq r6, r2                  |     __asm ("cmpeq r6, r2");
    0x000386ac adc r4, r4, 0xfd              |     __asm ("adc r4, r4, 0xfd");
    0x000386b0 add r4, r4, 0x300             |     r4 += 0x300;
                                             |     if (r5 < r3) {
    0x000386b4 bhs 0x386c0                   |         
    0x000386b8 lsrs r3, r3, 1                |         r3 >>= 1;
    0x000386bc rrx r2, r2                    |         __asm ("rrx r2, r2");
                                             |     }
    0x000386c0 subs r6, r6, r2               |     r6 -= r2;
    0x000386c4 sbc r5, r5, r3                |     __asm ("sbc r5, r5, r3");
    0x000386c8 lsrs r3, r3, 1                |     r3 >>= 1;
    0x000386cc rrx r2, r2                    |     __asm ("rrx r2, r2");
    0x000386d0 mov r0, 0x100000              |     r0 = 0x100000;
    0x000386d4 mov ip, 0x80000               |     
                                             |     do {
                                             | label_0:
    0x000386d8 subs lr, r6, r2               |         lr = r6 - r2;
    0x000386dc sbcs lr, r5, r3               |         __asm ("sbcs lr, r5, r3");
                                             |         if (lr < r6) {
    0x000386e0 subhs r6, r6, r2              |             r6 -= r2;
                                             |         }
                                             |         if (lr < r6) {
    0x000386e4 movhs r5, lr                  |             r5 = lr;
                                             |         }
                                             |         if (lr < r6) {
    0x000386e8 orrhs r0, r0, ip              |             r0 |= ip;
                                             |         }
    0x000386ec lsrs r3, r3, 1                |         r3 >>= 1;
    0x000386f0 rrx r2, r2                    |         __asm ("rrx r2, r2");
    0x000386f4 subs lr, r6, r2               |         lr = r6 - r2;
    0x000386f8 sbcs lr, r5, r3               |         __asm ("sbcs lr, r5, r3");
                                             |         if (lr < r6) {
    0x000386fc subhs r6, r6, r2              |             r6 -= r2;
                                             |         }
                                             |         if (lr < r6) {
    0x00038700 movhs r5, lr                  |             r5 = lr;
                                             |         }
                                             |         if (lr < r6) {
    0x00038704 orrhs r0, r0, ip, lsr 1       |             r0 |= (ip >> 1);
                                             |         }
    0x00038708 lsrs r3, r3, 1                |         r3 >>= 1;
    0x0003870c rrx r2, r2                    |         __asm ("rrx r2, r2");
    0x00038710 subs lr, r6, r2               |         lr = r6 - r2;
    0x00038714 sbcs lr, r5, r3               |         __asm ("sbcs lr, r5, r3");
                                             |         if (lr < r6) {
    0x00038718 subhs r6, r6, r2              |             r6 -= r2;
                                             |         }
                                             |         if (lr < r6) {
    0x0003871c movhs r5, lr                  |             r5 = lr;
                                             |         }
                                             |         if (lr < r6) {
    0x00038720 orrhs r0, r0, ip, lsr 2       |             r0 |= (ip >> 2);
                                             |         }
    0x00038724 lsrs r3, r3, 1                |         r3 >>= 1;
    0x00038728 rrx r2, r2                    |         __asm ("rrx r2, r2");
    0x0003872c subs lr, r6, r2               |         lr = r6 - r2;
    0x00038730 sbcs lr, r5, r3               |         __asm ("sbcs lr, r5, r3");
                                             |         if (lr < r6) {
    0x00038734 subhs r6, r6, r2              |             r6 -= r2;
                                             |         }
                                             |         if (lr < r6) {
    0x00038738 movhs r5, lr                  |             r5 = lr;
                                             |         }
                                             |         if (lr < r6) {
    0x0003873c orrhs r0, r0, ip, lsr 3       |             r0 |= (ip >> 3);
                                             |         }
    0x00038740 orrs lr, r5, r6               |         lr = r5 | r6;
                                             |         if (lr == r5) {
    0x00038744 beq 0x38780                   |             goto label_2;
                                             |         }
    0x00038748 lsl r5, r5, 4                 |         r5 <<= 4;
    0x0003874c orr r5, r5, r6, lsr 28        |         r5 |= (r6 >> 28);
    0x00038750 lsl r6, r6, 4                 |         r6 <<= 4;
    0x00038754 lsl r3, r3, 3                 |         r3 <<= 3;
    0x00038758 orr r3, r3, r2, lsr 29        |         r3 |= (r2 >> 29);
    0x0003875c lsl r2, r2, 3                 |         r2 <<= 3;
    0x00038760 lsrs ip, ip, 4                |         
    0x00038764 bne 0x386d8                   |         
                                             |     } while (ip != ip);
    0x00038768 tst r1, 0x100000              |     
                                             |     if ((r1 & 0x100000) == 0) {
    0x0003876c bne 0x3878c                   |         
    0x00038770 orr r1, r1, r0                |         r1 |= r0;
    0x00038774 mov r0, 0                     |         r0 = 0;
    0x00038778 mov ip, 0x80000000            |         
    0x0003877c b 0x386d8                     |         goto label_0;
                                             | label_2:
    0x00038780 tst r1, 0x100000              |         
                                             |         if ((r1 & 0x100000) != 0) {
    0x00038784 orreq r1, r1, r0              |             r1 |= r0;
                                             |         }
                                             |         if ((r1 & 0x100000) == 0) {
    0x00038788 moveq r0, 0                   |             r0 = 0;
                                             |             goto label_3;
                                             |         }
                                             |     }
                                             | label_3:
    0x0003878c subs ip, r4, 0xfd             |     
    0x00038790 cmphi ip, 0x700               |     __asm ("cmphi ip, 0x700");
                                             |     if (ip > r4) {
    0x00038794 bhi 0x384c4                   |         void (*0x384c4)() ();
                                             |     }
    0x00038798 subs ip, r5, r3               |     
    0x0003879c subseq ip, r6, r2             |     __asm ("subseq ip, r6, r2");
    0x000387a0 lsrseq ip, r0, 1              |     __asm ("lsrseq ip, r0, 1");
    0x000387a4 adcs r0, r0, 0                |     __asm ("adcs r0, r0, 0");
    0x000387a8 adc r1, r1, r4, lsl 20        |     __asm ("adc r1, r1, r4, lsl 20");
    0x000387ac pop {r4, r5, r6, pc}          |     
                                             | label_1:
    0x000387b0 and lr, lr, 0x80000000        |     lr &= 0x80000000;
    0x000387b4 orr r1, lr, r1, lsr 12        |     r1 = lr | (r1 >> 12);
    0x000387b8 adds r4, r4, ip, lsr 1        |     r4 += (ip >> 1);
    0x000387bc rsbsgt r5, r4, ip             |     __asm ("rsbsgt r5, r4, ip");
                                             |     if (r4 <= r4) {
    0x000387c0 orrgt r1, r1, r4, lsl 20      |         r1 |= (r4 << 20);
                                             |     }
                                             |     if (r4 <= r4) {
    0x000387c4 popgt {r4, r5, r6, pc}        |         
                                             |     }
    0x000387c8 orr r1, r1, 0x100000          |     r1 |= 0x100000;
    0x000387cc mov lr, 0                     |     lr = 0;
    0x000387d0 subs r4, r4, 1                |     r4--;
    0x000387d4 b 0x384c4                     |     return void (*0x384c4)() ();
                                             | }
    ; 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/lib/libcurl.so @ 0x3836c */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.__floatundidf ()             | void floatundidf (int32_t arg1, int32_t arg2) {
                                             |     r0 = arg1;
                                             |     r1 = arg2;
    0x0003836c orrs r2, r0, r1               |     r2 = r0 | r1;
                                             |     if (r2 != r0) {
    0x00038370 bxeq lr                       |         return;
                                             |     }
    0x00038374 push {r4, r5, lr}             |     
    0x00038378 mov r5, 0                     |     r5 = 0;
    0x0003837c b 0x3839c                     |     
    0x0003839c mov r4, 0x400                 |     r4 = 0x400;
    0x000383a0 add r4, r4, 0x32              |     r4 += 0x32;
    0x000383a4 lsrs ip, r1, 0x16             |     
                                             |     if (ip == r1) {
    0x000383a8 beq 0x38118                   |         void (*0x38118)() ();
                                             |     }
    0x000383ac mov r2, 3                     |     r2 = 3;
    0x000383b0 lsrs ip, ip, 3                |     
                                             |     if (ip == ip) {
    0x000383b4 addne r2, r2, 3               |         r2 += 3;
                                             |     }
    0x000383b8 lsrs ip, ip, 3                |     
                                             |     if (ip == ip) {
    0x000383bc addne r2, r2, 3               |         r2 += 3;
                                             |     }
    0x000383c0 add r2, r2, ip, lsr 3         |     r2 += (ip >> 3);
    0x000383c4 rsb r3, r2, 0x20              |     r3 = 0x20 - r2;
    0x000383c8 lsl ip, r0, r3                |     
    0x000383cc lsr r0, r0, r2                |     r0 >>= r2;
    0x000383d0 orr r0, r0, r1, lsl r3        |     r0 |= (r1 << r3);
    0x000383d4 lsr r1, r1, r2                |     r1 >>= r2;
    0x000383d8 add r4, r4, r2                |     r4 += r2;
    0x000383dc b 0x38118                     |     return void (*0x38118)() ();
                                             | }
    ; 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/lib/libcurl.so @ 0x383e0 */
                                             | #include <stdint.h>
                                             |  
                                             | #define BIT_MASK(t,v) ((t)(-((v)!= 0)))&(((t)-1)>>((sizeof(t)*CHAR_BIT)-(v)))
                                             |  
    ; (fcn) sym.__muldf3 ()                  | void muldf3 (int32_t arg2) {
                                             |     r1 = arg2;
    0x000383e0 push {r4, r5, r6, lr}         |     
    0x000383e4 mov ip, 0xff                  |     
    0x000383e8 orr ip, ip, 0x700             |     
    0x000383ec ands r4, ip, r1, lsr 20       |     r4 = ip & (r1 >> 20);
    0x000383f0 andsne r5, ip, r3, lsr 20     |     __asm ("andsne r5, ip, r3, lsr 20");
    0x000383f4 teqne r4, ip                  |     __asm ("teqne r4, ip");
    0x000383f8 teqne r5, ip                  |     __asm ("teqne r5, ip");
    0x000383fc bleq 0x385c0                  |     __asm ("bleq fcn.000385c0");
    0x00038400 add r4, r4, r5                |     r4 += r5;
    0x00038404 eor r6, r1, r3                |     r6 = r1 ^ r3;
    0x00038408 bic r1, r1, ip, lsl 21        |     r1 = BIT_MASK (r1, ip);
    0x0003840c bic r3, r3, ip, lsl 21        |     r3 = BIT_MASK (r3, ip);
    0x00038410 orrs r5, r0, r1, lsl 12       |     r5 = r0 | (r1 << 12);
    0x00038414 orrsne r5, r2, r3, lsl 12     |     __asm ("orrsne r5, r2, r3, lsl 12");
    0x00038418 orr r1, r1, 0x100000          |     r1 |= 0x100000;
    0x0003841c orr r3, r3, 0x100000          |     r3 |= 0x100000;
                                             |     if (r5 != r0) {
    0x00038420 beq 0x38498                   |         
    0x00038424 umull ip, lr, r0, r2          |         ip:lr = r0 * r2;
    0x00038428 mov r5, 0                     |         r5 = 0;
    0x0003842c umlal lr, r5, r1, r2          |         __asm ("umlal lr, r5, r1, r2");
    0x00038430 and r2, r6, 0x80000000        |         r2 = r6 & 0x80000000;
    0x00038434 umlal lr, r5, r0, r3          |         __asm ("umlal lr, r5, r0, r3");
    0x00038438 mov r6, 0                     |         r6 = 0;
    0x0003843c umlal r5, r6, r1, r3          |         __asm ("umlal r5, r6, r1, r3");
    0x00038440 teq ip, 0                     |         __asm ("teq ip, 0");
                                             |         if (r5 == r0) {
    0x00038444 orrne lr, lr, 1               |             lr |= 1;
                                             |         }
    0x00038448 sub r4, r4, 0xff              |         r4 -= 0xff;
    0x0003844c cmp r6, 0x200                 |         
    0x00038450 sbc r4, r4, 0x300             |         __asm ("sbc r4, r4, aav.0x000000ff");
                                             |         if (r6 < 0x200) {
    0x00038454 bhs 0x38464                   |             
    0x00038458 lsls lr, lr, 1                |             lr <<= 1;
    0x0003845c adcs r5, r5, r5               |             __asm ("adcs r5, r5, r5");
    0x00038460 adc r6, r6, r6                |             __asm ("adc r6, r6, r6");
                                             |         }
    0x00038464 orr r1, r2, r6, lsl 11        |         r1 = r2 | (r6 << 11);
    0x00038468 orr r1, r1, r5, lsr 21        |         r1 |= (r5 >> 21);
    0x0003846c lsl r0, r5, 0xb               |         r0 = r5 << 0xb;
    0x00038470 orr r0, r0, lr, lsr 21        |         r0 |= (lr >> 21);
    0x00038474 lsl lr, lr, 0xb               |         lr <<= 0xb;
    0x00038478 subs ip, r4, 0xfd             |         
    0x0003847c cmphi ip, 0x700               |         __asm ("cmphi ip, 0x700");
                                             |         if (ip > r4) {
    0x00038480 bhi 0x384c4                   |             goto label_0;
                                             |         }
    0x00038484 cmp lr, 0x80000000            |         
    0x00038488 lsrseq lr, r0, 1              |         __asm ("lsrseq lr, r0, 1");
    0x0003848c adcs r0, r0, 0                |         __asm ("adcs r0, r0, 0");
    0x00038490 adc r1, r1, r4, lsl 20        |         __asm ("adc r1, r1, r4, lsl 20");
    0x00038494 pop {r4, r5, r6, pc}          |         
                                             |     }
    0x00038498 and r6, r6, 0x80000000        |     r6 &= 0x80000000;
    0x0003849c orr r1, r6, r1                |     r1 = r6 | r1;
    0x000384a0 orr r0, r0, r2                |     r0 |= r2;
    0x000384a4 eor r1, r1, r3                |     r1 ^= r3;
    0x000384a8 subs r4, r4, ip, lsr 1        |     r4 -= (ip >> 1);
    0x000384ac rsbsgt r5, r4, ip             |     __asm ("rsbsgt r5, r4, ip");
                                             |     if (r4 <= r4) {
    0x000384b0 orrgt r1, r1, r4, lsl 20      |         r1 |= (r4 << 20);
                                             |     }
                                             |     if (r4 <= r4) {
    0x000384b4 popgt {r4, r5, r6, pc}        |         
                                             |     }
    0x000384b8 orr r1, r1, 0x100000          |     r1 |= 0x100000;
    0x000384bc mov lr, 0                     |     lr = 0;
    0x000384c0 subs r4, r4, 1                |     r4--;
                                             |     if (r4 <= r4) {
                                             | label_0:
    0x000384c4 bgt 0x3862c                   |         
    0x000384c8 cmn r4, 0x36                  |         
                                             |         if (r4 > 0x36) {
    0x000384cc movle r0, 0                   |             r0 = 0;
                                             |         }
                                             |         if (r4 > 0x36) {
    0x000384d0 andle r1, r1, 0x80000000      |             r1 &= 0x80000000;
                                             |         }
                                             |         if (r4 > 0x36) {
    0x000384d4 pople {r4, r5, r6, pc}        |             
                                             |         }
    0x000384d8 rsb r4, r4, 0                 |         r4 -= ;
    0x000384dc subs r4, r4, 0x20             |         r4 -= 0x20;
                                             |         if (r4 < r4) {
    0x000384e0 bge 0x38548                   |             
    0x000384e4 adds r4, r4, 0xc              |             r4 += 0xc;
                                             |             if (r4 <= r4) {
    0x000384e8 bgt 0x3851c                   |                 
    0x000384ec add r4, r4, 0x14              |                 r4 += 0x14;
    0x000384f0 rsb r5, r4, 0x20              |                 r5 = 0x20 - r4;
    0x000384f4 lsl r3, r0, r5                |                 r3 = r0 << r5;
    0x000384f8 lsr r0, r0, r4                |                 r0 >>= r4;
    0x000384fc orr r0, r0, r1, lsl r5        |                 r0 |= (r1 << r5);
    0x00038500 and r2, r1, 0x80000000        |                 r2 = r1 & 0x80000000;
    0x00038504 bic r1, r1, 0x80000000        |                 r1 = BIT_MASK (r1, 0x80000000);
    0x00038508 adds r0, r0, r3, lsr 31       |                 r0 += (r3 >> 31);
    0x0003850c adc r1, r2, r1, lsr r4        |                 __asm ("adc r1, r2, r1, lsr r4");
    0x00038510 orrs lr, lr, r3, lsl 1        |                 lr |= (r3 << 1);
    0x00038514 biceq r0, r0, r3, lsr 31      |                 __asm ("biceq r0, r0, r3, lsr 31");
    0x00038518 pop {r4, r5, r6, pc}          |                 
                                             |             }
    0x0003851c rsb r4, r4, 0xc               |             r4 = 0xc - r4;
    0x00038520 rsb r5, r4, 0x20              |             r5 = 0x20 - r4;
    0x00038524 lsl r3, r0, r4                |             r3 = r0 << r4;
    0x00038528 lsr r0, r0, r5                |             r0 >>= r5;
    0x0003852c orr r0, r0, r1, lsl r4        |             r0 |= (r1 << r4);
    0x00038530 and r1, r1, 0x80000000        |             r1 &= 0x80000000;
    0x00038534 adds r0, r0, r3, lsr 31       |             r0 += (r3 >> 31);
    0x00038538 adc r1, r1, 0                 |             __asm ("adc r1, r1, 0");
    0x0003853c orrs lr, lr, r3, lsl 1        |             lr |= (r3 << 1);
    0x00038540 biceq r0, r0, r3, lsr 31      |             __asm ("biceq r0, r0, r3, lsr 31");
    0x00038544 pop {r4, r5, r6, pc}          |             
                                             |         }
    0x00038548 rsb r5, r4, 0x20              |         r5 = 0x20 - r4;
    0x0003854c orr lr, lr, r0, lsl r5        |         lr |= (r0 << r5);
    0x00038550 lsr r3, r0, r4                |         r3 = r0 >> r4;
    0x00038554 orr r3, r3, r1, lsl r5        |         r3 |= (r1 << r5);
    0x00038558 lsr r0, r1, r4                |         r0 = r1 >> r4;
    0x0003855c and r1, r1, 0x80000000        |         r1 &= 0x80000000;
    0x00038560 bic r0, r0, r1, lsr r4        |         r0 = BIT_MASK (r0, r1);
    0x00038564 add r0, r0, r3, lsr 31        |         r0 += (r3 >> 31);
    0x00038568 orrs lr, lr, r3, lsl 1        |         lr |= (r3 << 1);
    0x0003856c biceq r0, r0, r3, lsr 31      |         __asm ("biceq r0, r0, r3, lsr 31");
    0x00038570 pop {r4, r5, r6, pc}          |         
                                             |     }
    0x0003862c and r1, r1, 0x80000000        |     r1 &= 0x80000000;
    0x00038630 orr r1, r1, 0x7f000000        |     r1 |= 0x7f000000;
    0x00038634 orr r1, r1, 0xf00000          |     r1 |= 0xf00000;
    0x00038638 mov r0, 0                     |     r0 = 0;
    0x0003863c 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/lib/libcurl.so @ 0x2ff0c */
                                                     | #include <stdint.h>
                                                     |  
    ; (fcn) sym.auth_digest_get_key_value ()         | void auth_digest_get_key_value (int32_t arg_18h, int32_t arg2, const char * s1) {
                                                     |     r1 = arg2;
                                                     |     r0 = s1;
    0x0002ff0c push {r4, r5, r6, r7, r8, lr}         |     
    0x0002ff10 ldrb r7, [sp, 0x18]                   |     r7 = *(arg_18h);
    0x0002ff14 mov r8, r1                            |     r8 = r1;
    0x0002ff18 mov r5, r2                            |     r5 = r2;
    0x0002ff1c mov r6, r3                            |     r6 = r3;
    0x0002ff20 bl 0x5a18                             |     r0 = strstr (r0, r1);
    0x0002ff24 subs r4, r0, 0                        |     r4 = r0 - 0;
                                                     |     if (r4 == r0) {
    0x0002ff28 beq 0x2ff78                           |         goto label_0;
                                                     |     }
    0x0002ff2c mov r0, r8                            |     r0 = r8;
    0x0002ff30 bl 0x5250                             |     strlen (r0);
    0x0002ff34 sub r6, r6, 1                         |     r6--;
    0x0002ff38 mov r2, r5                            |     r2 = r5;
    0x0002ff3c add r0, r4, r0                        |     r0 = r4 + r0;
    0x0002ff40 sub r3, r0, 1                         |     r3 = r0 - 1;
                                                     |     do {
    0x0002ff44 ldrb r1, [r3, 1]!                     |         r1 = *((r3 += 1));
    0x0002ff48 cmp r1, r7                            |         
    0x0002ff4c cmpne r1, 0                           |         __asm ("cmpne r1, 0");
                                                     |         if (r1 != r7) {
    0x0002ff50 beq 0x2ff60                           |             
    0x0002ff54 sub ip, r3, r0                        |             
    0x0002ff58 cmp r6, ip                            |             
                                                     |             if (r6 > ip) {
    0x0002ff5c bhi 0x2ff70                           |                 goto label_1;
                                                     |             }
                                                     |         }
    0x0002ff60 mov r3, 0                             |         r3 = 0;
    0x0002ff64 strb r3, [r2]                         |         *(r2) = r3;
    0x0002ff68 mov r0, 1                             |         r0 = 1;
    0x0002ff6c pop {r4, r5, r6, r7, r8, pc}          |         
                                                     | label_1:
    0x0002ff70 strb r1, [r2], 1                      |         *(r2) = r1;
                                                     |         r2++;
    0x0002ff74 b 0x2ff44                             |         
                                                     |     } while (1);
                                                     | label_0:
    0x0002ff78 mov r0, r4                            |     r0 = r4;
    0x0002ff7c pop {r4, r5, r6, r7, r8, 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/lib/libcurl.so @ 0x1aa04 */
                                     | #include <stdint.h>
                                     |  
    ; (fcn) sym.charclass ()         | void charclass (int32_t arg1) {
                                     |     r0 = arg1;
    0x0001aa04 push {r4, lr}         |     
    0x0001aa08 mov r4, r0            |     r4 = r0;
    0x0001aa0c bl 0x2f9c4            |     r0 = Curl_isupper ();
    0x0001aa10 cmp r0, 0             |     
                                     |     if (r0 == 0) {
    0x0001aa14 bne 0x1aa3c           |         
    0x0001aa18 mov r0, r4            |         r0 = r4;
    0x0001aa1c bl 0x2f9ec            |         r0 = Curl_islower ();
    0x0001aa20 cmp r0, 0             |         
                                     |         if (r0 != 0) {
    0x0001aa24 bne 0x1aa44           |             goto label_0;
                                     |         }
    0x0001aa28 mov r0, r4            |         r0 = r4;
    0x0001aa2c bl 0x2f8c0            |         r0 = Curl_isdigit ();
    0x0001aa30 adds r0, r0, 0        |         r0 += 0;
                                     |         if (r0 == r0) {
    0x0001aa34 movne r0, 1           |             r0 = 1;
                                     |         }
    0x0001aa38 pop {r4, pc}          |         
                                     |     }
    0x0001aa3c mov r0, 2             |     r0 = 2;
    0x0001aa40 pop {r4, pc}          |     
                                     | label_0:
    0x0001aa44 mov r0, 3             |     r0 = 3;
    0x0001aa48 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/lib/libcurl.so @ 0x9edc */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.cookiehash ()                | void cookiehash (int32_t arg1) {
                                             |     r0 = arg1;
    0x00009edc push {r4, r5, r6, lr}         |     
    0x00009ee0 subs r4, r0, 0                |     r4 = r0 - 0;
    0x00009ee4 bne 0x9ef0                    |     
                                             |     while (r0 != 0) {
    0x00009ee8 mov r0, 0                     |         r0 = 0;
    0x00009eec pop {r4, r5, r6, pc}          |         
    0x00009ef0 bl 0x9e94                     |         r0 = isip ();
    0x00009ef4 cmp r0, 0                     |         
    0x00009ef8 bne 0x9ee8                    |         
                                             |     }
    0x00009efc mov r0, r4                    |     r0 = r4;
    0x00009f00 bl 0x5250                     |     strlen (r0);
    0x00009f04 mov r1, 0x2e                  |     r1 = 0x2e;
    0x00009f08 mov r2, r0                    |     r2 = r0;
    0x00009f0c mov r6, r0                    |     r6 = r0;
    0x00009f10 mov r0, r4                    |     r0 = r4;
    0x00009f14 bl 0x2514c                    |     r0 = Curl_memrchr ();
    0x00009f18 subs r2, r0, 0                |     r2 = r0 - 0;
                                             |     if (r2 != r0) {
    0x00009f1c beq 0x9f4c                    |         
    0x00009f20 sub r2, r2, r4                |         r2 -= r4;
    0x00009f24 mov r1, 0x2e                  |         r1 = 0x2e;
    0x00009f28 mov r0, r4                    |         r0 = r4;
    0x00009f2c bl 0x2514c                    |         r0 = Curl_memrchr ();
    0x00009f30 cmp r0, 0                     |         
                                             |         if (r0 == 0) {
    0x00009f34 beq 0x9f4c                    |             goto label_0;
                                             |         }
    0x00009f38 add r0, r0, 1                 |         r0++;
    0x00009f3c sub r3, r0, r4                |         r3 = r0 - r4;
    0x00009f40 cmp r0, 0                     |         
    0x00009f44 sub r6, r6, r3                |         r6 -= r3;
                                             |         if (r0 != 0) {
    0x00009f48 movne r4, r0                  |             r4 = r0;
                                             |             goto label_0;
                                             |         }
                                             |     }
                                             | label_0:
    0x00009f4c ldr r5, [pc, 0x24]            |     r5 = *(0x9f74);
    0x00009f50 add r6, r4, r6                |     r6 = r4 + r6;
                                             |     do {
    0x00009f54 cmp r6, r4                    |         
                                             |         if (r6 <= r4) {
    0x00009f58 bhi 0x9f64                    |             
    0x00009f5c and r0, r5, 0xff              |             r0 = r5 & 0xff;
    0x00009f60 pop {r4, r5, r6, pc}          |             
                                             |         }
    0x00009f64 ldrb r0, [r4], 1              |         r0 = *(r4);
                                             |         r4++;
    0x00009f68 bl 0x19dac                    |         Curl_raw_toupper ();
    0x00009f6c add r5, r5, r5, lsl 5         |         r5 += (r5 << 5);
    0x00009f70 eor r5, r5, r0                |         r5 ^= r0;
    0x00009f74 b 0x9f54                      |         
                                             |     } 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/lib/libcurl.so @ 0x156a0 */
                                                                 | #include <stdint.h>
                                                                 |  
    ; (fcn) sym.curl_easy_escape ()                              | void curl_easy_escape (char * s) {
                                                                 |     r1 = s;
    0x000156a0 push {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr}     |     
    0x000156a4 ldr r5, [pc, 0x10c]                               |     r5 = *(0x157b4);
    0x000156a8 cmp r2, 0                                         |     
    0x000156ac add r5, pc, r5                                    |     r5 = pc + r5;
    0x000156b0 bge 0x156c0                                       |     
                                                                 |     while (r6 == r0) {
                                                                 | label_3:
    0x000156b4 mov r6, 0                                         |         r6 = 0;
                                                                 | label_0:
    0x000156b8 mov r0, r6                                        |         r0 = r6;
    0x000156bc pop {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}      |         
    0x000156c0 mov r8, r1                                        |         r8 = r1;
                                                                 |         if (r2 == 0) {
    0x000156c4 addne r4, r2, 1                                   |             r4 = r2 + 1;
                                                                 |         }
                                                                 |         if (r2 == 0) {
    0x000156c8 bne 0x156d8                                       |             
    0x000156cc mov r0, r1                                        |             r0 = r1;
    0x000156d0 bl 0x5250                                         |             r0 = strlen (r0);
    0x000156d4 add r4, r0, 1                                     |             r4 = r0 + 1;
                                                                 |         }
    0x000156d8 ldr r3, [pc, 0xdc]                                |         
    0x000156dc mov r0, r4                                        |         r0 = r4;
    0x000156e0 ldr r3, [r5, r3]                                  |         r3 = *((r5 + r3));
    0x000156e4 ldr r3, [r3]                                      |         r3 = "is_not_new_enough";
    0x000156e8 blx r3                                            |         r0 = uint32_t (*r3)(uint32_t, char*) (r0, "is_not_new_enough");
    0x000156ec subs r6, r0, 0                                    |         r6 = r0 - 0;
    0x000156f0 beq 0x156b4                                       |         
                                                                 |     }
    0x000156f4 ldr fp, [pc, 0xc4]                                |     fp = *(0x000157c0);
    0x000156f8 sub sl, r4, 1                                     |     sl = r4 - 1;
    0x000156fc sub r8, r8, 1                                     |     r8--;
    0x00015700 mov sb, r4                                        |     sb = r4;
    0x00015704 mov r7, 0                                         |     r7 = 0;
    0x00015708 add fp, pc, fp                                    |     
                                                                 | label_1:
    0x0001570c subs sl, sl, 1                                    |     sl--;
                                                                 |     if (sl >= sl) {
    0x00015710 movlo r3, 0                                       |         r3 = 0;
                                                                 |     }
                                                                 |     if (sl < sl) {
    0x00015714 strblo r3, [r6, r7]                               |         *((r6 + r7)) = r3;
                                                                 |         goto label_5;
                                                                 |     }
                                                                 |     if (sl <= sl) {
                                                                 | label_5:
    0x00015718 blo 0x156b8                                       |         goto label_0;
                                                                 |     }
    0x0001571c ldrb r5, [r8, 1]!                                 |     r5 = *((r8 += 1));
    0x00015720 cmp r5, 0x5a                                      |     
                                                                 |     if (r5 > 0x5a) {
    0x00015724 bhi 0x15758                                       |         goto label_6;
                                                                 |     }
    0x00015728 cmp r5, 0x41                                      |     
                                                                 |     if (r5 >= 0x41) {
    0x0001572c bhs 0x1574c                                       |         goto label_2;
                                                                 |     }
    0x00015730 cmp r5, 0x2d                                      |     
                                                                 |     if (r5 <= 0x2d) {
    0x00015734 blo 0x15770                                       |         goto label_7;
                                                                 |     }
    0x00015738 cmp r5, 0x2e                                      |     
                                                                 |     if (r5 < 0x2e) {
    0x0001573c bls 0x1574c                                       |         goto label_2;
                                                                 |     }
    0x00015740 sub r3, r5, 0x30                                  |     r3 = r5 - 0x30;
    0x00015744 cmp r3, 9                                         |     
                                                                 |     if (r3 > 9) {
    0x00015748 bhi 0x15770                                       |         goto label_7;
                                                                 |     }
                                                                 |     do {
                                                                 | label_2:
    0x0001574c strb r5, [r6, r7]                                 |         *((r6 + r7)) = r5;
    0x00015750 add r7, r7, 1                                     |         r7++;
    0x00015754 b 0x1570c                                         |         goto label_1;
                                                                 | label_6:
    0x00015758 cmp r5, 0x7a                                      |         
                                                                 |         if (r5 > 0x7a) {
    0x0001575c bhi 0x157b0                                       |             goto label_8;
                                                                 |         }
    0x00015760 cmp r5, 0x61                                      |         
    0x00015764 bhs 0x1574c                                       |         
                                                                 |     } while (r5 >= 0x61);
    0x00015768 cmp r5, 0x5f                                      |     
                                                                 |     if (r5 == 0x5f) {
                                                                 | label_4:
    0x0001576c beq 0x1574c                                       |         goto label_2;
                                                                 |     }
                                                                 | label_7:
    0x00015770 add r4, r4, 2                                     |     r4 += 2;
    0x00015774 cmp sb, r4                                        |     
                                                                 |     if (sb >= r4) {
    0x00015778 bhs 0x15794                                       |         goto label_9;
                                                                 |     }
    0x0001577c lsl sb, sb, 1                                     |     sb <<= 1;
    0x00015780 mov r0, r6                                        |     r0 = r6;
    0x00015784 mov r1, sb                                        |     r1 = sb;
    0x00015788 bl 0x23998                                        |     r0 = Curl_saferealloc ();
    0x0001578c subs r6, r0, 0                                    |     r6 = r0 - 0;
                                                                 |     if (r6 == r0) {
    0x00015790 beq 0x156b4                                       |         goto label_3;
                                                                 |     }
                                                                 | label_9:
    0x00015794 add r0, r6, r7                                    |     r0 = r6 + r7;
    0x00015798 mov r3, r5                                        |     r3 = r5;
    0x0001579c mov r2, fp                                        |     r2 = fp;
    0x000157a0 mov r1, 4                                         |     r1 = 4;
    0x000157a4 bl 0x579c                                         |     fcn_0000579c ();
    0x000157a8 add r7, r7, 3                                     |     r7 += 3;
    0x000157ac b 0x1570c                                         |     goto label_1;
                                                                 | label_8:
    0x000157b0 cmp r5, 0x7e                                      |     
    0x000157b4 b 0x1576c                                         |     goto label_4;
                                                                 | }
    ; 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/lib/libcurl.so @ 0x8be0 */
                                                             | #include <stdint.h>
                                                             |  
    ; (fcn) sym.curl_formadd ()                              | void curl_formadd (int32_t arg1) {
                                                             |     int32_t var_0h;
                                                             |     int32_t var_4h;
                                                             |     int32_t var_8h;
                                                             |     int32_t var_8h_2;
                                                             |     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_3ch;
                                                             |     int32_t var_40h;
                                                             |     int32_t var_64h;
                                                             |     int32_t var_68h;
                                                             |     int32_t var_4h_2;
                                                             |     r0 = arg1;
    0x00008be0 push {r1, r2, r3}                             |     
    0x00008be4 ldr r3, [pc, 0x980]                           |     r3 = *(0x9568);
    0x00008be8 push {r4, r5, r6, r7, r8, sb, sl, fp, lr}     |     
    0x00008bec ldr r8, [pc, 0x97c]                           |     r8 = *(0x956c);
    0x00008bf0 sub sp, sp, 0x40                              |     
    0x00008bf4 add r8, pc, r8                                |     r8 = pc + r8;
    0x00008bf8 add r5, sp, 0x68                              |     r5 += var_68h;
    0x00008bfc str r0, [sp, 0x2c]                            |     var_2ch = r0;
    0x00008c00 str r5, [sp, 0x3c]                            |     var_3ch = r5;
    0x00008c04 ldr r3, [r8, r3]                              |     
    0x00008c08 mov r1, 0x48                                  |     r1 = 0x48;
    0x00008c0c str r3, [sp]                                  |     *(sp) = r3;
    0x00008c10 mov r0, 1                                     |     r0 = 1;
    0x00008c14 ldr r3, [r3]                                  |     r3 = *(0x956c);
    0x00008c18 blx r3                                        |     r0 = uint32_t (*r3)(uint32_t) (r3);
    0x00008c1c subs sl, r0, 0                                |     sl = r0 - 0;
                                                             |     if (sl != r0) {
    0x00008c20 moveq r5, 1                                   |         r5 = 1;
                                                             |     }
                                                             |     if (sl == r0) {
    0x00008c24 beq 0x92b4                                    |         goto label_31;
                                                             |     }
    0x00008c28 mov r6, 0                                     |     r6 = 0;
    0x00008c2c mov r4, sl                                    |     r4 = sl;
    0x00008c30 mov r7, r6                                    |     r7 = r6;
    0x00008c34 mov fp, r6                                    |     
    0x00008c38 mov sb, 1                                     |     sb = 1;
                                                             |     do {
                                                             | label_0:
    0x00008c3c cmp fp, 0                                     |         
                                                             |         if (fp == 0) {
    0x00008c40 movne r1, r7                                  |             r1 = r7;
                                                             |         }
                                                             |         if (fp != 0) {
    0x00008c44 moveq r1, 0                                   |             r1 = 0;
                                                             |         }
    0x00008c48 cmp r1, 0                                     |         
                                                             |         if (r1 == 0) {
    0x00008c4c beq 0x8c6c                                    |             goto label_32;
                                                             |         }
    0x00008c50 ldm fp, {r2, r6}                              |         r2 = *(fp);
                                                             |         r6 = *((fp + 4));
    0x00008c54 add fp, fp, 8                                 |         
    0x00008c58 cmp r2, 0x11                                  |         
                                                             |         if (r2 == 0x11) {
    0x00008c5c movne r3, r5                                  |             r3 = r5;
                                                             |         }
                                                             |         if (r2 != 0x11) {
    0x00008c60 bne 0x94fc                                    |             goto label_33;
                                                             |         }
    0x00008c64 mov r7, 0                                     |         r7 = 0;
    0x00008c68 b 0x8c3c                                      |         
                                                             |     } while (1);
                                                             | label_32:
    0x00008c6c ldr r2, [r5]                                  |     r2 = *(r5);
    0x00008c70 add r3, r5, 4                                 |     r3 += var_4h_2;
    0x00008c74 cmp r2, 0x11                                  |     
                                                             |     if (r2 != 0x11) {
    0x00008c78 bne 0x94fc                                    |         goto label_33;
                                                             |     }
    0x00008c7c ldr r3, [pc, 0x8f0]                           |     r3 = *(0x9570);
    0x00008c80 mov r4, sl                                    |     r4 = sl;
    0x00008c84 add r3, pc, r3                                |     r3 = pc + r3;
    0x00008c88 mov r5, r1                                    |     r5 = r1;
    0x00008c8c mov r7, r1                                    |     r7 = r1;
    0x00008c90 mov sb, 1                                     |     sb = 1;
    0x00008c94 str r3, [sp, 0x30]                            |     var_30h = r3;
                                                             | label_9:
    0x00008c98 ldr r3, [r4]                                  |     r3 = *(r4);
    0x00008c9c cmp r3, 0                                     |     
                                                             |     if (r3 != 0) {
    0x00008ca0 beq 0x8cb0                                    |         
    0x00008ca4 ldr r3, [r4, 0xc]                             |         r3 = *((r4 + 0xc));
    0x00008ca8 cmp r3, 0                                     |         
                                                             |         if (r3 != 0) {
    0x00008cac bne 0x8cb8                                    |             goto label_34;
                                                             |         }
                                                             |     }
    0x00008cb0 cmp r7, 0                                     |     
                                                             |     if (r7 == 0) {
    0x00008cb4 beq 0x94e4                                    |         goto label_35;
                                                             |     }
                                                             | label_34:
    0x00008cb8 ldrd r2, r3, [r4, 0x18]                       |     __asm ("ldrd r2, r3, [r4, 0x18]");
    0x00008cbc ldr r1, [r4, 0x28]                            |     r1 = *((r4 + 0x28));
    0x00008cc0 orrs r3, r2, r3                               |     r3 = r2 | r3;
                                                             |     if (r3 != r2) {
    0x00008cc4 beq 0x8cd0                                    |         
    0x00008cc8 tst r1, 1                                     |         
                                                             |         if ((r1 & 1) != 0) {
    0x00008ccc bne 0x94e4                                    |             goto label_35;
                                                             |         }
                                                             |     }
    0x00008cd0 and r3, r1, 9                                 |     r3 = r1 & 9;
    0x00008cd4 cmp r3, 9                                     |     
                                                             |     if (r3 == 9) {
    0x00008cd8 beq 0x94e4                                    |         goto label_35;
                                                             |     }
    0x00008cdc ldr r3, [r4, 0x2c]                            |     r3 = *((r4 + 0x2c));
    0x00008ce0 cmp r3, 0                                     |     
                                                             |     if (r3 == 0) {
    0x00008ce4 bne 0x8cf4                                    |         
    0x00008ce8 and r3, r1, 0x30                              |         r3 = r1 & 0x30;
    0x00008cec cmp r3, 0x30                                  |         
                                                             |         if (r3 == 0x30) {
    0x00008cf0 beq 0x94e4                                    |             goto label_35;
                                                             |         }
                                                             |     }
    0x00008cf4 and r3, r1, 0xa                               |     r3 = r1 & 0xa;
    0x00008cf8 cmp r3, 0xa                                   |     
                                                             |     if (r3 == 0xa) {
    0x00008cfc beq 0x94e4                                    |         goto label_35;
                                                             |     }
    0x00008d00 tst r1, 0x11                                  |     
                                                             |     if ((r1 & 0x11) == 0) {
    0x00008d04 beq 0x92cc                                    |         goto label_36;
                                                             |     }
    0x00008d08 ldr r3, [r4, 0x20]                            |     r3 = *((r4 + 0x20));
    0x00008d0c cmp r3, 0                                     |     
                                                             |     if (r3 != 0) {
    0x00008d10 bne 0x92cc                                    |         goto label_36;
                                                             |     }
    0x00008d14 tst r1, 0x10                                  |     
                                                             |     if ((r1 & 0x10) == 0) {
    0x00008d18 ldrne r0, [r4, 0x34]                          |         r0 = *((r4 + 0x34));
                                                             |     }
                                                             |     if ((r1 & 0x10) != 0) {
    0x00008d1c ldreq r0, [r4, 0xc]                           |         r0 = *((r4 + 0xc));
                                                             |     }
    0x00008d20 bl 0x2c6c0                                    |     r0 = Curl_mime_contenttype ();
    0x00008d24 cmp r0, 0                                     |     
                                                             |     if (r0 == 0) {
    0x00008d28 bne 0x8d3c                                    |         
    0x00008d2c ldr r3, [sp, 0x30]                            |         r3 = var_30h;
    0x00008d30 cmp r5, 0                                     |         
                                                             |         if (r5 != 0) {
    0x00008d34 moveq r0, r3                                  |             r0 = r3;
                                                             |         }
                                                             |         if (r5 != 0) {
    0x00008d38 movne r0, r5                                  |             r0 = r5;
                                                             |             goto label_37;
                                                             |         }
                                                             |     }
                                                             | label_37:
    0x00008d3c ldr r3, [pc, 0x834]                           |     
    0x00008d40 ldr r3, [r8, r3]                              |     r3 = *((r8 + r3));
    0x00008d44 ldr r3, [r3]                                  |     r3 = *(0x9574);
    0x00008d48 blx r3                                        |     r0 = uint32_t (*r3)(uint32_t, uint32_t) (r0, r3);
    0x00008d4c cmp r0, 0                                     |     
    0x00008d50 str r0, [r4, 0x20]                            |     *((r4 + 0x20)) = r0;
                                                             |     if (r0 != 0) {
    0x00008d54 bne 0x92c8                                    |         goto label_38;
                                                             |     }
                                                             | label_8:
    0x00008d58 mov r5, 1                                     |     r5 = 1;
                                                             | label_12:
    0x00008d5c ldr r3, [pc, 0x818]                           |     r3 = *(0x9578);
    0x00008d60 mov r6, 0                                     |     r6 = 0;
    0x00008d64 ldr r7, [r8, r3]                              |     r7 = *((r8 + r3));
                                                             |     do {
    0x00008d68 ldrb r3, [r4, 4]                              |         r3 = *((r4 + 4));
    0x00008d6c cmp r3, 0                                     |         
                                                             |         if (r3 != 0) {
    0x00008d70 beq 0x8d88                                    |             
    0x00008d74 ldr r3, [r7]                                  |             r3 = *(r7);
    0x00008d78 ldr r0, [r4]                                  |             r0 = *(r4);
    0x00008d7c blx r3                                        |             uint32_t (*r3)(uint32_t, uint32_t) (r0, r3);
    0x00008d80 str r6, [r4]                                  |             *(r4) = r6;
    0x00008d84 strb r6, [r4, 4]                              |             *((r4 + 4)) = r6;
                                                             |         }
    0x00008d88 ldrb r2, [r4, 0x10]                           |         r2 = *((r4 + 0x10));
    0x00008d8c ldr r3, [r7]                                  |         r3 = *(r7);
    0x00008d90 cmp r2, 0                                     |         
                                                             |         if (r2 != 0) {
    0x00008d94 beq 0x8da8                                    |             
    0x00008d98 ldr r0, [r4, 0xc]                             |             r0 = *((r4 + 0xc));
    0x00008d9c blx r3                                        |             uint32_t (*r3)(uint32_t) (r0);
    0x00008da0 str r6, [r4, 0xc]                             |             *((r4 + 0xc)) = r6;
    0x00008da4 strb r6, [r4, 0x10]                           |             *((r4 + 0x10)) = r6;
                                                             |         }
    0x00008da8 ldrb r2, [r4, 0x24]                           |         r2 = *((r4 + 0x24));
    0x00008dac ldr r3, [r7]                                  |         r3 = *(r7);
    0x00008db0 cmp r2, 0                                     |         
                                                             |         if (r2 != 0) {
    0x00008db4 beq 0x8dc8                                    |             
    0x00008db8 ldr r0, [r4, 0x20]                            |             r0 = *((r4 + 0x20));
    0x00008dbc blx r3                                        |             uint32_t (*r3)(uint32_t) (r0);
    0x00008dc0 str r6, [r4, 0x20]                            |             *((r4 + 0x20)) = r6;
    0x00008dc4 strb r6, [r4, 0x24]                           |             *((r4 + 0x24)) = r6;
                                                             |         }
    0x00008dc8 ldrb r2, [r4, 0x38]                           |         r2 = *((r4 + 0x38));
    0x00008dcc ldr r3, [r7]                                  |         r3 = *(r7);
    0x00008dd0 cmp r2, 0                                     |         
                                                             |         if (r2 != 0) {
    0x00008dd4 beq 0x8de8                                    |             
    0x00008dd8 ldr r0, [r4, 0x34]                            |             r0 = *((r4 + 0x34));
    0x00008ddc blx r3                                        |             uint32_t (*r3)(uint32_t) (r0);
    0x00008de0 str r6, [r4, 0x34]                            |             *((r4 + 0x34)) = r6;
    0x00008de4 strb r6, [r4, 0x38]                           |             *((r4 + 0x38)) = r6;
                                                             |         }
    0x00008de8 ldr r4, [r4, 0x44]                            |         r4 = *((r4 + 0x44));
    0x00008dec cmp r4, 0                                     |         
    0x00008df0 bne 0x8d68                                    |         
                                                             |     } while (r4 != 0);
    0x00008df4 b 0x9294                                      |     goto label_10;
                                                             | label_21:
    0x00008df8 cmp r7, 0                                     |     
                                                             |     if (r7 != 0) {
    0x00008dfc bne 0x955c                                    |         goto label_39;
                                                             |     }
    0x00008e00 ldr fp, [r3]                                  |     fp = *(r3);
    0x00008e04 add r5, r3, 4                                 |     r5 = r3 + 4;
    0x00008e08 cmp fp, 0                                     |     
                                                             |     if (fp != 0) {
    0x00008e0c bne 0x94f4                                    |         goto label_40;
                                                             |     }
                                                             |     do {
                                                             | label_1:
    0x00008e10 mov r5, 3                                     |         r5 = 3;
    0x00008e14 strdeq r0, r1, [r0], -r7                      |         __asm ("strdeq r0, r1, [r0], -r7");
                                                             |         if (fp != 0) {
                                                             | label_15:
    0x00008e18 andeq r0, r0, r0                              |             r0 &= r0;
                                                             |         }
    0x00008e1c orr r0, r2, 0                                 |         r0 = r2;
    0x00008e20 str r2, [r4, 0x28]                            |         *((r4 + 0x28)) = r2;
                                                             | label_14:
    0x00008e24 ldr r2, [r4]                                  |         r2 = *(r4);
    0x00008e28 cmp r2, 0                                     |         
                                                             |         if (r2 != 0) {
    0x00008e2c bne 0x9564                                    |             goto label_41;
                                                             |         }
    0x00008e30 cmp r7, 0                                     |         
                                                             |         if (r7 != 0) {
    0x00008e34 ldreq r2, [r3]                                |             r2 = *(r3);
                                                             |         }
                                                             |         if (r7 == 0) {
    0x00008e38 movne r2, r6                                  |             r2 = r6;
                                                             |         }
                                                             |         if (r7 != 0) {
    0x00008e3c addeq r3, r3, 4                               |             r3 += 4;
                                                             |         }
    0x00008e40 cmp r2, 0                                     |         
    0x00008e44 beq 0x8e10                                    |         
                                                             |     } while (r2 == 0);
    0x00008e48 str r2, [r4]                                  |     *(r4) = r2;
                                                             |     do {
                                                             | label_2:
    0x00008e4c mov r5, r3                                    |         r5 = r3;
    0x00008e50 b 0x8c3c                                      |         goto label_0;
                                                             | label_16:
    0x00008e54 ldr r2, [r4, 8]                               |         r2 = *((r4 + 8));
    0x00008e58 cmp r2, 0                                     |         
                                                             |         if (r2 != 0) {
    0x00008e5c bne 0x9564                                    |             goto label_41;
                                                             |         }
    0x00008e60 cmp r7, 0                                     |         
                                                             |         if (r7 != 0) {
    0x00008e64 ldreq r2, [r3]                                |             r2 = *(r3);
                                                             |         }
                                                             |         if (r7 == 0) {
    0x00008e68 movne r2, r6                                  |             r2 = r6;
                                                             |         }
                                                             |         if (r7 != 0) {
    0x00008e6c addeq r3, r3, 4                               |             r3 += 4;
                                                             |         }
    0x00008e70 str r2, [r4, 8]                               |         *((r4 + 8)) = r2;
    0x00008e74 b 0x8e4c                                      |         
                                                             |     } while (1);
                                                             | label_18:
    0x00008e78 ldr r2, [r4, 0x28]                            |     r2 = *((r4 + 0x28));
    0x00008e7c orr r2, r2, 8                                 |     r2 |= 8;
    0x00008e80 str r2, [r4, 0x28]                            |     *((r4 + 0x28)) = r2;
                                                             | label_17:
    0x00008e84 ldr r2, [r4, 0xc]                             |     r2 = *((r4 + 0xc));
    0x00008e88 cmp r2, 0                                     |     
                                                             |     if (r2 != 0) {
    0x00008e8c bne 0x9564                                    |         goto label_41;
                                                             |     }
    0x00008e90 cmp r7, 0                                     |     
                                                             |     if (r7 != 0) {
    0x00008e94 ldreq r2, [r3]                                |         r2 = *(r3);
                                                             |     }
                                                             |     if (r7 == 0) {
    0x00008e98 movne r2, r6                                  |         r2 = r6;
                                                             |     }
                                                             |     if (r7 != 0) {
    0x00008e9c addeq r3, r3, 4                               |         r3 += 4;
                                                             |     }
    0x00008ea0 cmp r2, 0                                     |     
                                                             |     if (r2 == 0) {
    0x00008ea4 beq 0x8e10                                    |         goto label_1;
                                                             |     }
                                                             | label_4:
    0x00008ea8 str r2, [r4, 0xc]                             |     *((r4 + 0xc)) = r2;
    0x00008eac b 0x8e4c                                      |     goto label_2;
                                                             | label_19:
    0x00008eb0 cmp r7, 0                                     |     
                                                             |     if (r7 != 0) {
    0x00008eb4 ldreq r2, [r3]                                |         r2 = *(r3);
                                                             |     }
                                                             |     if (r7 == 0) {
    0x00008eb8 movne r2, r6                                  |         r2 = r6;
                                                             |     }
    0x00008ebc str r2, [r4, 0x18]                            |     *((r4 + 0x18)) = r2;
                                                             |     if (r7 != 0) {
    0x00008ec0 addeq r3, r3, 4                               |         r3 += 4;
                                                             |     }
    0x00008ec4 mov r2, 0                                     |     r2 = 0;
                                                             |     do {
    0x00008ec8 str r2, [r4, 0x1c]                            |         *((r4 + 0x1c)) = r2;
    0x00008ecc b 0x8e4c                                      |         goto label_2;
                                                             | label_29:
    0x00008ed0 ldr r2, [r4, 0x28]                            |         r2 = *((r4 + 0x28));
    0x00008ed4 cmp r7, 0                                     |         
    0x00008ed8 orr r2, r2, 0x80                              |         r2 |= 0x80;
                                                             |         if (r7 != 0) {
    0x00008edc addeq r3, r3, 7                               |             r3 += 7;
                                                             |         }
    0x00008ee0 str r2, [r4, 0x28]                            |         *((r4 + 0x28)) = r2;
    0x00008ee4 biceq r2, r3, 7                               |         __asm ("biceq r2, r3, 7");
                                                             |         if (r7 != 0) {
    0x00008ee8 addeq r3, r2, 8                               |             r3 = r2 + 8;
                                                             |         }
                                                             |         if (r7 != 0) {
    0x00008eec ldmeq r2, {r1, r2}                            |             r1 = *(r2);
                                                             |             r2 = *((r2 + 4));
                                                             |         }
                                                             |         if (r7 == 0) {
    0x00008ef0 movne r1, r6                                  |             r1 = r6;
                                                             |         }
                                                             |         if (r7 == 0) {
    0x00008ef4 movne r2, 0                                   |             r2 = 0;
                                                             |         }
    0x00008ef8 str r1, [r4, 0x18]                            |         *((r4 + 0x18)) = r1;
    0x00008efc b 0x8ec8                                      |         
                                                             |     } while (1);
                                                             | label_20:
    0x00008f00 ldr r2, [r4, 0x28]                            |     r2 = *((r4 + 0x28));
    0x00008f04 tst r2, 0xa                                   |     
                                                             |     if ((r2 & 0xa) != 0) {
    0x00008f08 bne 0x9564                                    |         goto label_41;
                                                             |     }
    0x00008f0c cmp r7, 0                                     |     
                                                             |     if (r7 != 0) {
    0x00008f10 ldreq r0, [r3]                                |         r0 = *(r3);
                                                             |     }
                                                             |     if (r7 == 0) {
    0x00008f14 movne r0, r6                                  |         r0 = r6;
                                                             |     }
                                                             |     if (r7 != 0) {
    0x00008f18 addeq r3, r3, 4                               |         r3 += 4;
                                                             |     }
    0x00008f1c cmp r0, 0                                     |     
    0x00008f20 str r3, [sp, 4]                               |     var_4h = r3;
                                                             |     if (r0 == 0) {
    0x00008f24 beq 0x8e10                                    |         goto label_1;
                                                             |     }
    0x00008f28 ldr r2, [pc, 0x648]                           |     
    0x00008f2c ldr r2, [r8, r2]                              |     r2 = *((r8 + r2));
    0x00008f30 ldr r2, [r2]                                  |     r2 = *(0x9574);
    0x00008f34 blx r2                                        |     r0 = uint32_t (*r2)(uint32_t) (r2);
    0x00008f38 cmp r0, 0                                     |     
    0x00008f3c str r0, [r4, 0xc]                             |     *((r4 + 0xc)) = r0;
                                                             |     if (r0 == 0) {
    0x00008f40 beq 0x8fe0                                    |         goto label_3;
                                                             |     }
    0x00008f44 ldr r2, [r4, 0x28]                            |     r2 = *((r4 + 0x28));
    0x00008f48 strb sb, [r4, 0x10]                           |     *((r4 + 0x10)) = sb;
    0x00008f4c orr r2, r2, 2                                 |     r2 |= 2;
    0x00008f50 str r2, [r4, 0x28]                            |     *((r4 + 0x28)) = r2;
                                                             | label_7:
    0x00008f54 ldr r3, [sp, 4]                               |     r3 = var_4h;
    0x00008f58 b 0x8e4c                                      |     goto label_2;
                                                             | label_22:
    0x00008f5c cmp r7, 0                                     |     
                                                             |     if (r7 != 0) {
    0x00008f60 addeq r5, r3, 4                               |         r5 = r3 + 4;
                                                             |     }
                                                             |     if (r7 != 0) {
    0x00008f64 ldreq r0, [r3]                                |         r0 = *(r3);
                                                             |     }
                                                             |     if (r7 == 0) {
    0x00008f68 movne r5, r3                                  |         r5 = r3;
                                                             |     }
    0x00008f6c ldr r3, [r4, 0xc]                             |     r3 = *((r4 + 0xc));
                                                             |     if (r7 == 0) {
    0x00008f70 movne r0, r6                                  |         r0 = r6;
                                                             |     }
    0x00008f74 cmp r3, 0                                     |     
                                                             |     if (r3 == 0) {
    0x00008f78 beq 0x9008                                    |         goto label_42;
                                                             |     }
    0x00008f7c ldr r3, [r4, 0x28]                            |     r3 = *((r4 + 0x28));
    0x00008f80 tst r3, 1                                     |     
                                                             |     if ((r3 & 1) == 0) {
    0x00008f84 beq 0x9564                                    |         goto label_41;
                                                             |     }
    0x00008f88 cmp r0, 0                                     |     
                                                             |     if (r0 == 0) {
    0x00008f8c beq 0x8e10                                    |         goto label_1;
                                                             |     }
    0x00008f90 ldr r3, [pc, 0x5e0]                           |     
    0x00008f94 ldr r3, [r8, r3]                              |     r3 = *((r8 + r3));
    0x00008f98 ldr r3, [r3]                                  |     r3 = *(0x9574);
    0x00008f9c blx r3                                        |     r0 = uint32_t (*r3)(uint32_t) (r3);
    0x00008fa0 subs r3, r0, 0                                |     r3 = r0 - 0;
    0x00008fa4 str r3, [sp, 4]                               |     var_4h = r3;
                                                             |     if (r3 != r0) {
    0x00008fa8 beq 0x8fe0                                    |         
    0x00008fac ldr r3, [sp]                                  |         r3 = *(sp);
    0x00008fb0 mov r1, 0x48                                  |         r1 = 0x48;
    0x00008fb4 ldr r2, [r3]                                  |         r2 = *(r3);
    0x00008fb8 mov r0, 1                                     |         r0 = 1;
    0x00008fbc blx r2                                        |         uint32_t (*r2)(uint32_t, uint32_t, uint32_t, uint32_t) (r0, r1, r2, r3);
    0x00008fc0 ldr r3, [sp, 4]                               |         r3 = var_4h;
    0x00008fc4 cmp r0, 0                                     |         
                                                             |         if (r0 != 0) {
    0x00008fc8 bne 0x8fe8                                    |             goto label_43;
                                                             |         }
                                                             | label_5:
    0x00008fcc ldr r2, [pc, 0x5a8]                           |         
    0x00008fd0 mov r0, r3                                    |         r0 = r3;
    0x00008fd4 ldr r2, [r8, r2]                              |         r2 = *((r8 + r2));
    0x00008fd8 ldr r2, [r2]                                  |         r2 = *(0x9578);
    0x00008fdc blx r2                                        |         uint32_t (*r2)(uint32_t, uint32_t) (r0, r2);
                                                             |     }
                                                             | label_3:
    0x00008fe0 mov r5, 1                                     |     r5 = 1;
    0x00008fe4 b 0x91f8                                      |     goto label_30;
                                                             | label_43:
    0x00008fe8 str r3, [r0, 0xc]                             |     *((r0 + 0xc)) = r3;
    0x00008fec ldr r3, [r4, 0x44]                            |     r3 = *((r4 + 0x44));
    0x00008ff0 str sb, [r0, 0x28]                            |     *((r0 + 0x28)) = sb;
    0x00008ff4 str r3, [r0, 0x44]                            |     *((r0 + 0x44)) = r3;
    0x00008ff8 str r0, [r4, 0x44]                            |     *((r4 + 0x44)) = r0;
    0x00008ffc strb sb, [r0, 0x10]                           |     *((r0 + 0x10)) = sb;
                                                             | label_6:
    0x00009000 mov r4, r0                                    |     r4 = r0;
    0x00009004 b 0x8c3c                                      |     goto label_0;
                                                             | label_42:
    0x00009008 cmp r0, 0                                     |     
                                                             |     if (r0 == 0) {
    0x0000900c beq 0x8e10                                    |         goto label_1;
                                                             |     }
    0x00009010 ldr r3, [pc, 0x560]                           |     
    0x00009014 ldr r3, [r8, r3]                              |     r3 = *((r8 + r3));
    0x00009018 ldr r3, [r3]                                  |     r3 = *(0x9574);
    0x0000901c blx r3                                        |     r0 = uint32_t (*r3)(uint32_t) (r3);
                                                             |     if (r0 != 0) {
    0x00009020 andeq r0, r1, r0                              |         r0 = r1 & r0;
                                                             |     }
    0x00009024 str r0, [r4]                                  |     *(r4) = r0;
                                                             |     if (r0 == 0) {
    0x00009028 beq 0x8fe0                                    |         goto label_3;
                                                             |     }
    0x0000902c ldr r3, [r4, 0x28]                            |     r3 = *((r4 + 0x28));
    0x00009030 strb sb, [r4, 0x10]                           |     *((r4 + 0x10)) = sb;
    0x00009034 orr r3, r3, 1                                 |     r3 |= 1;
    0x00009038 str r3, [r4, 0x28]                            |     *((r4 + 0x28)) = r3;
    0x0000903c b 0x48c3c                                     |     void (*0x48c3c)() ();
                                                             | label_24:
    0x00009040 ldr r2, [r4, 0x28]                            |     r2 = *((r4 + 0x28));
    0x00009044 orr r2, r2, 0x30                              |     r2 |= 0x30;
    0x00009048 str r2, [r4, 0x28]                            |     *((r4 + 0x28)) = r2;
    0x0000904c ldr r2, [r4, 0x2c]                            |     r2 = *((r4 + 0x2c));
    0x00009050 cmp r2, 0                                     |     
                                                             |     if (r2 != 0) {
    0x00009054 bne 0x9564                                    |         goto label_41;
                                                             |     }
    0x00009058 cmp r7, 0                                     |     
                                                             |     if (r7 != 0) {
    0x0000905c ldreq r2, [r3]                                |         r2 = *(r3);
                                                             |     }
                                                             |     if (r7 == 0) {
    0x00009060 movne r2, r6                                  |         r2 = r6;
                                                             |     }
                                                             |     if (r7 != 0) {
    0x00009064 addeq r3, r3, 4                               |         r3 += 4;
                                                             |     }
    0x00009068 cmp r2, 0                                     |     
                                                             |     if (r2 == 0) {
    0x0000906c beq 0x8e10                                    |         goto label_1;
                                                             |     }
    0x00009070 str r2, [r4, 0x2c]                            |     *((r4 + 0x2c)) = r2;
    0x00009074 b 0x8ea8                                      |     goto label_4;
                                                             | label_25:
    0x00009078 ldr r2, [r4, 0x30]                            |     r2 = *((r4 + 0x30));
    0x0000907c cmp r2, 0                                     |     
                                                             |     if (r2 != 0) {
    0x00009080 bne 0x9564                                    |         goto label_41;
                                                             |     }
    0x00009084 cmp r7, 0                                     |     
                                                             |     if (r7 != 0) {
    0x00009088 ldreq r2, [r3]                                |         r2 = *(r3);
                                                             |     }
                                                             |     if (r7 == 0) {
    0x0000908c movne r2, r6                                  |         r2 = r6;
                                                             |     }
                                                             |     if (r7 != 0) {
    0x00009090 addeq r3, r3, 4                               |         r3 += 4;
                                                             |     }
    0x00009094 str r2, [r4, 0x30]                            |     *((r4 + 0x30)) = r2;
    0x00009098 b 0x8e4c                                      |     goto label_2;
                                                             | label_28:
    0x0000909c ldr r2, [r4, 0x28]                            |     r2 = *((r4 + 0x28));
    0x000090a0 orr r2, r2, 0x40                              |     r2 |= 0x40;
    0x000090a4 str r2, [r4, 0x28]                            |     *((r4 + 0x28)) = r2;
    0x000090a8 ldr r2, [r4, 0x3c]                            |     r2 = *((r4 + 0x3c));
    0x000090ac cmp r2, 0                                     |     
                                                             |     if (r2 != 0) {
    0x000090b0 bne 0x9564                                    |         goto label_41;
                                                             |     }
    0x000090b4 cmp r7, 0                                     |     
                                                             |     if (r7 != 0) {
    0x000090b8 ldreq r2, [r3]                                |         r2 = *(r3);
                                                             |     }
                                                             |     if (r7 == 0) {
    0x000090bc movne r2, r6                                  |         r2 = r6;
                                                             |     }
                                                             |     if (r7 != 0) {
    0x000090c0 addeq r3, r3, 4                               |         r3 += 4;
                                                             |     }
    0x000090c4 cmp r2, 0                                     |     
                                                             |     if (r2 == 0) {
    0x000090c8 beq 0x8e10                                    |         goto label_1;
                                                             |     }
    0x000090cc str r2, [r4, 0x3c]                            |     *((r4 + 0x3c)) = r2;
    0x000090d0 b 0x8ea8                                      |     goto label_4;
                                                             | label_26:
    0x000090d4 cmp r7, 0                                     |     
                                                             |     if (r7 != 0) {
    0x000090d8 addeq r5, r3, 4                               |         r5 = r3 + 4;
                                                             |     }
                                                             |     if (r7 != 0) {
    0x000090dc ldreq r0, [r3]                                |         r0 = *(r3);
                                                             |     }
                                                             |     if (r7 == 0) {
    0x000090e0 movne r5, r3                                  |         r5 = r3;
                                                             |     }
    0x000090e4 ldr r3, [r4, 0x20]                            |     r3 = *((r4 + 0x20));
                                                             |     if (r7 == 0) {
    0x000090e8 movne r0, r6                                  |         r0 = r6;
                                                             |     }
    0x000090ec cmp r3, 0                                     |     
                                                             |     if (r3 == 0) {
    0x000090f0 beq 0x9160                                    |         goto label_44;
                                                             |     }
    0x000090f4 ldr r3, [r4, 0x28]                            |     r3 = *((r4 + 0x28));
    0x000090f8 tst r3, 1                                     |     
                                                             |     if ((r3 & 1) == 0) {
    0x000090fc beq 0x9564                                    |         goto label_41;
                                                             |     }
    0x00009100 cmp r0, 0                                     |     
                                                             |     if (r0 == 0) {
    0x00009104 beq 0x8e10                                    |         goto label_1;
                                                             |     }
    0x00009108 ldr r3, [pc, 0x468]                           |     
    0x0000910c ldr r3, [r8, r3]                              |     r3 = *((r8 + r3));
    0x00009110 ldr r3, [r3]                                  |     r3 = *(0x9574);
    0x00009114 blx r3                                        |     r0 = uint32_t (*r3)(uint32_t) (r3);
    0x00009118 subs r3, r0, 0                                |     r3 = r0 - 0;
    0x0000911c str r3, [sp, 4]                               |     var_4h = r3;
                                                             |     if (r3 == r0) {
    0x00009120 beq 0x8fe0                                    |         goto label_3;
                                                             |     }
    0x00009124 ldr r3, [sp]                                  |     r3 = *(sp);
    0x00009128 mov r1, 0x48                                  |     r1 = 0x48;
                                                             |     if (r3 != r0) {
    0x0000912c andeq r0, r0, r0                              |         r0 &= r0;
                                                             |     }
    0x00009130 mov r0, 1                                     |     r0 = 1;
    0x00009134 blx r2                                        |     uint32_t (*r2)(uint32_t, uint32_t, uint32_t) (r0, r1, r3);
    0x00009138 ldr r3, [sp, 4]                               |     r3 = var_4h;
    0x0000913c cmp r0, 0                                     |     
                                                             |     if (r0 == 0) {
    0x00009140 beq 0x8fcc                                    |         goto label_5;
                                                             |     }
    0x00009144 str r3, [r0, 0x20]                            |     *((r0 + 0x20)) = r3;
    0x00009148 ldr r3, [r4, 0x44]                            |     r3 = *((r4 + 0x44));
    0x0000914c str sb, [r0, 0x28]                            |     *((r0 + 0x28)) = sb;
    0x00009150 str r3, [r0, 0x44]                            |     *((r0 + 0x44)) = r3;
    0x00009154 str r0, [r4, 0x44]                            |     *((r4 + 0x44)) = r0;
    0x00009158 strb sb, [r0, 0x24]                           |     *((r0 + 0x24)) = sb;
    0x0000915c b 0x9000                                      |     goto label_6;
                                                             | label_44:
    0x00009160 cmp r0, 0                                     |     
                                                             |     if (r0 == 0) {
    0x00009164 beq 0x8e10                                    |         goto label_1;
                                                             |     }
    0x00009168 ldr r3, [pc, 0x408]                           |     
    0x0000916c ldr r3, [r8, r3]                              |     r3 = *((r8 + r3));
    0x00009170 ldr r3, [r3]                                  |     r3 = *(0x9574);
    0x00009174 blx r3                                        |     r0 = uint32_t (*r3)(uint32_t) (r3);
    0x00009178 cmp r0, 0                                     |     
    0x0000917c str r0, [r4, 0x20]                            |     *((r4 + 0x20)) = r0;
                                                             |     if (r0 == 0) {
    0x00009180 beq 0x8fe0                                    |         goto label_3;
                                                             |     }
    0x00009184 strb sb, [r4, 0x24]                           |     *((r4 + 0x24)) = sb;
    0x00009188 b 0x8c3c                                      |     goto label_0;
                                                             | label_27:
    0x0000918c ldr r1, [r4, 0x40]                            |     r1 = *((r4 + 0x40));
    0x00009190 cmp r7, 0                                     |     
                                                             |     if (r7 != 0) {
    0x00009194 ldreq r2, [r3]                                |         r2 = *(r3);
                                                             |     }
                                                             |     if (r7 == 0) {
    0x00009198 movne r2, r6                                  |         r2 = r6;
                                                             |     }
                                                             |     if (r7 != 0) {
    0x0000919c addeq r3, r3, 4                               |         r3 += 4;
                                                             |     }
    0x000091a0 cmp r1, 0                                     |     
                                                             |     if (r1 != 0) {
    0x000091a4 bne 0x9564                                    |         goto label_41;
                                                             |     }
    0x000091a8 str r2, [r4, 0x40]                            |     *((r4 + 0x40)) = r2;
    0x000091ac b 0x8e4c                                      |     goto label_2;
                                                             | label_23:
    0x000091b0 ldr r2, [r4, 0x34]                            |     r2 = *((r4 + 0x34));
    0x000091b4 cmp r7, 0                                     |     
                                                             |     if (r7 != 0) {
    0x000091b8 ldreq r0, [r3]                                |         r0 = *(r3);
                                                             |     }
                                                             |     if (r7 == 0) {
    0x000091bc movne r0, r6                                  |         r0 = r6;
                                                             |     }
                                                             |     if (r7 != 0) {
    0x000091c0 addeq r3, r3, 4                               |         r3 += 4;
                                                             |     }
    0x000091c4 cmp r2, 0                                     |     
    0x000091c8 str r3, [sp, 4]                               |     var_4h = r3;
                                                             |     if (r2 != 0) {
    0x000091cc bne 0x9564                                    |         goto label_41;
                                                             |     }
    0x000091d0 ldr r2, [pc, 0x3a0]                           |     
    0x000091d4 ldr r2, [r8, r2]                              |     r2 = *((r8 + r2));
    0x000091d8 ldr r2, [r2]                                  |     r2 = *(0x9574);
    0x000091dc blx r2                                        |     r0 = uint32_t (*r2)(uint32_t) (r2);
    0x000091e0 cmp r0, 0                                     |     
    0x000091e4 str r0, [r4, 0x34]                            |     *((r4 + 0x34)) = r0;
                                                             |     if (r0 == 0) {
    0x000091e8 beq 0x8fe0                                    |         goto label_3;
                                                             |     }
    0x000091ec strb sb, [r4, 0x38]                           |     *((r4 + 0x38)) = sb;
    0x000091f0 b 0x8f54                                      |     goto label_7;
                                                             | label_13:
    0x000091f4 mov r5, 4                                     |     r5 = 4;
                                                             | label_30:
    0x000091f8 ldr r3, [pc, 0x37c]                           |     r3 = *(0x9578);
    0x000091fc mov r4, sl                                    |     r4 = sl;
    0x00009200 ldr r7, [r8, r3]                              |     r7 = *((r8 + r3));
    0x00009204 mov r6, 0                                     |     r6 = 0;
                                                             |     do {
    0x00009208 ldrb r2, [r4, 4]                              |         r2 = *((r4 + 4));
    0x0000920c ldr r3, [r7]                                  |         r3 = *(r7);
    0x00009210 cmp r2, 0                                     |         
                                                             |         if (r2 != 0) {
    0x00009214 beq 0x9228                                    |             
    0x00009218 ldr r0, [r4]                                  |             r0 = *(r4);
    0x0000921c blx r3                                        |             uint32_t (*r3)(uint32_t) (r0);
    0x00009220 str r6, [r4]                                  |             *(r4) = r6;
    0x00009224 strb r6, [r4, 4]                              |             *((r4 + 4)) = r6;
                                                             |         }
    0x00009228 ldrb r2, [r4, 0x10]                           |         r2 = *((r4 + 0x10));
    0x0000922c ldr r3, [r7]                                  |         r3 = *(r7);
    0x00009230 cmp r2, 0                                     |         
                                                             |         if (r2 != 0) {
    0x00009234 beq 0x9248                                    |             
    0x00009238 ldr r0, [r4, 0xc]                             |             r0 = *((r4 + 0xc));
    0x0000923c blx r3                                        |             uint32_t (*r3)(uint32_t) (r0);
    0x00009240 str r6, [r4, 0xc]                             |             *((r4 + 0xc)) = r6;
    0x00009244 strb r6, [r4, 0x10]                           |             *((r4 + 0x10)) = r6;
                                                             |         }
    0x00009248 ldrb r2, [r4, 0x24]                           |         r2 = *((r4 + 0x24));
    0x0000924c ldr r3, [r7]                                  |         r3 = *(r7);
    0x00009250 cmp r2, 0                                     |         
                                                             |         if (r2 != 0) {
    0x00009254 beq 0x9268                                    |             
    0x00009258 ldr r0, [r4, 0x20]                            |             r0 = *((r4 + 0x20));
    0x0000925c blx r3                                        |             uint32_t (*r3)(uint32_t) (r0);
    0x00009260 str r6, [r4, 0x20]                            |             *((r4 + 0x20)) = r6;
    0x00009264 strb r6, [r4, 0x24]                           |             *((r4 + 0x24)) = r6;
                                                             |         }
    0x00009268 ldrb r2, [r4, 0x38]                           |         r2 = *((r4 + 0x38));
    0x0000926c ldr r3, [r7]                                  |         r3 = *(r7);
    0x00009270 cmp r2, 0                                     |         
                                                             |         if (r2 != 0) {
    0x00009274 beq 0x9288                                    |             
    0x00009278 ldr r0, [r4, 0x34]                            |             r0 = *((r4 + 0x34));
    0x0000927c blx r3                                        |             uint32_t (*r3)(uint32_t) (r0);
    0x00009280 str r6, [r4, 0x34]                            |             *((r4 + 0x34)) = r6;
    0x00009284 strb r6, [r4, 0x38]                           |             *((r4 + 0x38)) = r6;
                                                             |         }
    0x00009288 ldr r4, [r4, 0x44]                            |         r4 = *((r4 + 0x44));
    0x0000928c cmp r4, 0                                     |         
    0x00009290 bne 0x9208                                    |         
                                                             |     } while (r4 != 0);
                                                             | label_10:
    0x00009294 ldr r3, [pc, 0x2e0]                           |     r3 = *(0x9578);
    0x00009298 ldr r6, [r8, r3]                              |     r6 = *((r8 + r3));
                                                             |     do {
    0x0000929c ldr r4, [sl, 0x44]                            |         r4 = *((sl + 0x44));
    0x000092a0 mov r0, sl                                    |         r0 = sl;
    0x000092a4 ldr r3, [r6]                                  |         r3 = *(r6);
    0x000092a8 blx r3                                        |         uint32_t (*r3)(uint32_t, uint32_t) (r0, r3);
    0x000092ac subs sl, r4, 0                                |         sl = r4 - 0;
    0x000092b0 bne 0x929c                                    |         
                                                             |     } while (sl != r4);
                                                             | label_31:
    0x000092b4 mov r0, r5                                    |     r0 = r5;
    0x000092b8 add sp, sp, 0x40                              |     
    0x000092bc pop {r4, r5, r6, r7, r8, sb, sl, fp, lr}      |     
    0x000092c0 add sp, sp, 0xc                               |     
    0x000092c4 bx lr                                         |     return;
                                                             | label_38:
    0x000092c8 strb sb, [r4, 0x24]                           |     *((r4 + 0x24)) = sb;
                                                             | label_36:
    0x000092cc ldr r6, [r4]                                  |     r6 = *(r4);
    0x000092d0 cmp r6, 0                                     |     
                                                             |     if (r6 != 0) {
    0x000092d4 beq 0x92ec                                    |         
    0x000092d8 ldr r3, [r4, 8]                               |         r3 = *((r4 + 8));
    0x000092dc cmp r3, 0                                     |         
                                                             |         if (r3 == 0) {
    0x000092e0 movne r2, r6                                  |             r2 = r6;
                                                             |         }
                                                             |         if (r3 == 0) {
    0x000092e4 addne r3, r6, r3                              |             r3 = r6 + r3;
                                                             |         }
                                                             |         if (r3 != 0) {
    0x000092e8 bne 0x94d8                                    |             goto label_45;
                                                             |         }
                                                             |     }
                                                             | label_11:
    0x000092ec ldr r3, [r4, 0x28]                            |     r3 = *((r4 + 0x28));
    0x000092f0 lsr r3, r3, 2                                 |     r3 >>= 2;
    0x000092f4 eor r3, r3, 1                                 |     r3 ^= 1;
    0x000092f8 cmp sl, r4                                    |     
                                                             |     if (sl == r4) {
    0x000092fc movne r3, 0                                   |         r3 = 0;
                                                             |     }
                                                             |     if (sl != r4) {
    0x00009300 andeq r3, r3, 1                               |         r3 &= 1;
                                                             |     }
    0x00009304 cmp r3, 0                                     |     
                                                             |     if (r3 == 0) {
    0x00009308 beq 0x9348                                    |         goto label_46;
                                                             |     }
    0x0000930c cmp r6, 0                                     |     
                                                             |     if (r6 != 0) {
    0x00009310 beq 0x9338                                    |         
    0x00009314 ldr r1, [r4, 8]                               |         r1 = *((r4 + 8));
    0x00009318 cmp r1, 0                                     |         
                                                             |         if (r1 == 0) {
    0x0000931c bne 0x932c                                    |             
    0x00009320 mov r0, r6                                    |             r0 = r6;
    0x00009324 bl 0x5250                                     |             r0 = strlen (r0);
    0x00009328 add r1, r0, 1                                 |             r1 = r0 + 1;
                                                             |         }
    0x0000932c mov r0, r6                                    |         r0 = r6;
    0x00009330 bl 0x2394c                                    |         Curl_memdup ();
    0x00009334 str r0, [r4]                                  |         *(r4) = r0;
                                                             |     }
    0x00009338 ldr r3, [r4]                                  |     r3 = *(r4);
    0x0000933c cmp r3, 0                                     |     
                                                             |     if (r3 == 0) {
    0x00009340 beq 0x8d58                                    |         goto label_8;
                                                             |     }
    0x00009344 strb sb, [r4, 4]                              |     *((r4 + 4)) = sb;
                                                             | label_46:
    0x00009348 ldr r3, [r4, 0x28]                            |     r3 = *((r4 + 0x28));
    0x0000934c tst r3, 0x6b                                  |     
                                                             |     if ((r3 & 0x6b) != 0) {
    0x00009350 bne 0x9390                                    |         goto label_47;
                                                             |     }
    0x00009354 ldr r6, [r4, 0xc]                             |     r6 = *((r4 + 0xc));
    0x00009358 cmp r6, 0                                     |     
                                                             |     if (r6 == 0) {
    0x0000935c beq 0x9390                                    |         goto label_47;
                                                             |     }
    0x00009360 ldr r1, [r4, 0x18]                            |     r1 = *((r4 + 0x18));
    0x00009364 cmp r1, 0                                     |     
                                                             |     if (r1 == 0) {
    0x00009368 bne 0x9378                                    |         
    0x0000936c mov r0, r6                                    |         r0 = r6;
    0x00009370 bl 0x5250                                     |         r0 = strlen (r0);
    0x00009374 add r1, r0, 1                                 |         r1 = r0 + 1;
                                                             |     }
    0x00009378 mov r0, r6                                    |     r0 = r6;
    0x0000937c bl 0x2394c                                    |     r0 = Curl_memdup ();
    0x00009380 cmp r0, 0                                     |     
    0x00009384 str r0, [r4, 0xc]                             |     *((r4 + 0xc)) = r0;
                                                             |     if (r0 == 0) {
    0x00009388 beq 0x8d58                                    |         goto label_8;
                                                             |     }
    0x0000938c strb sb, [r4, 0x10]                           |     *((r4 + 0x10)) = sb;
                                                             | label_47:
    0x00009390 ldr r3, [r4, 0xc]                             |     r3 = *((r4 + 0xc));
    0x00009394 mov r1, 0x40                                  |     r1 = 0x40;
    0x00009398 str r3, [sp, 4]                               |     var_4h = r3;
    0x0000939c ldrd r2, r3, [r4, 0x18]                       |     __asm ("ldrd r2, r3, [r4, 0x18]");
    0x000093a0 ldr r6, [r4]                                  |     r6 = *(r4);
    0x000093a4 strd r2, r3, [sp, 8]                          |     __asm ("strd r2, r3, [var_8h]");
    0x000093a8 ldr r3, [r4, 0x2c]                            |     r3 = *((r4 + 0x2c));
    0x000093ac mov r0, 1                                     |     r0 = 1;
    0x000093b0 str r3, [sp, 0x10]                            |     var_10h = r3;
    0x000093b4 ldr r3, [r4, 0x30]                            |     r3 = *((r4 + 0x30));
    0x000093b8 ldr fp, [r4, 8]                               |     fp = *((r4 + 8));
    0x000093bc str r3, [sp, 0x14]                            |     var_14h = r3;
    0x000093c0 ldr r3, [r4, 0x20]                            |     r3 = *((r4 + 0x20));
    0x000093c4 str r3, [sp, 0x18]                            |     var_18h = r3;
    0x000093c8 ldr r3, [r4, 0x28]                            |     r3 = *((r4 + 0x28));
    0x000093cc str r3, [sp, 0x1c]                            |     var_1ch = r3;
    0x000093d0 ldr r3, [r4, 0x40]                            |     r3 = *((r4 + 0x40));
    0x000093d4 str r3, [sp, 0x20]                            |     var_20h = r3;
    0x000093d8 ldr r3, [r4, 0x34]                            |     r3 = *((r4 + 0x34));
    0x000093dc str r3, [sp, 0x24]                            |     var_24h = r3;
    0x000093e0 ldr r3, [r4, 0x3c]                            |     r3 = *((r4 + 0x3c));
    0x000093e4 str r3, [sp, 0x28]                            |     var_28h = r3;
    0x000093e8 ldr r3, [sp]                                  |     r3 = *(sp);
    0x000093ec ldr r3, [r3]                                  |     r3 = *(r3);
    0x000093f0 blx r3                                        |     r0 = uint32_t (*r3)(uint32_t, uint32_t, uint32_t, uint32_t) (r0, r1, r2, r3);
    0x000093f4 subs r3, r0, 0                                |     r3 = r0 - 0;
                                                             |     if (r3 == r0) {
    0x000093f8 beq 0x8d58                                    |         goto label_8;
                                                             |     }
    0x000093fc cmp r6, 0                                     |     
    0x00009400 str r6, [r3, 4]                               |     *((r3 + 4)) = r6;
                                                             |     if (r6 != 0) {
    0x00009404 moveq r0, r6                                  |         r0 = r6;
                                                             |     }
                                                             |     if (r6 != 0) {
    0x00009408 beq 0x9428                                    |         
    0x0000940c cmp fp, 0                                     |         
                                                             |         if (fp == 0) {
    0x00009410 movne r0, fp                                  |             r0 = fp;
                                                             |         }
                                                             |         if (fp != 0) {
    0x00009414 bne 0x9428                                    |             goto label_48;
                                                             |         }
    0x00009418 mov r0, r6                                    |         r0 = r6;
    0x0000941c str r3, [sp, 0x34]                            |         var_34h = r3;
    0x00009420 bl 0x5250                                     |         strlen (r0);
    0x00009424 ldr r3, [sp, 0x34]                            |         r3 = var_34h;
                                                             |     }
                                                             | label_48:
    0x00009428 ldr r2, [sp, 4]                               |     r2 = var_4h;
    0x0000942c cmp r7, 0                                     |     
    0x00009430 str r2, [r3, 0xc]                             |     *((r3 + 0xc)) = r2;
    0x00009434 ldr r2, [sp, 0x10]                            |     r2 = var_10h;
    0x00009438 str r0, [r3, 8]                               |     *((r3 + 8)) = r0;
    0x0000943c str r2, [r3, 0x14]                            |     *((r3 + 0x14)) = r2;
    0x00009440 ldr r2, [sp, 0x14]                            |     r2 = var_14h;
    0x00009444 ldrd r0, r1, [sp, 8]                          |     __asm ("ldrd r0, r1, [var_8h]");
    0x00009448 str r2, [r3, 0x18]                            |     *((r3 + 0x18)) = r2;
    0x0000944c ldr r2, [sp, 0x18]                            |     r2 = var_18h;
    0x00009450 strd r0, r1, [r3, 0x38]                       |     __asm ("strd r0, r1, [r3, 0x38]");
    0x00009454 str r2, [r3, 0x1c]                            |     *((r3 + 0x1c)) = r2;
    0x00009458 ldr r2, [sp, 0x20]                            |     r2 = var_20h;
    0x0000945c str r2, [r3, 0x20]                            |     *((r3 + 0x20)) = r2;
    0x00009460 ldr r2, [sp, 0x24]                            |     r2 = var_24h;
    0x00009464 str r2, [r3, 0x2c]                            |     *((r3 + 0x2c)) = r2;
    0x00009468 ldr r2, [sp, 0x28]                            |     r2 = var_28h;
    0x0000946c str r2, [r3, 0x30]                            |     *((r3 + 0x30)) = r2;
    0x00009470 ldr r2, [sp, 0x1c]                            |     r2 = var_1ch;
    0x00009474 orr r2, r2, 0x80                              |     r2 |= 0x80;
    0x00009478 str r2, [r3, 0x28]                            |     *((r3 + 0x28)) = r2;
                                                             |     if (r7 == 0) {
    0x0000947c ldrne r2, [r7, 0x24]                          |         r2 = *((r7 + 0x24));
                                                             |     }
                                                             |     if (r7 == 0) {
    0x00009480 strne r2, [r3, 0x24]                          |         *((r3 + 0x24)) = r2;
                                                             |     }
                                                             |     if (r7 == 0) {
    0x00009484 strne r3, [r7, 0x24]                          |         *((r7 + 0x24)) = r3;
                                                             |     }
                                                             |     if (r7 == 0) {
    0x00009488 bne 0x94a8                                    |         
    0x0000948c ldr r2, [sp, 0x64]                            |         r2 = var_64h;
    0x00009490 ldr r2, [r2]                                  |         r2 = *(r2);
    0x00009494 cmp r2, 0                                     |         
                                                             |         if (r2 != 0) {
    0x00009498 ldreq r2, [sp, 0x2c]                          |             r2 = var_2ch;
                                                             |         }
    0x0000949c str r3, [r2]                                  |         *(r2) = r3;
    0x000094a0 ldr r2, [sp, 0x64]                            |         r2 = var_64h;
    0x000094a4 str r3, [r2]                                  |         *(r2) = r3;
                                                             |     }
    0x000094a8 ldr r2, [r4, 0x20]                            |     r2 = *((r4 + 0x20));
    0x000094ac ldr r4, [r4, 0x44]                            |     r4 = *((r4 + 0x44));
    0x000094b0 cmp r2, 0                                     |     
                                                             |     if (r2 == 0) {
    0x000094b4 movne r5, r2                                  |         r5 = r2;
                                                             |     }
    0x000094b8 cmp r4, 0                                     |     
    0x000094bc mov r7, r3                                    |     r7 = r3;
                                                             |     if (r4 != 0) {
    0x000094c0 bne 0x8c98                                    |         goto label_9;
                                                             |     }
    0x000094c4 mov r5, r4                                    |     r5 = r4;
    0x000094c8 b 0x9294                                      |     goto label_10;
                                                             |     do {
    0x000094cc ldrb r1, [r2], 1                              |         r1 = *(r2);
                                                             |         r2++;
    0x000094d0 cmp r1, 0                                     |         
                                                             |         if (r1 == 0) {
    0x000094d4 beq 0x94ec                                    |             goto label_49;
                                                             |         }
                                                             | label_45:
    0x000094d8 cmp r2, r3                                    |         
    0x000094dc bne 0x94cc                                    |         
                                                             |     } while (r2 != r3);
    0x000094e0 b 0x92ec                                      |     goto label_11;
                                                             | label_35:
    0x000094e4 mov r5, 5                                     |     r5 = 5;
    0x000094e8 b 0x8d5c                                      |     goto label_12;
                                                             | label_49:
    0x000094ec mov r5, 3                                     |     r5 = 3;
    0x000094f0 b 0x8d5c                                      |     goto label_12;
                                                             | label_40:
    0x000094f4 mov r7, 1                                     |     r7 = 1;
    0x000094f8 b 0x8c3c                                      |     goto label_0;
                                                             | label_33:
    0x000094fc sub r2, r2, 1                                 |     r2--;
    0x00009500 cmp r2, 0x13                                  |     
                                                             |     if (r2 > 0x13) {
                                                             |         /* switch table (20 cases) at 0x950c */
    0x00009504 addls pc, pc, r2, lsl 2                       |         pc += (r2 << 2);
                                                             |     }
    0x00009508 b 0x91f4                                      |     goto label_13;
    0x0000950c b 0x8e24                                      |     goto label_14;
    0x00009510 b 0x8e18                                      |     goto label_15;
    0x00009514 b 0x8e54                                      |     goto label_16;
    0x00009518 b 0x8e84                                      |     goto label_17;
    0x0000951c b 0x8e78                                      |     goto label_18;
    0x00009520 b 0x8eb0                                      |     goto label_19;
    0x00009524 b 0x8f00                                      |     goto label_20;
    0x00009528 b 0x8df8                                      |     goto label_21;
    0x0000952c b 0x91f4                                      |     goto label_13;
    0x00009530 b 0x8f5c                                      |     goto label_22;
    0x00009534 b 0x91b0                                      |     goto label_23;
    0x00009538 b 0x9040                                      |     goto label_24;
    0x0000953c b 0x9078                                      |     goto label_25;
    0x00009540 b 0x90d4                                      |     goto label_26;
    0x00009544 b 0x918c                                      |     goto label_27;
    0x00009548 b 0x91b0                                      |     goto label_23;
    0x0000954c b 0x91f4                                      |     goto label_13;
    0x00009550 b 0x91f4                                      |     goto label_13;
    0x00009554 b 0x909c                                      |     goto label_28;
    0x00009558 b 0x8ed0                                      |     goto label_29;
                                                             | label_39:
    0x0000955c mov r5, 6                                     |     r5 = 6;
    0x00009560 b 0x91f8                                      |     goto label_30;
                                                             | label_41:
    0x00009564 mov r5, 2                                     |     r5 = 2;
    0x00009568 b 0x91f8                                      |     goto label_30;
                                                             | }
    ; 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/lib/libcurl.so @ 0x226f4 */
                                                             | #include <stdint.h>
                                                             |  
    ; (fcn) sym.curl_getdate ()                              | void curl_getdate (int32_t arg_33ch, int32_t arg1, int32_t arg2) {
                                                             |     int32_t var_0h;
                                                             |     int32_t var_4h;
                                                             |     int32_t var_ch;
                                                             |     int32_t var_10h;
                                                             |     char * 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;
                                                             |     char * * endptr;
                                                             |     int32_t var_38h;
                                                             |     void * s;
                                                             |     int32_t var_5ch;
                                                             |     r0 = arg1;
                                                             |     r1 = arg2;
    0x000226f4 push {r4, r5, r6, r7, r8, sb, sl, fp, lr}     |     
    0x000226f8 mov r2, 0                                     |     r2 = 0;
    0x000226fc sub sp, sp, 0x5c                              |     
    0x00022700 str r2, [sp, 0x10]                            |     var_10h = r2;
    0x00022704 str r2, [sp, 0xc]                             |     var_ch = r2;
    0x00022708 ldr r2, [pc, 0x644]                           |     
    0x0002270c mvn r4, 0                                     |     r4 = ~0;
    0x00022710 add r2, pc, r2                                |     r2 = pc + r2;
    0x00022714 add r2, r2, 0x38                              |     r2 = 0x22d88;
    0x00022718 mov r3, r0                                    |     r3 = r0;
    0x0002271c mov r5, r4                                    |     r5 = r4;
    0x00022720 mov sl, r4                                    |     sl = r4;
    0x00022724 mov r6, r4                                    |     r6 = r4;
    0x00022728 mov fp, r4                                    |     
    0x0002272c str r0, [sp, 0x18]                            |     var_18h = r0;
    0x00022730 str r4, [sp, 0x28]                            |     var_28h = r4;
    0x00022734 str r4, [sp, 0x2c]                            |     var_2ch = r4;
    0x00022738 str r4, [sp, 0x30]                            |     var_30h = r4;
    0x0002273c str r2, [sp, 0x1c]                            |     var_1ch = r2;
                                                             | label_2:
    0x00022740 ldr r2, [sp, 0x10]                            |     r2 = var_10h;
    0x00022744 ldrb r0, [r3]                                 |     r0 = *(r3);
    0x00022748 subs sb, r2, 6                                |     sb = r2 - 6;
                                                             |     if (sb == r2) {
    0x0002274c movne sb, 1                                   |         sb = 1;
                                                             |     }
    0x00022750 cmp r0, 0                                     |     
                                                             |     if (r0 != 0) {
    0x00022754 moveq sb, 0                                   |         sb = 0;
                                                             |     }
    0x00022758 cmp sb, 0                                     |     
                                                             |     if (sb == 0) {
    0x0002275c beq 0x22bcc                                   |         goto label_8;
                                                             |     }
    0x00022760 mov r8, r3                                    |     r8 = r3;
    0x00022764 b 0x22780                                     |     
                                                             |     while (r0 != 0) {
    0x00022768 str r8, [sp, 0x14]                            |         var_14h = r8;
    0x0002276c bl 0x2f8e8                                    |         Curl_isalnum ();
    0x00022770 ldr r3, [sp, 0x14]                            |         r3 = var_14h;
    0x00022774 cmp r0, 0                                     |         
                                                             |         if (r0 != 0) {
    0x00022778 bne 0x22794                                   |             goto label_9;
                                                             |         }
    0x0002277c mov r8, r7                                    |         r8 = r7;
    0x00022780 mov r7, r8                                    |         r7 = r8;
    0x00022784 ldrb r0, [r7], 1                              |         r0 = *(r7);
                                                             |         r7++;
    0x00022788 mov r3, r8                                    |         r3 = r8;
    0x0002278c cmp r0, 0                                     |         
    0x00022790 bne 0x22768                                   |         
                                                             |     }
                                                             | label_9:
    0x00022794 ldrb r0, [r8]                                 |     r0 = *(r8);
    0x00022798 str r3, [sp, 0x14]                            |     var_14h = r3;
    0x0002279c bl 0x2f99c                                    |     r0 = Curl_isalpha ();
    0x000227a0 subs r7, r0, 0                                |     r7 = r0 - 0;
                                                             |     if (r7 == r0) {
    0x000227a4 bne 0x22804                                   |         
    0x000227a8 ldrb r0, [r8]                                 |         r0 = *(r8);
    0x000227ac bl 0x2f8c0                                    |         Curl_isdigit ();
    0x000227b0 ldr r3, [sp, 0x14]                            |         r3 = var_14h;
    0x000227b4 cmp r0, 0                                     |         
                                                             |         if (r0 == 0) {
    0x000227b8 beq 0x22984                                   |             goto label_4;
                                                             |         }
    0x000227bc ldr r3, [sp, 0x30]                            |         r3 = var_30h;
    0x000227c0 str r7, [sp, 0x38]                            |         var_38h = r7;
    0x000227c4 cmn r3, 1                                     |         
                                                             |         if (r3 != 1) {
    0x000227c8 bne 0x22994                                   |             goto label_10;
                                                             |         }
    0x000227cc ldr r1, [pc, 0x584]                           |         r1 = *(0x22d54);
    0x000227d0 add r3, sp, 0x38                              |         r3 += var_38h;
    0x000227d4 str r3, [sp, 4]                               |         var_4h = r3;
    0x000227d8 add r3, sp, 0x30                              |         r3 += var_30h;
    0x000227dc str r3, [sp]                                  |         *(sp) = r3;
    0x000227e0 add r2, sp, 0x28                              |         r2 += var_28h;
    0x000227e4 add r3, sp, 0x2c                              |         r3 += var_2ch;
    0x000227e8 add r1, pc, r1                                |         r1 = pc + r1;
    0x000227ec mov r0, r8                                    |         r0 = r8;
    0x000227f0 bl 0x5658                                     |         r0 = sscanf (r0, r1, r2);
    0x000227f4 cmp r0, 3                                     |         
                                                             |         if (r0 != 3) {
    0x000227f8 bne 0x22994                                   |             goto label_10;
                                                             |         }
    0x000227fc ldr r7, [sp, 0x38]                            |         r7 = var_38h;
    0x00022800 b 0x22980                                     |         goto label_7;
                                                             |     }
    0x00022804 mov r3, 0                                     |     r3 = 0;
    0x00022808 mov r1, r3                                    |     r1 = r3;
    0x0002280c mov r2, 0x1c                                  |     r2 = 0x1c;
    0x00022810 add r0, sp, 0x3c                              |     r0 += s;
    0x00022814 str r3, [sp, 0x38]                            |     var_38h = r3;
    0x00022818 str r3, [sp, 0x20]                            |     var_20h = r3;
    0x0002281c bl 0x576c                                     |     memset (r0, r1, r2);
    0x00022820 ldr r1, [pc, 0x534]                           |     r1 = *(0x22d58);
    0x00022824 add r3, sp, 0x38                              |     r3 += var_38h;
    0x00022828 mov r2, r3                                    |     r2 = r3;
    0x0002282c add r1, pc, r1                                |     r1 = pc + r1;
    0x00022830 mov r0, r8                                    |     r0 = r8;
    0x00022834 str r3, [sp, 0x14]                            |     var_14h = r3;
    0x00022838 bl 0x5658                                     |     r0 = sscanf (r0, r1, r2);
    0x0002283c subs r7, r0, 0                                |     r7 = r0 - 0;
                                                             |     if (r7 == r0) {
    0x00022840 beq 0x22d24                                   |         goto label_11;
                                                             |     }
    0x00022844 ldr r0, [sp, 0x14]                            |     r0 = var_14h;
    0x00022848 bl 0x5250                                     |     strlen (r0);
    0x0002284c ldr r3, [sp, 0x20]                            |     r3 = var_20h;
    0x00022850 cmn fp, 1                                     |     
                                                             |     if (fp == 1) {
    0x00022854 movne sb, r3                                  |         sb = r3;
                                                             |     }
    0x00022858 mov r7, r0                                    |     r7 = r0;
                                                             |     if (fp != 1) {
    0x0002285c bne 0x228b4                                   |         goto label_6;
                                                             |     }
    0x00022860 cmp r0, 3                                     |     
                                                             |     if (r0 < 3) {
    0x00022864 bls 0x22964                                   |         goto label_12;
                                                             |     }
    0x00022868 ldr r3, [pc, 0x4f0]                           |     
    0x0002286c add r3, pc, r3                                |     r3 = pc + r3;
    0x00022870 add r3, r3, 0x1c                              |     r3 = 0x22d78;
                                                             | label_0:
    0x00022874 mov fp, 0                                     |     
    0x00022878 add r2, sp, 0x38                              |     r2 += var_38h;
                                                             |     do {
    0x0002287c ldr r1, [r3, fp, lsl 2]                       |         offset_0 = fp << 2;
                                                             |         r1 = *((r3 + offset_0));
    0x00022880 mov r0, r2                                    |         r0 = r2;
    0x00022884 str r3, [sp, 0x24]                            |         var_24h = r3;
    0x00022888 str r2, [sp, 0x20]                            |         var_20h = r2;
    0x0002288c bl 0x19dc0                                    |         r0 = Curl_strcasecompare ();
    0x00022890 cmp r0, 0                                     |         
                                                             |         if (r0 != 0) {
    0x00022894 bne 0x228b4                                   |             goto label_6;
                                                             |         }
    0x00022898 add fp, fp, 1                                 |         
    0x0002289c cmp fp, 7                                     |         
    0x000228a0 ldr r2, [sp, 0x20]                            |         r2 = var_20h;
    0x000228a4 ldr r3, [sp, 0x24]                            |         r3 = var_24h;
    0x000228a8 bne 0x2287c                                   |         
                                                             |     } while (fp != 7);
    0x000228ac mov sb, r0                                    |     sb = r0;
    0x000228b0 mvn fp, 0                                     |     
                                                             | label_6:
    0x000228b4 cmn r6, 1                                     |     
    0x000228b8 eor r3, sb, 1                                 |     r3 = sb ^ 1;
                                                             |     if (r6 == 1) {
    0x000228bc movne r2, 0                                   |         r2 = 0;
                                                             |     }
                                                             |     if (r6 != 1) {
    0x000228c0 moveq r2, 1                                   |         r2 = 1;
                                                             |     }
    0x000228c4 ands r3, r2, r3                               |     r3 = r2 & r3;
                                                             |     if (r3 == r2) {
    0x000228c8 beq 0x22908                                   |         goto label_1;
                                                             |     }
    0x000228cc mov r6, 0                                     |     r6 = 0;
    0x000228d0 add sb, sp, 0x38                              |     sb += var_38h;
                                                             |     do {
    0x000228d4 str r3, [sp, 0x20]                            |         var_20h = r3;
    0x000228d8 ldr r3, [sp, 0x1c]                            |         r3 = var_1ch;
    0x000228dc mov r0, sb                                    |         r0 = sb;
    0x000228e0 ldr r1, [r3, r6, lsl 2]                       |         offset_1 = r6 << 2;
                                                             |         r1 = *((r3 + offset_1));
    0x000228e4 bl 0x19dc0                                    |         Curl_strcasecompare ();
    0x000228e8 ldr r3, [sp, 0x20]                            |         r3 = var_20h;
    0x000228ec cmp r0, 0                                     |         
                                                             |         if (r0 != 0) {
    0x000228f0 bne 0x22970                                   |             goto label_13;
                                                             |         }
    0x000228f4 add r6, r6, 1                                 |         r6++;
    0x000228f8 cmp r6, 0xc                                   |         
    0x000228fc bne 0x228d4                                   |         
                                                             |     } while (r6 != 0xc);
    0x00022900 mov sb, r0                                    |     sb = r0;
    0x00022904 mvn r6, 0                                     |     r6 = ~0;
                                                             | label_1:
    0x00022908 cmn r4, 1                                     |     
    0x0002290c mov r2, r4                                    |     r2 = r4;
    0x00022910 eor r3, sb, 1                                 |     r3 = sb ^ 1;
                                                             |     if (r4 == 1) {
    0x00022914 movne r2, 0                                   |         r2 = 0;
                                                             |     }
                                                             |     if (r4 != 1) {
    0x00022918 moveq r2, 1                                   |         r2 = 1;
                                                             |     }
    0x0002291c tst r2, r3                                    |     
                                                             |     if ((r2 & r3) == 0) {
    0x00022920 beq 0x22978                                   |         goto label_14;
                                                             |     }
    0x00022924 ldr r3, [pc, 0x438]                           |     r3 = *(0x22d60);
    0x00022928 mov r4, 0                                     |     r4 = 0;
    0x0002292c add r3, pc, r3                                |     r3 = pc + r3;
                                                             |     do {
    0x00022930 add sb, r3, r4                                |         sb = r3 + r4;
    0x00022934 mov r1, sb                                    |         r1 = sb;
    0x00022938 ldr r0, [sp, 0x14]                            |         r0 = var_14h;
    0x0002293c str r3, [sp, 0x20]                            |         var_20h = r3;
    0x00022940 bl 0x19dc0                                    |         r0 = Curl_strcasecompare ();
    0x00022944 cmp r0, 0                                     |         
                                                             |         if (r0 != 0) {
    0x00022948 bne 0x22d40                                   |             goto label_15;
                                                             |         }
    0x0002294c add r4, r4, 0xc                               |         r4 += 0xc;
    0x00022950 cmp r4, 0x33c                                 |         
    0x00022954 ldr r3, [sp, 0x20]                            |         r3 = var_20h;
    0x00022958 bne 0x22930                                   |         
                                                             |     } while (r4 != 0x33c);
                                                             |     do {
                                                             | label_3:
    0x0002295c mvn r0, 0                                     |         r0 = ~0;
    0x00022960 b 0x22d10                                     |         goto label_16;
                                                             | label_12:
    0x00022964 ldr r3, [pc, 0x3fc]                           |         r3 = *(0x22d64);
    0x00022968 add r3, pc, r3                                |         r3 = pc + r3;
    0x0002296c b 0x22874                                     |         goto label_0;
                                                             | label_13:
    0x00022970 mov sb, r3                                    |         sb = r3;
    0x00022974 b 0x22908                                     |         goto label_1;
                                                             | label_14:
    0x00022978 cmp sb, 0                                     |         
    0x0002297c beq 0x2295c                                   |         
                                                             |     } while (sb == 0);
                                                             | label_7:
    0x00022980 add r3, r8, r7                                |     r3 = r8 + r7;
                                                             |     do {
                                                             | label_4:
    0x00022984 ldr r2, [sp, 0x10]                            |         r2 = var_10h;
    0x00022988 add r2, r2, 1                                 |         r2++;
    0x0002298c str r2, [sp, 0x10]                            |         var_10h = r2;
    0x00022990 b 0x22740                                     |         goto label_2;
                                                             | label_10:
    0x00022994 ldr r3, [sp, 0x30]                            |         r3 = var_30h;
    0x00022998 cmn r3, 1                                     |         
                                                             |         if (r3 != 1) {
    0x0002299c bne 0x229d8                                   |             goto label_17;
                                                             |         }
    0x000229a0 ldr r1, [pc, 0x3c4]                           |         r1 = *(0x22d68);
    0x000229a4 add r3, sp, 0x38                              |         r3 += var_38h;
    0x000229a8 str r3, [sp]                                  |         *(sp) = r3;
    0x000229ac add r2, sp, 0x28                              |         r2 += var_28h;
    0x000229b0 add r3, sp, 0x2c                              |         r3 += var_2ch;
    0x000229b4 add r1, pc, r1                                |         r1 = pc + r1;
    0x000229b8 mov r0, r8                                    |         r0 = r8;
    0x000229bc bl 0x5658                                     |         r0 = sscanf (r0, r1, r2);
    0x000229c0 cmp r0, 2                                     |         
                                                             |         if (r0 != 2) {
    0x000229c4 ldreq r7, [sp, 0x38]                          |             r7 = var_38h;
                                                             |         }
                                                             |         if (r0 != 2) {
    0x000229c8 moveq r2, 0                                   |             r2 = 0;
                                                             |         }
                                                             |         if (r0 != 2) {
    0x000229cc addeq r3, r8, r7                              |             r3 = r8 + r7;
                                                             |         }
                                                             |         if (r0 != 2) {
    0x000229d0 streq r2, [sp, 0x30]                          |             var_30h = r2;
                                                             |         }
    0x000229d4 beq 0x22984                                   |         
                                                             |     } while (r0 == 2);
                                                             | label_17:
    0x000229d8 bl 0x4eb4                                     |     errno_location ();
    0x000229dc mov r3, 0                                     |     r3 = 0;
    0x000229e0 mov r2, 0xa                                   |     r2 = 0xa;
    0x000229e4 add r1, sp, 0x34                              |     r1 += endptr;
    0x000229e8 ldr sb, [r0]                                  |     sb = *(r0);
    0x000229ec mov r7, r0                                    |     r7 = r0;
    0x000229f0 str r3, [r0]                                  |     *(r0) = r3;
    0x000229f4 mov r0, r8                                    |     r0 = r8;
    0x000229f8 bl 0x5274                                     |     strtol (r0, r1, r2);
    0x000229fc ldr r2, [r7]                                  |     r2 = *(r7);
    0x00022a00 cmp sb, r2                                    |     
                                                             |     if (sb == r2) {
    0x00022a04 strne sb, [r7]                                |         *(r7) = sb;
                                                             |     }
    0x00022a08 cmp r2, 0                                     |     
    0x00022a0c str r2, [sp, 0x14]                            |     var_14h = r2;
                                                             |     if (r2 != 0) {
    0x00022a10 bne 0x2295c                                   |         goto label_3;
                                                             |     }
    0x00022a14 bl 0x25344                                    |     curlx_sltosi ();
    0x00022a18 cmn r4, 1                                     |     
    0x00022a1c ldr r2, [sp, 0x14]                            |     r2 = var_14h;
    0x00022a20 mov r7, r0                                    |     r7 = r0;
                                                             |     if (r4 != 1) {
    0x00022a24 bne 0x22bb8                                   |         goto label_18;
                                                             |     }
    0x00022a28 ldr sb, [sp, 0x34]                            |     sb = endptr;
    0x00022a2c ldr r3, [sp, 0x18]                            |     r3 = var_18h;
    0x00022a30 sub r1, sb, r8                                |     r1 = sb - r8;
    0x00022a34 cmp r3, r8                                    |     
    0x00022a38 ldr r3, [pc, 0x330]                           |     r3 = *(0x22d6c);
    0x00022a3c sub sb, r1, 4                                 |     sb = r1 - 4;
    0x00022a40 clz sb, sb                                    |     sb &= sb;
    0x00022a44 lsr sb, sb, 5                                 |     sb >>= 5;
                                                             |     if (r3 < r8) {
    0x00022a48 movhs sb, 0                                   |         sb = 0;
                                                             |     }
    0x00022a4c cmp r0, r3                                    |     
                                                             |     if (r0 <= r3) {
    0x00022a50 movgt sb, 0                                   |         sb = 0;
                                                             |     }
                                                             |     if (r0 > r3) {
    0x00022a54 andle sb, sb, 1                               |         sb &= 1;
                                                             |     }
    0x00022a58 cmp sb, 0                                     |     
                                                             |     if (sb != 0) {
    0x00022a5c beq 0x22ab8                                   |         
    0x00022a60 ldrb r3, [r8, -1]                             |         r3 = *((r8 - 1));
    0x00022a64 sub r1, r3, 0x2b                              |         r1 = r3 - 0x2b;
    0x00022a68 tst r1, 0xfd                                  |         
    0x00022a6c str r3, [sp, 0x20]                            |         var_20h = r3;
                                                             |         if ((r1 & 0xfd) != 0) {
    0x00022a70 bne 0x22bb8                                   |             goto label_18;
                                                             |         }
    0x00022a74 mov r1, 0x64                                  |         r1 = 0x64;
    0x00022a78 bl 0x37f24                                    |         divsi3 ();
    0x00022a7c mov r2, 0x3c                                  |         r2 = 0x3c;
    0x00022a80 mov r1, 0x64                                  |         r1 = 0x64;
    0x00022a84 str r2, [sp, 0x14]                            |         var_14h = r2;
    0x00022a88 mul r4, r2, r0                                |         r4 = r2 * r0;
    0x00022a8c mov r0, r7                                    |         r0 = r7;
    0x00022a90 bl 0x38000                                    |         aeabi_idivmod ();
    0x00022a94 ldr r2, [sp, 0x14]                            |         r2 = var_14h;
    0x00022a98 add r4, r4, r1                                |         r4 += r1;
    0x00022a9c mul r3, r2, r4                                |         r3 = r2 * r4;
    0x00022aa0 mov r4, r3                                    |         r4 = r3;
    0x00022aa4 ldr r3, [sp, 0x20]                            |         r3 = var_20h;
    0x00022aa8 cmp r3, 0x2b                                  |         
                                                             |         if (r3 != 0x2b) {
    0x00022aac moveq r3, r4                                  |             r3 = r4;
                                                             |         }
    0x00022ab0 rsbeq r3, r3, 0                               |         __asm ("rsbeq r3, r3, 0");
                                                             |         if (r3 == 0x2b) {
    0x00022ab4 moveq r4, r3                                  |             r4 = r3;
                                                             |             goto label_5;
                                                             |         }
                                                             |     }
                                                             | label_5:
    0x00022ab8 ldr r3, [sp, 0x34]                            |     r3 = endptr;
    0x00022abc sub r8, r3, r8                                |     r8 = r3 - r8;
    0x00022ac0 cmp r8, 8                                     |     
                                                             |     if (r8 == 8) {
    0x00022ac4 bne 0x22b34                                   |         
    0x00022ac8 cmn r6, 1                                     |         
    0x00022acc cmneq r5, 1                                   |         __asm ("cmneq r5, 1");
                                                             |         if (r6 != 1) {
    0x00022ad0 moveq r8, 1                                   |             r8 = 1;
                                                             |         }
                                                             |         if (r6 == 1) {
    0x00022ad4 movne r8, 0                                   |             r8 = 0;
                                                             |         }
                                                             |         if (r6 != 1) {
    0x00022ad8 bne 0x22b34                                   |             goto label_19;
                                                             |         }
    0x00022adc cmn sl, 1                                     |         
                                                             |         if (sl == 1) {
    0x00022ae0 mvnne r5, 0                                   |             r5 = ~0;
                                                             |         }
                                                             |         if (sl == 1) {
    0x00022ae4 movne r6, r5                                  |             r6 = r5;
                                                             |         }
                                                             |         if (sl != 1) {
    0x00022ae8 bne 0x22b34                                   |             goto label_19;
                                                             |         }
    0x00022aec ldr r1, [pc, 0x280]                           |         r1 = *(0x22d70);
    0x00022af0 mov r0, r7                                    |         r0 = r7;
    0x00022af4 str r3, [sp, 0x14]                            |         var_14h = r3;
    0x00022af8 bl 0x37f24                                    |         divsi3 ();
    0x00022afc ldr r1, [pc, 0x270]                           |         r1 = *(0x22d70);
    0x00022b00 mov sb, r8                                    |         sb = r8;
    0x00022b04 mov r5, r0                                    |         r5 = r0;
    0x00022b08 mov r0, r7                                    |         r0 = r7;
    0x00022b0c bl 0x38000                                    |         aeabi_idivmod ();
    0x00022b10 mov r0, r1                                    |         r0 = r1;
    0x00022b14 mov r1, 0x64                                  |         r1 = 0x64;
    0x00022b18 bl 0x37f24                                    |         divsi3 ();
    0x00022b1c mov r1, 0x64                                  |         r1 = 0x64;
    0x00022b20 sub r6, r0, 1                                 |         r6 = r0 - 1;
    0x00022b24 mov r0, r7                                    |         r0 = r7;
    0x00022b28 bl 0x38000                                    |         aeabi_idivmod ();
    0x00022b2c ldr r3, [sp, 0x14]                            |         r3 = var_14h;
    0x00022b30 mov sl, r1                                    |         sl = r1;
                                                             |     }
                                                             | label_19:
    0x00022b34 ldr r1, [sp, 0xc]                             |     r1 = var_ch;
    0x00022b38 eor r2, sb, 1                                 |     r2 = sb ^ 1;
    0x00022b3c eor r1, r1, 1                                 |     r1 ^= 1;
    0x00022b40 ands r2, r2, r1                               |     r2 &= r1;
                                                             |     if (r2 != r2) {
    0x00022b44 beq 0x22b74                                   |         
    0x00022b48 cmn sl, 1                                     |         
                                                             |         if (sl == 1) {
    0x00022b4c movne sb, 0                                   |             sb = 0;
                                                             |         }
                                                             |         if (sl == 1) {
    0x00022b50 strne sb, [sp, 0xc]                           |             var_ch = sb;
                                                             |         }
                                                             |         if (sl != 1) {
    0x00022b54 bne 0x22b74                                   |             goto label_20;
                                                             |         }
    0x00022b58 sub r1, r7, 1                                 |         r1 = r7 - 1;
    0x00022b5c cmp r1, 0x1f                                  |         
                                                             |         if (r1 >= 0x1f) {
    0x00022b60 movlo sb, r2                                  |             sb = r2;
                                                             |         }
                                                             |         if (r1 < 0x1f) {
    0x00022b64 movhs sb, 0                                   |             sb = 0;
                                                             |         }
    0x00022b68 mov r2, 1                                     |         r2 = 1;
                                                             |         if (r1 >= 0x1f) {
    0x00022b6c movlo sl, r7                                  |             sl = r7;
                                                             |         }
    0x00022b70 str r2, [sp, 0xc]                             |         var_ch = r2;
                                                             |     }
                                                             | label_20:
    0x00022b74 ldr r1, [sp, 0xc]                             |     r1 = var_ch;
    0x00022b78 eor r2, sb, 1                                 |     r2 = sb ^ 1;
    0x00022b7c tst r2, r1                                    |     
                                                             |     if ((r2 & r1) == 0) {
    0x00022b80 beq 0x22bc0                                   |         goto label_21;
                                                             |     }
    0x00022b84 cmn r5, 1                                     |     
                                                             |     if (r5 != 1) {
    0x00022b88 bne 0x2295c                                   |         goto label_3;
                                                             |     }
    0x00022b8c cmp r7, 0x63                                  |     
                                                             |     if (r7 <= 0x63) {
    0x00022b90 bgt 0x22ba4                                   |         
    0x00022b94 cmp r7, 0x46                                  |         
                                                             |         if (r7 <= 0x46) {
    0x00022b98 addgt r7, r7, 0x760                           |             r7 += 0x760;
                                                             |         }
                                                             |         if (r7 <= 0x46) {
    0x00022b9c addgt r7, r7, 0xc                             |             r7 += 0xc;
                                                             |         }
                                                             |         if (r7 <= 0x46) {
    0x00022ba0 addle r7, r7, 0x7d0                           |             r7 += 0x7d0;
                                                             |             goto label_22;
                                                             |         }
                                                             |     }
                                                             | label_22:
    0x00022ba4 adds r2, sl, 1                                |     r2 = sl + 1;
                                                             |     if (r2 == sl) {
    0x00022ba8 movne r2, 1                                   |         r2 = 1;
                                                             |     }
    0x00022bac str r2, [sp, 0xc]                             |     var_ch = r2;
    0x00022bb0 mov r5, r7                                    |     r5 = r7;
    0x00022bb4 b 0x22984                                     |     goto label_4;
                                                             | label_18:
    0x00022bb8 mov sb, r2                                    |     sb = r2;
    0x00022bbc b 0x22ab8                                     |     goto label_5;
                                                             | label_21:
    0x00022bc0 cmp sb, 0                                     |     
                                                             |     if (sb != 0) {
    0x00022bc4 bne 0x22984                                   |         goto label_4;
                                                             |     }
    0x00022bc8 b 0x2295c                                     |     goto label_3;
                                                             | label_8:
    0x00022bcc ldr r3, [sp, 0x30]                            |     r3 = var_30h;
    0x00022bd0 cmn r3, 1                                     |     
                                                             |     if (r3 != 1) {
    0x00022bd4 streq sb, [sp, 0x28]                          |         var_28h = sb;
                                                             |     }
                                                             |     if (r3 != 1) {
    0x00022bd8 streq sb, [sp, 0x2c]                          |         var_2ch = sb;
                                                             |     }
                                                             |     if (r3 != 1) {
    0x00022bdc streq sb, [sp, 0x30]                          |         var_30h = sb;
                                                             |     }
    0x00022be0 cmn sl, 1                                     |     
    0x00022be4 cmnne r6, 1                                   |     __asm ("cmnne r6, 1");
                                                             |     if (sl == 1) {
    0x00022be8 beq 0x2295c                                   |         goto label_3;
                                                             |     }
    0x00022bec sub r3, r5, 0x760                             |     r3 = r5 - 0x760;
    0x00022bf0 sub r3, r3, 0xf                               |     r3 -= 0xf;
    0x00022bf4 cmp r3, 0x86                                  |     
                                                             |     if (r3 > 0x86) {
    0x00022bf8 bhi 0x2295c                                   |         goto label_3;
                                                             |     }
    0x00022bfc cmp r6, 0xb                                   |     
    0x00022c00 cmple sl, 0x1f                                |     __asm ("cmple sl, 0x1f");
                                                             |     if (r6 > 0xb) {
    0x00022c04 bgt 0x2295c                                   |         goto label_3;
                                                             |     }
    0x00022c08 ldr sb, [sp, 0x28]                            |     sb = var_28h;
    0x00022c0c cmp sb, 0x17                                  |     
                                                             |     if (sb > 0x17) {
    0x00022c10 bgt 0x2295c                                   |         goto label_3;
                                                             |     }
    0x00022c14 ldr r8, [sp, 0x2c]                            |     r8 = var_2ch;
    0x00022c18 cmp r8, 0x3b                                  |     
                                                             |     if (r8 > 0x3b) {
    0x00022c1c bgt 0x2295c                                   |         goto label_3;
                                                             |     }
    0x00022c20 ldr r7, [sp, 0x30]                            |     r7 = var_30h;
    0x00022c24 cmp r7, 0x3c                                  |     
                                                             |     if (r7 > 0x3c) {
    0x00022c28 bgt 0x2295c                                   |         goto label_3;
                                                             |     }
    0x00022c2c cmp r6, 0                                     |     
                                                             |     if (r6 < 0) {
    0x00022c30 movge fp, r6                                  |         
                                                             |     }
                                                             |     if (r6 < 0) {
    0x00022c34 bge 0x22c5c                                   |         
    0x00022c38 rsb fp, r6, 0xb                               |         
    0x00022c3c mov r1, 0xc                                   |         r1 = 0xc;
    0x00022c40 mov r0, fp                                    |         r0 = fp;
    0x00022c44 bl 0x37f24                                    |         divsi3 ();
    0x00022c48 mov r1, 0xc                                   |         r1 = 0xc;
    0x00022c4c add r5, r5, r0                                |         r5 += r0;
    0x00022c50 mov r0, fp                                    |         r0 = fp;
    0x00022c54 bl 0x38000                                    |         aeabi_idivmod ();
    0x00022c58 rsb fp, r1, 0xb                               |         
                                                             |     }
    0x00022c5c cmp r6, 1                                     |     
                                                             |     if (r6 <= 1) {
    0x00022c60 movgt r3, r5                                  |         r3 = r5;
                                                             |     }
                                                             |     if (r6 > 1) {
    0x00022c64 suble r3, r5, 1                               |         r3 = r5 - 1;
                                                             |     }
    0x00022c68 mvn r1, 0x63                                  |     r1 = ~0x63;
    0x00022c6c mov r0, r3                                    |     r0 = r3;
    0x00022c70 asr r6, r3, 2                                 |     r6 = r3 >> 2;
    0x00022c74 str r3, [sp, 0xc]                             |     var_ch = r3;
    0x00022c78 bl 0x37f24                                    |     divsi3 ();
    0x00022c7c ldr r3, [sp, 0xc]                             |     r3 = var_ch;
    0x00022c80 mov r1, 0x190                                 |     r1 = 0x190;
    0x00022c84 add r6, r6, r0                                |     r6 += r0;
    0x00022c88 mov r0, r3                                    |     r0 = r3;
    0x00022c8c bl 0x37f24                                    |     divsi3 ();
    0x00022c90 ldr r3, [pc, 0xe0]                            |     r3 = "trpbrk";
    0x00022c94 sub r2, r5, 0x7b0                             |     r2 = r5 - 0x7b0;
    0x00022c98 sub r2, r2, 2                                 |     r2 -= 2;
    0x00022c9c mov r1, 0x3c                                  |     r1 = 0x3c;
    0x00022ca0 cmn r4, 1                                     |     
    0x00022ca4 add r0, r6, r0                                |     r0 = r6 + r0;
    0x00022ca8 sub r0, r0, 0x1dc                             |     r0 -= 0x1dc;
    0x00022cac sub r0, r0, 1                                 |     r0--;
    0x00022cb0 mla r5, r3, r2, r0                            |     __asm ("mla r5, r3, r2, r0");
    0x00022cb4 ldr r3, [pc, 0xc0]                            |     r3 = *(0x22d78);
    0x00022cb8 add r3, pc, r3                                |     r3 = pc + r3;
    0x00022cbc add fp, r3, fp, lsl 2                         |     
    0x00022cc0 ldr r0, [fp, 0x33c]                           |     r0 = *(arg_33ch);
    0x00022cc4 add r0, r5, r0                                |     r0 = r5 + r0;
    0x00022cc8 add r0, r0, sl                                |     r0 += sl;
    0x00022ccc sub r0, r0, 1                                 |     r0--;
    0x00022cd0 mov sl, 0x18                                  |     sl = 0x18;
    0x00022cd4 mla r3, sl, r0, sb                            |     __asm ("mla r3, sl, r0, sb");
    0x00022cd8 mla r0, r1, r3, r8                            |     __asm ("mla r0, r1, r3, r8");
    0x00022cdc mla r2, r1, r0, r7                            |     __asm ("mla r2, r1, r0, r7");
                                                             |     if (r4 == 1) {
    0x00022ce0 beq 0x22d18                                   |         goto label_23;
                                                             |     }
    0x00022ce4 cmp r4, 0                                     |     
                                                             |     if (r4 <= 0) {
    0x00022ce8 ble 0x22d04                                   |         goto label_24;
                                                             |     }
    0x00022cec rsb r3, r4, 0x7f000000                        |     r3 = 0x7f000000 - r4;
    0x00022cf0 add r3, r3, 0xff0000                          |     r3 += 0xff0000;
    0x00022cf4 add r3, r3, 0xff00                            |     r3 += 0xff00;
    0x00022cf8 add r3, r3, 0xff                              |     r3 += 0xff;
    0x00022cfc cmp r3, r2                                    |     
                                                             |     if (r3 < r2) {
    0x00022d00 blt 0x2295c                                   |         goto label_3;
                                                             |     }
                                                             |     do {
                                                             | label_24:
    0x00022d04 add r0, r4, r2                                |         r0 = r4 + r2;
    0x00022d08 cmn r0, 1                                     |         
                                                             |         if (r0 != 1) {
    0x00022d0c moveq r0, 0                                   |             r0 = 0;
                                                             |         }
                                                             | label_16:
    0x00022d10 add sp, sp, 0x5c                              |         
    0x00022d14 pop {r4, r5, r6, r7, r8, sb, sl, fp, pc}      |         
                                                             | label_23:
    0x00022d18 mov r3, 0                                     |         r3 = 0;
    0x00022d1c mov r4, r3                                    |         r4 = r3;
    0x00022d20 b 0x22d04                                     |         
                                                             |     } while (1);
                                                             | label_11:
    0x00022d24 cmn fp, 1                                     |     
                                                             |     if (fp == 1) {
    0x00022d28 movne sb, r7                                  |         sb = r7;
                                                             |     }
                                                             |     if (fp != 1) {
    0x00022d2c movne r7, sb                                  |         r7 = sb;
                                                             |         goto label_25;
                                                             |     }
                                                             |     if (fp != 1) {
                                                             | label_25:
    0x00022d30 bne 0x228b4                                   |         goto label_6;
                                                             |     }
    0x00022d34 ldr r3, [pc, 0x44]                            |     r3 = *(0x22d7c);
    0x00022d38 add r3, pc, r3                                |     r3 = pc + r3;
    0x00022d3c b 0x22874                                     |     goto label_0;
                                                             | label_15:
    0x00022d40 ldr r4, [sb, 8]                               |     r4 = *((sb + 8));
    0x00022d44 mov r1, 0x3c                                  |     r1 = 0x3c;
    0x00022d48 mul r3, r1, r4                                |     r3 = r1 * r4;
    0x00022d4c mov r4, r3                                    |     r4 = r3;
    0x00022d50 b 0x22980                                     |     goto label_7;
                                                             | }
    ; 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/lib/libcurl.so @ 0x37d90 */
                                                 | #include <stdint.h>
                                                 |  
    ; (fcn) sym.curl_global_sslset ()            | uint32_t curl_global_sslset (int32_t arg1, int32_t arg2) {
                                                 |     r0 = arg1;
                                                 |     r1 = arg2;
    0x00037d90 cmp r2, 0                         |     
                                                 |     if (r2 == 0) {
    0x00037d94 ldrne r3, [pc, 0xb0]              |         r3 = *((pc + 0xb0));
                                                 |     }
                                                 |     if (r2 == 0) {
    0x00037d98 addne r3, pc, r3                  |         r3 = pc + r3;
                                                 |     }
                                                 |     if (r2 == 0) {
    0x00037d9c addne r3, r3, 4                   |         r3 += 4;
                                                 |     }
                                                 |     if (r2 == 0) {
    0x00037da0 strne r3, [r2]                    |         *(r2) = r3;
                                                 |     }
    0x00037da4 ldr r3, [pc, 0xa4]                |     r3 = *(0x37e4c);
    0x00037da8 ldr ip, [pc, 0xa4]                |     ip = *(0x37e50);
    0x00037dac add r3, pc, r3                    |     r3 = pc + r3;
    0x00037db0 ldr r2, [r3]                      |     r2 = *(0x37e4c);
    0x00037db4 add ip, pc, ip                    |     
    0x00037db8 cmp r2, ip                        |     
                                                 |     if (r2 == ip) {
    0x00037dbc beq 0x37e34                       |         goto label_2;
                                                 |     }
    0x00037dc0 ldr r3, [r2]                      |     r3 = *(r2);
    0x00037dc4 cmp r3, r0                        |     
                                                 |     if (r3 == r0) {
    0x00037dc8 movne r0, 2                       |         r0 = 2;
                                                 |     }
                                                 |     if (r3 != r0) {
    0x00037dcc moveq r0, 0                       |         r0 = 0;
                                                 |     }
    0x00037dd0 bx lr                             |     return r0;
                                                 | label_0:
    0x00037dd4 ldr r2, [r3]                      |     r2 = *(r3);
    0x00037dd8 cmp r2, r6                        |     
    0x00037ddc bne 0x37dfc                       |     
                                                 |     while (r0 != 0) {
    0x00037de0 ldr r3, [pc, 0x70]                |         r3 = *(0x37e54);
    0x00037de4 add r3, pc, r3                    |         r3 = pc + r3;
    0x00037de8 add r3, r3, r8                    |         r3 += r8;
    0x00037dec ldr r0, [r3, 4]                   |         r0 = *((r3 + 4));
    0x00037df0 bl 0x367c8                        |         multissl_init ();
    0x00037df4 mov r0, 0                         |         r0 = 0;
    0x00037df8 pop {r4, r5, r6, r7, r8, pc}      |         
    0x00037dfc cmp r7, 0                         |         
                                                 |         if (r7 == 0) {
    0x00037e00 beq 0x37e18                       |             goto label_3;
                                                 |         }
    0x00037e04 mov r1, r7                        |         r1 = r7;
    0x00037e08 ldr r0, [r3, 4]                   |         r0 = *((r3 + 4));
    0x00037e0c bl 0x19dc0                        |         r0 = Curl_strcasecompare ();
    0x00037e10 cmp r0, 0                         |         
    0x00037e14 bne 0x37de0                       |         
                                                 |     }
                                                 | label_3:
    0x00037e18 add r5, r5, 1                     |     r5++;
                                                 | label_1:
    0x00037e1c ldr r3, [r4, r5, lsl 2]           |     offset_0 = r5 << 2;
                                                 |     r3 = *((r4 + offset_0));
    0x00037e20 lsl r8, r5, 2                     |     r8 = r5 << 2;
    0x00037e24 cmp r3, 0                         |     
                                                 |     if (r3 != 0) {
    0x00037e28 bne 0x37dd4                       |         goto label_0;
                                                 |     }
    0x00037e2c mov r0, 1                         |     r0 = 1;
    0x00037e30 pop {r4, r5, r6, r7, r8, pc}      |     
                                                 | label_2:
    0x00037e34 push {r4, r5, r6, r7, r8, lr}     |     
    0x00037e38 mov r7, r1                        |     r7 = r1;
    0x00037e3c mov r6, r0                        |     r6 = r0;
    0x00037e40 mov r5, 0                         |     r5 = 0;
    0x00037e44 add r4, r3, 4                     |     r4 = r3 + 4;
    0x00037e48 b 0x37e1c                         |     goto label_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/lib/libcurl.so @ 0x2c0dc */
                                             | #include <stdint.h>
                                             |  
                                             | #define BIT_MASK(t,v) ((t)(-((v)!= 0)))&(((t)-1)>>((sizeof(t)*CHAR_BIT)-(v)))
                                             |  
    ; (fcn) sym.curl_mime_headers ()         | void curl_mime_headers (int32_t arg1, int32_t arg2) {
                                             |     r0 = arg1;
                                             |     r1 = arg2;
    0x0002c0dc push {r4, r5, r6, lr}         |     
    0x0002c0e0 subs r5, r0, 0                |     r5 = r0 - 0;
                                             |     if (r5 != r0) {
    0x0002c0e4 beq 0x2c144                   |         
    0x0002c0e8 ldr r3, [r5, 0x48]            |         r3 = *((r5 + 0x48));
    0x0002c0ec mov r4, r2                    |         r4 = r2;
    0x0002c0f0 tst r3, 1                     |         
    0x0002c0f4 mov r6, r1                    |         r6 = r1;
                                             |         if ((r3 & 1) != 0) {
    0x0002c0f8 beq 0x2c118                   |             
    0x0002c0fc ldr r0, [r5, 0x2c]            |             r0 = *((r5 + 0x2c));
    0x0002c100 cmp r0, r1                    |             
                                             |             if (r0 != r1) {
    0x0002c104 beq 0x2c10c                   |                 
    0x0002c108 bl 0x54fc                     |                 fcn_000054fc ();
                                             |             }
    0x0002c10c ldr r3, [r5, 0x48]            |             r3 = *((r5 + 0x48));
    0x0002c110 bic r3, r3, 1                 |             r3 = BIT_MASK (r3, 1);
    0x0002c114 str r3, [r5, 0x48]            |             *((r5 + 0x48)) = r3;
                                             |         }
    0x0002c118 adds r0, r4, 0                |         r0 = r4 + 0;
                                             |         if (r0 == r4) {
    0x0002c11c movne r0, 1                   |             r0 = 1;
                                             |         }
    0x0002c120 cmp r6, 0                     |         
                                             |         if (r6 != 0) {
    0x0002c124 moveq r0, 0                   |             r0 = 0;
                                             |         }
    0x0002c128 cmp r0, 0                     |         
                                             |         if (r0 == 0) {
    0x0002c12c ldrne r3, [r5, 0x48]          |             r3 = *((r5 + 0x48));
                                             |         }
    0x0002c130 str r6, [r5, 0x2c]            |         *((r5 + 0x2c)) = r6;
                                             |         if (r0 == 0) {
    0x0002c134 orrne r3, r3, 1               |             r3 |= 1;
                                             |         }
                                             |         if (r0 == 0) {
    0x0002c138 strne r3, [r5, 0x48]          |             *((r5 + 0x48)) = r3;
                                             |         }
                                             |         if (r0 == 0) {
    0x0002c13c movne r0, 0                   |             r0 = 0;
                                             |         }
    0x0002c140 pop {r4, r5, r6, pc}          |         
                                             |     }
    0x0002c144 mov r0, 0x2b                  |     r0 = 0x2b;
    0x0002c148 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/lib/libcurl.so @ 0x1e510 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.curl_multi_add_handle ()     | void curl_multi_add_handle (int32_t arg1, uint32_t arg2) {
                                             |     r0 = arg1;
                                             |     r1 = arg2;
    0x0001e510 push {r4, r5, r6, lr}         |     
    0x0001e514 subs r5, r0, 0                |     r5 = r0 - 0;
                                             |     if (r5 == r0) {
    0x0001e518 beq 0x1e694                   |         goto label_1;
                                             |     }
    0x0001e51c ldr r2, [r5]                  |     r2 = *(r5);
    0x0001e520 ldr r3, [pc, 0x18c]           |     r3 = *(0x1e6b0);
    0x0001e524 cmp r2, r3                    |     
                                             |     if (r2 != r3) {
    0x0001e528 bne 0x1e694                   |         goto label_1;
                                             |     }
    0x0001e52c cmp r1, 0                     |     
                                             |     if (r1 == 0) {
    0x0001e530 beq 0x1e69c                   |         goto label_2;
                                             |     }
    0x0001e534 add r3, r1, 0x4000            |     r3 = r1 + 0x4000;
    0x0001e538 ldr r2, [r3, 0xb10]           |     r2 = *((r3 + 0xb10));
    0x0001e53c ldr r3, [pc, 0x174]           |     r3 = *(0x1e6b4);
    0x0001e540 cmp r2, r3                    |     
                                             |     if (r2 != r3) {
    0x0001e544 bne 0x1e69c                   |         goto label_2;
                                             |     }
    0x0001e548 ldr r3, [r1, 0x64]            |     r3 = *((r1 + 0x64));
    0x0001e54c cmp r3, 0                     |     
                                             |     if (r3 != 0) {
    0x0001e550 bne 0x1e6a4                   |         goto label_3;
                                             |     }
    0x0001e554 ldrb r6, [r5, 0xf4]           |     r6 = *((r5 + 0xf4));
    0x0001e558 cmp r6, 0                     |     
                                             |     if (r6 != 0) {
    0x0001e55c bne 0x1e6ac                   |         goto label_4;
                                             |     }
    0x0001e560 mov r4, r1                    |     r4 = r1;
    0x0001e564 add r0, r4, 0x4800            |     r0 = r4 + 0x4800;
    0x0001e568 mov r1, r6                    |     r1 = r6;
    0x0001e56c add r0, r0, 0xd0              |     r0 += 0xd0;
    0x0001e570 bl 0x1cbe4                    |     Curl_llist_init ();
    0x0001e574 ldr r3, [r4, 0x138]           |     r3 = *((r4 + 0x138));
    0x0001e578 mov r1, 0                     |     r1 = 0;
    0x0001e57c cmp r3, 0                     |     
                                             |     if (r3 == 0) {
    0x0001e580 strbne r6, [r3]               |         *(r3) = r6;
                                             |     }
    0x0001e584 mov r0, r4                    |     r0 = r4;
    0x0001e588 bl 0x1d3c0                    |     mstate ();
    0x0001e58c ldrb r3, [r4, 0x4ed]          |     r3 = *((r4 + 0x4ed));
    0x0001e590 cmp r3, 0                     |     
                                             |     if (r3 == 0) {
    0x0001e594 beq 0x1e668                   |         goto label_5;
                                             |     }
    0x0001e598 ldr r3, [r4, 0x60]            |     r3 = *((r4 + 0x60));
    0x0001e59c cmp r3, 1                     |     
                                             |     if (r3 == 1) {
    0x0001e5a0 beq 0x1e668                   |         goto label_5;
                                             |     }
    0x0001e5a4 bl 0x703c                     |     r0 = Curl_global_host_cache_init ();
    0x0001e5a8 cmp r0, 0                     |     
                                             |     if (r0 == 0) {
    0x0001e5ac strne r0, [r4, 0x5c]          |         *((r4 + 0x5c)) = r0;
                                             |     }
                                             |     if (r0 == 0) {
    0x0001e5b0 movne r3, 1                   |         r3 = 1;
                                             |     }
                                             |     if (r0 != 0) {
    0x0001e5b4 bne 0x1e68c                   |         goto label_6;
                                             |     }
                                             |     do {
                                             | label_0:
    0x0001e5b8 ldr r3, [r4, 0x6c]            |         r3 = *((r4 + 0x6c));
    0x0001e5bc cmp r3, 0                     |         
                                             |         if (r3 != 0) {
    0x0001e5c0 beq 0x1e5d4                   |             
    0x0001e5c4 ldr r2, [r3]                  |             r2 = *(r3);
    0x0001e5c8 tst r2, 0x20                  |             
                                             |             if ((r2 & 0x20) == 0) {
    0x0001e5cc addne r3, r3, 0x14            |                 r3 += 0x14;
                                             |             }
                                             |             if ((r2 & 0x20) != 0) {
    0x0001e5d0 bne 0x1e5d8                   |                 goto label_7;
                                             |             }
                                             |         }
    0x0001e5d4 add r3, r5, 0x80              |         r3 = r5 + 0x80;
                                             | label_7:
    0x0001e5d8 str r3, [r4, 0x7b0]           |         *((r4 + 0x7b0)) = r3;
    0x0001e5dc mov r3, 0                     |         r3 = 0;
    0x0001e5e0 str r3, [r4]                  |         *(r4) = r3;
    0x0001e5e4 ldr r3, [r5, 4]               |         r3 = *((r5 + 4));
    0x0001e5e8 mov r0, r4                    |         r0 = r4;
    0x0001e5ec cmp r3, 0                     |         
                                             |         if (r3 == 0) {
    0x0001e5f0 ldrne r3, [r5, 8]             |             r3 = *((r5 + 8));
                                             |         }
                                             |         if (r3 != 0) {
    0x0001e5f4 streq r3, [r4, 4]             |             *((r4 + 4)) = r3;
                                             |         }
                                             |         if (r3 == 0) {
    0x0001e5f8 strne r4, [r3]                |             *(r3) = r4;
                                             |         }
                                             |         if (r3 != 0) {
    0x0001e5fc streq r4, [r5, 4]             |             *((r5 + 4)) = r4;
                                             |         }
                                             |         if (r3 == 0) {
    0x0001e600 strne r3, [r4, 4]             |             *((r4 + 4)) = r3;
                                             |         }
    0x0001e604 mov r2, 6                     |         r2 = 6;
    0x0001e608 str r4, [r5, 8]               |         *((r5 + 8)) = r4;
    0x0001e60c mov r1, 0                     |         r1 = 0;
    0x0001e610 str r5, [r4, 0x64]            |         *((r4 + 0x64)) = r5;
    0x0001e614 bl 0x1e348                    |         Curl_expire ();
    0x0001e618 ldr r3, [r5, 0xc]             |         r3 = *((r5 + 0xc));
    0x0001e61c mov r1, 0                     |         r1 = 0;
    0x0001e620 add r3, r3, 1                 |         r3++;
    0x0001e624 str r3, [r5, 0xc]             |         *((r5 + 0xc)) = r3;
    0x0001e628 ldr r3, [r5, 0x10]            |         r3 = *((r5 + 0x10));
    0x0001e62c mov r2, 8                     |         r2 = 8;
    0x0001e630 add r3, r3, 1                 |         r3++;
    0x0001e634 str r3, [r5, 0x10]            |         *((r5 + 0x10)) = r3;
    0x0001e638 add r0, r5, 0xec              |         r0 = r5 + 0xec;
    0x0001e63c bl 0x576c                     |         memset (r0, r1, r2);
    0x0001e640 ldr r3, [r4, 0x7b0]           |         r3 = *((r4 + 0x7b0));
    0x0001e644 ldr r2, [r4, 0x1e0]           |         r2 = *((r4 + 0x1e0));
    0x0001e648 ldr r3, [r3, 0x28]            |         r3 = *((r3 + 0x28));
    0x0001e64c mov r0, r5                    |         r0 = r5;
    0x0001e650 str r2, [r3, 0x1e0]           |         *((r3 + 0x1e0)) = r2;
    0x0001e654 ldr r2, [r4, 0x1f0]           |         r2 = *((r4 + 0x1f0));
    0x0001e658 str r2, [r3, 0x1f0]           |         *((r3 + 0x1f0)) = r2;
    0x0001e65c bl 0x1d9bc                    |         update_timer ();
    0x0001e660 mov r0, 0                     |         r0 = 0;
    0x0001e664 pop {r4, r5, r6, pc}          |         
                                             | label_5:
    0x0001e668 ldr r3, [r4, 0x5c]            |         r3 = *((r4 + 0x5c));
    0x0001e66c cmp r3, 0                     |         
                                             |         if (r3 == 0) {
    0x0001e670 beq 0x1e680                   |             goto label_8;
                                             |         }
    0x0001e674 ldr r3, [r4, 0x60]            |         r3 = *((r4 + 0x60));
    0x0001e678 cmp r3, 0                     |         
    0x0001e67c bne 0x1e5b8                   |         
                                             |     } while (r3 != 0);
                                             | label_8:
    0x0001e680 add r3, r5, 0x44              |     r3 = r5 + 0x44;
    0x0001e684 str r3, [r4, 0x5c]            |     *((r4 + 0x5c)) = r3;
    0x0001e688 mov r3, 2                     |     r3 = 2;
                                             | label_6:
    0x0001e68c str r3, [r4, 0x60]            |     *((r4 + 0x60)) = r3;
    0x0001e690 b 0x1e5b8                     |     goto label_0;
                                             | label_1:
    0x0001e694 mov r0, 1                     |     r0 = 1;
    0x0001e698 pop {r4, r5, r6, pc}          |     
                                             | label_2:
    0x0001e69c mov r0, 2                     |     r0 = 2;
    0x0001e6a0 pop {r4, r5, r6, pc}          |     
                                             | label_3:
    0x0001e6a4 mov r0, 7                     |     r0 = 7;
    0x0001e6a8 pop {r4, r5, r6, pc}          |     
                                             | label_4:
    0x0001e6ac mov r0, 8                     |     r0 = 8;
    0x0001e6b0 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/lib/libcurl.so @ 0x1dd28 */
                                                                 | #include <stdint.h>
                                                                 |  
    ; (fcn) sym.curl_multi_wait ()                               | void curl_multi_wait (int32_t arg_98h, int32_t arg1, int32_t arg2) {
                                                                 |     int32_t var_0h;
                                                                 |     int32_t var_4h;
                                                                 |     int32_t var_8h;
                                                                 |     int32_t var_ch;
                                                                 |     int32_t var_20h;
                                                                 |     int32_t var_74h;
                                                                 |     r0 = arg1;
                                                                 |     r1 = arg2;
    0x0001dd28 push {r4, r5, r6, r7, r8, sb, sl, fp, lr}         |     
    0x0001dd2c ldr sb, [pc, 0x2cc]                               |     sb = *(0x1dffc);
    0x0001dd30 subs r5, r0, 0                                    |     r5 -= arg_98h;
    0x0001dd34 add sb, pc, sb                                    |     sb = pc + sb;
    0x0001dd38 sub sp, sp, 0x74                                  |     
                                                                 |     if (r5 == arg_98h) {
    0x0001dd3c beq 0x1dff4                                       |         goto label_4;
                                                                 |     }
    0x0001dd40 ldr ip, [r5]                                      |     ip = *(r5);
    0x0001dd44 ldr r0, [pc, 0x2b8]                               |     r0 = *(0x1e000);
    0x0001dd48 cmp ip, r0                                        |     
                                                                 |     if (ip != r0) {
    0x0001dd4c bne 0x1dff4                                       |         goto label_4;
                                                                 |     }
    0x0001dd50 ldrb sl, [r5, 0xf4]                               |     sl = *((r5 + 0xf4));
    0x0001dd54 cmp sl, 0                                         |     
                                                                 |     if (sl == 0) {
    0x0001dd58 movne r0, 8                                       |         r0 = 8;
                                                                 |     }
                                                                 |     if (sl != 0) {
    0x0001dd5c bne 0x1dff8                                       |         goto label_5;
                                                                 |     }
    0x0001dd60 mov r4, r3                                        |     r4 = r3;
    0x0001dd64 ldr r3, [r5, 0x5c]                                |     r3 = *((r5 + 0x5c));
    0x0001dd68 str r2, [sp]                                      |     *(sp) = r2;
    0x0001dd6c cmp r3, 0                                         |     
                                                                 |     if (r3 != 0) {
    0x0001dd70 mvneq r3, 0                                       |         r3 = ~0;
                                                                 |     }
    0x0001dd74 mov r7, r1                                        |     r7 = r1;
                                                                 |     if (r3 != 0) {
    0x0001dd78 streq r3, [sp, 8]                                 |         var_8h = r3;
                                                                 |     }
                                                                 |     if (r3 != 0) {
    0x0001dd7c beq 0x1dd8c                                       |         
    0x0001dd80 add r1, sp, 8                                     |         r1 += var_8h;
    0x0001dd84 add r0, r5, 0x5c                                  |         r0 = r5 + 0x5c;
    0x0001dd88 bl 0x1d400                                        |         multi_timeout_isra_2_part_3 ();
                                                                 |     }
    0x0001dd8c ldr r8, [sp, 8]                                   |     r8 = var_8h;
    0x0001dd90 mov r6, 0                                         |     r6 = 0;
    0x0001dd94 cmp r8, r4                                        |     
    0x0001dd98 mvn r3, r8                                        |     r3 = ~r8;
    0x0001dd9c lsr r3, r3, 0x1f                                  |     r3 >>= 0x1f;
                                                                 |     if (r8 < r4) {
    0x0001dda0 movge r3, 0                                       |         r3 = 0;
                                                                 |     }
    0x0001dda4 cmp r3, 0                                         |     
                                                                 |     if (r3 != 0) {
    0x0001dda8 moveq r8, r4                                      |         r8 = r4;
                                                                 |     }
    0x0001ddac ldr r4, [r5, 4]                                   |     r4 = *((r5 + 4));
    0x0001ddb0 add fp, sp, 0xc                                   |     
                                                                 | label_0:
    0x0001ddb4 cmp r4, 0                                         |     
                                                                 |     if (r4 == 0) {
    0x0001ddb8 bne 0x1ddf8                                       |         
    0x0001ddbc ldr r3, [sp]                                      |         r3 = *(sp);
    0x0001ddc0 adds r0, r6, r3                                   |         r0 = r6 + r3;
                                                                 |         if (r0 == r6) {
    0x0001ddc4 beq 0x1de50                                       |             goto label_6;
                                                                 |         }
    0x0001ddc8 cmp r0, 0xa                                       |         
                                                                 |         if (r0 < 0xa) {
    0x0001ddcc bls 0x1de4c                                       |             goto label_7;
                                                                 |         }
    0x0001ddd0 ldr r3, [pc, 0x230]                               |         
    0x0001ddd4 lsl r0, r0, 3                                     |         r0 <<= 3;
    0x0001ddd8 ldr r3, [sb, r3]                                  |         r3 = *((sb + r3));
    0x0001dddc ldr r3, [r3]                                      |         r3 = *(0x1e004);
    0x0001dde0 blx r3                                            |         r0 = uint32_t (*r3)(uint32_t, uint32_t) (r0, r3);
    0x0001dde4 subs r4, r0, 0                                    |         r4 = r0 - 0;
                                                                 |         if (r4 == r0) {
    0x0001dde8 movne sl, 1                                       |             sl = 1;
                                                                 |         }
                                                                 |         if (r4 != r0) {
    0x0001ddec bne 0x1de50                                       |             goto label_6;
                                                                 |         }
    0x0001ddf0 mov r0, 3                                         |         r0 = 3;
    0x0001ddf4 b 0x1dff8                                         |         goto label_5;
                                                                 |     }
    0x0001ddf8 mov r1, fp                                        |     r1 = fp;
    0x0001ddfc mov r0, r4                                        |     r0 = r4;
    0x0001de00 bl 0x1d5b0                                        |     multi_getsock_constprop_11 ();
    0x0001de04 mov r3, 0                                         |     r3 = 0;
                                                                 |     do {
    0x0001de08 asr r2, r0, r3                                    |         r2 = r0 >> r3;
    0x0001de0c add r1, r3, 0x10                                  |         r1 = r3 + 0x10;
    0x0001de10 asr r1, r0, r1                                    |         r1 = r0 >> r1;
    0x0001de14 tst r2, 1                                         |         
                                                                 |         if ((r2 & 1) == 0) {
    0x0001de18 ldrne r2, [fp, r3, lsl 2]                         |             offset_0 = r3 << 2;
                                                                 |             r2 = *((fp + offset_0));
                                                                 |         }
                                                                 |         if ((r2 & 1) == 0) {
    0x0001de1c addne r6, r6, 1                                   |             r6++;
                                                                 |         }
                                                                 |         if ((r2 & 1) != 0) {
    0x0001de20 mvneq r2, 0                                       |             r2 = ~0;
                                                                 |         }
    0x0001de24 tst r1, 1                                         |         
                                                                 |         if ((r1 & 1) == 0) {
    0x0001de28 ldrne r2, [fp, r3, lsl 2]                         |             offset_1 = r3 << 2;
                                                                 |             r2 = *((fp + offset_1));
                                                                 |         }
                                                                 |         if ((r1 & 1) == 0) {
    0x0001de2c addne r6, r6, 1                                   |             r6++;
                                                                 |         }
    0x0001de30 cmn r2, 1                                         |         
                                                                 |         if (r2 == 1) {
    0x0001de34 beq 0x1de44                                       |             goto label_8;
                                                                 |         }
    0x0001de38 add r3, r3, 1                                     |         r3++;
    0x0001de3c cmp r3, 5                                         |         
    0x0001de40 bne 0x1de08                                       |         
                                                                 |     } while (r3 != 5);
                                                                 | label_8:
    0x0001de44 ldr r4, [r4]                                      |     r4 = *(r4);
    0x0001de48 b 0x1ddb4                                         |     goto label_0;
                                                                 | label_7:
    0x0001de4c add r4, sp, 0x20                                  |     r4 += var_20h;
                                                                 | label_6:
    0x0001de50 cmp r6, 0                                         |     
                                                                 |     if (r6 == 0) {
    0x0001de54 ldrne r2, [r5, 4]                                 |         r2 = *((r5 + 4));
                                                                 |     }
                                                                 |     if (r6 == 0) {
    0x0001de58 addne fp, sp, 0xc                                 |         
                                                                 |     }
                                                                 |     if (r6 == 0) {
    0x0001de5c movne r5, 0                                       |         r5 = 0;
                                                                 |     }
                                                                 |     if (r6 != 0) {
    0x0001de60 bne 0x1deec                                       |         goto label_9;
                                                                 |     }
    0x0001de64 mov r5, r6                                        |     r5 = r6;
    0x0001de68 b 0x1def4                                         |     goto label_10;
                                                                 | label_1:
    0x0001de6c mov r0, r2                                        |     r0 = r2;
    0x0001de70 mov r1, fp                                        |     r1 = fp;
    0x0001de74 str r2, [sp, 4]                                   |     var_4h = r2;
    0x0001de78 bl 0x1d5b0                                        |     multi_getsock_constprop_11 ();
    0x0001de7c ldr r2, [sp, 4]                                   |     r2 = var_4h;
    0x0001de80 mov r3, 0                                         |     r3 = 0;
    0x0001de84 mov lr, 4                                         |     lr = 4;
                                                                 |     do {
    0x0001de88 asr r1, r0, r3                                    |         r1 = r0 >> r3;
    0x0001de8c tst r1, 1                                         |         
                                                                 |         if ((r1 & 1) == 0) {
    0x0001de90 ldrne ip, [fp, r3, lsl 2]                         |             offset_2 = r3 << 2;
                                                                 |             ip = *((fp + offset_2));
                                                                 |         }
                                                                 |         if ((r1 & 1) == 0) {
    0x0001de94 addne r1, r4, r5, lsl 3                           |             r1 = r4 + (r5 << 3);
                                                                 |         }
                                                                 |         if ((r1 & 1) == 0) {
    0x0001de98 strne ip, [r4, r5, lsl 3]                         |             offset_3 = r5 << 3;
                                                                 |             *((r4 + offset_3)) = ip;
                                                                 |         }
                                                                 |         if ((r1 & 1) == 0) {
    0x0001de9c movne ip, 1                                       |             
                                                                 |         }
    0x0001dea0 strhne ip, [r1, 4]                                |         __asm ("strhne ip, [r1, 4]");
    0x0001dea4 add ip, r3, 0x10                                  |         
    0x0001dea8 asr ip, r0, ip                                    |         
                                                                 |         if ((r1 & 1) == 0) {
    0x0001deac ldrne r1, [fp, r3, lsl 2]                         |             offset_4 = r3 << 2;
                                                                 |             r1 = *((fp + offset_4));
                                                                 |         }
                                                                 |         if ((r1 & 1) == 0) {
    0x0001deb0 addne r5, r5, 1                                   |             r5++;
                                                                 |         }
                                                                 |         if ((r1 & 1) != 0) {
    0x0001deb4 mvneq r1, 0                                       |             r1 = ~0;
                                                                 |         }
    0x0001deb8 tst ip, 1                                         |         
                                                                 |         if ((ip & 1) == 0) {
    0x0001debc ldrne ip, [fp, r3, lsl 2]                         |             offset_5 = r3 << 2;
                                                                 |             ip = *((fp + offset_5));
                                                                 |         }
                                                                 |         if ((ip & 1) == 0) {
    0x0001dec0 addne r1, r4, r5, lsl 3                           |             r1 = r4 + (r5 << 3);
                                                                 |         }
                                                                 |         if ((ip & 1) == 0) {
    0x0001dec4 strne ip, [r4, r5, lsl 3]                         |             offset_6 = r5 << 3;
                                                                 |             *((r4 + offset_6)) = ip;
                                                                 |         }
    0x0001dec8 strhne lr, [r1, 4]                                |         __asm ("strhne lr, [r1, 4]");
                                                                 |         if ((ip & 1) == 0) {
    0x0001decc ldrne r1, [fp, r3, lsl 2]                         |             offset_7 = r3 << 2;
                                                                 |             r1 = *((fp + offset_7));
                                                                 |         }
                                                                 |         if ((ip & 1) == 0) {
    0x0001ded0 addne r5, r5, 1                                   |             r5++;
                                                                 |         }
    0x0001ded4 cmn r1, 1                                         |         
                                                                 |         if (r1 == 1) {
    0x0001ded8 beq 0x1dee8                                       |             goto label_11;
                                                                 |         }
    0x0001dedc add r3, r3, 1                                     |         r3++;
    0x0001dee0 cmp r3, 5                                         |         
    0x0001dee4 bne 0x1de88                                       |         
                                                                 |     } while (r3 != 5);
                                                                 | label_11:
    0x0001dee8 ldr r2, [r2]                                      |     r2 = *(r2);
                                                                 | label_9:
    0x0001deec cmp r2, 0                                         |     
                                                                 |     if (r2 != 0) {
    0x0001def0 bne 0x1de6c                                       |         goto label_1;
                                                                 |     }
                                                                 | label_10:
    0x0001def4 add r0, r4, r5, lsl 3                             |     r0 = r4 + (r5 << 3);
    0x0001def8 mov fp, 0                                         |     
    0x0001defc mov r3, r0                                        |     r3 = r0;
    0x0001df00 mov ip, fp                                        |     
    0x0001df04 mov lr, 1                                         |     lr = 1;
    0x0001df08 b 0x1df50                                         |     
                                                                 |     while (fp != r2) {
    0x0001df0c ldr r2, [r7, fp, lsl 3]                           |         offset_8 = fp << 3;
                                                                 |         r2 = *((r7 + offset_8));
    0x0001df10 add r3, r3, 8                                     |         r3 += 8;
    0x0001df14 str r2, [r0, fp, lsl 3]                           |         offset_9 = fp << 3;
                                                                 |         *((r0 + offset_9)) = r2;
    0x0001df18 add r2, r7, fp, lsl 3                             |         r2 = r7 + (fp << 3);
    0x0001df1c strh ip, [r3, -4]                                 |         *((r3 - 4)) = ip;
    0x0001df20 ldrh r2, [r2, 4]                                  |         r2 = *((r2 + 4));
    0x0001df24 add fp, fp, 1                                     |         
    0x0001df28 tst r2, 1                                         |         
    0x0001df2c strhne lr, [r3, -4]                               |         __asm ("strhne lr, [r3, -4]");
    0x0001df30 tst r2, 2                                         |         
    0x0001df34 ldrhne r1, [r3, -4]                               |         __asm ("ldrhne r1, [r3, -4]");
                                                                 |         if ((r2 & 2) == 0) {
    0x0001df38 orrne r1, r1, 2                                   |             r1 |= 2;
                                                                 |         }
    0x0001df3c strhne r1, [r3, -4]                               |         __asm ("strhne r1, [r3, -4]");
    0x0001df40 tst r2, 4                                         |         
    0x0001df44 ldrhne r2, [r3, -4]                               |         __asm ("ldrhne r2, [r3, -4]");
                                                                 |         if ((r2 & 4) == 0) {
    0x0001df48 orrne r2, r2, 4                                   |             r2 |= 4;
                                                                 |         }
    0x0001df4c strhne r2, [r3, -4]                               |         __asm ("strhne r2, [r3, -4]");
    0x0001df50 ldr r2, [sp]                                      |         r2 = *(sp);
    0x0001df54 cmp fp, r2                                        |         
    0x0001df58 bne 0x1df0c                                       |         
                                                                 |     }
    0x0001df5c adds r1, fp, r5                                   |     r1 = fp + r5;
    0x0001df60 bne 0x1df9c                                       |     
                                                                 |     while (r5 <= r0) {
    0x0001df64 mov r5, 0                                         |         r5 = 0;
                                                                 | label_2:
    0x0001df68 cmp sl, 0                                         |         
                                                                 |         if (sl != 0) {
    0x0001df6c beq 0x1df84                                       |             
    0x0001df70 ldr r3, [pc, 0x94]                                |             
    0x0001df74 mov r0, r4                                        |             r0 = r4;
    0x0001df78 ldr r3, [sb, r3]                                  |             r3 = *((sb + r3));
    0x0001df7c ldr r3, [r3]                                      |             r3 = *(0x1e008);
    0x0001df80 blx r3                                            |             uint32_t (*r3)(uint32_t, uint32_t) (r0, r3);
                                                                 |         }
    0x0001df84 ldr r3, [sp, 0x98]                                |         r3 = *(arg_98h);
    0x0001df88 cmp r3, 0                                         |         
                                                                 |         if (r3 == 0) {
    0x0001df8c strne r5, [r3]                                    |             *(r3) = r5;
                                                                 |         }
                                                                 |         if (r3 == 0) {
    0x0001df90 movne r0, 0                                       |             r0 = 0;
                                                                 |         }
                                                                 |         if (r3 != 0) {
    0x0001df94 ldreq r0, [sp, 0x98]                              |             r0 = *(arg_98h);
                                                                 |         }
    0x0001df98 b 0x1dff8                                         |         goto label_5;
    0x0001df9c mov r2, r8                                        |         r2 = r8;
    0x0001dfa0 mov r0, r4                                        |         r0 = r4;
    0x0001dfa4 bl 0x2322c                                        |         r0 = Curl_poll ();
    0x0001dfa8 subs r5, r0, 0                                    |         r5 = r0 - 0;
                                                                 |         if (r5 <= r0) {
    0x0001dfac lslgt r6, r6, 3                                   |             r6 <<= 3;
                                                                 |         }
                                                                 |         if (r5 <= r0) {
    0x0001dfb0 movgt r2, 0                                       |             r2 = 0;
                                                                 |         }
    0x0001dfb4 ble 0x1df64                                       |         
                                                                 |     }
                                                                 | label_3:
    0x0001dfb8 cmp fp, r2                                        |     
                                                                 |     if (fp == r2) {
    0x0001dfbc beq 0x1df68                                       |         goto label_2;
                                                                 |     }
    0x0001dfc0 lsl r1, r2, 3                                     |     r1 = r2 << 3;
    0x0001dfc4 add r3, r6, r1                                    |     r3 = r6 + r1;
    0x0001dfc8 add r3, r4, r3                                    |     r3 = r4 + r3;
    0x0001dfcc ldrsh r0, [r3, 6]                                 |     r0 = *((r3 + 6));
    0x0001dfd0 add r1, r7, r1                                    |     r1 = r7 + r1;
    0x0001dfd4 and r3, r0, 1                                     |     r3 = r0 & 1;
    0x0001dfd8 tst r0, 4                                         |     
                                                                 |     if ((r0 & 4) == 0) {
    0x0001dfdc orrne r3, r3, 4                                   |         r3 |= 4;
                                                                 |     }
    0x0001dfe0 tst r0, 2                                         |     
                                                                 |     if ((r0 & 2) == 0) {
    0x0001dfe4 orrne r3, r3, 2                                   |         r3 |= 2;
                                                                 |     }
    0x0001dfe8 strh r3, [r1, 6]                                  |     *((r1 + 6)) = r3;
    0x0001dfec add r2, r2, 1                                     |     r2++;
    0x0001dff0 b 0x1dfb8                                         |     goto label_3;
                                                                 | label_4:
    0x0001dff4 mov r0, 1                                         |     r0 = 1;
                                                                 | label_5:
    0x0001dff8 add sp, sp, 0x74                                  |     
    0x0001dffc pop {r4, r5, r6, r7, r8, sb, sl, fp, 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/lib/libcurl.so @ 0x15b90 */
                                                             | #include <stdint.h>
                                                             |  
                                                             | #define BIT_MASK(t,v) ((t)(-((v)!= 0)))&(((t)-1)>>((sizeof(t)*CHAR_BIT)-(v)))
                                                             |  
    ; (fcn) sym.dprintf_formatf ()                           | void dprintf_formatf (int32_t arg1, int32_t arg2) {
                                                             |     char * * endptr;
                                                             |     int32_t var_0h_3;
                                                             |     int32_t var_8h;
                                                             |     int32_t var_ch;
                                                             |     int32_t var_10h;
                                                             |     int32_t var_14h;
                                                             |     int32_t var_18h;
                                                             |     int32_t var_18h_3;
                                                             |     char * format;
                                                             |     int32_t var_24h;
                                                             |     int32_t var_2ch;
                                                             |     char * var_30h;
                                                             |     int32_t var_31h;
                                                             |     int8_t var_1h_2;
                                                             |     void * s;
                                                             |     int32_t var_38h;
                                                             |     char * var_50h;
                                                             |     int32_t var_1h;
                                                             |     int32_t var_194h;
                                                             |     int32_t var_0h_4;
                                                             |     int32_t var_198h;
                                                             |     int32_t var_0h_2;
                                                             |     int32_t var_4h;
                                                             |     int32_t var_8h_2;
                                                             |     int32_t var_ch_4;
                                                             |     int32_t var_398h;
                                                             |     int32_t var_4h_2;
                                                             |     int32_t var_8h_3;
                                                             |     int32_t var_ch_3;
                                                             |     int32_t var_10h_2;
                                                             |     int32_t var_10h_3;
                                                             |     int32_t var_18h_2;
                                                             |     size_t var_f90h;
                                                             |     size_t nmeb;
                                                             |     int32_t var_ch_2;
                                                             |     r0 = arg1;
                                                             |     r1 = arg2;
    0x00015b90 push {r4, r5, r6, r7, r8, sb, sl, fp, lr}     |     
    0x00015b94 sub sp, sp, 0xf90                             |     
    0x00015b98 sub sp, sp, 0xc                               |     
    0x00015b9c mov r4, r3                                    |     r4 = r3;
    0x00015ba0 mov r5, 0                                     |     r5 = 0;
    0x00015ba4 add r3, sp, 0x198                             |     r3 += var_198h;
    0x00015ba8 str r3, [sp, 0xc]                             |     var_ch = r3;
    0x00015bac mov fp, r0                                    |     
    0x00015bb0 add r3, sp, 0x50                              |     r3 += var_50h;
    0x00015bb4 mov sl, r5                                    |     sl = r5;
    0x00015bb8 str r1, [sp, 8]                               |     var_8h = r1;
    0x00015bbc str r2, [sp, 0x10]                            |     var_10h = r2;
    0x00015bc0 str r2, [sp, 0x50]                            |     var_50h = r2;
    0x00015bc4 str r3, [sp]                                  |     *(sp) = r3;
                                                             |     do {
                                                             | label_0:
    0x00015bc8 ldr r3, [sp, 0x50]                            |         r3 = var_50h;
    0x00015bcc ldrb ip, [r3]                                 |         ip = *(r3);
    0x00015bd0 cmp ip, 0                                     |         
                                                             |         if (ip == 0) {
    0x00015bd4 bne 0x15c28                                   |             
    0x00015bd8 add r2, sp, 0x398                             |             r2 += var_398h;
    0x00015bdc mov lr, 0x18                                  |             lr = 0x18;
    0x00015be0 mov r6, 3                                     |             r6 = 3;
                                                             | label_12:
    0x00015be4 cmp ip, r5                                    |             
                                                             |             if (ip < r5) {
    0x00015be8 blt 0x16034                                   |                 goto label_52;
                                                             |             }
    0x00015bec ldr r3, [sp, 0x10]                            |             r3 = var_10h;
    0x00015bf0 str r3, [sp, 0x2c]                            |             var_2ch = r3;
    0x00015bf4 add r3, sp, 0x198                             |             r3 += var_198h;
    0x00015bf8 str r3, [sp, 0x14]                            |             var_14h = r3;
    0x00015bfc mov r3, 0                                     |             r3 = 0;
    0x00015c00 str r3, [sp, 0xc]                             |             var_ch = r3;
    0x00015c04 mov r4, r3                                    |             r4 = r3;
    0x00015c08 ldr r3, [pc, 0xf90]                           |             r3 = *(0x16b9c);
    0x00015c0c add r3, pc, r3                                |             r3 = pc + r3;
    0x00015c10 str r3, [sp, 0x10]                            |             var_10h = r3;
    0x00015c14 ldr r3, [pc, 0xf88]                           |             
    0x00015c18 add r3, pc, r3                                |             r3 = pc + r3;
    0x00015c1c add r3, r3, 0x50                              |             r3 = 0x16bf0;
    0x00015c20 str r3, [sp, 0x24]                            |             var_24h = r3;
    0x00015c24 b 0x161b0                                     |             goto label_18;
                                                             |         }
    0x00015c28 add r0, r3, 1                                 |         r0 = r3 + 1;
    0x00015c2c str r0, [sp, 0x50]                            |         var_50h = r0;
    0x00015c30 ldrb r2, [r3]                                 |         r2 = *(r3);
    0x00015c34 cmp r2, 0x25                                  |         
    0x00015c38 bne 0x15bc8                                   |         
                                                             |     } while (r2 != 0x25);
    0x00015c3c ldrb r2, [r3, 1]                              |     r2 = *((r3 + 1));
    0x00015c40 cmp r2, 0x25                                  |     
                                                             |     if (r2 != 0x25) {
    0x00015c44 addeq r3, r3, 2                               |         r3 += 2;
                                                             |     }
                                                             |     if (r2 == 0x25) {
    0x00015c48 streq r3, [sp, 0x50]                          |         var_50h = r3;
                                                             |         goto label_53;
                                                             |     }
                                                             |     if (r2 == 0x25) {
                                                             | label_53:
    0x00015c4c beq 0x15bc8                                   |         goto label_0;
                                                             |     }
    0x00015c50 ldr r1, [sp]                                  |     r1 = *(sp);
    0x00015c54 bl 0x15b08                                    |     dprintf_DollarString ();
    0x00015c58 add sl, sl, 1                                 |     sl++;
    0x00015c5c mov r6, 0                                     |     r6 = 0;
    0x00015c60 mov r8, r6                                    |     r8 = r6;
    0x00015c64 mov sb, r6                                    |     sb = r6;
    0x00015c68 cmp r0, 0                                     |     
                                                             |     if (r0 == 0) {
    0x00015c6c movne r7, r0                                  |         r7 = r0;
                                                             |     }
                                                             |     if (r0 != 0) {
    0x00015c70 moveq r7, sl                                  |         r7 = sl;
                                                             |     }
    0x00015c74 cmp r5, r7                                    |     
    0x00015c78 movlt r5, r7                                  |     r5 = r7;
                                                             |     while (1) {
                                                             | label_1:
    0x00015c7c ldr ip, [sp, 0x50]                            |         ip = var_50h;
    0x00015c80 ldrb r1, [ip]                                 |         r1 = *(ip);
    0x00015c84 cmp r1, 0x39                                  |         
                                                             |         if (r1 > 0x39) {
    0x00015c88 bhi 0x15e28                                   |             goto label_54;
                                                             |         }
    0x00015c8c cmp r1, 0x30                                  |         
                                                             |         if (r1 >= 0x30) {
    0x00015c90 bhs 0x15ddc                                   |             goto label_5;
                                                             |         }
    0x00015c94 cmp r1, 0x2b                                  |         
                                                             |         if (r1 > 0x2b) {
    0x00015c98 bhi 0x15dd0                                   |             goto label_55;
                                                             |         }
    0x00015c9c cmp r1, 0x2a                                  |         
                                                             |         if (r1 >= 0x2a) {
    0x00015ca0 bhs 0x15ddc                                   |             goto label_5;
                                                             |         }
    0x00015ca4 cmp r1, 0x20                                  |         
                                                             |         if (r1 == 0x20) {
    0x00015ca8 beq 0x15ddc                                   |             goto label_5;
                                                             |         }
    0x00015cac cmp r1, 0x23                                  |         
                                                             |         if (r1 == 0x23) {
                                                             | label_6:
    0x00015cb0 beq 0x15ddc                                   |             goto label_5;
                                                             |         }
                                                             | label_2:
    0x00015cb4 sub r7, r7, 1                                 |         r7--;
    0x00015cb8 cmp r7, 0x7f                                  |         
                                                             |         if (r7 > 0x7f) {
    0x00015cbc bhi 0x16c68                                   |             goto label_56;
                                                             |         }
    0x00015cc0 mov r2, 0x18                                  |         r2 = 0x18;
    0x00015cc4 mul r0, r2, r7                                |         r0 = r2 * r7;
    0x00015cc8 add r3, sp, 0x398                             |         r3 += var_398h;
    0x00015ccc cmp r1, 0x66                                  |         
    0x00015cd0 add r2, r3, r0                                |         r2 = r3 + r0;
                                                             |         if (r1 == 0x66) {
    0x00015cd4 beq 0x1602c                                   |             goto label_57;
                                                             |         }
                                                             |         if (r1 > 0x66) {
    0x00015cd8 bhi 0x15f00                                   |             goto label_58;
                                                             |         }
    0x00015cdc cmp r1, 0x58                                  |         
                                                             |         if (r1 != 0x58) {
    0x00015ce0 moveq r1, 3                                   |             r1 = 3;
                                                             |         }
                                                             |         if (r1 != 0x58) {
    0x00015ce4 streq r1, [r3, r0]                            |             *((r3 + r0)) = r1;
                                                             |         }
                                                             |         if (r1 != 0x58) {
    0x00015ce8 orreq r6, r6, 0x1a00                          |             r6 |= 0x1a00;
                                                             |         }
                                                             |         if (r1 == 0x58) {
    0x00015cec beq 0x15f88                                   |             goto label_59;
                                                             |         }
                                                             |         if (r1 > 0x58) {
    0x00015cf0 bhi 0x15ecc                                   |             goto label_60;
                                                             |         }
    0x00015cf4 cmp r1, 0x47                                  |         
                                                             |         if (r1 != 0x47) {
    0x00015cf8 moveq r1, 7                                   |             r1 = 7;
                                                             |         }
                                                             |         if (r1 != 0x47) {
    0x00015cfc streq r1, [r3, r0]                            |             *((r3 + r0)) = r1;
                                                             |         }
                                                             |         if (r1 != 0x47) {
    0x00015d00 orreq r6, r6, 0x81000                         |             r6 |= 0x81000;
                                                             |         }
                                                             |         if (r1 == 0x47) {
    0x00015d04 beq 0x15f88                                   |             goto label_59;
                                                             |         }
    0x00015d08 cmp r1, 0x53                                  |         
                                                             |         if (r1 == 0x53) {
    0x00015d0c beq 0x16010                                   |             goto label_61;
                                                             |         }
    0x00015d10 cmp r1, 0x45                                  |         
                                                             |         if (r1 != 0x45) {
    0x00015d14 bne 0x15ef8                                   |             goto label_10;
                                                             |         }
    0x00015d18 mov r1, 7                                     |         r1 = 7;
    0x00015d1c str r1, [r3, r0]                              |         *((r3 + r0)) = r1;
    0x00015d20 orr r6, r6, 0x41000                           |         r6 |= 0x41000;
    0x00015d24 b 0x15f88                                     |         goto label_59;
                                                             | label_7:
    0x00015d28 ldrb r3, [ip, 1]                              |         r3 = *((ip + 1));
    0x00015d2c cmp r3, 0x2a                                  |         
                                                             |         if (r3 != 0x2a) {
    0x00015d30 bne 0x15d64                                   |             goto label_62;
                                                             |         }
    0x00015d34 add r0, ip, 2                                 |         r0 = ip + 2;
    0x00015d38 ldr r1, [sp]                                  |         r1 = *(sp);
    0x00015d3c str r0, [sp, 0x50]                            |         var_50h = r0;
    0x00015d40 bl 0x15b08                                    |         dprintf_DollarString ();
    0x00015d44 add sl, sl, 1                                 |         sl++;
    0x00015d48 orr r6, r6, 0x10000                           |         r6 |= 0x10000;
    0x00015d4c cmp r0, 0                                     |         
                                                             |         if (r0 == 0) {
    0x00015d50 movne r8, r0                                  |             r8 = r0;
                                                             |         }
                                                             |         if (r0 != 0) {
    0x00015d54 moveq r8, sl                                  |             r8 = sl;
                                                             |         }
    0x00015d58 cmp r5, r8                                    |         
                                                             |         if (r5 >= r8) {
    0x00015d5c movlt r5, r8                                  |             r5 = r8;
                                                             |         }
    0x00015d60 b 0x15c7c                                     |         
                                                             |     }
                                                             | label_62:
    0x00015d64 mov r2, 0xa                                   |     r2 = 0xa;
    0x00015d68 ldr r1, [sp]                                  |     r1 = *(sp);
    0x00015d6c bl 0x5274                                     |     strtol (r0, r1, r2);
    0x00015d70 orr r6, r6, 0x8000                            |     r6 |= 0x8000;
    0x00015d74 mov r8, r0                                    |     r8 = r0;
    0x00015d78 b 0x15c7c                                     |     goto label_1;
                                                             | label_9:
    0x00015d7c orr r6, r6, 0x20                              |     r6 |= 0x20;
    0x00015d80 b 0x15c7c                                     |     goto label_1;
                                                             | label_8:
    0x00015d84 tst r6, 4                                     |     
                                                             |     if ((r6 & 4) != 0) {
    0x00015d88 orreq r6, r6, 0x100                           |         r6 |= 0x100;
                                                             |     }
                                                             | label_3:
    0x00015d8c mov r2, 0xa                                   |     r2 = 0xa;
    0x00015d90 ldr r1, [sp]                                  |     r1 = *(sp);
    0x00015d94 mov r0, ip                                    |     r0 = ip;
    0x00015d98 bl 0x5274                                     |     strtol (r0, r1, r2);
    0x00015d9c orr r6, r6, 0x2000                            |     r6 |= 0x2000;
    0x00015da0 mov sb, r0                                    |     sb = r0;
    0x00015da4 b 0x15c7c                                     |     goto label_1;
                                                             | label_4:
    0x00015da8 ldr r1, [sp]                                  |     r1 = *(sp);
    0x00015dac bl 0x15b08                                    |     dprintf_DollarString ();
    0x00015db0 add sl, sl, 1                                 |     sl++;
    0x00015db4 orr r6, r6, 0x4000                            |     r6 |= 0x4000;
    0x00015db8 cmp r0, 0                                     |     
                                                             |     if (r0 == 0) {
    0x00015dbc movne sb, r0                                  |         sb = r0;
                                                             |     }
                                                             |     if (r0 != 0) {
    0x00015dc0 moveq sb, sl                                  |         sb = sl;
                                                             |     }
    0x00015dc4 cmp r5, sb                                    |     
                                                             |     if (r5 >= sb) {
    0x00015dc8 movlt r5, sb                                  |         r5 = sb;
                                                             |     }
    0x00015dcc b 0x15c7c                                     |     goto label_1;
                                                             | label_55:
    0x00015dd0 sub r3, r1, 0x2d                              |     r3 = r1 - 0x2d;
    0x00015dd4 cmp r3, 1                                     |     
                                                             |     if (r3 > 1) {
    0x00015dd8 bhi 0x15cb4                                   |         goto label_2;
                                                             |     }
                                                             | label_5:
    0x00015ddc add r0, ip, 1                                 |     r0 = ip + 1;
    0x00015de0 str r0, [sp, 0x50]                            |     var_50h = r0;
    0x00015de4 ldrb r3, [ip]                                 |     r3 = *(ip);
    0x00015de8 cmp r3, 0x39                                  |     
                                                             |     if (r3 > 0x39) {
    0x00015dec bhi 0x15e7c                                   |         goto label_63;
                                                             |     }
    0x00015df0 cmp r3, 0x31                                  |     
                                                             |     if (r3 >= 0x31) {
    0x00015df4 bhs 0x15d8c                                   |         goto label_3;
                                                             |     }
    0x00015df8 cmp r3, 0x2b                                  |     
                                                             |     if (r3 == 0x2b) {
    0x00015dfc orreq r6, r6, 2                               |         r6 |= 2;
                                                             |         goto label_64;
                                                             |     }
                                                             |     if (r3 == 0x2b) {
                                                             | label_64:
    0x00015e00 beq 0x15c7c                                   |         goto label_1;
                                                             |     }
                                                             |     if (r3 > 0x2b) {
    0x00015e04 bhi 0x15e5c                                   |         goto label_65;
                                                             |     }
    0x00015e08 cmp r3, 0x23                                  |     
                                                             |     if (r3 == 0x23) {
    0x00015e0c orreq r6, r6, 8                               |         r6 |= 8;
                                                             |         goto label_66;
                                                             |     }
                                                             |     if (r3 == 0x23) {
                                                             | label_66:
    0x00015e10 beq 0x15c7c                                   |         goto label_1;
                                                             |     }
    0x00015e14 cmp r3, 0x2a                                  |     
                                                             |     if (r3 == 0x2a) {
    0x00015e18 beq 0x15da8                                   |         goto label_4;
                                                             |     }
    0x00015e1c cmp r3, 0x20                                  |     
                                                             |     if (r3 != 0x20) {
    0x00015e20 orreq r6, r6, 1                               |         r6 |= 1;
                                                             |     }
    0x00015e24 b 0x15c7c                                     |     goto label_1;
                                                             | label_54:
    0x00015e28 cmp r1, 0x68                                  |     
                                                             |     if (r1 == 0x68) {
    0x00015e2c beq 0x15ddc                                   |         goto label_5;
                                                             |     }
                                                             |     if (r1 > 0x68) {
    0x00015e30 bhi 0x15e44                                   |         goto label_67;
                                                             |     }
    0x00015e34 cmp r1, 0x4c                                  |     
                                                             |     if (r1 == 0x4c) {
    0x00015e38 beq 0x15ddc                                   |         goto label_5;
                                                             |     }
    0x00015e3c cmp r1, 0x4f                                  |     
    0x00015e40 b 0x15cb0                                     |     goto label_6;
                                                             | label_67:
    0x00015e44 cmp r1, 0x71                                  |     
                                                             |     if (r1 == 0x71) {
    0x00015e48 beq 0x15ddc                                   |         goto label_5;
                                                             |     }
    0x00015e4c cmp r1, 0x7a                                  |     
                                                             |     if (r1 == 0x7a) {
    0x00015e50 beq 0x15ddc                                   |         goto label_5;
                                                             |     }
    0x00015e54 cmp r1, 0x6c                                  |     
    0x00015e58 b 0x15cb0                                     |     goto label_6;
                                                             | label_65:
    0x00015e5c cmp r3, 0x2e                                  |     
                                                             |     if (r3 == 0x2e) {
    0x00015e60 beq 0x15d28                                   |         goto label_7;
                                                             |     }
    0x00015e64 cmp r3, 0x30                                  |     
                                                             |     if (r3 == 0x30) {
    0x00015e68 beq 0x15d84                                   |         goto label_8;
                                                             |     }
    0x00015e6c cmp r3, 0x2d                                  |     
    0x00015e70 biceq r6, r6, 0x100                           |     __asm ("biceq r6, r6, aav.0x000000ff");
                                                             |     if (r3 != 0x2d) {
    0x00015e74 orreq r6, r6, 4                               |         r6 |= 4;
                                                             |     }
    0x00015e78 b 0x15c7c                                     |     goto label_1;
                                                             | label_63:
    0x00015e7c cmp r3, 0x68                                  |     
                                                             |     if (r3 == 0x68) {
    0x00015e80 orreq r6, r6, 0x10                            |         r6 |= 0x10;
                                                             |         goto label_68;
                                                             |     }
                                                             |     if (r3 == 0x68) {
                                                             | label_68:
    0x00015e84 beq 0x15c7c                                   |         goto label_1;
                                                             |     }
                                                             |     if (r3 > 0x68) {
    0x00015e88 bhi 0x15ea4                                   |         goto label_69;
                                                             |     }
    0x00015e8c cmp r3, 0x4c                                  |     
                                                             |     if (r3 == 0x4c) {
    0x00015e90 orreq r6, r6, 0x80                            |         r6 |= 0x80;
                                                             |         goto label_70;
                                                             |     }
                                                             |     if (r3 == 0x4c) {
                                                             | label_70:
    0x00015e94 beq 0x15c7c                                   |         goto label_1;
                                                             |     }
    0x00015e98 cmp r3, 0x4f                                  |     
                                                             |     if (r3 == 0x4f) {
    0x00015e9c beq 0x15ec4                                   |         goto label_71;
                                                             |     }
    0x00015ea0 b 0x15c7c                                     |     goto label_1;
                                                             | label_69:
    0x00015ea4 cmp r3, 0x71                                  |     
                                                             |     if (r3 == 0x71) {
    0x00015ea8 beq 0x15ec4                                   |         goto label_71;
                                                             |     }
    0x00015eac cmp r3, 0x7a                                  |     
                                                             |     if (r3 == 0x7a) {
    0x00015eb0 beq 0x15d7c                                   |         goto label_9;
                                                             |     }
    0x00015eb4 cmp r3, 0x6c                                  |     
                                                             |     if (r3 != 0x6c) {
    0x00015eb8 bne 0x15c7c                                   |         goto label_1;
                                                             |     }
    0x00015ebc tst r6, 0x20                                  |     
                                                             |     if ((r6 & 0x20) == 0) {
    0x00015ec0 beq 0x15d7c                                   |         goto label_9;
                                                             |     }
                                                             | label_71:
    0x00015ec4 orr r6, r6, 0x40                              |     r6 |= 0x40;
    0x00015ec8 b 0x15c7c                                     |     goto label_1;
                                                             | label_60:
    0x00015ecc cmp r1, 0x64                                  |     
                                                             |     if (r1 == 0x64) {
    0x00015ed0 beq 0x16024                                   |         goto label_72;
                                                             |     }
                                                             |     if (r1 <= 0x64) {
    0x00015ed4 movhi r1, 7                                   |         r1 = 7;
                                                             |     }
                                                             |     if (r1 <= 0x64) {
    0x00015ed8 strhi r1, [r3, r0]                            |         *((r3 + r0)) = r1;
                                                             |     }
                                                             |     if (r1 <= 0x64) {
    0x00015edc orrhi r6, r6, 0x40000                         |         r6 |= 0x40000;
                                                             |     }
                                                             |     if (r1 > 0x64) {
    0x00015ee0 bhi 0x15f88                                   |         goto label_59;
                                                             |     }
    0x00015ee4 cmp r1, 0x63                                  |     
                                                             |     if (r1 != 0x63) {
    0x00015ee8 moveq r1, 3                                   |         r1 = 3;
                                                             |     }
                                                             |     if (r1 != 0x63) {
    0x00015eec streq r1, [r3, r0]                            |         *((r3 + r0)) = r1;
                                                             |     }
                                                             |     if (r1 != 0x63) {
    0x00015ef0 orreq r6, r6, 0x20000                         |         r6 |= 0x20000;
                                                             |     }
                                                             |     if (r1 == 0x63) {
    0x00015ef4 beq 0x15f88                                   |         goto label_59;
                                                             |     }
                                                             |     do {
                                                             | label_10:
    0x00015ef8 mov r1, 0                                     |         r1 = 0;
    0x00015efc b 0x15f58                                     |         goto label_11;
                                                             | label_58:
    0x00015f00 cmp r1, 0x6f                                  |         
                                                             |         if (r1 != 0x6f) {
    0x00015f04 moveq r1, 3                                   |             r1 = 3;
                                                             |         }
                                                             |         if (r1 != 0x6f) {
    0x00015f08 streq r1, [r3, r0]                            |             *((r3 + r0)) = r1;
                                                             |         }
                                                             |         if (r1 != 0x6f) {
    0x00015f0c orreq r6, r6, 0x400                           |             r6 |= 0x400;
                                                             |         }
                                                             |         if (r1 == 0x6f) {
    0x00015f10 beq 0x15f88                                   |             goto label_59;
                                                             |         }
                                                             |         if (r1 > 0x6f) {
    0x00015f14 bhi 0x15f40                                   |             goto label_73;
                                                             |         }
    0x00015f18 cmp r1, 0x69                                  |         
                                                             |         if (r1 == 0x69) {
    0x00015f1c beq 0x16024                                   |             goto label_72;
                                                             |         }
    0x00015f20 cmp r1, 0x6e                                  |         
                                                             |         if (r1 == 0x6e) {
    0x00015f24 beq 0x1601c                                   |             goto label_74;
                                                             |         }
    0x00015f28 cmp r1, 0x67                                  |         
    0x00015f2c bne 0x15ef8                                   |         
                                                             |     } while (r1 != 0x67);
    0x00015f30 mov r1, 7                                     |     r1 = 7;
    0x00015f34 str r1, [r3, r0]                              |     *((r3 + r0)) = r1;
    0x00015f38 orr r6, r6, 0x80000                           |     r6 |= 0x80000;
    0x00015f3c b 0x15f88                                     |     goto label_59;
                                                             | label_73:
    0x00015f40 cmp r1, 0x73                                  |     
                                                             |     if (r1 == 0x73) {
    0x00015f44 beq 0x16014                                   |         goto label_75;
                                                             |     }
                                                             |     if (r1 > 0x73) {
    0x00015f48 bhi 0x15f60                                   |         goto label_76;
                                                             |     }
    0x00015f4c cmp r1, 0x70                                  |     
                                                             |     if (r1 == 0x70) {
    0x00015f50 moveq r1, 2                                   |         r1 = 2;
                                                             |         goto label_77;
                                                             |     }
                                                             |     if (r1 != 0x70) {
                                                             | label_77:
    0x00015f54 bne 0x15ef8                                   |         goto label_10;
                                                             |     }
                                                             | label_11:
    0x00015f58 str r1, [r3, r0]                              |     *((r3 + r0)) = r1;
    0x00015f5c b 0x15f88                                     |     goto label_59;
                                                             | label_76:
    0x00015f60 cmp r1, 0x75                                  |     
                                                             |     if (r1 != 0x75) {
    0x00015f64 moveq r1, 3                                   |         r1 = 3;
                                                             |     }
                                                             |     if (r1 != 0x75) {
    0x00015f68 streq r1, [r3, r0]                            |         *((r3 + r0)) = r1;
                                                             |     }
                                                             |     if (r1 != 0x75) {
    0x00015f6c orreq r6, r6, 0x200                           |         r6 |= 0x200;
                                                             |     }
                                                             |     if (r1 == 0x75) {
    0x00015f70 beq 0x15f88                                   |         goto label_59;
                                                             |     }
    0x00015f74 cmp r1, 0x78                                  |     
                                                             |     if (r1 != 0x78) {
    0x00015f78 moveq r1, 3                                   |         r1 = 3;
                                                             |     }
                                                             |     if (r1 != 0x78) {
    0x00015f7c streq r1, [r3, r0]                            |         *((r3 + r0)) = r1;
                                                             |     }
                                                             |     if (r1 == 0x78) {
    0x00015f80 orreq r6, r6, 0xa00                           |         r6 |= 0xa00;
                                                             |         goto label_78;
                                                             |     }
                                                             |     if (r1 != 0x78) {
                                                             | label_78:
    0x00015f84 bne 0x15ef8                                   |         goto label_10;
                                                             |     }
                                                             | label_59:
    0x00015f88 tst r6, 0x4000                                |     
    0x00015f8c stmib r2, {r6, sb}                            |     __asm ("stmib r2, {r6, sb}");
    0x00015f90 str r8, [r2, 0xc]                             |     var_ch_3 = r8;
                                                             |     if ((r6 & 0x4000) != 0) {
    0x00015f94 beq 0x15fc4                                   |         
    0x00015f98 sub r0, sb, 1                                 |         r0 = sb - 1;
    0x00015f9c mov r1, 0x18                                  |         r1 = 0x18;
    0x00015fa0 mul sb, r1, r0                                |         sb = r1 * r0;
    0x00015fa4 str r0, [r2, 8]                               |         var_8h_3 = r0;
    0x00015fa8 mov r0, 9                                     |         r0 = 9;
    0x00015fac str r0, [r3, sb]                              |         *((r3 + sb)) = r0;
    0x00015fb0 add r1, r3, sb                                |         r1 = r3 + sb;
    0x00015fb4 mov r0, 0                                     |         r0 = 0;
    0x00015fb8 str r0, [r1, 4]                               |         var_4h = r0;
    0x00015fbc str r0, [r1, 8]                               |         var_8h_2 = r0;
    0x00015fc0 str r0, [r1, 0xc]                             |         var_ch_4 = r0;
                                                             |     }
    0x00015fc4 tst r6, 0x10000                               |     
                                                             |     if ((r6 & 0x10000) != 0) {
    0x00015fc8 beq 0x15ff8                                   |         
    0x00015fcc sub r1, r8, 1                                 |         r1 = r8 - 1;
    0x00015fd0 str r1, [r2, 0xc]                             |         var_ch_3 = r1;
    0x00015fd4 mov r2, 0x18                                  |         r2 = 0x18;
    0x00015fd8 mul r8, r2, r1                                |         r8 = r2 * r1;
    0x00015fdc mov r1, 9                                     |         r1 = 9;
    0x00015fe0 add r2, r3, r8                                |         r2 = r3 + r8;
    0x00015fe4 str r1, [r3, r8]                              |         *((r3 + r8)) = r1;
    0x00015fe8 mov r3, 0                                     |         r3 = 0;
    0x00015fec str r3, [r2, 4]                               |         var_4h = r3;
    0x00015ff0 str r3, [r2, 8]                               |         var_8h_2 = r3;
    0x00015ff4 str r3, [r2, 0xc]                             |         var_ch_4 = r3;
                                                             |     }
    0x00015ff8 ldr r3, [sp, 0xc]                             |     r3 = var_ch;
    0x00015ffc add ip, ip, 1                                 |     
    0x00016000 str ip, [r3]                                  |     *(r3) = ip;
    0x00016004 add r3, r3, 4                                 |     r3 += 4;
    0x00016008 str r3, [sp, 0xc]                             |     var_ch = r3;
    0x0001600c b 0x15bc8                                     |     goto label_0;
                                                             | label_61:
    0x00016010 orr r6, r6, 8                                 |     r6 |= 8;
                                                             | label_75:
    0x00016014 mov r1, 1                                     |     r1 = 1;
    0x00016018 b 0x15f58                                     |     goto label_11;
                                                             | label_74:
    0x0001601c mov r1, 4                                     |     r1 = 4;
    0x00016020 b 0x15f58                                     |     goto label_11;
                                                             | label_72:
    0x00016024 mov r1, 3                                     |     r1 = 3;
    0x00016028 b 0x15f58                                     |     goto label_11;
                                                             | label_57:
    0x0001602c mov r1, 7                                     |     r1 = 7;
    0x00016030 b 0x15f58                                     |     goto label_11;
                                                             | label_52:
    0x00016034 ldr r3, [r2, 4]                               |     r3 = var_4h_2;
    0x00016038 tst r3, 0x4000                                |     
                                                             |     if ((r3 & 0x4000) != 0) {
    0x0001603c beq 0x16064                                   |         
    0x00016040 ldr r7, [r2, 8]                               |         r7 = var_8h_3;
    0x00016044 add r1, sp, 0xf90                             |         r1 += var_f90h;
    0x00016048 add r1, r1, 8                                 |         r1 += nmeb;
    0x0001604c ldr r0, [r4]                                  |         r0 = *(r4);
    0x00016050 mla r1, lr, r7, r1                            |         __asm ("mla r1, lr, r7, r1");
    0x00016054 add r4, r4, 4                                 |         r4 += 4;
    0x00016058 sub r7, r1, 0xc00                             |         r7 -= var_398h;
    0x0001605c asr r1, r0, 0x1f                              |         r1 = r0 >> 0x1f;
    0x00016060 strd r0, r1, [r7, 0x10]                       |         __asm ("strd r0, r1, [var_10h_2]");
                                                             |     }
    0x00016064 tst r3, 0x10000                               |     
                                                             |     if ((r3 & 0x10000) != 0) {
    0x00016068 beq 0x16090                                   |         
    0x0001606c ldr r7, [r2, 0xc]                             |         r7 = var_ch_3;
    0x00016070 add r1, sp, 0xf90                             |         r1 += var_f90h;
    0x00016074 add r1, r1, 8                                 |         r1 += nmeb;
    0x00016078 ldr r0, [r4]                                  |         r0 = *(r4);
    0x0001607c mla r1, lr, r7, r1                            |         __asm ("mla r1, lr, r7, r1");
    0x00016080 add r4, r4, 4                                 |         r4 += 4;
    0x00016084 sub r7, r1, 0xc00                             |         r7 -= var_398h;
    0x00016088 asr r1, r0, 0x1f                              |         r1 = r0 >> 0x1f;
    0x0001608c strd r0, r1, [r7, 0x10]                       |         __asm ("strd r0, r1, [var_10h_2]");
                                                             |     }
    0x00016090 ldr r1, [r2]                                  |     r1 = *(r2);
    0x00016094 cmp r1, 9                                     |     
                                                             |     if (r1 > 9) {
                                                             |         /* switch table (10 cases) at 0x160a0 */
    0x00016098 addls pc, pc, r1, lsl 2                       |         pc += (r1 << 2);
                                                             |     }
    0x0001609c b 0x16164                                     |     goto label_79;
    0x000160a0 b 0x160c8                                     |     goto label_80;
    0x000160a4 b 0x160c8                                     |     goto label_80;
    0x000160a8 b 0x160c8                                     |     goto label_80;
    0x000160ac b 0x160e4                                     |     goto label_81;
    0x000160b0 b 0x160c8                                     |     goto label_80;
    0x000160b4 b 0x16164                                     |     goto label_79;
    0x000160b8 b 0x16164                                     |     goto label_79;
    0x000160bc b 0x16148                                     |     goto label_82;
    0x000160c0 b 0x16164                                     |     goto label_79;
    0x000160c4 b 0x16160                                     |     goto label_83;
                                                             | label_80:
    0x000160c8 ldr r3, [r4]                                  |     r3 = *(r4);
    0x000160cc add r7, r4, 4                                 |     r7 = r4 + 4;
    0x000160d0 str r3, [r2, 0x10]                            |     var_10h_2 = r3;
                                                             |     do {
                                                             | label_14:
    0x000160d4 add ip, ip, 1                                 |         
    0x000160d8 add r2, r2, 0x18                              |         r2 += var_18h_2;
    0x000160dc mov r4, r7                                    |         r4 = r7;
    0x000160e0 b 0x15be4                                     |         goto label_12;
                                                             | label_81:
    0x000160e4 and r1, r3, 0x240                             |         r1 = r3 & 0x240;
    0x000160e8 cmp r1, 0x240                                 |         
                                                             |         if (r1 != 0x240) {
    0x000160ec bne 0x16108                                   |             goto label_84;
                                                             |         }
                                                             | label_13:
    0x000160f0 add r4, r4, 7                                 |         r4 += 7;
    0x000160f4 bic r4, r4, 7                                 |         r4 = BIT_MASK (r4, 7);
    0x000160f8 ldrd r0, r1, [r4]                             |         __asm ("ldrd r0, r1, [r4]");
    0x000160fc add r7, r4, 8                                 |         r7 = r4 + 8;
                                                             | label_15:
    0x00016100 strd r0, r1, [r2, 0x10]                       |         __asm ("strd r0, r1, [var_10h_2]");
    0x00016104 b 0x160d4                                     |         
                                                             |     } while (1);
                                                             | label_84:
    0x00016108 ands r1, r3, 0x40                             |     r1 = r3 & 0x40;
                                                             |     if (r1 != r3) {
    0x0001610c bne 0x160f0                                   |         goto label_13;
                                                             |     }
    0x00016110 add r7, r4, 4                                 |     r7 = r4 + 4;
    0x00016114 ldr r0, [r4]                                  |     r0 = *(r4);
    0x00016118 and r4, r3, 0x220                             |     r4 = r3 & 0x220;
    0x0001611c cmp r4, 0x220                                 |     
                                                             |     if (r4 == 0x220) {
    0x00016120 bne 0x1612c                                   |         
                                                             | label_16:
    0x00016124 strd r0, r1, [r2, 0x10]                       |         __asm ("strd r0, r1, [var_10h_2]");
    0x00016128 b 0x160d4                                     |         goto label_14;
                                                             |     }
    0x0001612c ands r1, r3, 0x20                             |     r1 = r3 & 0x20;
    0x00016130 beq 0x1613c                                   |     
                                                             |     while ((r3 & 0x200) == 0) {
    0x00016134 asr r1, r0, 0x1f                              |         r1 = r0 >> 0x1f;
    0x00016138 b 0x16100                                     |         goto label_15;
    0x0001613c tst r3, 0x200                                 |         
    0x00016140 beq 0x16134                                   |         
                                                             |     }
    0x00016144 b 0x16124                                     |     goto label_16;
                                                             | label_82:
    0x00016148 add r4, r4, 7                                 |     r4 += 7;
    0x0001614c bic r4, r4, 7                                 |     r4 = BIT_MASK (r4, 7);
    0x00016150 ldrd r0, r1, [r4]                             |     __asm ("ldrd r0, r1, [r4]");
    0x00016154 add r7, r4, 8                                 |     r7 = r4 + 8;
    0x00016158 strd r0, r1, [r2, 0x10]                       |     __asm ("strd r0, r1, [var_10h_2]");
    0x0001615c b 0x160d4                                     |     goto label_14;
                                                             | label_83:
    0x00016160 str r6, [r2]                                  |     *(r2) = r6;
                                                             | label_79:
    0x00016164 mov r7, r4                                    |     r7 = r4;
    0x00016168 b 0x160d4                                     |     goto label_14;
                                                             | label_17:
    0x0001616c cmp r2, 0x25                                  |     
                                                             |     if (r2 == 0x25) {
    0x00016170 beq 0x161c4                                   |         goto label_85;
                                                             |     }
                                                             |     do {
    0x00016174 ldr r3, [sp, 0x2c]                            |         r3 = var_2ch;
    0x00016178 mov r1, fp                                    |         r1 = fp;
    0x0001617c ldrb r0, [r3]                                 |         r0 = *(r3);
    0x00016180 ldr r3, [sp, 8]                               |         r3 = var_8h;
    0x00016184 blx r3                                        |         r0 = uint32_t (*r3)(uint32_t, uint32_t, uint32_t) (r0, r1, r3);
    0x00016188 cmn r0, 1                                     |         
                                                             |         if (r0 == 1) {
    0x0001618c beq 0x163cc                                   |             goto label_22;
                                                             |         }
    0x00016190 ldr r3, [sp, 0x2c]                            |         r3 = var_2ch;
    0x00016194 add r4, r4, 1                                 |         r4++;
    0x00016198 add r2, r3, 1                                 |         r2 = r3 + 1;
    0x0001619c str r2, [sp, 0x2c]                            |         var_2ch = r2;
    0x000161a0 ldrb r3, [r3, 1]                              |         r3 = *((r3 + 1));
    0x000161a4 cmp r3, 0x25                                  |         
    0x000161a8 cmpne r3, 0                                   |         __asm ("cmpne r3, 0");
    0x000161ac bne 0x16174                                   |         
                                                             |     } while (r3 != 0x25);
                                                             | label_18:
    0x000161b0 ldr r3, [sp, 0x2c]                            |     r3 = var_2ch;
    0x000161b4 ldrb r2, [r3]                                 |     r2 = *(r3);
    0x000161b8 cmp r2, 0                                     |     
                                                             |     if (r2 != 0) {
    0x000161bc bne 0x1616c                                   |         goto label_17;
                                                             |     }
    0x000161c0 b 0x163cc                                     |     goto label_22;
                                                             | label_85:
    0x000161c4 add r2, r3, 1                                 |     r2 = r3 + 1;
    0x000161c8 str r2, [sp, 0x2c]                            |     var_2ch = r2;
    0x000161cc ldrb r0, [r3, 1]                              |     r0 = *((r3 + 1));
    0x000161d0 cmp r0, 0x25                                  |     
                                                             |     if (r0 == 0x25) {
    0x000161d4 bne 0x161fc                                   |         
    0x000161d8 add r3, r3, 2                                 |         r3 += 2;
    0x000161dc str r3, [sp, 0x2c]                            |         var_2ch = r3;
    0x000161e0 mov r1, fp                                    |         r1 = fp;
    0x000161e4 ldr r3, [sp, 8]                               |         r3 = var_8h;
    0x000161e8 blx r3                                        |         r0 = uint32_t (*r3)(uint32_t, uint32_t) (r1, r3);
    0x000161ec cmn r0, 1                                     |         
                                                             |         if (r0 == 1) {
    0x000161f0 beq 0x163cc                                   |             goto label_22;
                                                             |         }
    0x000161f4 add r4, r4, 1                                 |         r4++;
    0x000161f8 b 0x161b0                                     |         goto label_18;
                                                             |     }
    0x000161fc add r1, sp, 0x2c                              |     r1 += var_2ch;
    0x00016200 mov r0, r2                                    |     r0 = r2;
    0x00016204 bl 0x15b08                                    |     dprintf_DollarString ();
    0x00016208 add r1, sp, 0xf90                             |     r1 += var_f90h;
    0x0001620c add r1, r1, 8                                 |     r1 += nmeb;
    0x00016210 mov r2, 0x18                                  |     r2 = 0x18;
    0x00016214 cmp r0, 0                                     |     
                                                             |     if (r0 != 0) {
    0x00016218 ldreq r3, [sp, 0xc]                           |         r3 = var_ch;
                                                             |     }
                                                             |     if (r0 == 0) {
    0x0001621c subne r3, r0, 1                               |         r3 = r0 - 1;
                                                             |     }
    0x00016220 str r3, [sp]                                  |     *(sp) = r3;
    0x00016224 ldr r3, [sp]                                  |     r3 = *(sp);
    0x00016228 mla r3, r2, r3, r1                            |     __asm ("mla r3, r2, r3, r1");
    0x0001622c mov r1, r3                                    |     r1 = r3;
    0x00016230 ldr r3, [r3, -0xbfc]                          |     r3 = var_4h_2;
    0x00016234 ldr sb, [r1, -0xbf8]                          |     sb = var_8h_3;
    0x00016238 tst r3, 0x4000                                |     
                                                             |     if ((r3 & 0x4000) != 0) {
    0x0001623c bne 0x162e8                                   |         goto label_86;
                                                             |     }
    0x00016240 ldr r3, [sp, 0xc]                             |     r3 = var_ch;
    0x00016244 mov r6, sb                                    |     r6 = sb;
    0x00016248 add r3, r3, 1                                 |     r3++;
    0x0001624c str r3, [sp, 0xc]                             |     var_ch = r3;
                                                             |     do {
    0x00016250 ldr r1, [sp]                                  |         r1 = *(sp);
    0x00016254 add r3, sp, 0xf90                             |         r3 += var_f90h;
    0x00016258 add r3, r3, 8                                 |         r3 += nmeb;
    0x0001625c mov r2, 0x18                                  |         r2 = 0x18;
    0x00016260 mla r1, r2, r1, r3                            |         __asm ("mla r1, r2, r1, r3");
    0x00016264 ldr r5, [r1, -0xbfc]                          |         r5 = var_4h_2;
    0x00016268 mov r3, r1                                    |         r3 = r1;
    0x0001626c ands sl, r5, 0x10000                          |         sl = r5 & 0x10000;
                                                             |         if (sl == r5) {
    0x00016270 beq 0x1631c                                   |             goto label_87;
                                                             |         }
    0x00016274 ldr r1, [sp, 0xc]                             |         r1 = var_ch;
    0x00016278 ldr r3, [r3, -0xbf4]                          |         r3 = var_ch_3;
    0x0001627c add r1, r1, 1                                 |         r1++;
    0x00016280 str r1, [sp, 0xc]                             |         var_ch = r1;
    0x00016284 add r1, sp, 0xf90                             |         r1 += var_f90h;
    0x00016288 add r1, r1, 8                                 |         r1 += nmeb;
    0x0001628c mla r1, r2, r3, r1                            |         __asm ("mla r1, r2, r3, r1");
    0x00016290 ldr r8, [r1, -0xbf0]                          |         r8 = var_10h_2;
    0x00016294 orr r8, r8, r8, asr 31                        |         r8 |= (r8 >> 31);
                                                             | label_19:
    0x00016298 asr r3, r5, 3                                 |         r3 = r5 >> 3;
    0x0001629c and r3, r3, 1                                 |         r3 &= 1;
    0x000162a0 ldr r2, [sp]                                  |         r2 = *(sp);
    0x000162a4 str r3, [sp, 0x18]                            |         var_18h = r3;
    0x000162a8 add r3, sp, 0xf90                             |         r3 += var_f90h;
    0x000162ac add r3, r3, 8                                 |         r3 += nmeb;
    0x000162b0 mov r0, 0x18                                  |         r0 = 0x18;
    0x000162b4 mla r2, r0, r2, r3                            |         __asm ("mla r2, r0, r2, r3");
    0x000162b8 ldr r3, [r2, -0xc00]                          |         r3 = var_398h;
    0x000162bc sub r3, r3, 1                                 |         r3--;
    0x000162c0 cmp r3, 6                                     |         
                                                             |         if (r3 > 6) {
                                                             |             /* switch table (7 cases) at 0x162cc */
    0x000162c4 addls pc, pc, r3, lsl 2                       |             pc += (r3 << 2);
                                                             |         }
    0x000162c8 b 0x16384                                     |         goto label_34;
    0x000162cc b 0x166e0                                     |         goto label_88;
    0x000162d0 b 0x16884                                     |         goto label_89;
    0x000162d4 b 0x1632c                                     |         goto label_90;
    0x000162d8 b 0x16c08                                     |         goto label_91;
    0x000162dc b 0x16384                                     |         goto label_34;
    0x000162e0 b 0x16384                                     |         goto label_34;
    0x000162e4 b 0x16990                                     |         goto label_92;
                                                             | label_86:
    0x000162e8 add r0, sp, 0xf90                             |         r0 += var_f90h;
    0x000162ec add r0, r0, 8                                 |         r0 += nmeb;
    0x000162f0 mla r0, r2, sb, r0                            |         __asm ("mla r0, r2, sb, r0");
    0x000162f4 ldr r2, [sp, 0xc]                             |         r2 = var_ch;
    0x000162f8 ldr r6, [r0, -0xbf0]                          |         r6 = var_10h_2;
    0x000162fc add r2, r2, 2                                 |         r2 += 2;
    0x00016300 cmp r6, 0                                     |         
    0x00016304 biclt r3, r3, 0x100                           |         __asm ("biclt r3, r3, aav.0x000000ff");
                                                             |         if (r6 >= 0) {
    0x00016308 orrlt r3, r3, 4                               |             r3 |= 4;
                                                             |         }
    0x0001630c str r2, [sp, 0xc]                             |         var_ch = r2;
    0x00016310 rsblt r6, r6, 0                               |         __asm ("rsblt r6, r6, 0");
                                                             |         if (r6 >= 0) {
    0x00016314 strlt r3, [r1, -0xbfc]                        |             *((r1 - 0xbfc)) = r3;
                                                             |         }
    0x00016318 b 0x16250                                     |         
                                                             |     } while (1);
                                                             | label_87:
    0x0001631c tst r5, 0x8000                                |     
                                                             |     if ((r5 & 0x8000) == 0) {
    0x00016320 ldrne r8, [r1, -0xbf4]                        |         r8 = *((r1 - 0xbf4));
                                                             |     }
                                                             |     if ((r5 & 0x8000) != 0) {
    0x00016324 mvneq r8, 0                                   |         r8 = ~0;
                                                             |     }
    0x00016328 b 0x16298                                     |     goto label_19;
                                                             | label_90:
    0x0001632c ldr r7, [sp]                                  |     r7 = *(sp);
    0x00016330 add r3, sp, 0x398                             |     r3 += var_398h;
    0x00016334 mla r7, r0, r7, r3                            |     __asm ("mla r7, r0, r7, r3");
    0x00016338 ands sl, r5, 0x20000                          |     sl = r5 & 0x20000;
    0x0001633c ldrd r2, r3, [r7, 0x10]                       |     __asm ("ldrd r2, r3, [var_10h_2]");
    0x00016340 strd r2, r3, [sp]                             |     __asm ("strd r2, r3, [sp]");
                                                             |     if (sl == r5) {
    0x00016344 beq 0x163fc                                   |         goto label_93;
                                                             |     }
    0x00016348 ands r5, r5, 4                                |     r5 &= 4;
    0x0001634c beq 0x163a0                                   |     
                                                             |     while (r6 <= 0) {
    0x00016350 ldr r3, [sp]                                  |         r3 = *(sp);
    0x00016354 mov r1, fp                                    |         r1 = fp;
    0x00016358 and r0, r3, 0xff                              |         r0 = r3 & 0xff;
    0x0001635c ldr r3, [sp, 8]                               |         r3 = var_8h;
    0x00016360 blx r3                                        |         r0 = uint32_t (*r3)(uint32_t, uint32_t, uint32_t) (r0, r1, r3);
    0x00016364 cmn r0, 1                                     |         
                                                             |         if (r0 == 1) {
    0x00016368 beq 0x163cc                                   |             goto label_22;
                                                             |         }
    0x0001636c cmp r5, 0                                     |         
    0x00016370 add r4, r4, 1                                 |         r4++;
                                                             |         if (r5 != 0) {
    0x00016374 beq 0x16384                                   |             
                                                             | label_21:
    0x00016378 sub r6, r6, 1                                 |             r6--;
    0x0001637c cmp r6, 0                                     |             
                                                             |             if (r6 > 0) {
    0x00016380 bgt 0x163dc                                   |                 goto label_94;
                                                             |             }
                                                             |         }
                                                             | label_34:
    0x00016384 ldr r3, [sp, 0x14]                            |         r3 = var_14h;
    0x00016388 ldr r3, [r3]                                  |         r3 = *(r3);
    0x0001638c str r3, [sp, 0x2c]                            |         var_2ch = r3;
    0x00016390 ldr r3, [sp, 0x14]                            |         r3 = var_14h;
    0x00016394 add r3, r3, 4                                 |         r3 += 4;
    0x00016398 str r3, [sp, 0x14]                            |         var_14h = r3;
    0x0001639c b 0x161b0                                     |         goto label_18;
    0x000163a0 add r7, r6, r4                                |         r7 = r6 + r4;
                                                             | label_20:
    0x000163a4 sub r4, r7, r6                                |         r4 = r7 - r6;
    0x000163a8 sub r6, r6, 1                                 |         r6--;
    0x000163ac cmp r6, 0                                     |         
    0x000163b0 ble 0x16350                                   |         
                                                             |     }
    0x000163b4 mov r1, fp                                    |     r1 = fp;
    0x000163b8 mov r0, 0x20                                  |     r0 = 0x20;
    0x000163bc ldr r3, [sp, 8]                               |     r3 = var_8h;
    0x000163c0 blx r3                                        |     r0 = uint32_t (*r3)(uint32_t, uint32_t, uint32_t) (r0, r1, r3);
    0x000163c4 cmn r0, 1                                     |     
                                                             |     if (r0 != 1) {
    0x000163c8 bne 0x163a4                                   |         goto label_20;
                                                             |     }
                                                             |     do {
                                                             | label_22:
    0x000163cc mov r0, r4                                    |         r0 = r4;
    0x000163d0 add sp, sp, 0xf90                             |         
    0x000163d4 add sp, sp, 0xc                               |         
    0x000163d8 pop {r4, r5, r6, r7, r8, sb, sl, fp, pc}      |         
                                                             | label_94:
    0x000163dc mov r1, fp                                    |         r1 = fp;
    0x000163e0 mov r0, 0x20                                  |         r0 = 0x20;
    0x000163e4 ldr r3, [sp, 8]                               |         r3 = var_8h;
    0x000163e8 blx r3                                        |         r0 = uint32_t (*r3)(uint32_t, uint32_t, uint32_t) (r0, r1, r3);
    0x000163ec cmn r0, 1                                     |         
    0x000163f0 beq 0x163cc                                   |         
                                                             |     } while (r0 == 1);
    0x000163f4 add r4, r4, 1                                 |     r4++;
    0x000163f8 b 0x16378                                     |     goto label_21;
                                                             | label_93:
    0x000163fc ands r2, r5, 0x400                            |     r2 = r5 & 0x400;
                                                             |     if (r2 == r5) {
    0x00016400 movne sb, 8                                   |         sb = 8;
                                                             |     }
                                                             |     if (r2 == r5) {
    0x00016404 bne 0x16464                                   |         
    0x00016408 ands r3, r5, 0x800                            |         r3 = r5 & 0x800;
                                                             |         if (r3 != r5) {
    0x0001640c beq 0x16434                                   |             
    0x00016410 ands sl, r5, 0x1000                           |             sl = r5 & 0x1000;
                                                             |             if (sl == r5) {
    0x00016414 beq 0x16590                                   |                 goto label_95;
                                                             |             }
    0x00016418 ldr r3, [pc, 0x788]                           |             
    0x0001641c mov sl, r2                                    |             sl = r2;
    0x00016420 add r3, pc, r3                                |             r3 = pc + r3;
    0x00016424 mov sb, 0x10                                  |             sb = 0x10;
    0x00016428 add r3, r3, 0x25                              |             r3 = 0x16bc9;
                                                             | label_23:
    0x0001642c str r3, [sp, 0x10]                            |             var_10h = r3;
    0x00016430 b 0x16464                                     |             
                                                             |         } else {
    0x00016434 ands sl, r5, 0x200                            |             sl = r5 & 0x200;
                                                             |             if (sl != r5) {
    0x00016438 bne 0x165a0                                   |                 goto label_96;
                                                             |             }
    0x0001643c ldrd r2, r3, [sp]                             |             __asm ("ldrd r2, r3, [sp]");
    0x00016440 cmp r2, 0                                     |             
    0x00016444 sbcs r3, r3, 0                                |             __asm ("sbcs r3, r3, 0");
                                                             |             if (r2 >= 0) {
    0x00016448 bge 0x165a4                                   |                 goto label_97;
                                                             |             }
    0x0001644c ldrd r2, r3, [sp]                             |             __asm ("ldrd r2, r3, [sp]");
    0x00016450 mov sb, 0xa                                   |             sb = 0xa;
    0x00016454 rsbs r2, r2, 0                                |             r2 -= ;
    0x00016458 rsc r3, r3, 0                                 |             __asm ("rsc r3, r3, 0");
    0x0001645c mov sl, 1                                     |             sl = 1;
    0x00016460 strd r2, r3, [sp]                             |             __asm ("strd r2, r3, [sp]");
                                                             |         }
                                                             |     }
                                                             | label_24:
    0x00016464 cmn r8, 1                                     |     
                                                             |     if (r8 != 1) {
    0x00016468 moveq r8, 1                                   |         r8 = 1;
                                                             |     }
    0x0001646c add r7, sp, 0x194                             |     r7 += var_194h;
                                                             | label_25:
    0x00016470 ldrd r2, r3, [sp]                             |     __asm ("ldrd r2, r3, [sp]");
    0x00016474 orrs r3, r2, r3                               |     r3 = r2 | r3;
                                                             |     if (r3 != r2) {
    0x00016478 bne 0x165ac                                   |         goto label_98;
                                                             |     }
    0x0001647c add r3, sp, 0x194                             |     r3 += var_194h;
    0x00016480 sub r3, r3, r7                                |     r3 -= r7;
    0x00016484 sub r6, r6, r3                                |     r6 -= r3;
    0x00016488 sub r8, r8, r3                                |     r8 -= r3;
    0x0001648c ldr r3, [sp, 0x18]                            |     r3 = var_18h;
    0x00016490 and ip, r3, 1                                 |     
    0x00016494 cmp sb, 8                                     |     
                                                             |     if (sb == 8) {
    0x00016498 movne r3, 0                                   |         r3 = 0;
                                                             |     }
                                                             |     if (sb != 8) {
    0x0001649c andeq r3, ip, 1                               |         r3 = ip & 1;
                                                             |     }
    0x000164a0 cmp r3, 0                                     |     
                                                             |     if (r3 == 0) {
    0x000164a4 beq 0x165d0                                   |         goto label_99;
                                                             |     }
    0x000164a8 cmp r8, 0                                     |     
                                                             |     if (r8 > 0) {
    0x000164ac bgt 0x165d8                                   |         goto label_100;
                                                             |     }
    0x000164b0 mov r3, 0x30                                  |     r3 = 0x30;
    0x000164b4 strb r3, [r7]                                 |     *(r7) = r3;
    0x000164b8 sub r6, r6, 1                                 |     r6--;
    0x000164bc sub r7, r7, 1                                 |     r7 -= var_1h;
                                                             | label_26:
    0x000164c0 cmp sb, 0x10                                  |     
                                                             |     if (sb == 0x10) {
    0x000164c4 movne sb, 0                                   |         sb = 0;
                                                             |     }
                                                             |     if (sb != 0x10) {
    0x000164c8 andeq sb, ip, 1                               |         sb = ip & 1;
                                                             |     }
    0x000164cc cmp sb, 0                                     |     
                                                             |     if (sb == 0) {
    0x000164d0 subne r6, r6, 2                               |         r6 -= 2;
                                                             |     }
    0x000164d4 cmp sl, 0                                     |     
                                                             |     if (sl == 0) {
    0x000164d8 bne 0x164e4                                   |         
    0x000164dc tst r5, 3                                     |         
                                                             |         if ((r5 & 3) == 0) {
    0x000164e0 beq 0x164e8                                   |             goto label_101;
                                                             |         }
                                                             |     }
    0x000164e4 sub r6, r6, 1                                 |     r6--;
                                                             | label_101:
    0x000164e8 ands r8, r5, 0x104                            |     r8 = r5 & 0x104;
                                                             |     if (r8 == r5) {
    0x000164ec beq 0x16638                                   |         goto label_102;
                                                             |     }
                                                             | label_29:
    0x000164f0 cmp sl, 0                                     |     
                                                             |     if (sl == 0) {
    0x000164f4 movne r1, fp                                  |         r1 = fp;
                                                             |     }
                                                             |     if (sl == 0) {
    0x000164f8 movne r0, 0x2d                                |         r0 = 0x2d;
                                                             |     }
                                                             |     if (sl == 0) {
    0x000164fc bne 0x16520                                   |         
    0x00016500 tst r5, 2                                     |         
                                                             |         if ((r5 & 2) == 0) {
    0x00016504 movne r1, fp                                  |             r1 = fp;
                                                             |         }
                                                             |         if ((r5 & 2) == 0) {
    0x00016508 movne r0, 0x2b                                |             r0 = 0x2b;
                                                             |         }
                                                             |         if ((r5 & 2) != 0) {
    0x0001650c bne 0x16520                                   |             goto label_103;
                                                             |         }
    0x00016510 tst r5, 1                                     |         
                                                             |         if ((r5 & 1) == 0) {
    0x00016514 beq 0x16640                                   |             goto label_104;
                                                             |         }
    0x00016518 mov r1, fp                                    |         r1 = fp;
    0x0001651c mov r0, 0x20                                  |         r0 = 0x20;
                                                             |     }
                                                             | label_103:
    0x00016520 ldr r3, [sp, 8]                               |     r3 = var_8h;
    0x00016524 blx r3                                        |     r0 = uint32_t (*r3)(uint32_t, uint32_t, uint32_t) (r0, r1, r3);
    0x00016528 cmn r0, 1                                     |     
                                                             |     if (r0 == 1) {
    0x0001652c beq 0x163cc                                   |         goto label_22;
                                                             |     }
    0x00016530 add sl, r4, 1                                 |     sl = r4 + 1;
                                                             | label_31:
    0x00016534 cmp sb, 0                                     |     
                                                             |     if (sb == 0) {
    0x00016538 beq 0x1657c                                   |         goto label_105;
                                                             |     }
    0x0001653c mov r1, fp                                    |     r1 = fp;
    0x00016540 mov r0, 0x30                                  |     r0 = 0x30;
    0x00016544 ldr r3, [sp, 8]                               |     r3 = var_8h;
    0x00016548 blx r3                                        |     r0 = uint32_t (*r3)(uint32_t, uint32_t, uint32_t) (r0, r1, r3);
    0x0001654c cmn r0, 1                                     |     
                                                             |     if (r0 == 1) {
    0x00016550 beq 0x16c60                                   |         goto label_106;
                                                             |     }
    0x00016554 tst r5, 0x1000                                |     
                                                             |     if ((r5 & 0x1000) == 0) {
    0x00016558 movne r0, 0x58                                |         r0 = 0x58;
                                                             |     }
                                                             |     if ((r5 & 0x1000) != 0) {
    0x0001655c moveq r0, 0x78                                |         r0 = 0x78;
                                                             |     }
    0x00016560 mov r1, fp                                    |     r1 = fp;
    0x00016564 ldr r3, [sp, 8]                               |     r3 = var_8h;
    0x00016568 blx r3                                        |     uint32_t (*r3)(uint32_t, uint32_t, uint32_t) (r0, r1, r3);
    0x0001656c add r4, sl, 1                                 |     r4 = sl + 1;
    0x00016570 cmn r0, 1                                     |     
                                                             |     if (r0 == 1) {
    0x00016574 beq 0x163cc                                   |         goto label_22;
                                                             |     }
    0x00016578 add sl, sl, 2                                 |     sl += 2;
                                                             | label_105:
    0x0001657c cmp r8, 0x100                                 |     
                                                             |     if (r8 == 0x100) {
    0x00016580 movne r4, sl                                  |         r4 = sl;
                                                             |     }
                                                             |     if (r8 != 0x100) {
    0x00016584 bne 0x16674                                   |         goto label_107;
                                                             |     }
    0x00016588 add sl, r6, sl                                |     sl = r6 + sl;
    0x0001658c b 0x16660                                     |     goto label_108;
                                                             | label_95:
    0x00016590 ldr r3, [pc, 0x614]                           |     r3 = *(0x16ba8);
    0x00016594 mov sb, 0x10                                  |     sb = 0x10;
    0x00016598 add r3, pc, r3                                |     r3 = pc + r3;
    0x0001659c b 0x1642c                                     |     goto label_23;
                                                             | label_96:
    0x000165a0 mov sl, r3                                    |     sl = r3;
                                                             | label_97:
    0x000165a4 mov sb, 0xa                                   |     sb = 0xa;
    0x000165a8 b 0x16464                                     |     goto label_24;
                                                             | label_98:
    0x000165ac ldrd r0, r1, [sp]                             |     __asm ("ldrd r0, r1, [sp]");
    0x000165b0 mov r2, sb                                    |     r2 = sb;
    0x000165b4 mov r3, 0                                     |     r3 = 0;
    0x000165b8 bl 0x38a50                                    |     aeabi_uldivmod ();
    0x000165bc ldr r3, [sp, 0x10]                            |     r3 = var_10h;
    0x000165c0 ldrb r3, [r3, r2]                             |     r3 = *((r3 + r2));
    0x000165c4 strd r0, r1, [sp]                             |     __asm ("strd r0, r1, [sp]");
    0x000165c8 strb r3, [r7], -1                             |     *(r7) = r3;
                                                             |     r7 += -1;
    0x000165cc b 0x16470                                     |     goto label_25;
                                                             | label_99:
    0x000165d0 cmp r8, 0                                     |     
                                                             |     if (r8 <= 0) {
    0x000165d4 ble 0x164c0                                   |         goto label_26;
                                                             |     }
                                                             | label_100:
    0x000165d8 sub r6, r6, r8                                |     r6 -= r8;
    0x000165dc mov r3, r7                                    |     r3 = r7;
    0x000165e0 sub r1, r8, r7                                |     r1 = r8 - r7;
    0x000165e4 mov r0, 0x30                                  |     r0 = 0x30;
                                                             | label_27:
    0x000165e8 add r2, r3, r1                                |     r2 = r3 + r1;
    0x000165ec cmp r2, 0                                     |     
                                                             |     if (r2 <= 0) {
    0x000165f0 suble r7, r7, r8                              |         r7 -= r8;
                                                             |         goto label_109;
                                                             |     }
                                                             |     if (r2 <= 0) {
                                                             | label_109:
    0x000165f4 ble 0x164c0                                   |         goto label_26;
                                                             |     }
    0x000165f8 strb r0, [r3], -1                             |     *(r3) = r0;
                                                             |     r3 += -1;
    0x000165fc b 0x165e8                                     |     goto label_27;
                                                             | label_28:
    0x00016600 mov r1, fp                                    |     r1 = fp;
    0x00016604 mov r0, 0x20                                  |     r0 = 0x20;
    0x00016608 ldr r3, [sp, 8]                               |     r3 = var_8h;
    0x0001660c str r2, [sp]                                  |     *(sp) = r2;
    0x00016610 blx r3                                        |     uint32_t (*r3)(uint32_t, uint32_t, uint32_t, uint32_t) (r0, r1, r2, r3);
    0x00016614 ldr r2, [sp]                                  |     r2 = *(sp);
    0x00016618 cmn r0, 1                                     |     
                                                             |     if (r0 == 1) {
    0x0001661c beq 0x163cc                                   |         goto label_22;
                                                             |     }
                                                             | label_30:
    0x00016620 sub r4, r2, r6                                |     r4 = r2 - r6;
    0x00016624 sub r6, r6, 1                                 |     r6--;
    0x00016628 add r3, r6, 1                                 |     r3 = r6 + 1;
    0x0001662c cmp r3, 0                                     |     
                                                             |     if (r3 > 0) {
    0x00016630 bgt 0x16600                                   |         goto label_28;
                                                             |     }
    0x00016634 b 0x164f0                                     |     goto label_29;
                                                             | label_102:
    0x00016638 add r2, r4, r6                                |     r2 = r4 + r6;
    0x0001663c b 0x16620                                     |     goto label_30;
                                                             | label_104:
    0x00016640 mov sl, r4                                    |     sl = r4;
    0x00016644 b 0x16534                                     |     goto label_31;
                                                             | label_32:
    0x00016648 mov r1, fp                                    |     r1 = fp;
    0x0001664c mov r0, 0x30                                  |     r0 = 0x30;
    0x00016650 ldr r3, [sp, 8]                               |     r3 = var_8h;
    0x00016654 blx r3                                        |     r0 = uint32_t (*r3)(uint32_t, uint32_t, uint32_t) (r0, r1, r3);
    0x00016658 cmn r0, 1                                     |     
                                                             |     if (r0 == 1) {
    0x0001665c beq 0x163cc                                   |         goto label_22;
                                                             |     }
                                                             | label_108:
    0x00016660 sub r4, sl, r6                                |     r4 = sl - r6;
    0x00016664 sub r6, r6, 1                                 |     r6--;
    0x00016668 add r3, r6, 1                                 |     r3 = r6 + 1;
    0x0001666c cmp r3, 0                                     |     
                                                             |     if (r3 > 0) {
    0x00016670 bgt 0x16648                                   |         goto label_32;
                                                             |     }
                                                             | label_107:
    0x00016674 sub r8, r4, r7                                |     r8 = r4 - r7;
    0x00016678 add sb, sp, 0x194                             |     sb += var_194h;
    0x0001667c b 0x16698                                     |     goto label_110;
                                                             | label_33:
    0x00016680 mov r1, fp                                    |     r1 = fp;
    0x00016684 ldrb r0, [r7]                                 |     r0 = *(r7);
    0x00016688 ldr r3, [sp, 8]                               |     r3 = var_8h;
    0x0001668c blx r3                                        |     r0 = uint32_t (*r3)(uint32_t, uint32_t, uint32_t) (r0, r1, r3);
    0x00016690 cmn r0, 1                                     |     
                                                             |     if (r0 == 1) {
    0x00016694 beq 0x163cc                                   |         goto label_22;
                                                             |     }
                                                             | label_110:
    0x00016698 add r4, r7, r8                                |     r4 = r7 + r8;
    0x0001669c add r7, r7, 1                                 |     r7 += var_0h_4;
    0x000166a0 cmp r7, sb                                    |     
                                                             |     if (r7 < sb) {
    0x000166a4 bls 0x16680                                   |         goto label_33;
                                                             |     }
    0x000166a8 tst r5, 4                                     |     
                                                             |     if ((r5 & 4) != 0) {
    0x000166ac addne r6, r6, r4                              |         r6 += r4;
                                                             |         goto label_111;
                                                             |     }
                                                             |     if ((r5 & 4) == 0) {
                                                             | label_111:
    0x000166b0 beq 0x16384                                   |         goto label_34;
                                                             |     }
                                                             | label_35:
    0x000166b4 sub r3, r6, r4                                |     r3 = r6 - r4;
    0x000166b8 cmp r3, 0                                     |     
                                                             |     if (r3 <= 0) {
    0x000166bc ble 0x16384                                   |         goto label_34;
                                                             |     }
    0x000166c0 mov r1, fp                                    |     r1 = fp;
    0x000166c4 mov r0, 0x20                                  |     r0 = 0x20;
    0x000166c8 ldr r3, [sp, 8]                               |     r3 = var_8h;
    0x000166cc blx r3                                        |     r0 = uint32_t (*r3)(uint32_t, uint32_t, uint32_t) (r0, r1, r3);
    0x000166d0 cmn r0, 1                                     |     
                                                             |     if (r0 == 1) {
    0x000166d4 beq 0x163cc                                   |         goto label_22;
                                                             |     }
    0x000166d8 add r4, r4, 1                                 |     r4++;
    0x000166dc b 0x166b4                                     |     goto label_35;
                                                             | label_88:
    0x000166e0 ldr r2, [sp]                                  |     r2 = *(sp);
    0x000166e4 add r3, sp, 0xf90                             |     r3 += var_f90h;
    0x000166e8 add r3, r3, 8                                 |     r3 += nmeb;
    0x000166ec mla r2, r0, r2, r3                            |     __asm ("mla r2, r0, r2, r3");
    0x000166f0 ldr sb, [r2, -0xbf0]                          |     sb = var_10h_2;
    0x000166f4 mov r3, r2                                    |     r3 = r2;
    0x000166f8 cmp sb, 0                                     |     
                                                             |     if (sb != 0) {
    0x000166fc bne 0x16798                                   |         goto label_112;
                                                             |     }
    0x00016700 cmn r8, 1                                     |     
                                                             |     if (r8 == 1) {
    0x00016704 movne r3, 0                                   |         r3 = 0;
                                                             |     }
                                                             |     if (r8 != 1) {
    0x00016708 moveq r3, 1                                   |         r3 = 1;
                                                             |     }
    0x0001670c cmp r8, 4                                     |     
                                                             |     if (r8 > 4) {
    0x00016710 movle r8, r3                                  |         r8 = r3;
                                                             |     }
                                                             |     if (r8 <= 4) {
    0x00016714 orrgt r8, r3, 1                               |         r8 = r3 | 1;
                                                             |     }
    0x00016718 cmp r8, 0                                     |     
                                                             |     if (r8 == 0) {
    0x0001671c beq 0x167b0                                   |         goto label_113;
                                                             |     }
    0x00016720 ldr sb, [pc, 0x488]                           |     
    0x00016724 bic r5, r5, 8                                 |     r5 = BIT_MASK (r5, 8);
    0x00016728 add sb, pc, sb                                |     sb = pc + sb;
    0x0001672c mov r8, 5                                     |     r8 = 5;
    0x00016730 add sb, sb, 0x4a                              |     sb = 0x16bf6;
    0x00016734 str r5, [r2, -0xbfc]                          |     var_4h_2 = r5;
                                                             | label_36:
    0x00016738 cmp r8, 0                                     |     
                                                             |     if (r8 < 0) {
    0x0001673c movge r3, r8                                  |         r3 = r8;
                                                             |     }
                                                             |     if (r8 >= 0) {
    0x00016740 mvnlt r3, 0x80000000                          |         r3 = ~0x80000000;
                                                             |     }
    0x00016744 sub r6, r6, r3                                |     r6 -= r3;
    0x00016748 ldr r3, [sp]                                  |     r3 = *(sp);
    0x0001674c add r7, sp, 0xf90                             |     r7 += var_f90h;
    0x00016750 add r7, r7, 8                                 |     r7 += nmeb;
    0x00016754 mov r0, 0x18                                  |     r0 = 0x18;
    0x00016758 mla r3, r0, r3, r7                            |     __asm ("mla r3, r0, r3, r7");
    0x0001675c ldr r5, [r3, -0xbfc]                          |     r5 = var_4h_2;
    0x00016760 ands r7, r5, 8                                |     r7 = r5 & 8;
                                                             |     if (r7 == r5) {
    0x00016764 beq 0x16784                                   |         goto label_114;
                                                             |     }
    0x00016768 mov r1, fp                                    |     r1 = fp;
    0x0001676c mov r0, 0x22                                  |     r0 = 0x22;
    0x00016770 ldr r3, [sp, 8]                               |     r3 = var_8h;
    0x00016774 blx r3                                        |     r0 = uint32_t (*r3)(uint32_t, uint32_t, uint32_t) (r0, r1, r3);
    0x00016778 cmn r0, 1                                     |     
                                                             |     if (r0 == 1) {
    0x0001677c beq 0x163cc                                   |         goto label_22;
                                                             |     }
    0x00016780 add r4, r4, 1                                 |     r4++;
                                                             | label_114:
    0x00016784 ands r5, r5, 4                                |     r5 &= 4;
                                                             |     if (r5 == r5) {
    0x00016788 beq 0x167f0                                   |         goto label_115;
                                                             |     }
                                                             | label_38:
    0x0001678c add r8, sb, r8                                |     r8 = sb + r8;
    0x00016790 sub sl, r4, sb                                |     sl = r4 - sb;
    0x00016794 b 0x1680c                                     |     goto label_116;
                                                             | label_112:
    0x00016798 cmn r8, 1                                     |     
                                                             |     if (r8 != 1) {
    0x0001679c bne 0x16738                                   |         goto label_36;
                                                             |     }
    0x000167a0 mov r0, sb                                    |     r0 = sb;
    0x000167a4 bl 0x5250                                     |     r0 = strlen (r0);
    0x000167a8 mov r8, r0                                    |     r8 = r0;
    0x000167ac b 0x16738                                     |     goto label_36;
                                                             | label_113:
    0x000167b0 mov r8, sb                                    |     r8 = sb;
    0x000167b4 ldr sb, [pc, 0x3f8]                           |     sb = *(0x16bb0);
    0x000167b8 add sb, pc, sb                                |     sb = pc + sb;
    0x000167bc b 0x16738                                     |     goto label_36;
                                                             | label_37:
    0x000167c0 mov r1, fp                                    |     r1 = fp;
    0x000167c4 mov r0, 0x20                                  |     r0 = 0x20;
    0x000167c8 ldr r3, [sp, 8]                               |     r3 = var_8h;
    0x000167cc blx r3                                        |     r0 = uint32_t (*r3)(uint32_t, uint32_t, uint32_t) (r0, r1, r3);
    0x000167d0 cmn r0, 1                                     |     
                                                             |     if (r0 == 1) {
    0x000167d4 beq 0x163cc                                   |         goto label_22;
                                                             |     }
                                                             | label_39:
    0x000167d8 sub r4, sl, r6                                |     r4 = sl - r6;
    0x000167dc sub r6, r6, 1                                 |     r6--;
    0x000167e0 add r3, r6, 1                                 |     r3 = r6 + 1;
    0x000167e4 cmp r3, 0                                     |     
                                                             |     if (r3 > 0) {
    0x000167e8 bgt 0x167c0                                   |         goto label_37;
                                                             |     }
    0x000167ec b 0x1678c                                     |     goto label_38;
                                                             | label_115:
    0x000167f0 add sl, r4, r6                                |     sl = r4 + r6;
    0x000167f4 b 0x167d8                                     |     goto label_39;
                                                             | label_40:
    0x000167f8 mov r1, fp                                    |     r1 = fp;
    0x000167fc ldr r3, [sp, 8]                               |     r3 = var_8h;
    0x00016800 blx r3                                        |     r0 = uint32_t (*r3)(uint32_t, uint32_t) (r1, r3);
    0x00016804 cmn r0, 1                                     |     
                                                             |     if (r0 == 1) {
    0x00016808 beq 0x163cc                                   |         goto label_22;
                                                             |     }
                                                             | label_116:
    0x0001680c cmp sb, r8                                    |     
    0x00016810 add r4, sl, sb                                |     r4 = sl + sb;
                                                             |     if (sb == r8) {
    0x00016814 beq 0x16824                                   |         goto label_117;
                                                             |     }
    0x00016818 ldrb r0, [sb], 1                              |     r0 = *(sb);
                                                             |     sb++;
    0x0001681c cmp r0, 0                                     |     
                                                             |     if (r0 != 0) {
    0x00016820 bne 0x167f8                                   |         goto label_40;
                                                             |     }
                                                             | label_117:
    0x00016824 cmp r5, 0                                     |     
                                                             |     if (r5 == 0) {
    0x00016828 addne r6, r6, r4                              |         r6 += r4;
                                                             |     }
                                                             |     if (r5 != 0) {
    0x0001682c bne 0x16874                                   |         goto label_118;
                                                             |     }
                                                             | label_42:
    0x00016830 cmp r7, 0                                     |     
                                                             |     if (r7 == 0) {
    0x00016834 beq 0x16384                                   |         goto label_34;
                                                             |     }
    0x00016838 mov r1, fp                                    |     r1 = fp;
    0x0001683c mov r0, 0x22                                  |     r0 = 0x22;
    0x00016840 ldr r3, [sp, 8]                               |     r3 = var_8h;
    0x00016844 blx r3                                        |     r0 = uint32_t (*r3)(uint32_t, uint32_t, uint32_t) (r0, r1, r3);
    0x00016848 cmn r0, 1                                     |     
                                                             |     if (r0 == 1) {
    0x0001684c beq 0x163cc                                   |         goto label_22;
                                                             |     }
    0x00016850 add r4, r4, 1                                 |     r4++;
    0x00016854 b 0x16384                                     |     goto label_34;
                                                             | label_41:
    0x00016858 mov r1, fp                                    |     r1 = fp;
    0x0001685c mov r0, 0x20                                  |     r0 = 0x20;
    0x00016860 ldr r3, [sp, 8]                               |     r3 = var_8h;
    0x00016864 blx r3                                        |     r0 = uint32_t (*r3)(uint32_t, uint32_t, uint32_t) (r0, r1, r3);
    0x00016868 cmn r0, 1                                     |     
                                                             |     if (r0 == 1) {
    0x0001686c beq 0x163cc                                   |         goto label_22;
                                                             |     }
    0x00016870 add r4, r4, 1                                 |     r4++;
                                                             | label_118:
    0x00016874 sub r3, r6, r4                                |     r3 = r6 - r4;
    0x00016878 cmp r3, 0                                     |     
                                                             |     if (r3 > 0) {
    0x0001687c bgt 0x16858                                   |         goto label_41;
                                                             |     }
    0x00016880 b 0x16830                                     |     goto label_42;
                                                             | label_89:
    0x00016884 ldr r3, [sp]                                  |     r3 = *(sp);
    0x00016888 add r7, sp, 0xf90                             |     r7 += var_f90h;
    0x0001688c add r7, r7, 8                                 |     r7 += nmeb;
    0x00016890 mla r3, r0, r3, r7                            |     __asm ("mla r3, r0, r3, r7");
    0x00016894 ldr r3, [r3, -0xbf0]                          |     r3 = var_10h_2;
    0x00016898 cmp r3, 0                                     |     
                                                             |     if (r3 == 0) {
    0x0001689c beq 0x168e4                                   |         goto label_119;
                                                             |     }
    0x000168a0 tst r5, 0x1000                                |     
                                                             |     if ((r5 & 0x1000) == 0) {
    0x000168a4 beq 0x168d8                                   |         goto label_120;
                                                             |     }
    0x000168a8 ldr r2, [pc, 0x308]                           |     
    0x000168ac add r2, pc, r2                                |     r2 = pc + r2;
    0x000168b0 add r2, r2, 0x25                              |     r2 = 0x16bd9;
                                                             |     do {
    0x000168b4 mov r0, r3                                    |         r0 = r3;
    0x000168b8 mov r1, 0                                     |         r1 = 0;
    0x000168bc mov r3, 1                                     |         r3 = 1;
    0x000168c0 str r2, [sp, 0x10]                            |         var_10h = r2;
    0x000168c4 strd r0, r1, [sp]                             |         __asm ("strd r0, r1, [sp]");
    0x000168c8 mov sb, 0x10                                  |         sb = 0x10;
    0x000168cc mov sl, 0                                     |         sl = 0;
    0x000168d0 str r3, [sp, 0x18]                            |         var_18h = r3;
    0x000168d4 b 0x16464                                     |         goto label_24;
                                                             | label_120:
    0x000168d8 ldr r2, [pc, 0x2dc]                           |         r2 = *(0x16bb8);
    0x000168dc add r2, pc, r2                                |         r2 = pc + r2;
    0x000168e0 b 0x168b4                                     |         
                                                             |     } while (1);
                                                             | label_119:
    0x000168e4 ands r5, r5, 4                                |     r5 &= 4;
                                                             |     if (r5 == r5) {
    0x000168e8 subne r4, r4, 5                               |         r4 -= 5;
                                                             |     }
    0x000168ec sub r7, r6, 5                                 |     r7 = r6 - 5;
                                                             |     if (r5 == r5) {
    0x000168f0 addne r6, r4, r6                              |         r6 = r4 + r6;
                                                             |     }
                                                             |     if (r5 != r5) {
    0x000168f4 bne 0x1695c                                   |         goto label_121;
                                                             |     }
                                                             | label_45:
    0x000168f8 ldr r3, [sp, 0x24]                            |     r3 = var_24h;
    0x000168fc sub r6, r3, r4                                |     r6 = r3 - r4;
                                                             | label_46:
    0x00016900 ldrb r0, [r6, r4]                             |     r0 = *((r6 + r4));
    0x00016904 cmp r0, 0                                     |     
                                                             |     if (r0 != 0) {
    0x00016908 bne 0x16974                                   |         goto label_122;
                                                             |     }
    0x0001690c cmp r5, 0                                     |     
                                                             |     if (r5 == 0) {
    0x00016910 addeq r7, r7, r4                              |         r7 += r4;
                                                             |         goto label_123;
                                                             |     }
                                                             |     if (r5 != 0) {
                                                             | label_123:
    0x00016914 bne 0x16384                                   |         goto label_34;
                                                             |     }
                                                             | label_43:
    0x00016918 sub r3, r7, r4                                |     r3 = r7 - r4;
    0x0001691c cmp r3, 0                                     |     
                                                             |     if (r3 <= 0) {
    0x00016920 ble 0x16384                                   |         goto label_34;
                                                             |     }
    0x00016924 mov r1, fp                                    |     r1 = fp;
    0x00016928 mov r0, 0x20                                  |     r0 = 0x20;
    0x0001692c ldr r3, [sp, 8]                               |     r3 = var_8h;
    0x00016930 blx r3                                        |     r0 = uint32_t (*r3)(uint32_t, uint32_t, uint32_t) (r0, r1, r3);
    0x00016934 cmn r0, 1                                     |     
                                                             |     if (r0 == 1) {
    0x00016938 beq 0x163cc                                   |         goto label_22;
                                                             |     }
    0x0001693c add r4, r4, 1                                 |     r4++;
    0x00016940 b 0x16918                                     |     goto label_43;
                                                             | label_44:
    0x00016944 mov r1, fp                                    |     r1 = fp;
    0x00016948 mov r0, 0x20                                  |     r0 = 0x20;
    0x0001694c ldr r3, [sp, 8]                               |     r3 = var_8h;
    0x00016950 blx r3                                        |     r0 = uint32_t (*r3)(uint32_t, uint32_t, uint32_t) (r0, r1, r3);
    0x00016954 cmn r0, 1                                     |     
                                                             |     if (r0 == 1) {
    0x00016958 beq 0x163cc                                   |         goto label_22;
                                                             |     }
                                                             | label_121:
    0x0001695c sub r4, r6, r7                                |     r4 = r6 - r7;
    0x00016960 sub r7, r7, 1                                 |     r7--;
    0x00016964 add r3, r7, 1                                 |     r3 = r7 + 1;
    0x00016968 cmp r3, 0                                     |     
                                                             |     if (r3 > 0) {
    0x0001696c bgt 0x16944                                   |         goto label_44;
                                                             |     }
    0x00016970 b 0x168f8                                     |     goto label_45;
                                                             | label_122:
    0x00016974 mov r1, fp                                    |     r1 = fp;
    0x00016978 ldr r3, [sp, 8]                               |     r3 = var_8h;
    0x0001697c blx r3                                        |     r0 = uint32_t (*r3)(uint32_t, uint32_t) (r1, r3);
    0x00016980 cmn r0, 1                                     |     
                                                             |     if (r0 == 1) {
    0x00016984 beq 0x163cc                                   |         goto label_22;
                                                             |     }
    0x00016988 add r4, r4, 1                                 |     r4++;
    0x0001698c b 0x16900                                     |     goto label_46;
                                                             | label_92:
    0x00016990 mov r3, 0x25                                  |     r3 = 0x25;
    0x00016994 mov r2, 0x1c                                  |     r2 = 0x1c;
    0x00016998 mov r1, 0                                     |     r1 = 0;
    0x0001699c add r6, sp, 0x38                              |     r6 += var_38h;
    0x000169a0 add r0, sp, 0x34                              |     r0 += s;
    0x000169a4 str r3, [sp, 0x30]                            |     var_30h = r3;
    0x000169a8 bl 0x576c                                     |     memset (r0, r1, r2);
    0x000169ac sub r3, r6, 8                                 |     r3 -= var_30h;
    0x000169b0 mov r0, r3                                    |     r0 = r3;
    0x000169b4 str r3, [sp, 0x20]                            |     format = r3;
    0x000169b8 bl 0x5250                                     |     strlen (r0);
    0x000169bc add r3, sp, 0x398                             |     r3 += var_398h;
    0x000169c0 tst r5, 0x2000                                |     
    0x000169c4 mov r7, r3                                    |     r7 = r3;
    0x000169c8 rsb r8, r0, 0x20                              |     r8 = 0x20 - r0;
                                                             |     if ((r5 & 0x2000) == 0) {
    0x000169cc bne 0x169ec                                   |         
    0x000169d0 tst r5, 0x4000                                |         
                                                             |         if ((r5 & 0x4000) == 0) {
    0x000169d4 movne r2, r7                                  |             r2 = r7;
                                                             |         }
                                                             |         if ((r5 & 0x4000) == 0) {
    0x000169d8 movne r3, 0x18                                |             r3 = 0x18;
                                                             |         }
    0x000169dc mlane r2, r3, sb, r2                          |         __asm ("mlane r2, r3, sb, r2");
                                                             |         if ((r5 & 0x4000) != 0) {
    0x000169e0 mvneq sb, 0                                   |             sb = ~0;
                                                             |         }
                                                             |         if ((r5 & 0x4000) == 0) {
    0x000169e4 movne sb, r2                                  |             sb = r2;
                                                             |         }
                                                             |         if ((r5 & 0x4000) != 0) {
    0x000169e8 ldrne sb, [sb, 0x10]                          |             sb = *((sb + 0x10));
                                                             |             goto label_124;
                                                             |         }
                                                             |     }
                                                             | label_124:
    0x000169ec tst r5, 0x8000                                |     
    0x000169f0 mov r3, 0x18                                  |     r3 = 0x18;
                                                             |     if ((r5 & 0x8000) == 0) {
    0x000169f4 beq 0x16b6c                                   |         goto label_125;
                                                             |     }
    0x000169f8 ldr r1, [sp]                                  |     r1 = *(sp);
    0x000169fc add r2, sp, 0xf90                             |     r2 += var_f90h;
    0x00016a00 add r2, r2, 8                                 |     r2 += nmeb;
    0x00016a04 mla r1, r3, r1, r2                            |     __asm ("mla r1, r3, r1, r2");
    0x00016a08 ldr sl, [r1, -0xbf4]                          |     sl = var_ch_3;
    0x00016a0c mov r3, r1                                    |     r3 = r1;
                                                             | label_48:
    0x00016a10 tst r5, 4                                     |     
    0x00016a14 add r6, sp, 0x38                              |     r6 += var_38h;
                                                             |     if ((r5 & 4) == 0) {
    0x00016a18 movne r3, 0x2d                                |         r3 = 0x2d;
                                                             |     }
                                                             |     if ((r5 & 4) == 0) {
    0x00016a1c strbne r3, [sp, 0x31]                         |         var_31h = r3;
                                                             |     }
                                                             |     if ((r5 & 4) == 0) {
    0x00016a20 subne r6, r6, 6                               |         r6 -= 6;
                                                             |     }
                                                             |     if ((r5 & 4) != 0) {
    0x00016a24 subeq r6, r6, 7                               |         r6 -= var_31h;
                                                             |     }
    0x00016a28 tst r5, 2                                     |     
                                                             |     if ((r5 & 2) == 0) {
    0x00016a2c movne r3, 0x2b                                |         r3 = 0x2b;
                                                             |     }
                                                             |     if ((r5 & 2) == 0) {
    0x00016a30 strbne r3, [r6]                               |         *(r6) = r3;
                                                             |     }
                                                             |     if ((r5 & 2) == 0) {
    0x00016a34 addne r6, r6, 1                               |         r6++;
                                                             |     }
    0x00016a38 tst r5, 1                                     |     
                                                             |     if ((r5 & 1) == 0) {
    0x00016a3c movne r3, 0x20                                |         r3 = 0x20;
                                                             |     }
                                                             |     if ((r5 & 1) == 0) {
    0x00016a40 strbne r3, [r6]                               |         *(r6) = r3;
                                                             |     }
                                                             |     if ((r5 & 1) == 0) {
    0x00016a44 addne r6, r6, 1                               |         r6++;
                                                             |     }
    0x00016a48 tst r5, 8                                     |     
                                                             |     if ((r5 & 8) == 0) {
    0x00016a4c movne r3, 0x23                                |         r3 = 0x23;
                                                             |     }
                                                             |     if ((r5 & 8) == 0) {
    0x00016a50 strbne r3, [r6]                               |         *(r6) = r3;
                                                             |     }
    0x00016a54 mov r3, 0                                     |     r3 = 0;
                                                             |     if ((r5 & 8) == 0) {
    0x00016a58 addne r6, r6, 1                               |         r6++;
                                                             |     }
    0x00016a5c cmp sb, r3                                    |     
    0x00016a60 strb r3, [r6]                                 |     *(r6) = r3;
                                                             |     if (sb >= r3) {
    0x00016a64 blt 0x16a90                                   |         
    0x00016a68 ldr r3, [pc, 0x150]                           |         r3 = *(0x16bbc);
    0x00016a6c ldr r2, [pc, 0x150]                           |         r2 = *(0x16bc0);
    0x00016a70 cmp sb, r3                                    |         
    0x00016a74 mov r1, r8                                    |         r1 = r8;
    0x00016a78 mov r0, r6                                    |         r0 = r6;
                                                             |         if (sb >= r3) {
    0x00016a7c movlt r3, sb                                  |             r3 = sb;
                                                             |         }
    0x00016a80 add r2, pc, r2                                |         r2 = pc + r2;
    0x00016a84 bl 0x579c                                     |         r0 = fcn_0000579c ();
    0x00016a88 add r6, r6, r0                                |         r6 += r0;
    0x00016a8c sub r8, r8, r0                                |         r8 -= r0;
                                                             |     }
    0x00016a90 cmp sl, 0                                     |     
                                                             |     if (sl >= 0) {
    0x00016a94 blt 0x16af0                                   |         
    0x00016a98 ldr r3, [sp]                                  |         r3 = *(sp);
    0x00016a9c add r2, sp, 0x398                             |         r2 += var_398h;
    0x00016aa0 mov r1, 0x18                                  |         r1 = 0x18;
    0x00016aa4 mla r3, r1, r3, r2                            |         __asm ("mla r3, r1, r3, r2");
    0x00016aa8 mov sb, 0x144                                 |         sb = 0x144;
    0x00016aac ldrd r2, r3, [r3, 0x10]                       |         __asm ("ldrd r2, r3, [var_10h_2]");
    0x00016ab0 strd r2, r3, [sp, 0x18]                       |         __asm ("strd r2, r3, [var_18h]");
                                                             | label_49:
    0x00016ab4 ldr r3, [pc, 0x110]                           |         r3 = *(0x16bc8);
    0x00016ab8 mov r2, 0                                     |         r2 = 0;
    0x00016abc ldrd r0, r1, [sp, 0x18]                       |         __asm ("ldrd r0, r1, [var_18h]");
    0x00016ac0 bl 0x38954                                    |         r0 = aeabi_dcmpge ();
    0x00016ac4 cmp r0, 0                                     |         
                                                             |         if (r0 != 0) {
    0x00016ac8 bne 0x16bd0                                   |             goto label_126;
                                                             |         }
    0x00016acc ldr r2, [pc, 0xf4]                            |         r2 = *(0x16bc4);
    0x00016ad0 cmp sb, sl                                    |         
                                                             |         if (sb >= sl) {
    0x00016ad4 sublt sl, sb, 1                               |             sl = sb - 1;
                                                             |         }
    0x00016ad8 mov r0, r6                                    |         r0 = r6;
    0x00016adc mov r3, sl                                    |         r3 = sl;
    0x00016ae0 add r2, pc, r2                                |         r2 = pc + r2;
    0x00016ae4 mov r1, r8                                    |         r1 = r8;
    0x00016ae8 bl 0x579c                                     |         r0 = fcn_0000579c ();
    0x00016aec add r6, r6, r0                                |         r6 += r0;
                                                             |     }
    0x00016af0 tst r5, 0x20                                  |     
                                                             |     if ((r5 & 0x20) == 0) {
    0x00016af4 movne r3, 0x6c                                |         r3 = 0x6c;
                                                             |     }
                                                             |     if ((r5 & 0x20) == 0) {
    0x00016af8 strbne r3, [r6]                               |         *(r6) = r3;
                                                             |     }
                                                             |     if ((r5 & 0x20) == 0) {
    0x00016afc addne r6, r6, 1                               |         r6++;
                                                             |     }
    0x00016b00 tst r5, 0x40000                               |     
                                                             |     if ((r5 & 0x40000) == 0) {
    0x00016b04 beq 0x16bec                                   |         goto label_127;
                                                             |     }
    0x00016b08 tst r5, 0x1000                                |     
                                                             |     if ((r5 & 0x1000) != 0) {
    0x00016b0c moveq r3, 0x65                                |         r3 = 0x65;
                                                             |     }
                                                             |     if ((r5 & 0x1000) == 0) {
    0x00016b10 movne r3, 0x45                                |         r3 = 0x45;
                                                             |     }
                                                             | label_50:
    0x00016b14 strb r3, [r6]                                 |     *(r6) = r3;
    0x00016b18 mov r3, 0                                     |     r3 = 0;
    0x00016b1c strb r3, [r6, 1]                              |     var_1h_2 = r3;
    0x00016b20 ldr r3, [sp]                                  |     r3 = *(sp);
    0x00016b24 mov r0, 0x18                                  |     r0 = 0x18;
    0x00016b28 mla r3, r0, r3, r7                            |     __asm ("mla r3, r0, r3, r7");
    0x00016b2c add r5, sp, 0x50                              |     r5 += var_50h;
    0x00016b30 mov r0, r5                                    |     r0 = r5;
    0x00016b34 ldrd r2, r3, [r3, 0x10]                       |     __asm ("ldrd r2, r3, [var_10h_2]");
    0x00016b38 ldr r1, [sp, 0x20]                            |     r1 = format;
    0x00016b3c bl 0x5844                                     |     sprintf (r0, r1, r2);
    0x00016b40 sub r5, r5, r4                                |     r5 -= r4;
                                                             | label_47:
    0x00016b44 ldrb r0, [r5, r4]                             |     r0 = *((r5 + r4));
    0x00016b48 cmp r0, 0                                     |     
                                                             |     if (r0 == 0) {
    0x00016b4c beq 0x16384                                   |         goto label_34;
                                                             |     }
    0x00016b50 mov r1, fp                                    |     r1 = fp;
    0x00016b54 ldr r3, [sp, 8]                               |     r3 = var_8h;
    0x00016b58 blx r3                                        |     r0 = uint32_t (*r3)(uint32_t, uint32_t) (r1, r3);
    0x00016b5c cmn r0, 1                                     |     
                                                             |     if (r0 == 1) {
    0x00016b60 beq 0x163cc                                   |         goto label_22;
                                                             |     }
    0x00016b64 add r4, r4, 1                                 |     r4++;
    0x00016b68 b 0x16b44                                     |     goto label_47;
                                                             | label_125:
    0x00016b6c cmp sl, 0                                     |     
                                                             |     if (sl == 0) {
    0x00016b70 ldrne r1, [sp]                                |         r1 = *(sp);
                                                             |     }
                                                             |     if (sl == 0) {
    0x00016b74 addne r2, sp, 0xf90                           |         r2 += var_f90h;
                                                             |     }
                                                             |     if (sl == 0) {
    0x00016b78 addne r2, r2, 8                               |         r2 += 8;
                                                             |     }
    0x00016b7c mlane r1, r3, r1, r2                          |     __asm ("mlane r1, r3, r1, r2");
                                                             |     if (sl != 0) {
    0x00016b80 mvneq sl, 0                                   |         sl = ~0;
                                                             |     }
                                                             |     if (sl == 0) {
    0x00016b84 movne r2, r1                                  |         r2 = r1;
                                                             |     }
                                                             |     if (sl == 0) {
    0x00016b88 ldrne r2, [r2, -0xbf4]                        |         r2 = *((r2 - 0xbf4));
                                                             |     }
                                                             |     if (sl == 0) {
    0x00016b8c movne r1, r7                                  |         r1 = r7;
                                                             |     }
    0x00016b90 mlane r1, r3, r2, r1                          |     __asm ("mlane r1, r3, r2, r1");
                                                             |     if (sl == 0) {
    0x00016b94 movne r3, r1                                  |         r3 = r1;
                                                             |     }
                                                             |     if (sl == 0) {
    0x00016b98 ldrne sl, [r3, 0x10]                          |         sl = *((r3 + 0x10));
                                                             |     }
    0x00016b9c b 0x16a10                                     |     goto label_48;
                                                             | label_126:
    0x00016bd0 ldrd r0, r1, [sp, 0x18]                       |     __asm ("ldrd r0, r1, [var_18h]");
    0x00016bd4 ldr r3, [pc, -0x10]                           |     r3 = *(0x00016bcc);
    0x00016bd8 mov r2, 0                                     |     r2 = 0;
    0x00016bdc bl 0x3864c                                    |     divdf3 ();
    0x00016be0 sub sb, sb, 1                                 |     sb--;
    0x00016be4 strd r0, r1, [sp, 0x18]                       |     __asm ("strd r0, r1, [var_18h]");
    0x00016be8 b 0x16ab4                                     |     goto label_49;
                                                             | label_127:
    0x00016bec tst r5, 0x80000                               |     
                                                             |     if ((r5 & 0x80000) == 0) {
    0x00016bf0 moveq r3, 0x66                                |         r3 = 0x66;
                                                             |         goto label_128;
                                                             |     }
                                                             |     if ((r5 & 0x80000) == 0) {
                                                             | label_128:
    0x00016bf4 beq 0x16b14                                   |         goto label_50;
                                                             |     }
    0x00016bf8 tst r5, 0x1000                                |     
                                                             |     if ((r5 & 0x1000) != 0) {
    0x00016bfc moveq r3, 0x67                                |         r3 = 0x67;
                                                             |     }
                                                             |     if ((r5 & 0x1000) == 0) {
    0x00016c00 movne r3, 0x47                                |         r3 = 0x47;
                                                             |     }
    0x00016c04 b 0x16b14                                     |     goto label_50;
                                                             | label_91:
    0x00016c08 add r7, sp, 0xf90                             |     r7 += var_f90h;
    0x00016c0c tst r5, 0x40                                  |     
    0x00016c10 add r7, r7, 8                                 |     r7 += nmeb;
    0x00016c14 ldr r3, [sp]                                  |     r3 = *(sp);
                                                             |     if ((r5 & 0x40) != 0) {
    0x00016c18 beq 0x16c34                                   |         
    0x00016c1c mla r3, r0, r3, r7                            |         __asm ("mla r3, r0, r3, r7");
    0x00016c20 asr r1, r4, 0x1f                              |         r1 = r4 >> 0x1f;
    0x00016c24 ldr r3, [r3, -0xbf0]                          |         r3 = var_10h_2;
    0x00016c28 mov r0, r4                                    |         r0 = r4;
    0x00016c2c strd r0, r1, [r3]                             |         __asm ("strd r0, r1, [r3]");
    0x00016c30 b 0x16384                                     |         goto label_34;
                                                             |     }
    0x00016c34 mov r0, 0x18                                  |     r0 = 0x18;
    0x00016c38 mla r3, r0, r3, r7                            |     __asm ("mla r3, r0, r3, r7");
    0x00016c3c tst r5, 0x20                                  |     
    0x00016c40 ldr r3, [r3, -0xbf0]                          |     r3 = var_10h_2;
                                                             |     if ((r5 & 0x20) != 0) {
    0x00016c44 beq 0x16c50                                   |         
                                                             | label_51:
    0x00016c48 str r4, [r3]                                  |         *(r3) = r4;
    0x00016c4c b 0x16384                                     |         goto label_34;
                                                             |     }
    0x00016c50 tst r5, 0x10                                  |     
    0x00016c54 strhne r4, [r3]                               |     __asm ("strhne r4, [r3]");
                                                             |     if ((r5 & 0x10) != 0) {
    0x00016c58 bne 0x16384                                   |         goto label_34;
                                                             |     }
    0x00016c5c b 0x16c48                                     |     goto label_51;
                                                             | label_106:
    0x00016c60 mov r4, sl                                    |     r4 = sl;
    0x00016c64 b 0x163cc                                     |     goto label_22;
                                                             | label_56:
    0x00016c68 mvn r4, 0                                     |     r4 = ~0;
    0x00016c6c b 0x163cc                                     |     goto label_22;
                                                             | }
    ; 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/lib/libcurl.so @ 0x2ab00 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.encoder_7bit_read ()         | uint32_t encoder_7bit_read (int32_t arg1, uint32_t arg2) {
                                             |     r0 = arg1;
                                             |     r1 = arg2;
    0x0002ab00 ldr r2, [r3, 0x64]            |     r2 = *((r3 + 0x64));
    0x0002ab04 ldr ip, [r3, 0x60]            |     ip = *((r3 + 0x60));
    0x0002ab08 sub r2, r2, ip                |     r2 -= ip;
    0x0002ab0c cmp r2, r1                    |     
                                             |     if (r2 >= r1) {
    0x0002ab10 movlo r1, r2                  |         r1 = r2;
                                             |     }
    0x0002ab14 mov r2, 0                     |     r2 = 0;
                                             |     do {
    0x0002ab18 cmp r2, r1                    |         
                                             |         if (r2 != r1) {
    0x0002ab1c beq 0x2ab40                   |             
    0x0002ab20 ldr ip, [r3, 0x60]            |             ip = *((r3 + 0x60));
    0x0002ab24 add ip, r3, ip                |             
    0x0002ab28 ldrb ip, [ip, 0x68]           |             ip = *((ip + 0x68));
    0x0002ab2c tst ip, 0x80                  |             
    0x0002ab30 strb ip, [r0, r2]             |             *((r0 + r2)) = ip;
                                             |             if ((ip & 0x80) == 0) {
    0x0002ab34 beq 0x2ab48                   |                 goto label_0;
                                             |             }
    0x0002ab38 cmp r2, 0                     |             
                                             |             if (r2 == 0) {
    0x0002ab3c mvneq r2, 0                   |                 r2 = ~0;
                                             |                 goto label_1;
                                             |             }
                                             |         }
                                             | label_1:
    0x0002ab40 mov r0, r2                    |         r0 = r2;
    0x0002ab44 bx lr                         |         return r0;
                                             | label_0:
    0x0002ab48 ldr ip, [r3, 0x60]            |         ip = *((r3 + 0x60));
    0x0002ab4c add r2, r2, 1                 |         r2++;
    0x0002ab50 add ip, ip, 1                 |         
    0x0002ab54 str ip, [r3, 0x60]            |         *((r3 + 0x60)) = ip;
    0x0002ab58 b 0x2ab18                     |         
                                             |     } 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/lib/libcurl.so @ 0x2ab5c */
                                                             | #include <stdint.h>
                                                             |  
    ; (fcn) sym.encoder_base64_read ()                       | void encoder_base64_read (int32_t arg1, size_t size) {
                                                             |     r0 = arg1;
                                                             |     r1 = size;
    0x0002ab5c push {r4, r5, r6, r7, r8, sb, sl, lr}         |     
    0x0002ab60 ldr r5, [pc, 0x1a4]                           |     r5 = *(0x2ad08);
    0x0002ab64 mov ip, 0                                     |     
    0x0002ab68 mov r6, 0xd                                   |     r6 = 0xd;
    0x0002ab6c mov r7, 0xa                                   |     r7 = 0xa;
    0x0002ab70 mov r8, ip                                    |     r8 = ip;
    0x0002ab74 add r5, pc, r5                                |     r5 = pc + r5;
                                                             | label_1:
    0x0002ab78 ldr r4, [r3, 0x60]                            |     r4 = *((r3 + 0x60));
    0x0002ab7c ldr lr, [r3, 0x64]                            |     
    0x0002ab80 cmp r4, lr                                    |     
    0x0002ab84 blo 0x2abd8                                   |     
                                                             |     while (r1 < 1) {
                                                             | label_0:
    0x0002ab88 cmp r1, 3                                     |         
                                                             |         if (r1 > 3) {
    0x0002ab8c movls r1, 0                                   |             r1 = 0;
                                                             |         }
                                                             |         if (r1 <= 3) {
    0x0002ab90 andhi r1, r2, 1                               |             r1 = r2 & 1;
                                                             |         }
    0x0002ab94 cmp r1, 0                                     |         
                                                             |         if (r1 != 0) {
    0x0002ab98 beq 0x2abd0                                   |             
    0x0002ab9c mov r2, 0x3d                                  |             r2 = 0x3d;
    0x0002aba0 strb r2, [r0, 3]                              |             *((r0 + 3)) = r2;
    0x0002aba4 strb r2, [r0, 2]                              |             *((r0 + 2)) = r2;
    0x0002aba8 ldr r1, [r3, 0x60]                            |             r1 = *((r3 + 0x60));
    0x0002abac ldr r2, [r3, 0x64]                            |             r2 = *((r3 + 0x64));
    0x0002abb0 sub r2, r2, r1                                |             r2 -= r1;
    0x0002abb4 cmp r2, 1                                     |             
                                                             |             if (r2 == 1) {
    0x0002abb8 beq 0x2ac94                                   |                 goto label_3;
                                                             |             }
    0x0002abbc cmp r2, 2                                     |             
                                                             |             if (r2 != 2) {
    0x0002abc0 addeq r2, r3, r1                              |                 r2 = r3 + r1;
                                                             |             }
                                                             |             if (r2 != 2) {
    0x0002abc4 ldrbeq r2, [r2, 0x69]                         |                 r2 = *((r2 + 0x69));
                                                             |             }
                                                             |             if (r2 != 2) {
    0x0002abc8 lsleq r2, r2, 8                               |                 r2 <<= 8;
                                                             |             }
                                                             |             if (r2 == 2) {
    0x0002abcc beq 0x2ac98                                   |                 goto label_4;
                                                             |             }
                                                             |         }
                                                             | label_2:
    0x0002abd0 mov r0, ip                                    |         r0 = ip;
    0x0002abd4 pop {r4, r5, r6, r7, r8, sb, sl, pc}          |         
    0x0002abd8 ldr lr, [r3, 0x5c]                            |         
    0x0002abdc cmp lr, 0x48                                  |         
                                                             |         if (lr < 0x48) {
    0x0002abe0 bls 0x2ac08                                   |             goto label_5;
                                                             |         }
    0x0002abe4 cmp r1, 1                                     |         
    0x0002abe8 bls 0x2ab88                                   |         
                                                             |     }
    0x0002abec mov lr, r0                                    |     lr = r0;
    0x0002abf0 strb r6, [lr], 2                              |     *(lr) = r6;
                                                             |     lr += 2;
    0x0002abf4 add ip, ip, 2                                 |     
    0x0002abf8 strb r7, [r0, 1]                              |     *((r0 + 1)) = r7;
    0x0002abfc sub r1, r1, 2                                 |     r1 -= 2;
    0x0002ac00 mov r0, lr                                    |     r0 = lr;
    0x0002ac04 str r8, [r3, 0x5c]                            |     *((r3 + 0x5c)) = r8;
                                                             | label_5:
    0x0002ac08 cmp r1, 3                                     |     
                                                             |     if (r1 < 3) {
    0x0002ac0c bls 0x2ab88                                   |         goto label_0;
                                                             |     }
    0x0002ac10 ldr r4, [r3, 0x60]                            |     r4 = *((r3 + 0x60));
    0x0002ac14 ldr lr, [r3, 0x64]                            |     
    0x0002ac18 sub lr, lr, r4                                |     lr -= r4;
    0x0002ac1c cmp lr, 2                                     |     
                                                             |     if (lr < 2) {
    0x0002ac20 bls 0x2ab88                                   |         goto label_0;
                                                             |     }
    0x0002ac24 add sb, r3, r4                                |     sb = r3 + r4;
    0x0002ac28 ldrb sl, [sb, 0x68]                           |     sl = *((sb + 0x68));
    0x0002ac2c ldrb lr, [sb, 0x69]                           |     
    0x0002ac30 add r4, r4, 3                                 |     r4 += 3;
    0x0002ac34 str r4, [r3, 0x60]                            |     *((r3 + 0x60)) = r4;
    0x0002ac38 ldrb r4, [sb, 0x6a]                           |     r4 = *((sb + 0x6a));
    0x0002ac3c orr lr, lr, sl, lsl 8                         |     lr |= (sl << 8);
    0x0002ac40 orr lr, r4, lr, lsl 8                         |     lr = r4 | (lr << 8);
    0x0002ac44 ldrb r4, [r5, lr, asr 18]                     |     offset_0 = lr >> 18;
                                                             |     r4 = *((r5 + offset_0));
    0x0002ac48 add ip, ip, 4                                 |     
    0x0002ac4c strb r4, [r0]                                 |     *(r0) = r4;
    0x0002ac50 asr r4, lr, 0xc                               |     r4 = lr >> 0xc;
    0x0002ac54 and r4, r4, 0x3f                              |     r4 &= 0x3f;
    0x0002ac58 ldrb r4, [r5, r4]                             |     r4 = *((r5 + r4));
    0x0002ac5c sub r1, r1, 4                                 |     r1 -= 4;
    0x0002ac60 strb r4, [r0, 1]                              |     *((r0 + 1)) = r4;
    0x0002ac64 asr r4, lr, 6                                 |     r4 = lr >> 6;
    0x0002ac68 and r4, r4, 0x3f                              |     r4 &= 0x3f;
    0x0002ac6c and lr, lr, 0x3f                              |     lr &= 0x3f;
    0x0002ac70 ldrb lr, [r5, lr]                             |     
    0x0002ac74 ldrb r4, [r5, r4]                             |     r4 = *((r5 + r4));
    0x0002ac78 strb lr, [r0, 3]                              |     
    0x0002ac7c strb r4, [r0, 2]                              |     *((r0 + 2)) = r4;
    0x0002ac80 ldr lr, [r3, 0x5c]                            |     
    0x0002ac84 add r0, r0, 4                                 |     r0 += 4;
    0x0002ac88 add lr, lr, 4                                 |     lr += 4;
    0x0002ac8c str lr, [r3, 0x5c]                            |     
    0x0002ac90 b 0x2ab78                                     |     goto label_1;
                                                             | label_3:
    0x0002ac94 mov r2, 0                                     |     r2 = 0;
                                                             | label_4:
    0x0002ac98 add r1, r3, r1                                |     r1 = r3 + r1;
    0x0002ac9c ldrb r1, [r1, 0x68]                           |     r1 = *((r1 + 0x68));
    0x0002aca0 ldr lr, [pc, 0x68]                            |     lr = *(0x2ad0c);
    0x0002aca4 orr r2, r2, r1, lsl 16                        |     r2 |= (r1 << 16);
    0x0002aca8 add lr, pc, lr                                |     lr = pc + lr;
    0x0002acac ldrb r1, [lr, r2, asr 18]                     |     offset_1 = r2 >> 18;
                                                             |     r1 = *((lr + offset_1));
    0x0002acb0 strb r1, [r0]                                 |     *(r0) = r1;
    0x0002acb4 asr r1, r2, 0xc                               |     r1 = r2 >> 0xc;
    0x0002acb8 and r1, r1, 0x3f                              |     r1 &= 0x3f;
    0x0002acbc ldrb r1, [lr, r1]                             |     r1 = *((lr + r1));
    0x0002acc0 strb r1, [r0, 1]                              |     *((r0 + 1)) = r1;
    0x0002acc4 ldr r1, [r3, 0x60]                            |     r1 = *((r3 + 0x60));
    0x0002acc8 ldr r4, [r3, 0x64]                            |     r4 = *((r3 + 0x64));
    0x0002accc add r1, r1, 1                                 |     r1++;
    0x0002acd0 cmp r1, r4                                    |     
    0x0002acd4 str r1, [r3, 0x60]                            |     *((r3 + 0x60)) = r1;
                                                             |     if (r1 != r4) {
    0x0002acd8 beq 0x2acf8                                   |         
    0x0002acdc asr r2, r2, 6                                 |         r2 >>= 6;
    0x0002ace0 and r2, r2, 0x3f                              |         r2 &= 0x3f;
    0x0002ace4 ldrb r2, [lr, r2]                             |         r2 = *((lr + r2));
    0x0002ace8 strb r2, [r0, 2]                              |         *((r0 + 2)) = r2;
    0x0002acec ldr r2, [r3, 0x60]                            |         r2 = *((r3 + 0x60));
    0x0002acf0 add r2, r2, 1                                 |         r2++;
    0x0002acf4 str r2, [r3, 0x60]                            |         *((r3 + 0x60)) = r2;
                                                             |     }
    0x0002acf8 ldr r2, [r3, 0x5c]                            |     r2 = *((r3 + 0x5c));
    0x0002acfc add ip, ip, 4                                 |     
    0x0002ad00 add r2, r2, 4                                 |     r2 += 4;
    0x0002ad04 str r2, [r3, 0x5c]                            |     *((r3 + 0x5c)) = r2;
    0x0002ad08 b 0x2abd0                                     |     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/lib/libcurl.so @ 0x2b030 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.encoder_nop_read ()          | void encoder_nop_read (uint32_t arg2, void * s1) {
                                             |     r1 = arg2;
                                             |     r0 = s1;
    0x0002b030 push {r4, r5, r6, lr}         |     
    0x0002b034 ldr r4, [r3, 0x64]            |     r4 = *((r3 + 0x64));
    0x0002b038 mov r5, r3                    |     r5 = r3;
    0x0002b03c ldr r3, [r3, 0x60]            |     r3 = *((r3 + 0x60));
    0x0002b040 sub r4, r4, r3                |     r4 -= r3;
    0x0002b044 cmp r4, r1                    |     
                                             |     if (r4 < r1) {
    0x0002b048 movhs r4, r1                  |         r4 = r1;
                                             |     }
    0x0002b04c cmp r4, 0                     |     
                                             |     if (r4 != 0) {
    0x0002b050 beq 0x2b060                   |         
    0x0002b054 mov r2, r4                    |         r2 = r4;
    0x0002b058 add r1, r5, 0x68              |         r1 = r5 + 0x68;
    0x0002b05c bl 0x4f5c                     |         memcpy (r0, r1, r2);
                                             |     }
    0x0002b060 ldr r3, [r5, 0x60]            |     r3 = *((r5 + 0x60));
    0x0002b064 mov r0, r4                    |     r0 = r4;
    0x0002b068 add r3, r3, r4                |     r3 += r4;
    0x0002b06c str r3, [r5, 0x60]            |     *((r5 + 0x60)) = r3;
    0x0002b070 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/lib/libcurl.so @ 0x2b0c4 */
                                                                 | #include <stdint.h>
                                                                 |  
    ; (fcn) sym.encoder_qp_read ()                               | void encoder_qp_read (int32_t arg1, int32_t arg2) {
                                                                 |     int32_t var_4h;
                                                                 |     char * dest;
                                                                 |     int32_t var_dh;
                                                                 |     int32_t var_eh;
                                                                 |     int32_t var_10h;
                                                                 |     int32_t var_0h;
                                                                 |     int32_t var_14h;
                                                                 |     r0 = arg1;
                                                                 |     r1 = arg2;
    0x0002b0c4 push {r4, r5, r6, r7, r8, sb, sl, fp, lr}         |     
    0x0002b0c8 ldr fp, [pc, 0x1b4]                               |     fp = *(0x2b280);
    0x0002b0cc sub sp, sp, 0x14                                  |     
    0x0002b0d0 mov r6, r3                                        |     r6 = r3;
    0x0002b0d4 add r7, r3, 0x5c                                  |     r7 = r3 + 0x5c;
    0x0002b0d8 mov r8, r0                                        |     r8 = r0;
    0x0002b0dc mov r3, 0                                         |     r3 = 0;
    0x0002b0e0 mov sb, r1                                        |     sb = r1;
    0x0002b0e4 mov sl, r2                                        |     sl = r2;
    0x0002b0e8 add fp, pc, fp                                    |     
    0x0002b0ec str r3, [sp, 4]                                   |     var_4h = r3;
                                                                 | label_1:
    0x0002b0f0 ldr r2, [r6, 0x60]                                |     r2 = *((r6 + 0x60));
    0x0002b0f4 ldr r1, [r6, 0x64]                                |     r1 = *((r6 + 0x64));
    0x0002b0f8 cmp r2, r1                                        |     
    0x0002b0fc blo 0x2b10c                                       |     
                                                                 |     while (r0 == 1) {
                                                                 | label_0:
    0x0002b100 ldr r0, [sp, 4]                                   |         r0 = var_4h;
    0x0002b104 add sp, sp, 0x14                                  |         
    0x0002b108 pop {r4, r5, r6, r7, r8, sb, sl, fp, pc}          |         
    0x0002b10c add r2, r6, r2                                    |         r2 = r6 + r2;
    0x0002b110 ldrb r2, [r2, 0x68]                               |         r2 = *((r2 + 0x68));
    0x0002b114 add r1, fp, r2, lsr 4                             |         r1 = fp + (r2 >> 4);
    0x0002b118 ldrb r1, [r1, 0x141]                              |         r1 = *((r1 + 0x141));
    0x0002b11c strb r2, [sp, 0xc]                                |         dest = r2;
    0x0002b120 strb r1, [sp, 0xd]                                |         var_dh = r1;
    0x0002b124 and r1, r2, 0xf                                   |         r1 = r2 & 0xf;
    0x0002b128 add r2, fp, r2                                    |         r2 = fp + r2;
    0x0002b12c add r1, fp, r1                                    |         r1 = fp + r1;
    0x0002b130 ldrb r5, [r2, 0x41]                               |         r5 = *((r2 + 0x41));
    0x0002b134 ldrb r1, [r1, 0x141]                              |         r1 = *((r1 + 0x141));
    0x0002b138 cmp r5, 2                                         |         
    0x0002b13c strb r1, [sp, 0xe]                                |         var_eh = r1;
                                                                 |         if (r5 != 2) {
    0x0002b140 beq 0x2b15c                                       |             
    0x0002b144 cmp r5, 3                                         |             
                                                                 |             if (r5 == 3) {
    0x0002b148 beq 0x2b24c                                       |                 goto label_4;
                                                                 |             }
    0x0002b14c cmp r5, 1                                         |             
                                                                 |             if (r5 != 1) {
    0x0002b150 bne 0x2b17c                                       |                 goto label_3;
                                                                 |             }
                                                                 | label_2:
    0x0002b154 mov r4, r5                                        |             r4 = r5;
    0x0002b158 b 0x2b18c                                         |             goto label_5;
                                                                 |         }
    0x0002b15c mov r2, 1                                         |         r2 = 1;
    0x0002b160 mov r1, sl                                        |         r1 = sl;
    0x0002b164 mov r0, r7                                        |         r0 = r7;
    0x0002b168 bl 0x2ad80                                        |         r0 = qp_lookahead_eol ();
    0x0002b16c cmn r0, 1                                         |         
    0x0002b170 beq 0x2b100                                       |         
                                                                 |     }
    0x0002b174 cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x0002b178 beq 0x2b27c                                       |         goto label_6;
                                                                 |     }
                                                                 | label_3:
    0x0002b17c mov r2, 0x3d                                      |     r2 = 0x3d;
    0x0002b180 mov r5, 1                                         |     r5 = 1;
    0x0002b184 mov r4, 3                                         |     r4 = 3;
    0x0002b188 strb r2, [sp, 0xc]                                |     dest = r2;
                                                                 | label_5:
    0x0002b18c add r3, sp, 0x10                                  |     r3 += var_10h;
    0x0002b190 add r2, r3, r4                                    |     r2 = r3 + r4;
    0x0002b194 ldrb r2, [r2, -5]                                 |     r2 = dest;
    0x0002b198 cmp r2, 0xa                                       |     
                                                                 |     if (r2 == 0xa) {
    0x0002b19c beq 0x2b1ec                                       |         goto label_7;
                                                                 |     }
    0x0002b1a0 ldr r2, [r6, 0x5c]                                |     r2 = *((r6 + 0x5c));
    0x0002b1a4 add r2, r4, r2                                    |     r2 = r4 + r2;
    0x0002b1a8 cmp r2, 0x4c                                      |     
                                                                 |     if (r2 > 0x4c) {
    0x0002b1ac bhi 0x2b1d4                                       |         goto label_8;
                                                                 |     }
                                                                 |     if (r2 != 0x4c) {
    0x0002b1b0 bne 0x2b1ec                                       |         goto label_7;
                                                                 |     }
    0x0002b1b4 mov r2, r5                                        |     r2 = r5;
    0x0002b1b8 mov r1, sl                                        |     r1 = sl;
    0x0002b1bc mov r0, r7                                        |     r0 = r7;
    0x0002b1c0 bl 0x2ad80                                        |     r0 = qp_lookahead_eol ();
    0x0002b1c4 cmn r0, 1                                         |     
                                                                 |     if (r0 == 1) {
    0x0002b1c8 beq 0x2b100                                       |         goto label_0;
                                                                 |     }
    0x0002b1cc cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x0002b1d0 bne 0x2b1ec                                       |         
                                                                 | label_8:
    0x0002b1d4 ldr r1, [pc, 0xac]                                |         r1 = *(0x2b284);
    0x0002b1d8 add r0, sp, 0xc                                   |         r0 += dest;
    0x0002b1dc add r1, pc, r1                                    |         r1 = pc + r1;
    0x0002b1e0 bl 0x5c28                                         |         strcpy (r0, r1);
    0x0002b1e4 mov r5, 0                                         |         r5 = 0;
    0x0002b1e8 mov r4, 3                                         |         r4 = 3;
                                                                 |     }
                                                                 | label_7:
    0x0002b1ec cmp sb, r4                                        |     
                                                                 |     if (sb <= r4) {
    0x0002b1f0 blo 0x2b100                                       |         goto label_0;
                                                                 |     }
    0x0002b1f4 mov r2, r4                                        |     r2 = r4;
    0x0002b1f8 mov r0, r8                                        |     r0 = r8;
    0x0002b1fc add r1, sp, 0xc                                   |     r1 += dest;
    0x0002b200 bl 0x4f5c                                         |     memcpy (r0, r1, r2);
    0x0002b204 ldr r3, [sp, 4]                                   |     r3 = var_4h;
    0x0002b208 ldr r2, [r6, 0x5c]                                |     r2 = *((r6 + 0x5c));
    0x0002b20c add r3, r3, r4                                    |     r3 += r4;
    0x0002b210 str r3, [sp, 4]                                   |     var_4h = r3;
    0x0002b214 add r3, sp, 0x10                                  |     r3 += var_10h;
    0x0002b218 add r2, r2, r4                                    |     r2 += r4;
    0x0002b21c add r8, r8, r4                                    |     r8 += r4;
    0x0002b220 sub sb, sb, r4                                    |     sb -= r4;
    0x0002b224 add r4, r3, r4                                    |     r4 = r3 + r4;
    0x0002b228 str r2, [r6, 0x5c]                                |     *((r6 + 0x5c)) = r2;
    0x0002b22c ldrb r2, [r4, -5]                                 |     r2 = dest;
    0x0002b230 cmp r2, 0xa                                       |     
                                                                 |     if (r2 != 0xa) {
    0x0002b234 moveq r2, 0                                       |         r2 = 0;
                                                                 |     }
                                                                 |     if (r2 != 0xa) {
    0x0002b238 streq r2, [r6, 0x5c]                              |         *((r6 + 0x5c)) = r2;
                                                                 |     }
    0x0002b23c ldr r2, [r6, 0x60]                                |     r2 = *((r6 + 0x60));
    0x0002b240 add r5, r2, r5                                    |     r5 = r2 + r5;
    0x0002b244 str r5, [r6, 0x60]                                |     *((r6 + 0x60)) = r5;
    0x0002b248 b 0x2b0f0                                         |     goto label_1;
                                                                 | label_4:
    0x0002b24c mov r2, 0                                         |     r2 = 0;
    0x0002b250 mov r1, sl                                        |     r1 = sl;
    0x0002b254 mov r0, r7                                        |     r0 = r7;
    0x0002b258 bl 0x2ad80                                        |     r0 = qp_lookahead_eol ();
    0x0002b25c cmn r0, 1                                         |     
                                                                 |     if (r0 == 1) {
    0x0002b260 beq 0x2b100                                       |         goto label_0;
                                                                 |     }
    0x0002b264 cmp r0, 1                                         |     
                                                                 |     if (r0 != 1) {
    0x0002b268 moveq r2, 0xa                                     |         r2 = 0xa;
                                                                 |     }
                                                                 |     if (r0 != 1) {
    0x0002b26c strbeq r2, [sp, 0xd]                              |         var_dh = r2;
                                                                 |     }
                                                                 |     if (r0 == 1) {
    0x0002b270 moveq r5, 2                                       |         r5 = 2;
                                                                 |         goto label_9;
                                                                 |     }
                                                                 |     if (r0 == 1) {
                                                                 | label_9:
    0x0002b274 beq 0x2b154                                       |         goto label_2;
                                                                 |     }
    0x0002b278 b 0x2b17c                                         |     goto label_3;
                                                                 | label_6:
    0x0002b27c mov r5, 1                                         |     r5 = 1;
    0x0002b280 b 0x2b154                                         |     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/lib/libcurl.so @ 0x2aa54 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.escape_string ()             | void escape_string (int32_t arg1) {
                                             |     r0 = arg1;
    0x0002aa54 ldr r2, [pc, 0x94]            |     r2 = *(0x2aaec);
    0x0002aa58 push {r4, r5, r6, lr}         |     
    0x0002aa5c mov r3, r0                    |     r3 = r0;
    0x0002aa60 mov r5, r0                    |     r5 = r0;
    0x0002aa64 mov r0, 0                     |     r0 = 0;
    0x0002aa68 add r2, pc, r2                |     r2 = pc + r2;
                                             |     do {
    0x0002aa6c sub r1, r3, r5                |         r1 = r3 - r5;
    0x0002aa70 ldrb r4, [r3], 1              |         r4 = *(r3);
                                             |         r3++;
    0x0002aa74 cmp r4, 0                     |         
                                             |         if (r4 == 0) {
    0x0002aa78 bne 0x2aac0                   |             
    0x0002aa7c ldr r3, [pc, 0x70]            |             
    0x0002aa80 add r0, r0, r1                |             r0 += r1;
    0x0002aa84 ldr r3, [r2, r3]              |             r3 = *((r2 + r3));
    0x0002aa88 add r0, r0, 1                 |             r0++;
    0x0002aa8c ldr r3, [r3]                  |             r3 = *(0x2aaf0);
    0x0002aa90 blx r3                        |             r0 = uint32_t (*r3)(uint32_t, uint32_t) (r0, r3);
    0x0002aa94 cmp r0, 0                     |             
                                             |             if (r0 == 0) {
    0x0002aa98 subne r5, r5, 1               |                 r5--;
                                             |             }
                                             |             if (r0 == 0) {
    0x0002aa9c movne r3, r4                  |                 r3 = r4;
                                             |             }
                                             |             if (r0 == 0) {
    0x0002aaa0 movne ip, 0x5c                |                 
                                             |             }
    0x0002aaa4 popeq {r4, r5, r6, pc}        |             
                                             | label_0:
    0x0002aaa8 ldrb r2, [r5, 1]!             |             r2 = *((r5 += 1));
    0x0002aaac add r1, r0, r3                |             r1 = r0 + r3;
    0x0002aab0 cmp r2, 0                     |             
                                             |             if (r2 != 0) {
    0x0002aab4 bne 0x2aad0                   |                 goto label_1;
                                             |             }
    0x0002aab8 strb r2, [r1]                 |             *(r1) = r2;
    0x0002aabc pop {r4, r5, r6, pc}          |             
                                             |         }
    0x0002aac0 cmp r4, 0x5c                  |         
    0x0002aac4 cmpne r4, 0x22                |         __asm ("cmpne r4, 0x22");
                                             |         if (r4 != 0x5c) {
    0x0002aac8 addeq r0, r0, 1               |             r0++;
                                             |         }
    0x0002aacc b 0x2aa6c                     |         
                                             |     } while (1);
                                             | label_1:
    0x0002aad0 cmp r2, 0x5c                  |     
    0x0002aad4 cmpne r2, 0x22                |     __asm ("cmpne r2, 0x22");
                                             |     if (r2 != 0x5c) {
    0x0002aad8 strbeq ip, [r1]               |         *(r1) = ip;
                                             |     }
    0x0002aadc ldrb r2, [r5]                 |     r2 = *(r5);
                                             |     if (r2 != 0x5c) {
    0x0002aae0 addeq r3, r3, 1               |         r3++;
                                             |     }
    0x0002aae4 strb r2, [r0, r3]             |     *((r0 + r3)) = r2;
    0x0002aae8 add r3, r3, 1                 |     r3++;
    0x0002aaec b 0x2aaa8                     |     goto label_0;
                                             | }
    ; 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/lib/libcurl.so @ 0x17c54 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.find_host_sep ()             | void find_host_sep (int32_t arg1) {
                                             |     r0 = arg1;
    0x00017c54 ldr r1, [pc, 0x6c]            |     r1 = *(0x17cc4);
    0x00017c58 push {r4, r5, r6, lr}         |     
    0x00017c5c add r1, pc, r1                |     r1 = pc + r1;
    0x00017c60 mov r4, r0                    |     r4 = r0;
    0x00017c64 bl 0x5a18                     |     strstr (r0, r1);
    0x00017c68 mov r1, 0x3f                  |     r1 = 0x3f;
    0x00017c6c cmp r0, 0                     |     
                                             |     if (r0 == 0) {
    0x00017c70 addne r5, r0, 2               |         r5 = r0 + 2;
                                             |     }
                                             |     if (r0 != 0) {
    0x00017c74 moveq r5, r4                  |         r5 = r4;
                                             |     }
    0x00017c78 mov r0, r5                    |     r0 = r5;
    0x00017c7c bl 0x5b38                     |     strchr (r0, r1);
    0x00017c80 mov r1, 0x2f                  |     r1 = 0x2f;
    0x00017c84 mov r6, r0                    |     r6 = r0;
    0x00017c88 mov r0, r5                    |     r0 = r5;
    0x00017c8c bl 0x5b38                     |     r0 = strchr (r0, r1);
    0x00017c90 subs r5, r0, 0                |     r5 = r0 - 0;
                                             |     if (r5 == r0) {
    0x00017c94 bne 0x17ca4                   |         
    0x00017c98 mov r0, r4                    |         r0 = r4;
    0x00017c9c bl 0x5250                     |         r0 = strlen (r0);
    0x00017ca0 add r5, r4, r0                |         r5 = r4 + r0;
                                             |     }
    0x00017ca4 cmp r6, 0                     |     
                                             |     if (r6 == 0) {
    0x00017ca8 bne 0x17cb8                   |         
    0x00017cac mov r0, r4                    |         r0 = r4;
    0x00017cb0 bl 0x5250                     |         r0 = strlen (r0);
    0x00017cb4 add r6, r4, r0                |         r6 = r4 + r0;
                                             |     }
    0x00017cb8 cmp r5, r6                    |     
                                             |     if (r5 >= r6) {
    0x00017cbc movlo r0, r5                  |         r0 = r5;
                                             |     }
                                             |     if (r5 < r6) {
    0x00017cc0 movhs r0, r6                  |         r0 = r6;
                                             |     }
    0x00017cc4 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/lib/libcurl.so @ 0x20ca4 */
                                                                 | #include <stdint.h>
                                                                 |  
    ; (fcn) sym.gzip_unencode_write ()                           | void gzip_unencode_write (int32_t arg1, int32_t arg2) {
                                                                 |     int32_t var_4h;
                                                                 |     int32_t var_8h;
                                                                 |     r0 = arg1;
                                                                 |     r1 = arg2;
    0x00020ca4 push {r0, r1, r4, r5, r6, r7, r8, sb, sl, lr}     |     
    0x00020ca8 ldr sl, [pc, 0x1fc]                               |     sl = *(0x20ea8);
    0x00020cac mov r6, r2                                        |     r6 = r2;
    0x00020cb0 ldr r2, [r1, 8]                                   |     r2 = *((r1 + 8));
    0x00020cb4 add sl, pc, sl                                    |     sl = pc + sl;
    0x00020cb8 cmp r2, 6                                         |     
    0x00020cbc mov r4, r1                                        |     r4 = r1;
    0x00020cc0 mov r5, r3                                        |     r5 = r3;
                                                                 |     if (r2 != 6) {
    0x00020cc4 streq r6, [r1, 0x10]                              |         *((r1 + 0x10)) = r6;
                                                                 |     }
                                                                 |     if (r2 != 6) {
    0x00020cc8 streq r3, [r1, 0x14]                              |         *((r1 + 0x14)) = r3;
                                                                 |     }
                                                                 |     if (r2 == 6) {
    0x00020ccc beq 0x20d98                                       |         goto label_5;
                                                                 |     }
    0x00020cd0 add r8, r1, 8                                     |     r8 = r1 + 8;
    0x00020cd4 cmp r2, 3                                         |     
    0x00020cd8 mov r7, r0                                        |     r7 = r0;
    0x00020cdc add sb, r8, 8                                     |     sb = r8 + 8;
                                                                 |     if (r2 == 3) {
    0x00020ce0 beq 0x20de8                                       |         goto label_6;
                                                                 |     }
    0x00020ce4 cmp r2, 4                                         |     
                                                                 |     if (r2 == 4) {
    0x00020ce8 beq 0x20e98                                       |         goto label_7;
                                                                 |     }
    0x00020cec cmp r2, 1                                         |     
                                                                 |     if (r2 == 1) {
    0x00020cf0 strne r6, [r1, 0x10]                              |         *((r1 + 0x10)) = r6;
                                                                 |     }
                                                                 |     if (r2 == 1) {
    0x00020cf4 strne r3, [r1, 0x14]                              |         *((r1 + 0x14)) = r3;
                                                                 |     }
                                                                 |     if (r2 != 1) {
    0x00020cf8 bne 0x20d80                                       |         goto label_8;
                                                                 |     }
    0x00020cfc cmp r3, 9                                         |     
                                                                 |     if (r3 <= 9) {
    0x00020d00 ble 0x20da0                                       |         goto label_9;
                                                                 |     }
    0x00020d04 ldrb r3, [r6]                                     |     r3 = *(r6);
    0x00020d08 cmp r3, 0x1f                                      |     
                                                                 |     if (r3 == 0x1f) {
    0x00020d0c bne 0x20d3c                                       |         
    0x00020d10 ldrb r3, [r6, 1]                                  |         r3 = *((r6 + 1));
    0x00020d14 cmp r3, 0x8b                                      |         
                                                                 |         if (r3 != 0x8b) {
    0x00020d18 bne 0x20d3c                                       |             goto label_3;
                                                                 |         }
    0x00020d1c add r2, sp, 4                                     |         r2 += var_4h;
    0x00020d20 mov r1, r5                                        |         r1 = r5;
    0x00020d24 mov r0, r6                                        |         r0 = r6;
    0x00020d28 bl 0x2052c                                        |         r0 = check_gzip_header_part_0 ();
    0x00020d2c cmp r0, 0                                         |         
                                                                 |         if (r0 == 0) {
    0x00020d30 beq 0x20d64                                       |             goto label_10;
                                                                 |         }
    0x00020d34 cmp r0, 2                                         |         
                                                                 |         if (r0 == 2) {
    0x00020d38 beq 0x20da0                                       |             goto label_9;
                                                                 |         }
                                                                 |     }
                                                                 | label_3:
    0x00020d3c ldr r1, [r4, 0x28]                                |     r1 = *((r4 + 0x28));
    0x00020d40 ldr r0, [r7]                                      |     r0 = *(r7);
    0x00020d44 bl 0x2060c                                        |     r0 = process_zlib_error_isra_1 ();
    0x00020d48 mov r3, r0                                        |     r3 = r0;
                                                                 | label_1:
    0x00020d4c mov r2, r8                                        |     r2 = r8;
    0x00020d50 mov r1, sb                                        |     r1 = sb;
    0x00020d54 mov r0, r7                                        |     r0 = r7;
    0x00020d58 bl 0x20710                                        |     exit_zlib ();
                                                                 |     do {
                                                                 | label_0:
    0x00020d5c add sp, sp, 8                                     |         
    0x00020d60 pop {r4, r5, r6, r7, r8, sb, sl, pc}              |         
                                                                 | label_10:
    0x00020d64 ldr r3, [sp, 4]                                   |         r3 = var_4h;
    0x00020d68 add r1, r6, r3                                    |         r1 = r6 + r3;
    0x00020d6c sub r3, r5, r3                                    |         r3 = r5 - r3;
    0x00020d70 str r1, [r4, 0x10]                                |         *((r4 + 0x10)) = r1;
                                                                 | label_4:
    0x00020d74 str r3, [r4, 0x14]                                |         *((r4 + 0x14)) = r3;
    0x00020d78 mov r3, 5                                         |         r3 = 5;
    0x00020d7c str r3, [r4, 8]                                   |         *((r4 + 8)) = r3;
                                                                 | label_8:
    0x00020d80 ldr r0, [r4, 0x14]                                |         r0 = *((r4 + 0x14));
    0x00020d84 cmp r0, 0                                         |         
    0x00020d88 beq 0x20d5c                                       |         
                                                                 |     } while (r0 == 0);
    0x00020d8c mov r2, 5                                         |     r2 = 5;
    0x00020d90 mov r1, r4                                        |     r1 = r4;
    0x00020d94 mov r0, r7                                        |     r0 = r7;
                                                                 | label_5:
    0x00020d98 bl 0x20a98                                        |     inflate_stream ();
    0x00020d9c b 0x20d5c                                         |     goto label_0;
                                                                 | label_9:
    0x00020da0 ldr r3, [pc, 0x108]                               |     
    0x00020da4 str r5, [r4, 0x14]                                |     *((r4 + 0x14)) = r5;
    0x00020da8 ldr r3, [sl, r3]                                  |     r3 = *((sl + r3));
    0x00020dac mov r0, r5                                        |     r0 = r5;
    0x00020db0 ldr r3, [r3]                                      |     r3 = *(0x20eac);
    0x00020db4 blx r3                                            |     r0 = uint32_t (*r3)(uint32_t, uint32_t) (r0, r3);
    0x00020db8 cmp r0, 0                                         |     
    0x00020dbc str r0, [r4, 0x10]                                |     *((r4 + 0x10)) = r0;
    0x00020dc0 bne 0x20dcc                                       |     
                                                                 |     while (r0 == 0) {
    0x00020dc4 mov r3, 0x1b                                      |         r3 = 0x1b;
    0x00020dc8 b 0x20d4c                                         |         goto label_1;
    0x00020dcc ldr r2, [r4, 0x14]                                |         r2 = *((r4 + 0x14));
    0x00020dd0 mov r1, r6                                        |         r1 = r6;
    0x00020dd4 bl 0x4f5c                                         |         memcpy (r0, r1, r2);
    0x00020dd8 mov r3, 3                                         |         r3 = 3;
    0x00020ddc str r3, [r4, 8]                                   |         *((r4 + 8)) = r3;
                                                                 | label_2:
    0x00020de0 mov r0, 0                                         |         r0 = 0;
    0x00020de4 b 0x20d5c                                         |         goto label_0;
                                                                 | label_6:
    0x00020de8 ldr r1, [r1, 0x14]                                |         r1 = *((r1 + 0x14));
    0x00020dec ldr r0, [r4, 0x10]                                |         r0 = *((r4 + 0x10));
    0x00020df0 add r1, r3, r1                                    |         r1 = r3 + r1;
    0x00020df4 str r1, [r4, 0x14]                                |         *((r4 + 0x14)) = r1;
    0x00020df8 bl 0x23998                                        |         r0 = Curl_saferealloc ();
    0x00020dfc cmp r0, 0                                         |         
    0x00020e00 str r0, [r4, 0x10]                                |         *((r4 + 0x10)) = r0;
    0x00020e04 beq 0x20dc4                                       |         
                                                                 |     }
    0x00020e08 ldr r3, [r4, 0x14]                                |     r3 = *((r4 + 0x14));
    0x00020e0c mov r1, r6                                        |     r1 = r6;
    0x00020e10 sub r3, r3, r5                                    |     r3 -= r5;
    0x00020e14 mov r2, r5                                        |     r2 = r5;
    0x00020e18 add r0, r0, r3                                    |     r0 += r3;
    0x00020e1c bl 0x4f5c                                         |     memcpy (r0, r1, r2);
    0x00020e20 ldr r1, [r4, 0x14]                                |     r1 = *((r4 + 0x14));
    0x00020e24 cmp r1, 9                                         |     
                                                                 |     if (r1 <= 9) {
    0x00020e28 ble 0x20de0                                       |         goto label_2;
                                                                 |     }
    0x00020e2c ldr r0, [r4, 0x10]                                |     r0 = *((r4 + 0x10));
    0x00020e30 ldrb r3, [r0]                                     |     r3 = *(r0);
    0x00020e34 cmp r3, 0x1f                                      |     
                                                                 |     if (r3 != 0x1f) {
    0x00020e38 bne 0x20d3c                                       |         goto label_3;
                                                                 |     }
    0x00020e3c ldrb r3, [r0, 1]                                  |     r3 = *((r0 + 1));
    0x00020e40 cmp r3, 0x8b                                      |     
                                                                 |     if (r3 != 0x8b) {
    0x00020e44 bne 0x20d3c                                       |         goto label_3;
                                                                 |     }
    0x00020e48 add r2, sp, 4                                     |     r2 += var_4h;
    0x00020e4c bl 0x2052c                                        |     r0 = check_gzip_header_part_0 ();
    0x00020e50 cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x00020e54 beq 0x20e64                                       |         goto label_11;
                                                                 |     }
    0x00020e58 cmp r0, 2                                         |     
                                                                 |     if (r0 == 2) {
    0x00020e5c beq 0x20de0                                       |         goto label_2;
                                                                 |     }
    0x00020e60 b 0x20d3c                                         |     goto label_3;
                                                                 | label_11:
    0x00020e64 ldr r3, [pc, 0x48]                                |     
    0x00020e68 ldr r0, [r4, 0x10]                                |     r0 = *((r4 + 0x10));
    0x00020e6c ldr r3, [sl, r3]                                  |     r3 = *((sl + r3));
    0x00020e70 ldr r3, [r3]                                      |     r3 = *(0x20eb0);
    0x00020e74 blx r3                                            |     uint32_t (*r3)(uint32_t, uint32_t) (r0, r3);
    0x00020e78 ldr r2, [sp, 4]                                   |     r2 = var_4h;
    0x00020e7c ldr r3, [r4, 0x14]                                |     r3 = *((r4 + 0x14));
    0x00020e80 add r1, r2, r5                                    |     r1 = r2 + r5;
    0x00020e84 sub r1, r1, r3                                    |     r1 -= r3;
    0x00020e88 add r1, r6, r1                                    |     r1 = r6 + r1;
    0x00020e8c str r1, [r4, 0x10]                                |     *((r4 + 0x10)) = r1;
    0x00020e90 sub r3, r3, r2                                    |     r3 -= r2;
    0x00020e94 b 0x20d74                                         |     goto label_4;
                                                                 | label_7:
    0x00020e98 str r6, [r1, 0x10]                                |     *((r1 + 0x10)) = r6;
    0x00020e9c str r3, [r4, 0x14]                                |     *((r4 + 0x14)) = r3;
    0x00020ea0 mov r1, r8                                        |     r1 = r8;
    0x00020ea4 bl 0x207ac                                        |     process_trailer ();
    0x00020ea8 b 0x20d5c                                         |     goto label_0;
                                                                 | }
    ; 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/lib/libcurl.so @ 0xbaf8 */
                                                     | #include <stdint.h>
                                                     |  
    ; (fcn) sym.header_append ()                     | void header_append (int32_t arg1, int32_t arg2) {
                                                     |     r0 = arg1;
                                                     |     r1 = arg2;
    0x0000baf8 push {r4, r5, r6, r7, r8, lr}         |     
    0x0000bafc ldr r3, [pc, 0xd4]                    |     r3 = *(0xbbd4);
    0x0000bb00 mov r6, r2                            |     r6 = r2;
    0x0000bb04 ldr r2, [r1, 0x58]                    |     r2 = *((r1 + 0x58));
    0x0000bb08 add r3, pc, r3                        |     r3 = pc + r3;
    0x0000bb0c add r2, r6, r2                        |     r2 = r6 + r2;
    0x0000bb10 cmp r2, 0x19000                       |     
                                                     |     if (r2 < 0x19000) {
    0x0000bb14 bls 0xbb30                            |         goto label_0;
                                                     |     }
    0x0000bb18 ldr r1, [pc, 0xbc]                    |     r1 = *(0xbbd8);
    0x0000bb1c mov r3, 0x19000                       |     r3 = 0x19000;
    0x0000bb20 add r1, pc, r1                        |     r1 = pc + r1;
    0x0000bb24 bl 0x10544                            |     Curl_failf ();
                                                     |     do {
    0x0000bb28 mov r0, 0x1b                          |         r0 = 0x1b;
    0x0000bb2c pop {r4, r5, r6, r7, r8, pc}          |         
                                                     | label_0:
    0x0000bb30 ldr r5, [r0, 0x7c8]                   |         r5 = *((r0 + 0x7c8));
    0x0000bb34 mov r7, r0                            |         r7 = r0;
    0x0000bb38 cmp r5, r2                            |         
    0x0000bb3c mov r4, r1                            |         r4 = r1;
    0x0000bb40 ldr r8, [r1, 0x54]                    |         r8 = *((r1 + 0x54));
                                                     |         if (r5 > r2) {
    0x0000bb44 bhi 0xbba4                            |             goto label_1;
                                                     |         }
    0x0000bb48 add r2, r2, r2, lsl 1                 |         r2 += (r2 << 1);
    0x0000bb4c lsr r2, r2, 1                         |         r2 >>= 1;
    0x0000bb50 lsl r5, r5, 1                         |         r5 <<= 1;
    0x0000bb54 cmp r5, r2                            |         
                                                     |         if (r5 >= r2) {
    0x0000bb58 movlo r5, r2                          |             r5 = r2;
                                                     |         }
    0x0000bb5c ldr r2, [pc, 0x7c]                    |         r2 = *(0xbbdc);
    0x0000bb60 ldr r0, [r0, 0x7c4]                   |         r0 = *((r0 + 0x7c4));
    0x0000bb64 ldr r3, [r3, r2]                      |         r3 = *((r3 + r2));
    0x0000bb68 mov r1, r5                            |         r1 = r5;
    0x0000bb6c ldr r3, [r3]                          |         r3 = *(r3);
    0x0000bb70 sub r8, r8, r0                        |         r8 -= r0;
    0x0000bb74 blx r3                                |         r0 = uint32_t (*r3)(uint32_t, uint32_t, uint32_t, uint32_t) (r0, r1, r2, r3);
    0x0000bb78 cmp r0, 0                             |         
                                                     |         if (r0 != 0) {
    0x0000bb7c bne 0xbb94                            |             goto label_2;
                                                     |         }
    0x0000bb80 ldr r1, [pc, 0x5c]                    |         r1 = *(0xbbe0);
    0x0000bb84 mov r0, r7                            |         r0 = r7;
    0x0000bb88 add r1, pc, r1                        |         r1 = pc + r1;
    0x0000bb8c bl 0x10544                            |         Curl_failf ();
    0x0000bb90 b 0xbb28                              |         
                                                     |     } while (1);
                                                     | label_2:
    0x0000bb94 str r0, [r7, 0x7c4]                   |     *((r7 + 0x7c4)) = r0;
    0x0000bb98 add r0, r0, r8                        |     r0 += r8;
    0x0000bb9c str r5, [r7, 0x7c8]                   |     *((r7 + 0x7c8)) = r5;
    0x0000bba0 str r0, [r4, 0x54]                    |     *((r4 + 0x54)) = r0;
                                                     | label_1:
    0x0000bba4 mov r2, r6                            |     r2 = r6;
    0x0000bba8 ldr r1, [r4, 0x60]                    |     r1 = *((r4 + 0x60));
    0x0000bbac ldr r0, [r4, 0x54]                    |     r0 = *((r4 + 0x54));
    0x0000bbb0 bl 0x4f5c                             |     memcpy (r0, r1, r2);
    0x0000bbb4 ldr r2, [r4, 0x54]                    |     r2 = *((r4 + 0x54));
    0x0000bbb8 mov r0, 0                             |     r0 = 0;
    0x0000bbbc add r3, r2, r6                        |     r3 = r2 + r6;
    0x0000bbc0 str r3, [r4, 0x54]                    |     *((r4 + 0x54)) = r3;
    0x0000bbc4 ldr r3, [r4, 0x58]                    |     r3 = *((r4 + 0x58));
    0x0000bbc8 add r3, r3, r6                        |     r3 += r6;
    0x0000bbcc str r3, [r4, 0x58]                    |     *((r4 + 0x58)) = r3;
    0x0000bbd0 strb r0, [r2, r6]                     |     *((r2 + r6)) = r0;
    0x0000bbd4 pop {r4, r5, r6, r7, r8, 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/lib/libcurl.so @ 0x1ab00 */
                                                                 | #include <stdint.h>
                                                                 |  
    ; (fcn) sym.loop ()                                          | void loop (int32_t arg1, int32_t arg2) {
                                                                 |     int32_t var_4h;
                                                                 |     int32_t var_8h;
                                                                 |     char * s1;
                                                                 |     int32_t var_4h_2;
                                                                 |     int16_t var_8h_2;
                                                                 |     void * s;
                                                                 |     int32_t var_73h;
                                                                 |     int32_t var_74h;
                                                                 |     int32_t var_75h;
                                                                 |     int8_t var_110h;
                                                                 |     size_t nmeb;
                                                                 |     int32_t var_119h;
                                                                 |     int32_t var_11ah;
                                                                 |     int32_t var_11bh;
                                                                 |     int32_t var_11ch;
                                                                 |     int32_t var_11dh;
                                                                 |     int32_t var_11eh;
                                                                 |     int32_t var_11fh;
                                                                 |     int32_t var_120h;
                                                                 |     int32_t var_121h;
                                                                 |     int32_t var_122h;
                                                                 |     int32_t var_128h;
                                                                 |     int32_t var_12ch;
                                                                 |     r0 = arg1;
                                                                 |     r1 = arg2;
    0x0001ab00 push {r4, r5, r6, r7, r8, sb, sl, fp, lr}         |     
    0x0001ab04 sub sp, sp, 0x12c                                 |     
    0x0001ab08 add r7, sp, 0x18                                  |     r7 += s;
    0x0001ab0c mov r4, r0                                        |     r4 = r0;
    0x0001ab10 mov r5, r1                                        |     r5 = r1;
    0x0001ab14 mov r6, r2                                        |     r6 = r2;
    0x0001ab18 mov r1, 0                                         |     r1 = 0;
    0x0001ab1c ldr r2, [pc, 0x584]                               |     r2 = *(0x1b0a4);
    0x0001ab20 mov r0, r7                                        |     r0 = r7;
    0x0001ab24 bl 0x576c                                         |     memset (r0, r1, r2);
    0x0001ab28 mov r8, 0                                         |     r8 = 0;
                                                                 | label_4:
    0x0001ab2c ldrb r2, [r4]                                     |     r2 = *(r4);
    0x0001ab30 mov r3, r5                                        |     r3 = r5;
    0x0001ab34 cmp r2, 0x3f                                      |     
                                                                 |     if (r2 == 0x3f) {
    0x0001ab38 beq 0x1ac18                                       |         goto label_15;
                                                                 |     }
                                                                 |     if (r2 > 0x3f) {
    0x0001ab3c bhi 0x1ab5c                                       |         goto label_16;
                                                                 |     }
    0x0001ab40 cmp r2, 0                                         |     
                                                                 |     if (r2 == 0) {
    0x0001ab44 beq 0x1ac34                                       |         goto label_17;
                                                                 |     }
    0x0001ab48 cmp r2, 0x2a                                      |     
                                                                 |     if (r2 == 0x2a) {
    0x0001ab4c beq 0x1ab94                                       |         goto label_18;
                                                                 |     }
                                                                 |     do {
    0x0001ab50 add r3, r4, 1                                     |         r3 = r4 + 1;
    0x0001ab54 ldrb r1, [r5]                                     |         r1 = *(r5);
    0x0001ab58 b 0x1ab88                                         |         goto label_19;
                                                                 | label_16:
    0x0001ab5c cmp r2, 0x5b                                      |         
    0x0001ab60 add r3, r4, 1                                     |         r3 = r4 + 1;
                                                                 |         if (r2 == 0x5b) {
    0x0001ab64 beq 0x1ac44                                       |             goto label_20;
                                                                 |         }
    0x0001ab68 cmp r2, 0x5c                                      |         
    0x0001ab6c bne 0x1ab50                                       |         
                                                                 |     } while (r2 != 0x5c);
    0x0001ab70 ldrb r2, [r4, 1]                                  |     r2 = *((r4 + 1));
    0x0001ab74 ldrb r1, [r5]                                     |     r1 = *(r5);
    0x0001ab78 cmp r2, 0                                         |     
                                                                 |     if (r2 == 0) {
    0x0001ab7c movne r4, r3                                      |         r4 = r3;
                                                                 |     }
    0x0001ab80 ldrb r2, [r4]                                     |     r2 = *(r4);
    0x0001ab84 add r3, r4, 1                                     |     r3 = r4 + 1;
                                                                 | label_19:
    0x0001ab88 cmp r1, r2                                        |     
                                                                 |     if (r1 == r2) {
    0x0001ab8c beq 0x1ac28                                       |         goto label_14;
                                                                 |     }
    0x0001ab90 b 0x1abf8                                         |     goto label_3;
                                                                 | label_18:
    0x0001ab94 cmp r6, 0                                         |     
                                                                 |     if (r6 == 0) {
    0x0001ab98 beq 0x1abf8                                       |         goto label_3;
                                                                 |     }
                                                                 |     do {
                                                                 | label_0:
    0x0001ab9c ldrb r2, [r4, 1]!                                 |         r2 = *((r4 += 1));
    0x0001aba0 cmp r2, 0                                         |         
                                                                 |         if (r2 == 0) {
    0x0001aba4 bne 0x1abb4                                       |             
                                                                 | label_2:
    0x0001aba8 mov r0, 0                                         |             r0 = 0;
                                                                 | label_1:
    0x0001abac add sp, sp, 0x12c                                 |             
    0x0001abb0 pop {r4, r5, r6, r7, r8, sb, sl, fp, pc}          |             
                                                                 |         }
    0x0001abb4 cmp r2, 0x3f                                      |         
                                                                 |         if (r2 != 0x3f) {
    0x0001abb8 bne 0x1abd4                                       |             goto label_21;
                                                                 |         }
    0x0001abbc add r2, r3, 1                                     |         r2 = r3 + 1;
    0x0001abc0 ldrb r3, [r3]                                     |         r3 = *(r3);
    0x0001abc4 cmp r3, 0                                         |         
                                                                 |         if (r3 == 0) {
    0x0001abc8 beq 0x1abf8                                       |             goto label_3;
                                                                 |         }
    0x0001abcc mov r3, r2                                        |         r3 = r2;
    0x0001abd0 b 0x1ab9c                                         |         
                                                                 |     } while (1);
                                                                 | label_21:
    0x0001abd4 cmp r2, 0x2a                                      |     
                                                                 |     if (r2 == 0x2a) {
    0x0001abd8 beq 0x1ab9c                                       |         goto label_0;
                                                                 |     }
    0x0001abdc sub r6, r6, 1                                     |     r6--;
    0x0001abe0 mov r5, r3                                        |     r5 = r3;
                                                                 |     do {
    0x0001abe4 mov r1, r5                                        |         r1 = r5;
    0x0001abe8 ldrb r3, [r1]                                     |         r3 = *(r1);
    0x0001abec add r5, r5, 1                                     |         r5++;
    0x0001abf0 cmp r3, 0                                         |         
                                                                 |         if (r3 == 0) {
    0x0001abf4 bne 0x1ac00                                       |             
                                                                 | label_3:
    0x0001abf8 mov r0, 1                                         |             r0 = 1;
    0x0001abfc b 0x1abac                                         |             goto label_1;
                                                                 |         }
    0x0001ac00 mov r2, r6                                        |         r2 = r6;
    0x0001ac04 mov r0, r4                                        |         r0 = r4;
    0x0001ac08 bl 0x1ab00                                        |         r0 = loop ();
    0x0001ac0c cmp r0, 0                                         |         
    0x0001ac10 bne 0x1abe4                                       |         
                                                                 |     } while (r0 != 0);
    0x0001ac14 b 0x1aba8                                         |     goto label_2;
                                                                 | label_15:
    0x0001ac18 ldrb r3, [r5]                                     |     r3 = *(r5);
    0x0001ac1c cmp r3, 0                                         |     
                                                                 |     if (r3 == 0) {
    0x0001ac20 beq 0x1abf8                                       |         goto label_3;
                                                                 |     }
    0x0001ac24 add r3, r4, 1                                     |     r3 = r4 + 1;
                                                                 | label_14:
    0x0001ac28 add r5, r5, 1                                     |     r5++;
    0x0001ac2c mov r4, r3                                        |     r4 = r3;
    0x0001ac30 b 0x1ab2c                                         |     goto label_4;
                                                                 | label_17:
    0x0001ac34 ldrb r0, [r5]                                     |     r0 = *(r5);
    0x0001ac38 adds r0, r0, 0                                    |     r0 += 0;
                                                                 |     if (r0 == r0) {
    0x0001ac3c movne r0, 1                                       |         r0 = 1;
                                                                 |     }
    0x0001ac40 b 0x1abac                                         |     goto label_1;
                                                                 | label_20:
    0x0001ac44 ldr r2, [pc, 0x45c]                               |     r2 = *(0x1b0a4);
    0x0001ac48 mov r1, 0                                         |     r1 = 0;
    0x0001ac4c mov r0, r7                                        |     r0 = r7;
    0x0001ac50 str r3, [sp, 8]                                   |     var_8h = r3;
    0x0001ac54 bl 0x576c                                         |     memset (r0, r1, r2);
    0x0001ac58 mov sl, 0                                         |     sl = 0;
                                                                 | label_6:
    0x0001ac5c mov sb, sl                                        |     sb = sl;
                                                                 | label_7:
    0x0001ac60 ldr r3, [sp, 8]                                   |     r3 = var_8h;
    0x0001ac64 ldrb r4, [r3]                                     |     r4 = *(r3);
                                                                 | label_5:
    0x0001ac68 cmp r4, 0                                         |     
                                                                 |     if (r4 == 0) {
    0x0001ac6c beq 0x1abf8                                       |         goto label_3;
                                                                 |     }
    0x0001ac70 cmp sb, 1                                         |     
                                                                 |     if (sb == 1) {
    0x0001ac74 beq 0x1af3c                                       |         goto label_22;
                                                                 |     }
                                                                 |     if (sb <= 1) {
    0x0001ac78 blo 0x1aca4                                       |         goto label_23;
                                                                 |     }
    0x0001ac7c cmp sb, 2                                         |     
                                                                 |     if (sb != 2) {
    0x0001ac80 bne 0x1ac68                                       |         goto label_5;
                                                                 |     }
    0x0001ac84 cmp r4, 0x5d                                      |     
                                                                 |     if (r4 == 0x5d) {
    0x0001ac88 beq 0x1b050                                       |         goto label_24;
                                                                 |     }
    0x0001ac8c add r2, sp, 0x128                                 |     r2 += var_128h;
    0x0001ac90 add r4, r2, r4                                    |     r4 = r2 + r4;
    0x0001ac94 mov r2, 1                                         |     r2 = 1;
    0x0001ac98 strb r2, [r4, -0x110]                             |     var_110h = r2;
    0x0001ac9c add r3, r3, r2                                    |     r3 += r2;
    0x0001aca0 b 0x1af80                                         |     goto label_25;
                                                                 | label_23:
    0x0001aca4 cmp r4, 0x5d                                      |     
                                                                 |     if (r4 == 0x5d) {
    0x0001aca8 bne 0x1acc8                                       |         
    0x0001acac cmp sl, 0                                         |         
                                                                 |         if (sl != 0) {
    0x0001acb0 bne 0x1b050                                       |             goto label_24;
                                                                 |         }
    0x0001acb4 mov sl, 1                                         |         sl = 1;
    0x0001acb8 add r3, r3, sl                                    |         r3 += sl;
    0x0001acbc strb sl, [sp, 0x75]                               |         var_75h = sl;
    0x0001acc0 str r3, [sp, 8]                                   |         var_8h = r3;
    0x0001acc4 b 0x1ac5c                                         |         goto label_6;
                                                                 |     }
    0x0001acc8 cmp r4, 0x5b                                      |     
                                                                 |     if (r4 != 0x5b) {
    0x0001accc bne 0x1aeb8                                       |         goto label_26;
                                                                 |     }
    0x0001acd0 ldrb r2, [r3, 1]                                  |     r2 = *((r3 + 1));
    0x0001acd4 cmp r2, 0x3a                                      |     
                                                                 |     if (r2 != 0x3a) {
    0x0001acd8 bne 0x1ad34                                       |         goto label_9;
                                                                 |     }
    0x0001acdc add r4, r3, 2                                     |     r4 = r3 + 2;
    0x0001ace0 mov r3, 0                                         |     r3 = 0;
    0x0001ace4 add sl, sp, 0xc                                   |     sl += s1;
    0x0001ace8 mov fp, r3                                        |     
    0x0001acec str r8, [sp, 0xc]                                 |     s1 = r8;
    0x0001acf0 str r8, [sl, 4]                                   |     var_4h_2 = r8;
    0x0001acf4 strh r8, [sl, 8]                                  |     var_8h_2 = r8;
                                                                 | label_8:
    0x0001acf8 cmp fp, 0xa                                       |     
    0x0001acfc ldrb r2, [r4], 1                                  |     r2 = *(r4);
                                                                 |     r4++;
                                                                 |     if (fp == 0xa) {
    0x0001ad00 beq 0x1ad34                                       |         goto label_9;
                                                                 |     }
    0x0001ad04 cmp r3, 1                                         |     
                                                                 |     if (r3 == 1) {
    0x0001ad08 beq 0x1ad4c                                       |         goto label_27;
                                                                 |     }
    0x0001ad0c mov r0, r2                                        |     r0 = r2;
    0x0001ad10 str r2, [sp, 4]                                   |     var_4h = r2;
    0x0001ad14 bl 0x2f9ec                                        |     Curl_islower ();
    0x0001ad18 ldr r2, [sp, 4]                                   |     r2 = var_4h;
    0x0001ad1c cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x0001ad20 strbne r2, [sl, fp]                               |         *((sl + fp)) = r2;
                                                                 |     }
                                                                 |     if (r0 == 0) {
    0x0001ad24 movne r3, 0                                       |         r3 = 0;
                                                                 |     }
                                                                 |     if (r0 != 0) {
    0x0001ad28 bne 0x1ad54                                       |         goto label_28;
                                                                 |     }
    0x0001ad2c cmp r2, 0x3a                                      |     
                                                                 |     if (r2 == 0x3a) {
    0x0001ad30 beq 0x1aeb0                                       |         goto label_29;
                                                                 |     }
                                                                 |     do {
                                                                 | label_9:
    0x0001ad34 ldr r3, [sp, 8]                                   |         r3 = var_8h;
    0x0001ad38 mov sl, 1                                         |         sl = 1;
    0x0001ad3c add r3, r3, sl                                    |         r3 += sl;
    0x0001ad40 strb sl, [sp, 0x73]                               |         var_73h = sl;
                                                                 | label_11:
    0x0001ad44 str r3, [sp, 8]                                   |         var_8h = r3;
    0x0001ad48 b 0x1ac60                                         |         goto label_7;
                                                                 | label_27:
    0x0001ad4c cmp r2, 0x5d                                      |         
    0x0001ad50 bne 0x1ad34                                       |         
                                                                 |     } while (r2 != 0x5d);
                                                                 | label_28:
    0x0001ad54 mov r0, r3                                        |     r0 = r3;
                                                                 | label_10:
    0x0001ad58 cmp r0, 0                                         |     
    0x0001ad5c add fp, fp, 1                                     |     
                                                                 |     if (r0 == 0) {
    0x0001ad60 beq 0x1acf8                                       |         goto label_8;
                                                                 |     }
    0x0001ad64 ldr r1, [pc, 0x340]                               |     r1 = *(0x1b0a8);
    0x0001ad68 mov r0, sl                                        |     r0 = sl;
    0x0001ad6c add r1, pc, r1                                    |     r1 = pc + r1;
    0x0001ad70 bl 0x5a30                                         |     r0 = strcmp (r0, r1);
    0x0001ad74 cmp r0, 0                                         |     
                                                                 |     if (r0 != 0) {
    0x0001ad78 moveq r3, 1                                       |         r3 = 1;
                                                                 |     }
                                                                 |     if (r0 != 0) {
    0x0001ad7c strbeq r3, [sp, 0x11a]                            |         var_11ah = r3;
                                                                 |     }
                                                                 |     if (r0 == 0) {
    0x0001ad80 beq 0x1aea4                                       |         goto label_30;
                                                                 |     }
    0x0001ad84 ldr r1, [pc, 0x324]                               |     r1 = *(0x1b0ac);
    0x0001ad88 mov r0, sl                                        |     r0 = sl;
    0x0001ad8c add r1, pc, r1                                    |     r1 = pc + r1;
    0x0001ad90 bl 0x5a30                                         |     r0 = strcmp (r0, r1);
    0x0001ad94 cmp r0, 0                                         |     
                                                                 |     if (r0 != 0) {
    0x0001ad98 moveq r3, 1                                       |         r3 = 1;
                                                                 |     }
                                                                 |     if (r0 != 0) {
    0x0001ad9c strbeq r3, [sp, 0x119]                            |         var_119h = r3;
                                                                 |     }
                                                                 |     if (r0 == 0) {
    0x0001ada0 beq 0x1aea4                                       |         goto label_30;
                                                                 |     }
    0x0001ada4 ldr r1, [pc, 0x308]                               |     r1 = *(0x1b0b0);
    0x0001ada8 mov r0, sl                                        |     r0 = sl;
    0x0001adac add r1, pc, r1                                    |     r1 = pc + r1;
    0x0001adb0 bl 0x5a30                                         |     r0 = strcmp (r0, r1);
    0x0001adb4 cmp r0, 0                                         |     
                                                                 |     if (r0 != 0) {
    0x0001adb8 moveq r3, 1                                       |         r3 = 1;
                                                                 |     }
                                                                 |     if (r0 != 0) {
    0x0001adbc strbeq r3, [sp, 0x11c]                            |         var_11ch = r3;
                                                                 |     }
                                                                 |     if (r0 == 0) {
    0x0001adc0 beq 0x1aea4                                       |         goto label_30;
                                                                 |     }
    0x0001adc4 ldr r1, [pc, 0x2ec]                               |     r1 = *(0x1b0b4);
    0x0001adc8 mov r0, sl                                        |     r0 = sl;
    0x0001adcc add r1, pc, r1                                    |     r1 = pc + r1;
    0x0001add0 bl 0x5a30                                         |     r0 = strcmp (r0, r1);
    0x0001add4 cmp r0, 0                                         |     
                                                                 |     if (r0 != 0) {
    0x0001add8 moveq r3, 1                                       |         r3 = 1;
                                                                 |     }
                                                                 |     if (r0 != 0) {
    0x0001addc strbeq r3, [sp, 0x11b]                            |         var_11bh = r3;
                                                                 |     }
                                                                 |     if (r0 == 0) {
    0x0001ade0 beq 0x1aea4                                       |         goto label_30;
                                                                 |     }
    0x0001ade4 ldr r1, [pc, 0x2d0]                               |     r1 = *(0x1b0b8);
    0x0001ade8 mov r0, sl                                        |     r0 = sl;
    0x0001adec add r1, pc, r1                                    |     r1 = pc + r1;
    0x0001adf0 bl 0x5a30                                         |     r0 = strcmp (r0, r1);
    0x0001adf4 cmp r0, 0                                         |     
                                                                 |     if (r0 != 0) {
    0x0001adf8 moveq r3, 1                                       |         r3 = 1;
                                                                 |     }
                                                                 |     if (r0 != 0) {
    0x0001adfc strbeq r3, [sp, 0x11d]                            |         var_11dh = r3;
                                                                 |     }
                                                                 |     if (r0 == 0) {
    0x0001ae00 beq 0x1aea4                                       |         goto label_30;
                                                                 |     }
    0x0001ae04 ldr r1, [pc, 0x2b4]                               |     r1 = *(0x1b0bc);
    0x0001ae08 mov r0, sl                                        |     r0 = sl;
    0x0001ae0c add r1, pc, r1                                    |     r1 = pc + r1;
    0x0001ae10 bl 0x5a30                                         |     r0 = strcmp (r0, r1);
    0x0001ae14 cmp r0, 0                                         |     
                                                                 |     if (r0 != 0) {
    0x0001ae18 moveq r3, 1                                       |         r3 = 1;
                                                                 |     }
                                                                 |     if (r0 != 0) {
    0x0001ae1c strbeq r3, [sp, 0x120]                            |         var_120h = r3;
                                                                 |     }
                                                                 |     if (r0 == 0) {
    0x0001ae20 beq 0x1aea4                                       |         goto label_30;
                                                                 |     }
    0x0001ae24 ldr r1, [pc, 0x298]                               |     r1 = *(0x1b0c0);
    0x0001ae28 mov r0, sl                                        |     r0 = sl;
    0x0001ae2c add r1, pc, r1                                    |     r1 = pc + r1;
    0x0001ae30 bl 0x5a30                                         |     r0 = strcmp (r0, r1);
    0x0001ae34 cmp r0, 0                                         |     
                                                                 |     if (r0 != 0) {
    0x0001ae38 moveq r3, 1                                       |         r3 = 1;
                                                                 |     }
                                                                 |     if (r0 != 0) {
    0x0001ae3c strbeq r3, [sp, 0x121]                            |         var_121h = r3;
                                                                 |     }
                                                                 |     if (r0 == 0) {
    0x0001ae40 beq 0x1aea4                                       |         goto label_30;
                                                                 |     }
    0x0001ae44 ldr r1, [pc, 0x27c]                               |     r1 = *(0x1b0c4);
    0x0001ae48 mov r0, sl                                        |     r0 = sl;
    0x0001ae4c add r1, pc, r1                                    |     r1 = pc + r1;
    0x0001ae50 bl 0x5a30                                         |     r0 = strcmp (r0, r1);
    0x0001ae54 cmp r0, 0                                         |     
                                                                 |     if (r0 != 0) {
    0x0001ae58 moveq r3, 1                                       |         r3 = 1;
                                                                 |     }
                                                                 |     if (r0 != 0) {
    0x0001ae5c strbeq r3, [sp, 0x11e]                            |         var_11eh = r3;
                                                                 |     }
                                                                 |     if (r0 == 0) {
    0x0001ae60 beq 0x1aea4                                       |         goto label_30;
                                                                 |     }
    0x0001ae64 ldr r1, [pc, 0x260]                               |     r1 = *(0x1b0c8);
    0x0001ae68 mov r0, sl                                        |     r0 = sl;
    0x0001ae6c add r1, pc, r1                                    |     r1 = pc + r1;
    0x0001ae70 bl 0x5a30                                         |     r0 = strcmp (r0, r1);
    0x0001ae74 cmp r0, 0                                         |     
                                                                 |     if (r0 != 0) {
    0x0001ae78 moveq r3, 1                                       |         r3 = 1;
                                                                 |     }
                                                                 |     if (r0 != 0) {
    0x0001ae7c strbeq r3, [sp, 0x122]                            |         var_122h = r3;
                                                                 |     }
                                                                 |     if (r0 == 0) {
    0x0001ae80 beq 0x1aea4                                       |         goto label_30;
                                                                 |     }
    0x0001ae84 ldr r1, [pc, 0x244]                               |     r1 = *(0x1b0cc);
    0x0001ae88 mov r0, sl                                        |     r0 = sl;
    0x0001ae8c add r1, pc, r1                                    |     r1 = pc + r1;
    0x0001ae90 bl 0x5a30                                         |     r0 = strcmp (r0, r1);
    0x0001ae94 cmp r0, 0                                         |     
                                                                 |     if (r0 != 0) {
    0x0001ae98 bne 0x1ad34                                       |         goto label_9;
                                                                 |     }
    0x0001ae9c mov r3, 1                                         |     r3 = 1;
    0x0001aea0 strb r3, [sp, 0x11f]                              |     var_11fh = r3;
                                                                 | label_30:
    0x0001aea4 str r4, [sp, 8]                                   |     var_8h = r4;
                                                                 | label_12:
    0x0001aea8 mov sl, 1                                         |     sl = 1;
    0x0001aeac b 0x1ac60                                         |     goto label_7;
                                                                 | label_29:
    0x0001aeb0 mov r3, 1                                         |     r3 = 1;
    0x0001aeb4 b 0x1ad58                                         |     goto label_10;
                                                                 | label_26:
    0x0001aeb8 cmp r4, 0x21                                      |     
    0x0001aebc cmpne r4, 0x5e                                    |     __asm ("cmpne r4, 0x5e");
                                                                 |     if (r4 != 0x21) {
    0x0001aec0 moveq r1, 1                                       |         r1 = 1;
                                                                 |     }
                                                                 |     if (r4 == 0x21) {
    0x0001aec4 movne r1, 0                                       |         r1 = 0;
                                                                 |     }
                                                                 |     if (r4 == 0x21) {
    0x0001aec8 bne 0x1af08                                       |         
    0x0001aecc cmp sl, 0                                         |         
                                                                 |         if (sl == 0) {
    0x0001aed0 addne r1, sp, 0x128                               |             r1 += var_128h;
                                                                 |         }
    0x0001aed4 mov r2, 1                                         |         r2 = 1;
                                                                 |         if (sl == 0) {
    0x0001aed8 addne r4, r1, r4                                  |             r4 = r1 + r4;
                                                                 |         }
                                                                 |         if (sl == 0) {
    0x0001aedc strbne r2, [r4, -0x110]                           |             *((r4 - 0x110)) = r2;
                                                                 |         }
                                                                 |         if (sl == 0) {
    0x0001aee0 bne 0x1af00                                       |             
    0x0001aee4 ldrb r0, [sp, 0x118]                              |             r0 = nmeb;
    0x0001aee8 cmp r0, 0                                         |             
                                                                 |             if (r0 == 0) {
    0x0001aeec addne r0, sp, 0x128                               |                 r0 += var_128h;
                                                                 |             }
                                                                 |             if (r0 == 0) {
    0x0001aef0 addne r4, r0, r4                                  |                 r4 = r0 + r4;
                                                                 |             }
                                                                 |             if (r0 == 0) {
    0x0001aef4 movne sl, r1                                      |                 sl = r1;
                                                                 |             }
                                                                 |             if (r0 == 0) {
    0x0001aef8 strbne r2, [r4, -0x110]                           |                 *((r4 - 0x110)) = r2;
                                                                 |             }
                                                                 |             if (r0 == 0) {
    0x0001aefc strbeq r2, [sp, 0x118]                            |                 nmeb = r2;
                                                                 |                 goto label_31;
                                                                 |             }
                                                                 |         }
                                                                 | label_31:
    0x0001af00 add r3, r3, 1                                     |         r3++;
    0x0001af04 b 0x1ad44                                         |         goto label_11;
                                                                 |     }
    0x0001af08 cmp r4, 0x5c                                      |     
                                                                 |     if (r4 != 0x5c) {
    0x0001af0c bne 0x1af2c                                       |         goto label_32;
                                                                 |     }
    0x0001af10 add r2, r3, 1                                     |     r2 = r3 + 1;
    0x0001af14 str r2, [sp, 8]                                   |     var_8h = r2;
    0x0001af18 ldrb r3, [r3, 1]                                  |     r3 = *((r3 + 1));
    0x0001af1c cmp r3, 0                                         |     
                                                                 |     if (r3 != 0) {
    0x0001af20 moveq sl, 1                                       |         sl = 1;
                                                                 |     }
                                                                 |     if (r3 == 0) {
    0x0001af24 strbeq sl, [sp, 0x74]                             |         var_74h = sl;
                                                                 |         goto label_33;
                                                                 |     }
                                                                 |     if (r3 == 0) {
                                                                 | label_33:
    0x0001af28 beq 0x1ac60                                       |         goto label_7;
                                                                 |     }
                                                                 | label_32:
    0x0001af2c mov r1, r7                                        |     r1 = r7;
    0x0001af30 add r0, sp, 8                                     |     r0 += var_8h;
    0x0001af34 bl 0x1aa4c                                        |     setcharorrange ();
    0x0001af38 b 0x1aea8                                         |     goto label_12;
                                                                 | label_22:
    0x0001af3c cmp r4, 0x5b                                      |     
                                                                 |     if (r4 != 0x5b) {
    0x0001af40 addeq r3, r3, 1                                   |         r3++;
                                                                 |     }
                                                                 |     if (r4 != 0x5b) {
    0x0001af44 strbeq sb, [sp, 0x73]                             |         var_73h = sb;
                                                                 |     }
                                                                 |     if (r4 != 0x5b) {
    0x0001af48 streq r3, [sp, 8]                                 |         var_8h = r3;
                                                                 |     }
                                                                 |     if (r4 == 0x5b) {
    0x0001af4c moveq sb, 2                                       |         sb = 2;
                                                                 |         goto label_34;
                                                                 |     }
                                                                 |     if (r4 == 0x5b) {
                                                                 | label_34:
    0x0001af50 beq 0x1ac60                                       |         goto label_7;
                                                                 |     }
    0x0001af54 cmp r4, 0x5d                                      |     
                                                                 |     if (r4 == 0x5d) {
    0x0001af58 beq 0x1b050                                       |         goto label_24;
                                                                 |     }
    0x0001af5c mov r0, r4                                        |     r0 = r4;
    0x0001af60 bl 0x2f974                                        |     r0 = Curl_isprint ();
    0x0001af64 cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x0001af68 beq 0x1abf8                                       |         goto label_3;
                                                                 |     }
    0x0001af6c add r3, sp, 0x128                                 |     r3 += var_128h;
    0x0001af70 add r4, r3, r4                                    |     r4 = r3 + r4;
    0x0001af74 ldr r3, [sp, 8]                                   |     r3 = var_8h;
    0x0001af78 strb sb, [r4, -0x110]                             |     var_110h = sb;
    0x0001af7c add r3, r3, 1                                     |     r3++;
                                                                 | label_25:
    0x0001af80 str r3, [sp, 8]                                   |     var_8h = r3;
    0x0001af84 mov sb, 0                                         |     sb = 0;
    0x0001af88 b 0x1ac60                                         |     goto label_7;
                                                                 | label_13:
    0x0001af8c ldrb r3, [sp, 0x11c]                              |     r3 = var_11ch;
    0x0001af90 cmp r3, 0                                         |     
                                                                 |     if (r3 != 0) {
    0x0001af94 beq 0x1afa0                                       |         
    0x0001af98 bl 0x2f99c                                        |         Curl_isalpha ();
    0x0001af9c b 0x1b084                                         |         goto label_35;
                                                                 |     }
    0x0001afa0 ldrb r3, [sp, 0x11a]                              |     r3 = var_11ah;
    0x0001afa4 cmp r3, 0                                         |     
                                                                 |     if (r3 != 0) {
    0x0001afa8 beq 0x1afb4                                       |         
    0x0001afac bl 0x2f8c0                                        |         Curl_isdigit ();
    0x0001afb0 b 0x1b084                                         |         goto label_35;
                                                                 |     }
    0x0001afb4 ldrb r3, [sp, 0x11b]                              |     r3 = var_11bh;
    0x0001afb8 cmp r3, 0                                         |     
                                                                 |     if (r3 != 0) {
    0x0001afbc beq 0x1afc8                                       |         
    0x0001afc0 bl 0x2f910                                        |         Curl_isxdigit ();
    0x0001afc4 b 0x1b084                                         |         goto label_35;
                                                                 |     }
    0x0001afc8 ldrb r3, [sp, 0x11d]                              |     r3 = var_11dh;
    0x0001afcc cmp r3, 0                                         |     
                                                                 |     if (r3 != 0) {
    0x0001afd0 beq 0x1afdc                                       |         
    0x0001afd4 bl 0x2f974                                        |         Curl_isprint ();
    0x0001afd8 b 0x1b084                                         |         goto label_35;
                                                                 |     }
    0x0001afdc ldrb r3, [sp, 0x121]                              |     r3 = var_121h;
    0x0001afe0 cmp r3, 0                                         |     
                                                                 |     if (r3 != 0) {
    0x0001afe4 beq 0x1aff0                                       |         
    0x0001afe8 bl 0x2f898                                        |         Curl_isspace ();
    0x0001afec b 0x1b084                                         |         goto label_35;
                                                                 |     }
    0x0001aff0 ldrb r3, [sp, 0x122]                              |     r3 = var_122h;
    0x0001aff4 cmp r3, 0                                         |     
                                                                 |     if (r3 != 0) {
    0x0001aff8 beq 0x1b004                                       |         
    0x0001affc bl 0x2f9c4                                        |         Curl_isupper ();
    0x0001b000 b 0x1b084                                         |         goto label_35;
                                                                 |     }
    0x0001b004 ldrb r3, [sp, 0x11f]                              |     r3 = var_11fh;
    0x0001b008 cmp r3, 0                                         |     
                                                                 |     if (r3 != 0) {
    0x0001b00c beq 0x1b018                                       |         
    0x0001b010 bl 0x2f9ec                                        |         Curl_islower ();
    0x0001b014 b 0x1b084                                         |         goto label_35;
                                                                 |     }
    0x0001b018 ldrb r3, [sp, 0x11e]                              |     r3 = var_11eh;
    0x0001b01c cmp r3, 0                                         |     
                                                                 |     if (r3 != 0) {
    0x0001b020 beq 0x1b038                                       |         
    0x0001b024 cmp r0, 9                                         |         
    0x0001b028 cmpne r0, 0x20                                    |         __asm ("cmpne r0, 0x20");
                                                                 |         if (r0 != 9) {
    0x0001b02c moveq r0, 1                                       |             r0 = 1;
                                                                 |         }
                                                                 |         if (r0 == 9) {
    0x0001b030 movne r0, 0                                       |             r0 = 0;
                                                                 |         }
    0x0001b034 b 0x1b084                                         |         goto label_35;
                                                                 |     }
    0x0001b038 ldrb r3, [sp, 0x120]                              |     r3 = var_120h;
    0x0001b03c cmp r3, 0                                         |     
                                                                 |     if (r3 != 0) {
    0x0001b040 moveq r0, r3                                      |         r0 = r3;
                                                                 |     }
                                                                 |     if (r3 == 0) {
    0x0001b044 beq 0x1b084                                       |         goto label_35;
                                                                 |     }
    0x0001b048 bl 0x2f938                                        |     Curl_isgraph ();
    0x0001b04c b 0x1b084                                         |     goto label_35;
                                                                 | label_24:
    0x0001b050 ldrb r0, [r5]                                     |     r0 = *(r5);
    0x0001b054 cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x0001b058 beq 0x1abf8                                       |         goto label_3;
                                                                 |     }
    0x0001b05c add r3, sp, 0x128                                 |     r3 += var_128h;
    0x0001b060 add r3, r3, r0                                    |     r3 += r0;
    0x0001b064 ldrb r3, [r3, -0x110]                             |     r3 = var_110h;
    0x0001b068 cmp r3, 0                                         |     
                                                                 |     if (r3 == 0) {
    0x0001b06c movne r0, 1                                       |         r0 = 1;
                                                                 |     }
                                                                 |     if (r3 != 0) {
    0x0001b070 bne 0x1b084                                       |         goto label_35;
                                                                 |     }
    0x0001b074 ldrb r3, [sp, 0x119]                              |     r3 = var_119h;
    0x0001b078 cmp r3, 0                                         |     
                                                                 |     if (r3 == 0) {
    0x0001b07c beq 0x1af8c                                       |         goto label_13;
                                                                 |     }
    0x0001b080 bl 0x2f8e8                                        |     Curl_isalnum ();
                                                                 | label_35:
    0x0001b084 ldrb r3, [sp, 0x118]                              |     r3 = nmeb;
    0x0001b088 cmp r3, 0                                         |     
    0x0001b08c clzne r0, r0                                      |     __asm ("clzne r0, r0");
                                                                 |     if (r3 == 0) {
    0x0001b090 lsrne r0, r0, 5                                   |         r0 >>= 5;
                                                                 |     }
    0x0001b094 cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x0001b098 beq 0x1abf8                                       |         goto label_3;
                                                                 |     }
    0x0001b09c ldr r3, [sp, 8]                                   |     r3 = var_8h;
    0x0001b0a0 add r3, r3, 1                                     |     r3++;
    0x0001b0a4 b 0x1ac28                                         |     goto label_14;
                                                                 | }
    ; 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/lib/libcurl.so @ 0x2ae28 */
                                                 | #include <stdint.h>
                                                 |  
    ; (fcn) sym.mime_mem_seek ()                 | void mime_mem_seek (int32_t arg_ch, int32_t arg1) {
                                                 |     r0 = arg1;
    0x0002ae28 push {r4, r5, lr}                 |     
    0x0002ae2c ldr r1, [sp, 0xc]                 |     r1 = *(arg_ch);
    0x0002ae30 cmp r1, 1                         |     
                                                 |     if (r1 == 1) {
    0x0002ae34 beq 0x2ae68                       |         goto label_1;
                                                 |     }
    0x0002ae38 cmp r1, 2                         |     
                                                 |     if (r1 == 2) {
    0x0002ae3c beq 0x2ae78                       |         goto label_2;
                                                 |     }
                                                 |     do {
                                                 | label_0:
    0x0002ae40 cmp r2, 0                         |         
    0x0002ae44 sbcs r1, r3, 0                    |         __asm ("sbcs r1, r3, 0");
                                                 |         if (r2 < 0) {
    0x0002ae48 blt 0x2ae88                       |             goto label_3;
                                                 |         }
    0x0002ae4c ldrd r4, r5, [r0, 0x40]           |         __asm ("ldrd r4, r5, [arg_chx40]");
    0x0002ae50 cmp r4, r2                        |         
    0x0002ae54 sbcs r1, r5, r3                   |         __asm ("sbcs r1, r5, r3");
                                                 |         if (r4 < r2) {
    0x0002ae58 blt 0x2ae88                       |             goto label_3;
                                                 |         }
    0x0002ae5c str r2, [r0, 0x54]                |         *(arg_chx54) = r2;
    0x0002ae60 mov r0, 0                         |         r0 = 0;
    0x0002ae64 pop {r4, r5, pc}                  |         
                                                 | label_1:
    0x0002ae68 ldr r1, [r0, 0x54]                |         r1 = *(arg_chx54);
    0x0002ae6c adds r2, r2, r1                   |         r2 += r1;
    0x0002ae70 adc r3, r3, 0                     |         __asm ("adc r3, r3, 0");
    0x0002ae74 b 0x2ae40                         |         
                                                 |     } while (1);
                                                 | label_2:
    0x0002ae78 ldrd r4, r5, [r0, 0x40]           |     __asm ("ldrd r4, r5, [arg_chx40]");
    0x0002ae7c adds r2, r2, r4                   |     r2 += r4;
    0x0002ae80 adc r3, r3, r5                    |     __asm ("adc r3, r3, r5");
    0x0002ae84 b 0x2ae40                         |     goto label_0;
                                                 | label_3:
    0x0002ae88 mov r0, 1                         |     r0 = 1;
    0x0002ae8c pop {r4, r5, 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/lib/libcurl.so @ 0x2b8ac */
                                                                 | #include <stdint.h>
                                                                 |  
    ; (fcn) sym.mime_subparts_read ()                            | void mime_subparts_read (int32_t arg1) {
                                                                 |     int32_t var_0h;
                                                                 |     int32_t var_4h;
                                                                 |     int32_t var_ch;
                                                                 |     int32_t var_14h;
                                                                 |     r0 = arg1;
    0x0002b8ac push {r4, r5, r6, r7, r8, sb, sl, fp, lr}         |     
    0x0002b8b0 ldr sb, [pc, 0x188]                               |     sb = *(0x2ba3c);
    0x0002b8b4 ldr sl, [pc, 0x188]                               |     sl = *(0x2ba40);
    0x0002b8b8 ldr fp, [pc, 0x188]                               |     fp = *(0x2ba44);
    0x0002b8bc sub sp, sp, 0x14                                  |     
    0x0002b8c0 mov r8, r0                                        |     r8 = r0;
    0x0002b8c4 mov r7, r2                                        |     r7 = r2;
    0x0002b8c8 mov r4, r3                                        |     r4 = r3;
    0x0002b8cc mov r6, 0                                         |     r6 = 0;
    0x0002b8d0 add sb, pc, sb                                    |     sb = pc + sb;
    0x0002b8d4 add sl, pc, sl                                    |     sl = pc + sl;
    0x0002b8d8 add fp, pc, fp                                    |     
                                                                 |     do {
    0x0002b8dc cmp r7, 0                                         |         
                                                                 |         if (r7 == 0) {
    0x0002b8e0 beq 0x2ba34                                       |             goto label_3;
                                                                 |         }
    0x0002b8e4 ldr r3, [r4, 0x14]                                |         r3 = *((r4 + 0x14));
    0x0002b8e8 ldr r5, [r4, 0x18]                                |         r5 = *((r4 + 0x18));
    0x0002b8ec cmp r3, 8                                         |         
                                                                 |         if (r3 > 8) {
                                                                 |             /* switch table (9 cases) at 0x2b8f8 */
    0x0002b8f0 addls pc, pc, r3, lsl 2                           |             pc += (r3 << 2);
                                                                 |         }
    0x0002b8f4 b 0x2b934                                         |         goto label_1;
    0x0002b8f8 b 0x2b91c                                         |         goto label_4;
    0x0002b8fc b 0x2b934                                         |         goto label_1;
    0x0002b900 b 0x2b934                                         |         goto label_1;
    0x0002b904 b 0x2b934                                         |         goto label_1;
    0x0002b908 b 0x2b91c                                         |         goto label_4;
    0x0002b90c b 0x2b93c                                         |         goto label_5;
    0x0002b910 b 0x2b980                                         |         goto label_6;
    0x0002b914 b 0x2b9d0                                         |         goto label_7;
    0x0002b918 b 0x2ba34                                         |         goto label_3;
                                                                 | label_4:
    0x0002b91c ldr r3, [r4, 8]                                   |         r3 = *((r4 + 8));
    0x0002b920 mov r2, 5                                         |         r2 = 5;
    0x0002b924 str r3, [r4, 0x18]                                |         *((r4 + 0x18)) = r3;
    0x0002b928 mov r3, 2                                         |         r3 = 2;
    0x0002b92c str r2, [r4, 0x14]                                |         *((r4 + 0x14)) = r2;
    0x0002b930 str r3, [r4, 0x1c]                                |         *((r4 + 0x1c)) = r3;
                                                                 | label_1:
    0x0002b934 mov r0, 0                                         |         r0 = 0;
    0x0002b938 b 0x2b970                                         |         goto label_0;
                                                                 | label_5:
    0x0002b93c ldr r3, [pc, 0x108]                               |         r3 = *(0x2ba48);
    0x0002b940 mov r2, r7                                        |         r2 = r7;
    0x0002b944 add r3, pc, r3                                    |         r3 = pc + r3;
    0x0002b948 str r3, [sp, 4]                                   |         var_4h = r3;
    0x0002b94c mov r3, 4                                         |         r3 = 4;
    0x0002b950 str r3, [sp]                                      |         *(sp) = r3;
    0x0002b954 mov r1, r8                                        |         r1 = r8;
    0x0002b958 mov r3, fp                                        |         r3 = fp;
    0x0002b95c add r0, r4, 0x1c                                  |         r0 = r4 + 0x1c;
    0x0002b960 bl 0x2b308                                        |         r0 = readback_bytes_isra_1 ();
    0x0002b964 cmp r0, 0                                         |         
                                                                 |         if (r0 != 0) {
    0x0002b968 moveq r3, 6                                       |             r3 = 6;
                                                                 |         }
                                                                 |         if (r0 == 0) {
    0x0002b96c beq 0x2b9c0                                       |             goto label_8;
                                                                 |         }
                                                                 | label_0:
    0x0002b970 add r6, r6, r0                                    |         r6 += r0;
    0x0002b974 add r8, r8, r0                                    |         r8 += r0;
    0x0002b978 sub r7, r7, r0                                    |         r7 -= r0;
    0x0002b97c b 0x2b8dc                                         |         
                                                                 |     } while (1);
                                                                 | label_6:
    0x0002b980 ldr r3, [r4, 0x10]                                |     r3 = *((r4 + 0x10));
    0x0002b984 mov r0, r3                                        |     r0 = r3;
    0x0002b988 str r3, [sp, 0xc]                                 |     var_ch = r3;
    0x0002b98c bl 0x5250                                         |     strlen (r0);
    0x0002b990 cmp r5, 0                                         |     
                                                                 |     if (r5 == 0) {
    0x0002b994 movne r2, sb                                      |         r2 = sb;
                                                                 |     }
                                                                 |     if (r5 != 0) {
    0x0002b998 moveq r2, sl                                      |         r2 = sl;
                                                                 |     }
    0x0002b99c ldr r3, [sp, 0xc]                                 |     r3 = var_ch;
    0x0002b9a0 mov r1, r8                                        |     r1 = r8;
    0x0002b9a4 stm sp, {r0, r2}                                  |     *(sp) = r0;
                                                                 |     *((sp + 4)) = r2;
    0x0002b9a8 mov r2, r7                                        |     r2 = r7;
    0x0002b9ac add r0, r4, 0x1c                                  |     r0 = r4 + 0x1c;
    0x0002b9b0 bl 0x2b308                                        |     r0 = readback_bytes_isra_1 ();
    0x0002b9b4 cmp r0, 0                                         |     
                                                                 |     if (r0 != 0) {
    0x0002b9b8 bne 0x2b970                                       |         goto label_0;
                                                                 |     }
    0x0002b9bc mov r3, 7                                         |     r3 = 7;
                                                                 | label_8:
    0x0002b9c0 str r3, [r4, 0x14]                                |     *((r4 + 0x14)) = r3;
    0x0002b9c4 str r5, [r4, 0x18]                                |     *((r4 + 0x18)) = r5;
                                                                 | label_2:
    0x0002b9c8 str r0, [r4, 0x1c]                                |     *((r4 + 0x1c)) = r0;
    0x0002b9cc b 0x2b970                                         |     goto label_0;
                                                                 | label_7:
    0x0002b9d0 cmp r5, 0                                         |     
                                                                 |     if (r5 != 0) {
    0x0002b9d4 moveq r3, 8                                       |         r3 = 8;
                                                                 |     }
                                                                 |     if (r5 != 0) {
    0x0002b9d8 streq r3, [r4, 0x14]                              |         *((r4 + 0x14)) = r3;
                                                                 |     }
                                                                 |     if (r5 != 0) {
    0x0002b9dc streq r5, [r4, 0x18]                              |         *((r4 + 0x18)) = r5;
                                                                 |     }
                                                                 |     if (r5 == 0) {
    0x0002b9e0 streq r5, [r4, 0x1c]                              |         *((r4 + 0x1c)) = r5;
                                                                 |         goto label_9;
                                                                 |     }
                                                                 |     if (r5 == 0) {
                                                                 | label_9:
    0x0002b9e4 beq 0x2b934                                       |         goto label_1;
                                                                 |     }
    0x0002b9e8 mov r2, r7                                        |     r2 = r7;
    0x0002b9ec mov r1, r8                                        |     r1 = r8;
    0x0002b9f0 mov r0, r5                                        |     r0 = r5;
    0x0002b9f4 bl 0x2b50c                                        |     r0 = readback_part ();
    0x0002b9f8 cmp r0, 0x10000001                                |     
                                                                 |     if (r0 > 0x10000001) {
    0x0002b9fc bhi 0x2ba24                                       |         goto label_10;
                                                                 |     }
    0x0002ba00 cmp r0, 0x10000000                                |     
                                                                 |     if (r0 >= 0x10000000) {
    0x0002ba04 bhs 0x2ba2c                                       |         goto label_11;
                                                                 |     }
    0x0002ba08 cmp r0, 0                                         |     
                                                                 |     if (r0 != 0) {
    0x0002ba0c bne 0x2b970                                       |         goto label_0;
                                                                 |     }
    0x0002ba10 ldr r3, [r5, 8]                                   |     r3 = *((r5 + 8));
    0x0002ba14 mov r2, 5                                         |     r2 = 5;
    0x0002ba18 str r2, [r4, 0x14]                                |     *((r4 + 0x14)) = r2;
    0x0002ba1c str r3, [r4, 0x18]                                |     *((r4 + 0x18)) = r3;
    0x0002ba20 b 0x2b9c8                                         |     goto label_2;
                                                                 | label_10:
    0x0002ba24 cmn r0, 1                                         |     
                                                                 |     if (r0 != 1) {
    0x0002ba28 bne 0x2b970                                       |         goto label_0;
                                                                 |     }
                                                                 | label_11:
    0x0002ba2c cmp r6, 0                                         |     
                                                                 |     if (r6 != 0) {
    0x0002ba30 moveq r6, r0                                      |         r6 = r0;
                                                                 |     }
                                                                 | label_3:
    0x0002ba34 mov r0, r6                                        |     r0 = r6;
    0x0002ba38 add sp, sp, 0x14                                  |     
    0x0002ba3c pop {r4, r5, r6, r7, r8, sb, sl, fp, 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/lib/libcurl.so @ 0x1edc0 */
                                                                 | #include <stdint.h>
                                                                 |  
                                                                 | #define BIT_MASK(t,v) ((t)(-((v)!= 0)))&(((t)-1)>>((sizeof(t)*CHAR_BIT)-(v)))
                                                                 |  
    ; (fcn) sym.multi_runsingle ()                               | void multi_runsingle (int32_t arg_0h, int32_t arg_252h, int32_t arg_284h, int32_t arg1) {
                                                                 |     int32_t var_0h;
                                                                 |     int32_t var_0h_2;
                                                                 |     int32_t var_8h;
                                                                 |     int32_t var_8h_2;
                                                                 |     int32_t var_10h;
                                                                 |     int32_t var_1ch;
                                                                 |     int32_t var_20h;
                                                                 |     int32_t var_20h_2;
                                                                 |     int32_t var_28h;
                                                                 |     int32_t var_2ch;
                                                                 |     int32_t var_30h;
                                                                 |     int32_t var_39h;
                                                                 |     int32_t var_3ah;
                                                                 |     int32_t var_3bh;
                                                                 |     int32_t var_3ch;
                                                                 |     int32_t var_3dh;
                                                                 |     int32_t var_3eh;
                                                                 |     int32_t var_3fh;
                                                                 |     int32_t var_40h;
                                                                 |     int32_t var_44h;
                                                                 |     int32_t var_48h;
                                                                 |     int32_t var_4ch;
                                                                 |     r0 = arg1;
    0x0001edc0 push {r4, r5, r6, r7, r8, sb, sl, fp, lr}         |     
    0x0001edc4 sub sp, sp, 0x4c                                  |     
    0x0001edc8 add sl, sp, 0x30                                  |     sl += var_30h;
    0x0001edcc stm sl, {r1, r2}                                  |     *(sl) = r1;
                                                                 |     *((sl + 4)) = r2;
    0x0001edd0 ldr r2, [pc, 0xf28]                               |     r2 = *(0x1fcfc);
    0x0001edd4 mov r6, 0                                         |     r6 = 0;
    0x0001edd8 add r2, pc, r2                                    |     r2 = pc + r2;
    0x0001eddc subs r4, r3, 0                                    |     r4 = r3 - 0;
    0x0001ede0 str r2, [sp, 0x28]                                |     var_28h = r2;
    0x0001ede4 strb r6, [sp, 0x3b]                               |     var_3bh = r6;
    0x0001ede8 strb r6, [sp, 0x3c]                               |     var_3ch = r6;
    0x0001edec strb r6, [sp, 0x3d]                               |     var_3dh = r6;
                                                                 |     if (r4 == r3) {
    0x0001edf0 beq 0x1fed0                                       |         goto label_27;
                                                                 |     }
    0x0001edf4 add r2, r4, 0x4000                                |     r2 = r4 + 0x4000;
    0x0001edf8 ldr r1, [r2, 0xb10]                               |     r1 = *((r2 + 0xb10));
    0x0001edfc ldr r3, [pc, 0xf00]                               |     r3 = *(0x1fd00);
    0x0001ee00 cmp r1, r3                                        |     
                                                                 |     if (r1 != r3) {
    0x0001ee04 bne 0x1fed0                                       |         goto label_27;
                                                                 |     }
    0x0001ee08 ldr r3, [pc, 0xef8]                               |     r3 = *(0x1fd04);
    0x0001ee0c mov r7, r0                                        |     r7 = r0;
    0x0001ee10 add r3, pc, r3                                    |     r3 = pc + r3;
    0x0001ee14 str r2, [sp, 0x1c]                                |     var_1ch = r2;
    0x0001ee18 str r3, [sp, 0x2c]                                |     var_2ch = r3;
                                                                 |     do {
                                                                 | label_4:
    0x0001ee1c ldr r3, [sp, 0x1c]                                |         r3 = var_1ch;
    0x0001ee20 ldrb sb, [r3, 0x9dd]                              |         sb = *((r3 + 0x9dd));
    0x0001ee24 cmp sb, 0                                         |         
                                                                 |         if (sb == 0) {
    0x0001ee28 beq 0x1ee84                                       |             goto label_28;
                                                                 |         }
    0x0001ee2c ldr r1, [pc, 0xed8]                               |         r1 = *(0x1fd08);
    0x0001ee30 ldr r3, [r3, 0x9ec]                               |         r3 = *((r3 + 0x9ec));
    0x0001ee34 mov r2, r4                                        |         r2 = r4;
    0x0001ee38 add r1, pc, r1                                    |         r1 = pc + r1;
    0x0001ee3c mov r0, r4                                        |         r0 = r4;
    0x0001ee40 bl 0x104cc                                        |         Curl_infof ();
    0x0001ee44 ldr r3, [r4, 0x24]                                |         r3 = *((r4 + 0x24));
    0x0001ee48 cmp r3, 0x10                                      |         
                                                                 |         if (r3 <= 0x10) {
    0x0001ee4c movhi r5, 0                                       |             r5 = 0;
                                                                 |         }
                                                                 |         if (r3 <= 0x10) {
    0x0001ee50 bhi 0x1ee68                                       |             
    0x0001ee54 mov r1, 2                                         |             r1 = 2;
    0x0001ee58 mov r0, r4                                        |             r0 = r4;
    0x0001ee5c bl 0x1d3c0                                        |             mstate ();
    0x0001ee60 mov r6, 0                                         |             r6 = 0;
    0x0001ee64 mvn r5, 0                                         |             r5 = ~0;
                                                                 |         }
    0x0001ee68 ldr r2, [sp, 0x1c]                                |         r2 = var_1ch;
    0x0001ee6c mov r3, 0                                         |         r3 = 0;
    0x0001ee70 strb r3, [r2, 0x9dd]                              |         *((r2 + 0x9dd)) = r3;
    0x0001ee74 str r3, [r4, 8]                                   |         *((r4 + 8)) = r3;
                                                                 | label_3:
    0x0001ee78 cmn r5, 1                                         |         
                                                                 |         if (r5 != 1) {
    0x0001ee7c bne 0x1f16c                                       |             goto label_29;
                                                                 |         }
    0x0001ee80 b 0x1ee1c                                         |         
                                                                 |     } while (1);
                                                                 | label_28:
    0x0001ee84 ldr r3, [r4, 8]                                   |     r3 = *((r4 + 8));
    0x0001ee88 cmp r3, 0                                         |     
                                                                 |     if (r3 == 0) {
    0x0001ee8c bne 0x1eeb8                                       |         
    0x0001ee90 ldr r2, [r4, 0x24]                                |         r2 = *((r4 + 0x24));
    0x0001ee94 sub r3, r2, 3                                     |         r3 = r2 - 3;
    0x0001ee98 cmp r3, 0xc                                       |         
                                                                 |         if (r3 > 0xc) {
    0x0001ee9c bhi 0x1eeb8                                       |             goto label_30;
                                                                 |         }
    0x0001eea0 ldr r1, [pc, 0xe68]                               |         r1 = *(0x1fd0c);
    0x0001eea4 mov r0, r4                                        |         r0 = r4;
    0x0001eea8 add r1, pc, r1                                    |         r1 = pc + r1;
    0x0001eeac bl 0x10544                                        |         Curl_failf ();
                                                                 | label_1:
    0x0001eeb0 mov r0, 4                                         |         r0 = 4;
    0x0001eeb4 b 0x1fe60                                         |         goto label_24;
                                                                 |     }
                                                                 | label_30:
    0x0001eeb8 ldrb r3, [r7, 0x7c]                               |     r3 = *((r7 + 0x7c));
    0x0001eebc mov r2, 0                                         |     r2 = 0;
    0x0001eec0 cmp r3, r2                                        |     
    0x0001eec4 strb r2, [r7, 0x7c]                               |     *((r7 + 0x7c)) = r2;
                                                                 |     if (r3 != r2) {
    0x0001eec8 beq 0x1eed4                                       |         
    0x0001eecc mov r0, r7                                        |         r0 = r7;
    0x0001eed0 bl 0x1e714                                        |         process_pending_handles ();
                                                                 |     }
    0x0001eed4 ldr r3, [r4, 8]                                   |     r3 = *((r4 + 8));
    0x0001eed8 cmp r3, 0                                         |     
                                                                 |     if (r3 == 0) {
    0x0001eedc beq 0x1f01c                                       |         goto label_31;
                                                                 |     }
    0x0001eee0 ldr r2, [r4, 0x24]                                |     r2 = *((r4 + 0x24));
    0x0001eee4 sub r1, r2, 3                                     |     r1 = r2 - 3;
    0x0001eee8 cmp r1, 0xd                                       |     
                                                                 |     if (r1 > 0xd) {
    0x0001eeec strls r4, [r3]                                    |         *(r3) = r4;
                                                                 |     }
    0x0001eef0 sub r3, r2, 2                                     |     r3 = r2 - 2;
    0x0001eef4 cmp r3, 0xe                                       |     
                                                                 |     if (r3 > 0xe) {
    0x0001eef8 bhi 0x1f01c                                       |         goto label_31;
                                                                 |     }
    0x0001eefc cmp r2, 8                                         |     
                                                                 |     if (r2 <= 8) {
    0x0001ef00 movhi r2, 0                                       |         r2 = 0;
                                                                 |     }
                                                                 |     if (r2 > 8) {
    0x0001ef04 movls r2, 1                                       |         r2 = 1;
                                                                 |     }
    0x0001ef08 mov r1, sl                                        |     r1 = sl;
    0x0001ef0c mov r0, r4                                        |     r0 = r4;
    0x0001ef10 bl 0x1b738                                        |     r0 = Curl_timeleft ();
    0x0001ef14 cmp r0, 0                                         |     
                                                                 |     if (r0 >= 0) {
    0x0001ef18 bge 0x1f01c                                       |         goto label_31;
                                                                 |     }
    0x0001ef1c ldr r3, [r4, 0x24]                                |     r3 = *((r4 + 0x24));
    0x0001ef20 add ip, r4, 0x700                                 |     
    0x0001ef24 cmp r3, 3                                         |     
    0x0001ef28 add ip, ip, 8                                     |     
                                                                 |     if (r3 != 3) {
    0x0001ef2c bne 0x1ef88                                       |         goto label_32;
                                                                 |     }
    0x0001ef30 ldm ip, {r2, r3}                                  |     r2 = *(ip);
                                                                 |     r3 = *((ip + 4));
    0x0001ef34 ldm sl, {r0, r1}                                  |     r0 = *(sl);
                                                                 |     r1 = *((sl + 4));
    0x0001ef38 bl 0x6a20                                         |     Curl_timediff ();
    0x0001ef3c ldr r1, [pc, 0xdd0]                               |     r1 = *(0x1fd10);
    0x0001ef40 add r1, pc, r1                                    |     r1 = pc + r1;
    0x0001ef44 mov r2, r0                                        |     r2 = r0;
                                                                 |     do {
    0x0001ef48 mov r0, r4                                        |         r0 = r4;
    0x0001ef4c bl 0x10544                                        |         Curl_failf ();
                                                                 | label_0:
    0x0001ef50 ldr r3, [r4, 0x24]                                |         r3 = *((r4 + 0x24));
    0x0001ef54 cmp r3, 9                                         |         
                                                                 |         if (r3 >= 9) {
    0x0001ef58 bls 0x1ef6c                                       |             
    0x0001ef5c mov r1, 2                                         |             r1 = 2;
    0x0001ef60 ldr r0, [r4, 8]                                   |             r0 = *((r4 + 8));
    0x0001ef64 bl 0x1cb34                                        |             Curl_conncontrol ();
    0x0001ef68 mov sb, 1                                         |             sb = 1;
                                                                 |         }
    0x0001ef6c mov r2, 1                                         |         r2 = 1;
    0x0001ef70 mov r1, 0x1c                                      |         r1 = 0x1c;
    0x0001ef74 add r0, r4, 8                                     |         r0 = r4 + 8;
    0x0001ef78 bl 0x1e75c                                        |         multi_done ();
    0x0001ef7c mov r6, 0x1c                                      |         r6 = 0x1c;
                                                                 | label_2:
    0x0001ef80 mov r5, 0                                         |         r5 = 0;
    0x0001ef84 b 0x1f0a4                                         |         goto label_6;
                                                                 | label_32:
    0x0001ef88 cmp r3, 4                                         |         
                                                                 |         if (r3 != 4) {
    0x0001ef8c bne 0x1efac                                       |             goto label_33;
                                                                 |         }
    0x0001ef90 ldm ip, {r2, r3}                                  |         r2 = *(ip);
                                                                 |         r3 = *((ip + 4));
    0x0001ef94 ldm sl, {r0, r1}                                  |         r0 = *(sl);
                                                                 |         r1 = *((sl + 4));
    0x0001ef98 bl 0x6a20                                         |         Curl_timediff ();
    0x0001ef9c ldr r1, [pc, 0xd74]                               |         r1 = *(0x1fd14);
    0x0001efa0 add r1, pc, r1                                    |         r1 = pc + r1;
    0x0001efa4 mov r2, r0                                        |         r2 = r0;
    0x0001efa8 b 0x1ef48                                         |         
                                                                 |     } while (1);
                                                                 | label_33:
    0x0001efac ldrd r2, r3, [r4, 0x70]                           |     __asm ("ldrd r2, r3, [r4, 0x70]");
    0x0001efb0 mvn r1, 0                                         |     r1 = ~0;
    0x0001efb4 cmp r3, r1                                        |     
    0x0001efb8 mvn r0, 0                                         |     r0 = ~0;
    0x0001efbc cmpeq r2, r0                                      |     __asm ("cmpeq r2, r0");
    0x0001efc0 ldm ip, {r2, r3}                                  |     r2 = *(ip);
                                                                 |     r3 = *((ip + 4));
    0x0001efc4 ldm sl, {r0, r1}                                  |     r0 = *(sl);
                                                                 |     r1 = *((sl + 4));
                                                                 |     if (r3 != r1) {
    0x0001efc8 beq 0x1eff8                                       |         
    0x0001efcc bl 0x6a20                                         |         Curl_timediff ();
    0x0001efd0 ldrd r2, r3, [r4, 0x70]                           |         __asm ("ldrd r2, r3, [r4, 0x70]");
    0x0001efd4 ldr r1, [pc, 0xd40]                               |         r1 = *(0x1fd18);
    0x0001efd8 strd r2, r3, [sp, 8]                              |         __asm ("strd r2, r3, [var_8h]");
    0x0001efdc ldrd r2, r3, [r4, 0x90]                           |         __asm ("ldrd r2, r3, [r4, 0x90]");
    0x0001efe0 add r1, pc, r1                                    |         r1 = pc + r1;
    0x0001efe4 strd r2, r3, [sp]                                 |         __asm ("strd r2, r3, [sp]");
    0x0001efe8 mov r2, r0                                        |         r2 = r0;
    0x0001efec mov r0, r4                                        |         r0 = r4;
    0x0001eff0 bl 0x10544                                        |         Curl_failf ();
    0x0001eff4 b 0x1ef50                                         |         goto label_0;
                                                                 |     }
    0x0001eff8 bl 0x6a20                                         |     Curl_timediff ();
    0x0001effc ldrd r2, r3, [r4, 0x90]                           |     __asm ("ldrd r2, r3, [r4, 0x90]");
    0x0001f000 ldr r1, [pc, 0xd18]                               |     r1 = *(0x1fd1c);
    0x0001f004 strd r2, r3, [sp]                                 |     __asm ("strd r2, r3, [sp]");
    0x0001f008 add r1, pc, r1                                    |     r1 = pc + r1;
    0x0001f00c mov r2, r0                                        |     r2 = r0;
    0x0001f010 mov r0, r4                                        |     r0 = r4;
    0x0001f014 bl 0x10544                                        |     Curl_failf ();
    0x0001f018 b 0x1ef50                                         |     goto label_0;
                                                                 | label_31:
    0x0001f01c ldr r3, [r4, 0x24]                                |     r3 = *((r4 + 0x24));
    0x0001f020 cmp r3, 0x12                                      |     
                                                                 |     if (r3 > 0x12) {
                                                                 |         /* switch table (19 cases) at 0x1f02c */
    0x0001f024 addls pc, pc, r3, lsl 2                           |         pc += (r3 << 2);
                                                                 |     }
    0x0001f028 b 0x1eeb0                                         |     goto label_1;
    0x0001f02c b 0x1f078                                         |     goto label_34;
    0x0001f030 b 0x1ef80                                         |     goto label_2;
    0x0001f034 b 0x1f180                                         |     goto label_35;
    0x0001f038 b 0x1f258                                         |     goto label_36;
    0x0001f03c b 0x1f3f0                                         |     goto label_37;
    0x0001f040 b 0x1f37c                                         |     goto label_38;
    0x0001f044 b 0x1f474                                         |     goto label_39;
    0x0001f048 b 0x1f4e8                                         |     goto label_40;
    0x0001f04c b 0x1f528                                         |     goto label_41;
    0x0001f050 b 0x1f548                                         |     goto label_42;
    0x0001f054 b 0x1f80c                                         |     goto label_43;
    0x0001f058 b 0x1f854                                         |     goto label_44;
    0x0001f05c b 0x1f8d0                                         |     goto label_45;
    0x0001f060 b 0x1f954                                         |     goto label_46;
    0x0001f064 b 0x1fa7c                                         |     goto label_47;
    0x0001f068 b 0x1f970                                         |     goto label_48;
    0x0001f06c b 0x1fdb4                                         |     goto label_49;
    0x0001f070 b 0x1fe44                                         |     goto label_50;
    0x0001f074 b 0x1fe58                                         |     goto label_51;
                                                                 | label_34:
    0x0001f078 mov r0, r4                                        |     r0 = r4;
    0x0001f07c bl 0x193b0                                        |     r0 = Curl_pretransfer ();
    0x0001f080 subs r6, r0, 0                                    |     r6 = r0 - 0;
                                                                 |     if (r6 != r0) {
    0x0001f084 bne 0x1ef80                                       |         goto label_2;
                                                                 |     }
    0x0001f088 mov r1, 2                                         |     r1 = 2;
    0x0001f08c mov r0, r4                                        |     r0 = r4;
    0x0001f090 bl 0x1d3c0                                        |     mstate ();
    0x0001f094 mov r1, 1                                         |     r1 = 1;
    0x0001f098 mov r0, r4                                        |     r0 = r4;
    0x0001f09c bl 0x7f7c                                         |     Curl_pgrsTime ();
                                                                 | label_5:
    0x0001f0a0 mvn r5, 0                                         |     r5 = ~0;
                                                                 | label_6:
    0x0001f0a4 ldr r3, [r4, 0x24]                                |     r3 = *((r4 + 0x24));
    0x0001f0a8 cmp r3, 0x10                                      |     
                                                                 |     if (r3 <= 0x10) {
    0x0001f0ac bhi 0x1f130                                       |         
    0x0001f0b0 cmp r6, 0                                         |         
                                                                 |         if (r6 == 0) {
    0x0001f0b4 beq 0x1fe88                                       |             goto label_52;
                                                                 |         }
    0x0001f0b8 ldr r3, [sp, 0x1c]                                |         r3 = var_1ch;
    0x0001f0bc mov r8, 0                                         |         r8 = 0;
    0x0001f0c0 mov r0, r7                                        |         r0 = r7;
    0x0001f0c4 strb r8, [r3, 0x9dd]                              |         *((r3 + 0x9dd)) = r8;
    0x0001f0c8 bl 0x1e714                                        |         process_pending_handles ();
    0x0001f0cc ldr r0, [r4, 8]                                   |         r0 = *((r4 + 8));
    0x0001f0d0 cmp r0, r8                                        |         
                                                                 |         if (r0 == r8) {
    0x0001f0d4 beq 0x1fe70                                       |             goto label_53;
                                                                 |         }
    0x0001f0d8 bl 0x29400                                        |         Curl_pipeline_leave_write ();
    0x0001f0dc ldr r0, [r4, 8]                                   |         r0 = *((r4 + 8));
    0x0001f0e0 bl 0x2940c                                        |         Curl_pipeline_leave_read ();
    0x0001f0e4 ldr r1, [r4, 8]                                   |         r1 = *((r4 + 8));
    0x0001f0e8 mov r0, r4                                        |         r0 = r4;
    0x0001f0ec add r1, r1, 0x2c4                                 |         r1 += 0x2c4;
    0x0001f0f0 bl 0x11498                                        |         Curl_removeHandleFromPipeline ();
    0x0001f0f4 ldr r1, [r4, 8]                                   |         r1 = *((r4 + 8));
    0x0001f0f8 mov r0, r4                                        |         r0 = r4;
    0x0001f0fc add r1, r1, 0x2d4                                 |         r1 += 0x2d4;
    0x0001f100 bl 0x11498                                        |         Curl_removeHandleFromPipeline ();
    0x0001f104 cmp sb, r8                                        |         
                                                                 |         if (sb != r8) {
    0x0001f108 beq 0x1f124                                       |             
    0x0001f10c sub r1, r6, 0x1c                                  |             r1 = r6 - 0x1c;
    0x0001f110 clz r1, r1                                        |             r1 &= r1;
    0x0001f114 ldr r0, [r4, 8]                                   |             r0 = *((r4 + 8));
    0x0001f118 lsr r1, r1, 5                                     |             r1 >>= 5;
    0x0001f11c bl 0x113b4                                        |             Curl_disconnect ();
    0x0001f120 str r8, [r4, 8]                                   |             *((r4 + 8)) = r8;
                                                                 |         }
                                                                 | label_22:
    0x0001f124 mov r1, 0x11                                      |         r1 = 0x11;
    0x0001f128 mov r0, r4                                        |         r0 = r4;
    0x0001f12c bl 0x1d3c0                                        |         mstate ();
                                                                 |     }
                                                                 | label_23:
    0x0001f130 ldr r3, [r4, 0x24]                                |     r3 = *((r4 + 0x24));
    0x0001f134 cmp r3, 0x11                                      |     
                                                                 |     if (r3 != 0x11) {
    0x0001f138 bne 0x1ee78                                       |         goto label_3;
                                                                 |     }
    0x0001f13c add r3, r4, 0x2c                                  |     r3 = r4 + 0x2c;
    0x0001f140 mov r2, 1                                         |     r2 = 1;
    0x0001f144 str r2, [r4, 0x38]                                |     *((r4 + 0x38)) = r2;
    0x0001f148 ldr r1, [r7, 0x18]                                |     r1 = *((r7 + 0x18));
    0x0001f14c add r0, r7, 0x14                                  |     r0 = r7 + 0x14;
    0x0001f150 str r4, [r4, 0x3c]                                |     *((r4 + 0x3c)) = r4;
    0x0001f154 str r6, [r4, 0x40]                                |     *((r4 + 0x40)) = r6;
    0x0001f158 mov r2, r3                                        |     r2 = r3;
    0x0001f15c bl 0x1cbfc                                        |     Curl_llist_insert_next ();
    0x0001f160 mov r1, 0x12                                      |     r1 = 0x12;
    0x0001f164 mov r0, r4                                        |     r0 = r4;
    0x0001f168 bl 0x1d3c0                                        |     mstate ();
                                                                 | label_29:
    0x0001f16c ldrb r0, [r7, 0x7c]                               |     r0 = *((r7 + 0x7c));
    0x0001f170 cmp r0, 0                                         |     
                                                                 |     if (r0 != 0) {
    0x0001f174 bne 0x1ee1c                                       |         goto label_4;
                                                                 |     }
    0x0001f178 str r6, [r4, 0x28]                                |     *((r4 + 0x28)) = r6;
    0x0001f17c b 0x1fe60                                         |     goto label_24;
                                                                 | label_35:
    0x0001f180 mov r1, 2                                         |     r1 = 2;
    0x0001f184 mov r0, r4                                        |     r0 = r4;
    0x0001f188 bl 0x7f7c                                         |     Curl_pgrsTime ();
    0x0001f18c add r3, sp, 0x3b                                  |     r3 += var_3bh;
    0x0001f190 add r2, sp, 0x3a                                  |     r2 += var_3ah;
    0x0001f194 add r1, r4, 8                                     |     r1 = r4 + 8;
    0x0001f198 mov r0, r4                                        |     r0 = r4;
    0x0001f19c bl 0x125f4                                        |     r0 = Curl_connect ();
    0x0001f1a0 cmp r0, 0x59                                      |     
    0x0001f1a4 mov r6, r0                                        |     r6 = r0;
                                                                 |     if (r0 == 0x59) {
    0x0001f1a8 bne 0x1f1d4                                       |         
    0x0001f1ac mov r1, 1                                         |         r1 = 1;
    0x0001f1b0 mov r0, r4                                        |         r0 = r4;
    0x0001f1b4 bl 0x1d3c0                                        |         mstate ();
    0x0001f1b8 add r3, r4, 0xc                                   |         r3 = r4 + 0xc;
    0x0001f1bc mov r2, r4                                        |         r2 = r4;
    0x0001f1c0 ldr r1, [r7, 0x28]                                |         r1 = *((r7 + 0x28));
    0x0001f1c4 add r0, r7, 0x24                                  |         r0 = r7 + 0x24;
    0x0001f1c8 bl 0x1cbfc                                        |         Curl_llist_insert_next ();
                                                                 | label_8:
    0x0001f1cc mov r6, 0                                         |         r6 = 0;
    0x0001f1d0 b 0x1ef80                                         |         goto label_2;
                                                                 |     }
    0x0001f1d4 cmp r0, 0                                         |     
                                                                 |     if (r0 != 0) {
    0x0001f1d8 bne 0x1ef80                                       |         goto label_2;
                                                                 |     }
    0x0001f1dc ldr r1, [r4, 8]                                   |     r1 = *((r4 + 8));
    0x0001f1e0 mov r0, r4                                        |     r0 = r4;
    0x0001f1e4 bl 0x28ff0                                        |     r0 = Curl_add_handle_to_pipeline ();
    0x0001f1e8 subs r6, r0, 0                                    |     r6 = r0 - 0;
                                                                 |     if (r6 != r0) {
    0x0001f1ec bne 0x1f36c                                       |         goto label_12;
                                                                 |     }
    0x0001f1f0 ldrb r3, [sp, 0x3a]                               |     r3 = var_3ah;
    0x0001f1f4 cmp r3, 0                                         |     
                                                                 |     if (r3 == 0) {
    0x0001f1f8 movne r1, 3                                       |         r1 = 3;
                                                                 |     }
                                                                 |     if (r3 != 0) {
    0x0001f1fc bne 0x1f438                                       |         goto label_54;
                                                                 |     }
    0x0001f200 ldrb r3, [sp, 0x3b]                               |     r3 = var_3bh;
    0x0001f204 cmp r3, 0                                         |     
                                                                 |     if (r3 == 0) {
    0x0001f208 beq 0x1f234                                       |         goto label_55;
                                                                 |     }
    0x0001f20c mov r1, 1                                         |     r1 = 1;
    0x0001f210 mov r0, r7                                        |     r0 = r7;
    0x0001f214 bl 0x1dbe4                                        |     r0 = Curl_pipeline_wanted ();
    0x0001f218 cmp r0, 0                                         |     
                                                                 |     if (r0 != 0) {
    0x0001f21c moveq r1, 9                                       |         r1 = 9;
                                                                 |     }
    0x0001f220 movne r1, 8                                       |     r1 = 8;
                                                                 |     while (sb != r0) {
                                                                 | label_9:
    0x0001f224 mov r0, r4                                        |         r0 = r4;
    0x0001f228 bl 0x1d3c0                                        |         mstate ();
    0x0001f22c mov sb, 0                                         |         sb = 0;
    0x0001f230 b 0x1f0a0                                         |         goto label_5;
                                                                 | label_55:
    0x0001f234 ldr r0, [r4, 8]                                   |         r0 = *((r4 + 8));
    0x0001f238 bl 0x255fc                                        |         r0 = Curl_connect_ongoing ();
    0x0001f23c subs sb, r0, 0                                    |         sb = r0 - 0;
                                                                 |         if (sb == r0) {
    0x0001f240 movne r1, 5                                       |             r1 = 5;
                                                                 |         }
    0x0001f244 bne 0x1f224                                       |         
                                                                 |     }
    0x0001f248 mov r1, 4                                         |     r1 = 4;
                                                                 | label_10:
    0x0001f24c mov r0, r4                                        |     r0 = r4;
    0x0001f250 bl 0x1d3c0                                        |     mstate ();
    0x0001f254 b 0x1f0a0                                         |     goto label_5;
                                                                 | label_36:
    0x0001f258 ldr r5, [r4, 8]                                   |     r5 = *((r4 + 8));
    0x0001f25c mov r3, 0                                         |     r3 = 0;
    0x0001f260 str r3, [sp, 0x44]                                |     var_44h = r3;
    0x0001f264 ldrb r3, [r5, 0x256]                              |     r3 = *((r5 + 0x256));
    0x0001f268 cmp r3, 0                                         |     
                                                                 |     if (r3 == 0) {
    0x0001f26c ldrne r8, [r5, 0xe4]                              |         r8 = *((r5 + 0xe4));
                                                                 |     }
                                                                 |     if (r3 == 0) {
    0x0001f270 bne 0x1f284                                       |         
    0x0001f274 ldrb r3, [r5, 0x253]                              |         r3 = *((r5 + 0x253));
    0x0001f278 cmp r3, 0                                         |         
                                                                 |         if (r3 == 0) {
    0x0001f27c ldrne r8, [r5, 0xb4]                              |             r8 = *((r5 + 0xb4));
                                                                 |         }
                                                                 |         if (r3 == 0) {
    0x0001f280 ldreq r8, [r5, 0xa0]                              |             r8 = *((r5 + 0xa0));
                                                                 |             goto label_56;
                                                                 |         }
                                                                 |     }
                                                                 | label_56:
    0x0001f284 ldr r2, [r5, 0xfc]                                |     r2 = *((r5 + 0xfc));
    0x0001f288 mov r1, r8                                        |     r1 = r8;
    0x0001f28c mov r0, r5                                        |     r0 = r5;
    0x0001f290 bl 0x71e8                                         |     r0 = Curl_fetch_addr ();
    0x0001f294 cmp r0, 0                                         |     
    0x0001f298 str r0, [sp, 0x44]                                |     var_44h = r0;
                                                                 |     if (r0 != 0) {
    0x0001f29c beq 0x1f2c4                                       |         
    0x0001f2a0 ldr r1, [pc, 0xa7c]                               |         r1 = *(0x1fd20);
    0x0001f2a4 mov r3, 1                                         |         r3 = 1;
    0x0001f2a8 str r0, [r5, 0x430]                               |         *((r5 + 0x430)) = r0;
    0x0001f2ac strb r3, [r5, 0x434]                              |         *((r5 + 0x434)) = r3;
    0x0001f2b0 mov r2, r8                                        |         r2 = r8;
    0x0001f2b4 add r1, pc, r1                                    |         r1 = pc + r1;
    0x0001f2b8 mov r0, r4                                        |         r0 = r4;
    0x0001f2bc bl 0x104cc                                        |         Curl_infof ();
    0x0001f2c0 mov r6, 0                                         |         r6 = 0;
                                                                 |     }
    0x0001f2c4 ldr r3, [sp, 0x44]                                |     r3 = var_44h;
    0x0001f2c8 cmp r3, 0                                         |     
                                                                 |     if (r3 == 0) {
    0x0001f2cc bne 0x1f2e0                                       |         
    0x0001f2d0 add r1, sp, 0x44                                  |         r1 += var_44h;
    0x0001f2d4 ldr r0, [r4, 8]                                   |         r0 = *((r4 + 8));
    0x0001f2d8 bl 0x266f0                                        |         r0 = Curl_resolver_is_resolved ();
    0x0001f2dc mov r6, r0                                        |         r6 = r0;
                                                                 |     }
    0x0001f2e0 mov r1, r4                                        |     r1 = r4;
    0x0001f2e4 mov r0, r7                                        |     r0 = r7;
    0x0001f2e8 bl 0x1d6d8                                        |     singlesocket ();
    0x0001f2ec ldr r3, [sp, 0x44]                                |     r3 = var_44h;
    0x0001f2f0 cmp r3, 0                                         |     
                                                                 |     if (r3 == 0) {
    0x0001f2f4 beq 0x1f364                                       |         goto label_57;
                                                                 |     }
    0x0001f2f8 add r1, sp, 0x3b                                  |     r1 += var_3bh;
    0x0001f2fc ldr r0, [r4, 8]                                   |     r0 = *((r4 + 8));
    0x0001f300 bl 0x2230c                                        |     r0 = Curl_async_resolved ();
    0x0001f304 subs r6, r0, 0                                    |     r6 = r0 - 0;
                                                                 |     if (r6 == r0) {
    0x0001f308 movne r3, 0                                       |         r3 = 0;
                                                                 |     }
                                                                 |     if (r6 == r0) {
    0x0001f30c strne r3, [r4, 8]                                 |         *((r4 + 8)) = r3;
                                                                 |     }
                                                                 |     if (r6 != r0) {
    0x0001f310 bne 0x1f36c                                       |         goto label_12;
                                                                 |     }
    0x0001f314 ldrb r3, [sp, 0x3b]                               |     r3 = var_3bh;
    0x0001f318 cmp r3, 0                                         |     
                                                                 |     if (r3 == 0) {
    0x0001f31c beq 0x1f34c                                       |         goto label_58;
                                                                 |     }
    0x0001f320 mov r1, 1                                         |     r1 = 1;
    0x0001f324 mov r0, r7                                        |     r0 = r7;
    0x0001f328 bl 0x1dbe4                                        |     r0 = Curl_pipeline_wanted ();
    0x0001f32c cmp r0, 0                                         |     
                                                                 |     if (r0 != 0) {
    0x0001f330 moveq r1, 9                                       |         r1 = 9;
                                                                 |     }
    0x0001f334 movne r1, 8                                       |     r1 = 8;
                                                                 |     while (1) {
    0x0001f338 mov r0, r4                                        |         r0 = r4;
    0x0001f33c bl 0x1d3c0                                        |         mstate ();
    0x0001f340 mvn r5, 0                                         |         r5 = ~0;
                                                                 | label_7:
    0x0001f344 mov r6, 0                                         |         r6 = 0;
    0x0001f348 b 0x1f0a4                                         |         goto label_6;
                                                                 | label_58:
    0x0001f34c ldr r0, [r4, 8]                                   |         r0 = *((r4 + 8));
    0x0001f350 bl 0x255fc                                        |         r0 = Curl_connect_ongoing ();
    0x0001f354 cmp r0, 0                                         |         
                                                                 |         if (r0 != 0) {
    0x0001f358 moveq r1, 4                                       |             r1 = 4;
                                                                 |         }
                                                                 |         if (r0 == 0) {
    0x0001f35c movne r1, 5                                       |             r1 = 5;
                                                                 |         }
    0x0001f360 b 0x1f338                                         |         
                                                                 |     }
                                                                 | label_57:
    0x0001f364 cmp r6, 0                                         |     
                                                                 |     if (r6 != 0) {
    0x0001f368 beq 0x1f374                                       |         
                                                                 | label_12:
    0x0001f36c mov sb, 1                                         |         sb = 1;
    0x0001f370 b 0x1ef80                                         |         goto label_2;
                                                                 |     }
    0x0001f374 mov r5, r6                                        |     r5 = r6;
    0x0001f378 b 0x1f344                                         |     goto label_7;
                                                                 | label_38:
    0x0001f37c add r1, sp, 0x3b                                  |     r1 += var_3bh;
    0x0001f380 ldr r0, [r4, 8]                                   |     r0 = *((r4 + 8));
    0x0001f384 bl 0xcdac                                         |     r0 = Curl_http_connect ();
    0x0001f388 mov r6, r0                                        |     r6 = r0;
    0x0001f38c ldr r0, [r4, 8]                                   |     r0 = *((r4 + 8));
    0x0001f390 ldrb r3, [r0, 0x26a]                              |     r3 = *((r0 + 0x26a));
    0x0001f394 cmp r3, 0                                         |     
                                                                 |     if (r3 != 0) {
    0x0001f398 beq 0x1f3bc                                       |         
    0x0001f39c mov r2, 0                                         |         r2 = 0;
    0x0001f3a0 mov r1, r2                                        |         r1 = r2;
    0x0001f3a4 add r0, r4, 8                                     |         r0 = r4 + 8;
    0x0001f3a8 bl 0x1e75c                                        |         multi_done ();
    0x0001f3ac mov r1, 2                                         |         r1 = 2;
                                                                 | label_13:
    0x0001f3b0 mov r0, r4                                        |         r0 = r4;
    0x0001f3b4 bl 0x1d3c0                                        |         mstate ();
    0x0001f3b8 b 0x1f7d4                                         |         goto label_59;
                                                                 |     }
    0x0001f3bc cmp r6, 0                                         |     
                                                                 |     if (r6 != 0) {
    0x0001f3c0 bne 0x1fe68                                       |         goto label_60;
                                                                 |     }
    0x0001f3c4 ldr r3, [r0, 0xf0]                                |     r3 = *((r0 + 0xf0));
    0x0001f3c8 cmp r3, 2                                         |     
                                                                 |     if (r3 != 2) {
    0x0001f3cc bne 0x1f3dc                                       |         goto label_61;
                                                                 |     }
    0x0001f3d0 ldrb r3, [r0, 0x271]                              |     r3 = *((r0 + 0x271));
    0x0001f3d4 cmp r3, 0                                         |     
                                                                 |     if (r3 == 0) {
    0x0001f3d8 beq 0x1f1cc                                       |         goto label_8;
                                                                 |     }
                                                                 | label_61:
    0x0001f3dc bl 0x255d8                                        |     r0 = Curl_connect_complete ();
    0x0001f3e0 cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x0001f3e4 beq 0x1f1cc                                       |         goto label_8;
                                                                 |     }
    0x0001f3e8 mov r1, 6                                         |     r1 = 6;
    0x0001f3ec b 0x1f224                                         |     goto label_9;
                                                                 | label_37:
    0x0001f3f0 add r2, sp, 0x39                                  |     r2 += var_39h;
    0x0001f3f4 mov r1, 0                                         |     r1 = 0;
    0x0001f3f8 ldr r0, [r4, 8]                                   |     r0 = *((r4 + 8));
    0x0001f3fc bl 0x1c660                                        |     Curl_is_connected ();
    0x0001f400 ldrb r5, [sp, 0x39]                               |     r5 = var_39h;
    0x0001f404 cmp r5, 0                                         |     
    0x0001f408 mov r6, r0                                        |     r6 = r0;
                                                                 |     if (r5 == 0) {
    0x0001f40c beq 0x1f468                                       |         goto label_62;
                                                                 |     }
    0x0001f410 cmp r0, 0                                         |     
                                                                 |     if (r0 != 0) {
    0x0001f414 bne 0x1f4e0                                       |         goto label_63;
                                                                 |     }
    0x0001f418 ldr r0, [r4, 8]                                   |     r0 = *((r4 + 8));
    0x0001f41c ldr r3, [r0, 0xf0]                                |     r3 = *((r0 + 0xf0));
    0x0001f420 cmp r3, 2                                         |     
                                                                 |     if (r3 != 2) {
    0x0001f424 bne 0x1f444                                       |         goto label_64;
                                                                 |     }
    0x0001f428 ldrb r3, [r0, 0x271]                              |     r3 = *((r0 + 0x271));
    0x0001f42c cmp r3, 0                                         |     
    0x0001f430 bne 0x1f444                                       |     
                                                                 |     while (r5 != r0) {
    0x0001f434 mov r1, 5                                         |         r1 = 5;
                                                                 | label_54:
    0x0001f438 mov r0, r4                                        |         r0 = r4;
    0x0001f43c bl 0x1d3c0                                        |         mstate ();
    0x0001f440 b 0x1ef80                                         |         goto label_2;
                                                                 | label_64:
    0x0001f444 bl 0x255fc                                        |         r0 = Curl_connect_ongoing ();
    0x0001f448 subs r5, r0, 0                                    |         r5 = r0 - 0;
    0x0001f44c bne 0x1f434                                       |         
                                                                 |     }
    0x0001f450 ldr r3, [r4, 8]                                   |     r3 = *((r4 + 8));
    0x0001f454 ldrb r3, [r3, 0x261]                              |     r3 = *((r3 + 0x261));
    0x0001f458 cmp r3, 0                                         |     
                                                                 |     if (r3 != 0) {
    0x0001f45c moveq r1, 6                                       |         r1 = 6;
                                                                 |     }
                                                                 |     if (r3 == 0) {
    0x0001f460 movne r1, 5                                       |         r1 = 5;
                                                                 |     }
    0x0001f464 b 0x1f224                                         |     goto label_9;
                                                                 | label_62:
    0x0001f468 adds sb, r0, 0                                    |     sb = r0 + 0;
                                                                 |     if (sb == r0) {
    0x0001f46c movne sb, 1                                       |         sb = 1;
                                                                 |     }
    0x0001f470 b 0x1f0a4                                         |     goto label_6;
                                                                 | label_39:
    0x0001f474 add r1, sp, 0x3b                                  |     r1 += var_3bh;
    0x0001f478 ldr r0, [r4, 8]                                   |     r0 = *((r4 + 8));
    0x0001f47c bl 0x117a4                                        |     Curl_protocol_connect ();
    0x0001f480 ldrb r5, [sp, 0x3b]                               |     r5 = var_3bh;
    0x0001f484 cmp r5, 0                                         |     
    0x0001f488 mov r6, r0                                        |     r6 = r0;
                                                                 |     if (r5 == 0) {
    0x0001f48c bne 0x1f4a4                                       |         
    0x0001f490 mov r1, 7                                         |         r1 = 7;
    0x0001f494 mov r0, r4                                        |         r0 = r4;
    0x0001f498 bl 0x1d3c0                                        |         mstate ();
    0x0001f49c mov sb, r5                                        |         sb = r5;
    0x0001f4a0 b 0x1f0a4                                         |         goto label_6;
                                                                 |     }
    0x0001f4a4 cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x0001f4a8 bne 0x1f4c8                                       |         
                                                                 | label_11:
    0x0001f4ac mov r1, 1                                         |         r1 = 1;
    0x0001f4b0 mov r0, r7                                        |         r0 = r7;
    0x0001f4b4 bl 0x1dbe4                                        |         r0 = Curl_pipeline_wanted ();
    0x0001f4b8 cmp r0, 0                                         |         
                                                                 |         if (r0 != 0) {
    0x0001f4bc moveq r1, 9                                       |             r1 = 9;
                                                                 |         }
                                                                 |         if (r0 == 0) {
    0x0001f4c0 movne r1, 8                                       |             r1 = 8;
                                                                 |         }
    0x0001f4c4 b 0x1f24c                                         |         goto label_10;
                                                                 |     }
    0x0001f4c8 mov r0, r4                                        |     r0 = r4;
    0x0001f4cc bl 0x195b4                                        |     Curl_posttransfer ();
    0x0001f4d0 mov r2, 1                                         |     r2 = 1;
    0x0001f4d4 mov r1, r6                                        |     r1 = r6;
    0x0001f4d8 add r0, r4, 8                                     |     r0 = r4 + 8;
    0x0001f4dc bl 0x1e75c                                        |     multi_done ();
                                                                 | label_63:
    0x0001f4e0 mov sb, r5                                        |     sb = r5;
    0x0001f4e4 b 0x1ef80                                         |     goto label_2;
                                                                 | label_40:
    0x0001f4e8 add r1, sp, 0x3b                                  |     r1 += var_3bh;
    0x0001f4ec ldr r0, [r4, 8]                                   |     r0 = *((r4 + 8));
    0x0001f4f0 bl 0x11734                                        |     r0 = Curl_protocol_connecting ();
    0x0001f4f4 subs r6, r0, 0                                    |     r6 = r0 - 0;
                                                                 |     if (r6 != r0) {
    0x0001f4f8 bne 0x1f50c                                       |         goto label_65;
                                                                 |     }
    0x0001f4fc ldrb r3, [sp, 0x3b]                               |     r3 = var_3bh;
    0x0001f500 cmp r3, 0                                         |     
                                                                 |     if (r3 == 0) {
    0x0001f504 beq 0x1f1cc                                       |         goto label_8;
                                                                 |     }
    0x0001f508 b 0x1f4ac                                         |     goto label_11;
                                                                 | label_65:
    0x0001f50c mov r0, r4                                        |     r0 = r4;
    0x0001f510 bl 0x195b4                                        |     Curl_posttransfer ();
    0x0001f514 mov r2, 1                                         |     r2 = 1;
                                                                 | label_16:
    0x0001f518 mov r1, r6                                        |     r1 = r6;
    0x0001f51c add r0, r4, 8                                     |     r0 = r4 + 8;
                                                                 | label_26:
    0x0001f520 bl 0x1e75c                                        |     multi_done ();
    0x0001f524 b 0x1f36c                                         |     goto label_12;
                                                                 | label_41:
    0x0001f528 ldr r1, [r4, 8]                                   |     r1 = *((r4 + 8));
    0x0001f52c mov r0, r4                                        |     r0 = r4;
    0x0001f530 bl 0x29378                                        |     r0 = Curl_pipeline_checkget_write ();
    0x0001f534 cmp r0, 0                                         |     
                                                                 |     if (r0 != 0) {
    0x0001f538 movne r1, 9                                       |         r1 = 9;
                                                                 |         goto label_66;
                                                                 |     }
                                                                 |     if (r0 != 0) {
                                                                 | label_66:
    0x0001f53c bne 0x1f24c                                       |         goto label_10;
                                                                 |     }
                                                                 | label_18:
    0x0001f540 mov sb, r0                                        |     sb = r0;
    0x0001f544 b 0x1ef80                                         |     goto label_2;
                                                                 | label_42:
    0x0001f548 ldrb r5, [r4, 0x4f1]                              |     r5 = *((r4 + 0x4f1));
    0x0001f54c ldr fp, [r4, 8]                                   |     fp = *((r4 + 8));
    0x0001f550 cmp r5, 0                                         |     
                                                                 |     if (r5 != 0) {
    0x0001f554 beq 0x1f56c                                       |         
    0x0001f558 mov r1, 0                                         |         r1 = 0;
    0x0001f55c mov r0, fp                                        |         r0 = fp;
    0x0001f560 bl 0x1cb34                                        |         Curl_conncontrol ();
    0x0001f564 mov r1, 0x10                                      |         r1 = 0x10;
    0x0001f568 b 0x1f3b0                                         |         goto label_13;
                                                                 |     }
    0x0001f56c ldr r3, [fp, 0x284]                               |     r3 = *(arg_284h);
    0x0001f570 add r8, r4, 8                                     |     r8 = r4 + 8;
    0x0001f574 ldr r3, [r3, 8]                                   |     r3 = *((r3 + 8));
    0x0001f578 ldr sb, [fp]                                      |     sb = *(fp);
    0x0001f57c cmp r3, 0                                         |     
                                                                 |     if (r3 == 0) {
    0x0001f580 beq 0x1f784                                       |         goto label_67;
                                                                 |     }
    0x0001f584 add r2, sp, 0x3c                                  |     r2 += var_3ch;
    0x0001f588 mov r1, r2                                        |     r1 = r2;
    0x0001f58c mov r0, fp                                        |     r0 = fp;
    0x0001f590 str r2, [sp, 0x20]                                |     var_20h = r2;
    0x0001f594 blx r3                                            |     r0 = uint32_t (*r3)(uint32_t, uint32_t, uint32_t) (r0, r1, r2);
    0x0001f598 cmp r0, 0x37                                      |     
    0x0001f59c mov r6, r0                                        |     r6 = r0;
                                                                 |     if (r0 != 0x37) {
    0x0001f5a0 bne 0x1fed8                                       |         goto label_68;
                                                                 |     }
    0x0001f5a4 ldrb r3, [fp, 0x252]                              |     r3 = *(arg_252h);
    0x0001f5a8 cmp r3, 0                                         |     
                                                                 |     if (r3 == 0) {
    0x0001f5ac beq 0x1f670                                       |         goto label_69;
                                                                 |     }
    0x0001f5b0 ldr r3, [sb, 0x64]                                |     r3 = *((sb + 0x64));
    0x0001f5b4 cmp r3, 0                                         |     
                                                                 |     if (r3 != 0) {
    0x0001f5b8 bne 0x1f670                                       |         goto label_69;
                                                                 |     }
    0x0001f5bc ldr r3, [r4, 8]                                   |     r3 = *((r4 + 8));
    0x0001f5c0 ldr r1, [sp, 0x2c]                                |     r1 = var_2ch;
    0x0001f5c4 ldr fp, [r3]                                      |     fp = *(r3);
    0x0001f5c8 add sb, sp, 0x48                                  |     sb += var_48h;
    0x0001f5cc mov r0, fp                                        |     r0 = fp;
    0x0001f5d0 str r3, [sp, 0x44]                                |     var_44h = r3;
    0x0001f5d4 bl 0x104cc                                        |     Curl_infof ();
    0x0001f5d8 ldr r0, [sb, -4]!                                 |     r0 = var_44h;
    0x0001f5dc mov r1, 1                                         |     r1 = 1;
    0x0001f5e0 bl 0x1cb34                                        |     Curl_conncontrol ();
    0x0001f5e4 mov r1, r5                                        |     r1 = r5;
    0x0001f5e8 mov r2, r5                                        |     r2 = r5;
    0x0001f5ec mov r0, sb                                        |     r0 = sb;
    0x0001f5f0 bl 0x1e75c                                        |     multi_done ();
    0x0001f5f4 str r5, [r4, 8]                                   |     *((r4 + 8)) = r5;
    0x0001f5f8 cmp r0, 0x37                                      |     
    0x0001f5fc cmpne r0, 0                                       |     __asm ("cmpne r0, 0");
    0x0001f600 mov r1, r0                                        |     r1 = r0;
                                                                 |     if (r0 != 0x37) {
    0x0001f604 bne 0x1f664                                       |         goto label_14;
                                                                 |     }
    0x0001f608 add sb, sp, 0x48                                  |     sb += var_48h;
    0x0001f60c mov r3, 1                                         |     r3 = 1;
    0x0001f610 strb r3, [sb, -9]!                                |     *((sb -= 9)) = r3;
    0x0001f614 mov r1, r8                                        |     r1 = r8;
    0x0001f618 mov r3, sb                                        |     r3 = sb;
    0x0001f61c add r2, sp, 0x3e                                  |     r2 += var_3eh;
    0x0001f620 mov r0, fp                                        |     r0 = fp;
    0x0001f624 bl 0x125f4                                        |     r0 = Curl_connect ();
    0x0001f628 subs r1, r0, 0                                    |     r1 = r0 - 0;
                                                                 |     if (r1 != r0) {
    0x0001f62c bne 0x1f664                                       |         goto label_14;
                                                                 |     }
    0x0001f630 ldrb r3, [sp, 0x3e]                               |     r3 = var_3eh;
    0x0001f634 ldr r0, [r4, 8]                                   |     r0 = *((r4 + 8));
    0x0001f638 cmp r3, 0                                         |     
    0x0001f63c str r0, [sp, 0x44]                                |     var_44h = r0;
                                                                 |     if (r3 != 0) {
    0x0001f640 bne 0x1f74c                                       |         goto label_70;
                                                                 |     }
                                                                 | label_15:
    0x0001f644 ldr fp, [r4, 8]                                   |     fp = *((r4 + 8));
    0x0001f648 ldr r1, [sp, 0x20]                                |     r1 = var_20h;
    0x0001f64c ldr r3, [fp, 0x284]                               |     r3 = *(arg_284h);
    0x0001f650 mov r0, fp                                        |     r0 = fp;
    0x0001f654 ldr r3, [r3, 8]                                   |     r3 = *((r3 + 8));
    0x0001f658 blx r3                                            |     r0 = uint32_t (*r3)(uint32_t, uint32_t, uint32_t) (r0, r1, r3);
    0x0001f65c subs r1, r0, 0                                    |     r1 = r0 - 0;
                                                                 |     if (r1 == r0) {
    0x0001f660 beq 0x1f770                                       |         goto label_25;
                                                                 |     }
                                                                 |     do {
                                                                 | label_14:
    0x0001f664 cmp r1, 0x37                                      |         
                                                                 |         if (r1 == 0x37) {
    0x0001f668 movne r6, r1                                      |             r6 = r1;
                                                                 |         }
                                                                 |         if (r1 != 0x37) {
    0x0001f66c bne 0x1fee0                                       |             goto label_71;
                                                                 |         }
                                                                 | label_69:
    0x0001f670 ldr r0, [r4, 8]                                   |         r0 = *((r4 + 8));
    0x0001f674 ldrb fp, [r0, 0x252]                              |         fp = *((r0 + 0x252));
    0x0001f678 cmp fp, 0                                         |         
                                                                 |         if (fp == 0) {
    0x0001f67c beq 0x1fee0                                       |             goto label_71;
                                                                 |         }
    0x0001f680 mov r3, 0                                         |         r3 = 0;
    0x0001f684 add r1, sp, 0x48                                  |         r1 += var_48h;
    0x0001f688 str r3, [r1, -4]!                                 |         *((r1 -= 4)) = r3;
    0x0001f68c bl 0x19ad8                                        |         r0 = Curl_retry_request ();
    0x0001f690 subs r3, r0, 0                                    |         r3 = r0 - 0;
                                                                 |         if (r3 == r0) {
    0x0001f694 movne sb, fp                                      |             sb = fp;
                                                                 |         }
                                                                 |         if (r3 == r0) {
    0x0001f698 bne 0x1f6b0                                       |             
    0x0001f69c ldr r5, [sp, 0x44]                                |             r5 = var_44h;
    0x0001f6a0 mov sb, r3                                        |             sb = r3;
    0x0001f6a4 adds r5, r5, 0                                    |             r5 += 0;
                                                                 |             if (r5 == r5) {
    0x0001f6a8 movne r5, 1                                       |                 r5 = 1;
                                                                 |             }
    0x0001f6ac mov r3, 0x37                                      |             r3 = 0x37;
                                                                 |         }
    0x0001f6b0 mov r0, r4                                        |         r0 = r4;
    0x0001f6b4 str r3, [sp, 0x20]                                |         var_20h = r3;
    0x0001f6b8 bl 0x195b4                                        |         Curl_posttransfer ();
    0x0001f6bc ldr r3, [sp, 0x20]                                |         r3 = var_20h;
    0x0001f6c0 mov r2, 0                                         |         r2 = 0;
    0x0001f6c4 mov r1, r3                                        |         r1 = r3;
    0x0001f6c8 mov r0, r8                                        |         r0 = r8;
    0x0001f6cc bl 0x1e75c                                        |         multi_done ();
    0x0001f6d0 ldr r3, [sp, 0x20]                                |         r3 = var_20h;
    0x0001f6d4 cmp r5, 0                                         |         
                                                                 |         if (r5 != 0) {
    0x0001f6d8 moveq sb, fp                                      |             sb = fp;
                                                                 |         }
    0x0001f6dc mov r6, r0                                        |         r6 = r0;
                                                                 |         if (r5 != 0) {
    0x0001f6e0 moveq r6, r3                                      |             r6 = r3;
                                                                 |         }
                                                                 |         if (r5 != 0) {
    0x0001f6e4 beq 0x1f730                                       |             
    0x0001f6e8 cmp r6, 0                                         |             
    0x0001f6ec sub r5, r6, 0x37                                  |             r5 = r6 - 0x37;
    0x0001f6f0 clz r5, r5                                        |             r5 &= r5;
    0x0001f6f4 lsr r5, r5, 5                                     |             r5 >>= 5;
                                                                 |             if (r6 != 0) {
    0x0001f6f8 moveq r5, 1                                       |                 r5 = 1;
                                                                 |             }
    0x0001f6fc cmp r5, 0                                         |             
                                                                 |             if (r5 == 0) {
    0x0001f700 beq 0x1f730                                       |                 goto label_72;
                                                                 |             }
    0x0001f704 mov r2, 2                                         |             r2 = 2;
    0x0001f708 ldr r1, [sp, 0x44]                                |             r1 = var_44h;
    0x0001f70c mov r0, r4                                        |             r0 = r4;
    0x0001f710 bl 0x195bc                                        |             r0 = Curl_follow ();
    0x0001f714 subs r6, r0, 0                                    |             r6 = r0 - 0;
                                                                 |             if (r6 == r0) {
    0x0001f718 movne r5, 0                                       |                 r5 = 0;
                                                                 |             }
                                                                 |             if (r6 != r0) {
    0x0001f71c bne 0x1f730                                       |                 goto label_72;
                                                                 |             }
    0x0001f720 mov r1, 2                                         |             r1 = 2;
    0x0001f724 mov r0, r4                                        |             r0 = r4;
    0x0001f728 bl 0x1d3c0                                        |             mstate ();
    0x0001f72c mvn r5, 0                                         |             r5 = ~0;
                                                                 |         }
                                                                 | label_72:
    0x0001f730 ldr r3, [pc, 0x5f0]                               |         
    0x0001f734 ldr r2, [sp, 0x28]                                |         r2 = var_28h;
    0x0001f738 ldr r3, [r2, r3]                                  |         r3 = *((r2 + r3));
    0x0001f73c ldr r3, [r3]                                      |         r3 = *(0x1fd24);
                                                                 | label_20:
    0x0001f740 ldr r0, [sp, 0x44]                                |         r0 = var_44h;
    0x0001f744 blx r3                                            |         uint32_t (*r3)(uint32_t, uint32_t, uint32_t) (r0, r2, r3);
    0x0001f748 b 0x1f0a4                                         |         goto label_6;
                                                                 | label_70:
    0x0001f74c bl 0x26624                                        |         r0 = Curl_resolver_wait_resolv ();
    0x0001f750 subs r1, r0, 0                                    |         r1 = r0 - 0;
    0x0001f754 bne 0x1f664                                       |         
                                                                 |     } while (r1 != r0);
    0x0001f758 mov r1, sb                                        |     r1 = sb;
    0x0001f75c ldr r0, [sp, 0x44]                                |     r0 = var_44h;
    0x0001f760 bl 0x2230c                                        |     r0 = Curl_async_resolved ();
    0x0001f764 subs r1, r0, 0                                    |     r1 = r0 - 0;
                                                                 |     if (r1 != r0) {
    0x0001f768 bne 0x1f664                                       |         goto label_14;
                                                                 |     }
    0x0001f76c b 0x1f644                                         |     goto label_15;
                                                                 | label_25:
    0x0001f770 ldrb r3, [sp, 0x3c]                               |     r3 = var_3ch;
    0x0001f774 cmp r3, 0                                         |     
                                                                 |     if (r3 != 0) {
    0x0001f778 beq 0x1f790                                       |         
    0x0001f77c mov r0, fp                                        |         r0 = fp;
    0x0001f780 bl 0x1d390                                        |         do_complete ();
                                                                 | label_67:
    0x0001f784 ldrb r3, [sp, 0x3c]                               |         r3 = var_3ch;
    0x0001f788 cmp r3, 0                                         |         
                                                                 |         if (r3 != 0) {
    0x0001f78c bne 0x1f7f0                                       |             goto label_73;
                                                                 |         }
                                                                 |     }
    0x0001f790 ldr r3, [sp, 0x1c]                                |     r3 = var_1ch;
    0x0001f794 ldrb r3, [r3, 0x9d5]                              |     r3 = *((r3 + 0x9d5));
    0x0001f798 cmp r3, 0                                         |     
                                                                 |     if (r3 != 0) {
    0x0001f79c beq 0x1f7dc                                       |         
    0x0001f7a0 ldr r3, [sp, 0x1c]                                |         r3 = var_1ch;
    0x0001f7a4 ldr r3, [r3, 0xa38]                               |         r3 = *((r3 + 0xa38));
    0x0001f7a8 bic r3, r3, 2                                     |         r3 = BIT_MASK (r3, 2);
    0x0001f7ac cmp r3, 5                                         |         
                                                                 |         if (r3 != 5) {
    0x0001f7b0 bne 0x1f7dc                                       |             goto label_74;
                                                                 |         }
    0x0001f7b4 mov r2, 0                                         |         r2 = 0;
    0x0001f7b8 mov r1, r2                                        |         r1 = r2;
    0x0001f7bc mov r0, r8                                        |         r0 = r8;
    0x0001f7c0 bl 0x1e75c                                        |         multi_done ();
    0x0001f7c4 mov r1, 0x10                                      |         r1 = 0x10;
    0x0001f7c8 mov r0, r4                                        |         r0 = r4;
    0x0001f7cc bl 0x1d3c0                                        |         mstate ();
    0x0001f7d0 mov sb, 0                                         |         sb = 0;
                                                                 | label_59:
    0x0001f7d4 mov r6, 0                                         |         r6 = 0;
    0x0001f7d8 b 0x1f0a0                                         |         goto label_5;
                                                                 |     }
                                                                 | label_74:
    0x0001f7dc mov r1, 0xa                                       |     r1 = 0xa;
                                                                 |     do {
    0x0001f7e0 mov r0, r4                                        |         r0 = r4;
    0x0001f7e4 bl 0x1d3c0                                        |         mstate ();
    0x0001f7e8 mov sb, 0                                         |         sb = 0;
    0x0001f7ec b 0x1f1cc                                         |         goto label_8;
                                                                 | label_73:
    0x0001f7f0 ldr r3, [r4, 8]                                   |         r3 = *((r4 + 8));
    0x0001f7f4 ldrb sb, [r3, 0x25c]                              |         sb = *((r3 + 0x25c));
    0x0001f7f8 cmp sb, 0                                         |         
                                                                 |         if (sb == 0) {
    0x0001f7fc movne r1, 0xb                                     |             r1 = 0xb;
                                                                 |         }
    0x0001f800 bne 0x1f7e0                                       |         
                                                                 |     } while (sb != 0);
    0x0001f804 mov r1, 0xc                                       |     r1 = 0xc;
    0x0001f808 b 0x1f3b0                                         |     goto label_13;
                                                                 | label_43:
    0x0001f80c add r1, sp, 0x3c                                  |     r1 += var_3ch;
    0x0001f810 ldr r0, [r4, 8]                                   |     r0 = *((r4 + 8));
    0x0001f814 bl 0x1176c                                        |     r0 = Curl_protocol_doing ();
    0x0001f818 subs r6, r0, 0                                    |     r6 = r0 - 0;
                                                                 |     if (r6 != r0) {
    0x0001f81c bne 0x1f844                                       |         goto label_75;
                                                                 |     }
    0x0001f820 ldrb r3, [sp, 0x3c]                               |     r3 = var_3ch;
    0x0001f824 cmp r3, 0                                         |     
                                                                 |     if (r3 == 0) {
    0x0001f828 beq 0x1f1cc                                       |         goto label_8;
                                                                 |     }
    0x0001f82c ldr r3, [r4, 8]                                   |     r3 = *((r4 + 8));
    0x0001f830 ldrb r3, [r3, 0x25c]                              |     r3 = *((r3 + 0x25c));
    0x0001f834 cmp r3, 0                                         |     
                                                                 |     if (r3 != 0) {
    0x0001f838 moveq r1, 0xc                                     |         r1 = 0xc;
                                                                 |     }
                                                                 |     if (r3 == 0) {
    0x0001f83c movne r1, 0xb                                     |         r1 = 0xb;
                                                                 |     }
    0x0001f840 b 0x1f24c                                         |     goto label_10;
                                                                 | label_75:
    0x0001f844 mov r0, r4                                        |     r0 = r4;
    0x0001f848 bl 0x195b4                                        |     Curl_posttransfer ();
    0x0001f84c mov r2, 0                                         |     r2 = 0;
    0x0001f850 b 0x1f518                                         |     goto label_16;
                                                                 | label_44:
    0x0001f854 ldr r8, [r4, 8]                                   |     r8 = *((r4 + 8));
    0x0001f858 mov r5, 0                                         |     r5 = 0;
    0x0001f85c ldr r3, [r8, 0x284]                               |     r3 = *((r8 + 0x284));
    0x0001f860 str r5, [sp, 0x40]                                |     var_40h = r5;
    0x0001f864 ldr r3, [r3, 0x10]                                |     r3 = *((r3 + 0x10));
    0x0001f868 cmp r3, r5                                        |     
                                                                 |     if (r3 != r5) {
    0x0001f86c bne 0x1f8a0                                       |         goto label_76;
                                                                 |     }
                                                                 | label_17:
    0x0001f870 ldr r3, [sp, 0x40]                                |     r3 = var_40h;
    0x0001f874 cmp r3, 1                                         |     
                                                                 |     if (r3 == 1) {
    0x0001f878 bne 0x1f884                                       |         
    0x0001f87c mov r0, r8                                        |         r0 = r8;
    0x0001f880 bl 0x1d390                                        |         do_complete ();
                                                                 |     }
    0x0001f884 ldr r3, [sp, 0x40]                                |     r3 = var_40h;
    0x0001f888 cmp r3, 0                                         |     
                                                                 |     if (r3 == 0) {
    0x0001f88c beq 0x1f1cc                                       |         goto label_8;
                                                                 |     }
    0x0001f890 cmp r3, 1                                         |     
                                                                 |     if (r3 == 1) {
    0x0001f894 movne r1, 0xa                                     |         r1 = 0xa;
                                                                 |     }
                                                                 |     if (r3 != 1) {
    0x0001f898 moveq r1, 0xc                                     |         r1 = 0xc;
                                                                 |     }
    0x0001f89c b 0x1f3b0                                         |     goto label_13;
                                                                 | label_76:
    0x0001f8a0 add r1, sp, 0x40                                  |     r1 += var_40h;
    0x0001f8a4 mov r0, r8                                        |     r0 = r8;
    0x0001f8a8 blx r3                                            |     r0 = uint32_t (*r3)(uint32_t, uint32_t) (r0, r1);
    0x0001f8ac subs r6, r0, 0                                    |     r6 = r0 - 0;
                                                                 |     if (r6 == r0) {
    0x0001f8b0 beq 0x1f870                                       |         goto label_17;
                                                                 |     }
    0x0001f8b4 mov r0, r4                                        |     r0 = r4;
    0x0001f8b8 bl 0x195b4                                        |     Curl_posttransfer ();
    0x0001f8bc mov r2, r5                                        |     r2 = r5;
    0x0001f8c0 mov r1, r6                                        |     r1 = r6;
    0x0001f8c4 add r0, r4, 8                                     |     r0 = r4 + 8;
    0x0001f8c8 bl 0x1e75c                                        |     multi_done ();
    0x0001f8cc b 0x1ff00                                         |     goto label_77;
                                                                 | label_45:
    0x0001f8d0 ldr r1, [r4, 8]                                   |     r1 = *((r4 + 8));
    0x0001f8d4 mov r0, r4                                        |     r0 = r4;
    0x0001f8d8 bl 0x29038                                        |     Curl_move_handle_from_send_to_recv_pipe ();
    0x0001f8dc ldr r3, [r4, 8]                                   |     r3 = *((r4 + 8));
    0x0001f8e0 ldrb r2, [r3, 0x26d]                              |     r2 = *((r3 + 0x26d));
    0x0001f8e4 cmp r2, 0                                         |     
                                                                 |     if (r2 == 0) {
    0x0001f8e8 bne 0x1f8f8                                       |         
    0x0001f8ec ldr r3, [r3, 0x2d0]                               |         r3 = *((r3 + 0x2d0));
    0x0001f8f0 cmp r3, 0                                         |         
                                                                 |         if (r3 == 0) {
    0x0001f8f4 beq 0x1f900                                       |             goto label_78;
                                                                 |         }
                                                                 |     }
    0x0001f8f8 mov r0, r7                                        |     r0 = r7;
    0x0001f8fc bl 0x1e714                                        |     process_pending_handles ();
                                                                 | label_78:
    0x0001f900 ldr r3, [r4, 8]                                   |     r3 = *((r4 + 8));
    0x0001f904 ldr r2, [r3, 0x290]                               |     r2 = *((r3 + 0x290));
    0x0001f908 cmn r2, 1                                         |     
                                                                 |     if (r2 == 1) {
    0x0001f90c bne 0x1f91c                                       |         
    0x0001f910 ldr r2, [r3, 0x294]                               |         r2 = *((r3 + 0x294));
    0x0001f914 cmn r2, 1                                         |         
                                                                 |         if (r2 == 1) {
    0x0001f918 beq 0x1f924                                       |             goto label_79;
                                                                 |         }
                                                                 |     }
    0x0001f91c mov r1, 0xd                                       |     r1 = 0xd;
    0x0001f920 b 0x1f24c                                         |     goto label_10;
                                                                 | label_79:
    0x0001f924 ldr r2, [sp, 0x1c]                                |     r2 = var_1ch;
    0x0001f928 ldrb r2, [r2, 0x9d5]                              |     r2 = *((r2 + 0x9d5));
    0x0001f92c cmp r2, 0                                         |     
                                                                 |     if (r2 != 0) {
    0x0001f930 beq 0x1f94c                                       |         
    0x0001f934 ldr r3, [r3, 0x284]                               |         r3 = *((r3 + 0x284));
    0x0001f938 ldr r3, [r3, 0x44]                                |         r3 = *((r3 + 0x44));
    0x0001f93c tst r3, 0x1000                                    |         
                                                                 |         if ((r3 & 0x1000) != 0) {
    0x0001f940 ldreq r2, [sp, 0x1c]                              |             r2 = var_1ch;
                                                                 |         }
                                                                 |         if ((r3 & 0x1000) != 0) {
    0x0001f944 moveq r3, 7                                       |             r3 = 7;
                                                                 |         }
                                                                 |         if ((r3 & 0x1000) == 0) {
    0x0001f948 streq r3, [r2, 0xa38]                             |             *((r2 + 0xa38)) = r3;
                                                                 |             goto label_80;
                                                                 |         }
                                                                 |     }
                                                                 | label_80:
    0x0001f94c mov r1, 0x10                                      |     r1 = 0x10;
    0x0001f950 b 0x1f24c                                         |     goto label_10;
                                                                 | label_46:
    0x0001f954 ldr r1, [r4, 8]                                   |     r1 = *((r4 + 8));
    0x0001f958 mov r0, r4                                        |     r0 = r4;
    0x0001f95c bl 0x293bc                                        |     r0 = Curl_pipeline_checkget_read ();
    0x0001f960 cmp r0, 0                                         |     
                                                                 |     if (r0 != 0) {
    0x0001f964 movne r1, 0xe                                     |         r1 = 0xe;
                                                                 |         goto label_81;
                                                                 |     }
                                                                 |     if (r0 == 0) {
                                                                 | label_81:
    0x0001f968 beq 0x1f540                                       |         goto label_18;
                                                                 |     }
    0x0001f96c b 0x1f24c                                         |     goto label_10;
                                                                 | label_48:
    0x0001f970 ldr r0, [r4, 8]                                   |     r0 = *((r4 + 8));
    0x0001f974 bl 0x831c                                         |     r0 = Curl_pgrsUpdate ();
    0x0001f978 subs r5, r0, 0                                    |     r5 = r0 - 0;
                                                                 |     if (r5 != r0) {
    0x0001f97c movne r6, 0x2a                                    |         r6 = 0x2a;
                                                                 |         goto label_82;
                                                                 |     }
                                                                 |     if (r5 != r0) {
                                                                 | label_82:
    0x0001f980 bne 0x1ef80                                       |         goto label_2;
                                                                 |     }
    0x0001f984 ldm sl, {r1, r2}                                  |     r1 = *(sl);
                                                                 |     r2 = *((sl + 4));
    0x0001f988 mov r0, r4                                        |     r0 = r4;
    0x0001f98c bl 0x15410                                        |     r0 = Curl_speedcheck ();
    0x0001f990 subs r6, r0, 0                                    |     r6 = r0 - 0;
                                                                 |     if (r6 != r0) {
    0x0001f994 bne 0x1f0a4                                       |         goto label_6;
                                                                 |     }
    0x0001f998 add r3, r4, 0x210                                 |     r3 = r4 + 0x210;
    0x0001f99c ldrd r2, r3, [r3]                                 |     __asm ("ldrd r2, r3, [r3]");
    0x0001f9a0 cmp r2, 1                                         |     
    0x0001f9a4 sbcs r1, r3, 0                                    |     __asm ("sbcs r1, r3, 0");
                                                                 |     if (r2 >= 1) {
    0x0001f9a8 blt 0x1f9f0                                       |         
    0x0001f9ac add r1, r4, 0x6c0                                 |         r1 = r4 + 0x6c0;
    0x0001f9b0 ldrd r0, r1, [r1, -8]                             |         __asm ("ldrd r0, r1, [r1, -8]");
    0x0001f9b4 add lr, sp, 0x10                                  |         lr += var_10h;
    0x0001f9b8 strd r0, r1, [sp, 0x20]                           |         __asm ("strd r0, r1, [var_20h]");
    0x0001f9bc ldm sl, {r0, r1}                                  |         r0 = *(sl);
                                                                 |         r1 = *((sl + 4));
    0x0001f9c0 add ip, r4, 0x730                                 |         
    0x0001f9c4 stm lr, {r0, r1}                                  |         *(lr) = r0;
                                                                 |         *((lr + 4)) = r1;
    0x0001f9c8 add r1, r4, 0x720                                 |         r1 = r4 + 0x720;
    0x0001f9cc add r1, r1, 4                                     |         r1 += 4;
    0x0001f9d0 ldm r1, {r0, r1}                                  |         r0 = *(r1);
                                                                 |         r1 = *((r1 + 4));
    0x0001f9d4 add lr, sp, 8                                     |         lr += var_8h;
    0x0001f9d8 stm lr, {r0, r1}                                  |         *(lr) = r0;
                                                                 |         *((lr + 4)) = r1;
    0x0001f9dc strd r2, r3, [sp]                                 |         __asm ("strd r2, r3, [sp]");
    0x0001f9e0 ldrd r0, r1, [sp, 0x20]                           |         __asm ("ldrd r0, r1, [var_20h]");
    0x0001f9e4 ldrd r2, r3, [ip]                                 |         __asm ("ldrd r2, r3, [ip]");
    0x0001f9e8 bl 0x809c                                         |         r0 = Curl_pgrsLimitWaitTime ();
    0x0001f9ec mov r5, r0                                        |         r5 = r0;
                                                                 |     }
    0x0001f9f0 add r3, r4, 0x220                                 |     r3 = r4 + 0x220;
    0x0001f9f4 ldrd r2, r3, [r3, -8]                             |     __asm ("ldrd r2, r3, [r3, -8]");
    0x0001f9f8 cmp r2, 1                                         |     
    0x0001f9fc sbcs r1, r3, 0                                    |     __asm ("sbcs r1, r3, 0");
                                                                 |     if (r2 >= 1) {
    0x0001fa00 movlt r1, 0                                       |         r1 = 0;
                                                                 |     }
                                                                 |     if (r2 >= 1) {
    0x0001fa04 blt 0x1fa44                                       |         
    0x0001fa08 ldm sl, {r0, r1}                                  |         r0 = *(sl);
                                                                 |         r1 = *((sl + 4));
    0x0001fa0c add r8, sp, 0x10                                  |         r8 += var_10h;
    0x0001fa10 stm r8, {r0, r1}                                  |         *(r8) = r0;
                                                                 |         *((r8 + 4)) = r1;
    0x0001fa14 add r1, r4, 0x730                                 |         r1 = r4 + 0x730;
    0x0001fa18 add r1, r1, 8                                     |         r1 += 8;
    0x0001fa1c ldm r1, {r0, r1}                                  |         r0 = *(r1);
                                                                 |         r1 = *((r1 + 4));
    0x0001fa20 add lr, r4, 0x740                                 |         lr = r4 + 0x740;
    0x0001fa24 add ip, r4, 0x6b0                                 |         
    0x0001fa28 add r8, sp, 8                                     |         r8 += var_8h;
    0x0001fa2c stm r8, {r0, r1}                                  |         *(r8) = r0;
                                                                 |         *((r8 + 4)) = r1;
    0x0001fa30 strd r2, r3, [sp]                                 |         __asm ("strd r2, r3, [sp]");
    0x0001fa34 ldrd r0, r1, [ip]                                 |         __asm ("ldrd r0, r1, [ip]");
    0x0001fa38 ldrd r2, r3, [lr]                                 |         __asm ("ldrd r2, r3, [lr]");
    0x0001fa3c bl 0x809c                                         |         r0 = Curl_pgrsLimitWaitTime ();
    0x0001fa40 mov r1, r0                                        |         r1 = r0;
                                                                 |     }
    0x0001fa44 orrs r8, r1, r5                                   |     r8 = r1 | r5;
                                                                 |     if (r8 == r1) {
    0x0001fa48 bne 0x1fa68                                       |         
    0x0001fa4c mov r0, r4                                        |         r0 = r4;
    0x0001fa50 mov r1, 0xe                                       |         r1 = 0xe;
    0x0001fa54 bl 0x1d3c0                                        |         mstate ();
    0x0001fa58 ldm sl, {r1, r2}                                  |         r1 = *(sl);
                                                                 |         r2 = *((sl + 4));
    0x0001fa5c mov r0, r4                                        |         r0 = r4;
    0x0001fa60 bl 0x8178                                         |         Curl_ratelimit ();
    0x0001fa64 b 0x1ef80                                         |         goto label_2;
                                                                 |     }
    0x0001fa68 cmp r1, r5                                        |     
    0x0001fa6c mov r2, 9                                         |     r2 = 9;
                                                                 |     if (r1 > r5) {
    0x0001fa70 bgt 0x1fb64                                       |         goto label_83;
                                                                 |     }
                                                                 |     do {
    0x0001fa74 mov r1, r5                                        |         r1 = r5;
    0x0001fa78 b 0x1fb64                                         |         goto label_83;
                                                                 | label_47:
    0x0001fa7c add r3, r4, 0x210                                 |         r3 = r4 + 0x210;
    0x0001fa80 ldrd r2, r3, [r3]                                 |         __asm ("ldrd r2, r3, [r3]");
    0x0001fa84 mov r5, 0                                         |         r5 = 0;
    0x0001fa88 cmp r2, 1                                         |         
    0x0001fa8c sbcs r1, r3, 0                                    |         __asm ("sbcs r1, r3, 0");
    0x0001fa90 str r5, [sp, 0x44]                                |         var_44h = r5;
    0x0001fa94 strb r5, [sp, 0x3f]                               |         var_3fh = r5;
                                                                 |         if (r2 >= 1) {
    0x0001fa98 blt 0x1fae0                                       |             
    0x0001fa9c add r1, r4, 0x6c0                                 |             r1 = r4 + 0x6c0;
    0x0001faa0 ldrd r0, r1, [r1, -8]                             |             __asm ("ldrd r0, r1, [r1, -8]");
    0x0001faa4 add lr, sp, 0x10                                  |             lr += var_10h;
    0x0001faa8 strd r0, r1, [sp, 0x20]                           |             __asm ("strd r0, r1, [var_20h]");
    0x0001faac ldm sl, {r0, r1}                                  |             r0 = *(sl);
                                                                 |             r1 = *((sl + 4));
    0x0001fab0 add ip, r4, 0x730                                 |             
    0x0001fab4 stm lr, {r0, r1}                                  |             *(lr) = r0;
                                                                 |             *((lr + 4)) = r1;
    0x0001fab8 add r1, r4, 0x720                                 |             r1 = r4 + 0x720;
    0x0001fabc add r1, r1, 4                                     |             r1 += 4;
    0x0001fac0 ldm r1, {r0, r1}                                  |             r0 = *(r1);
                                                                 |             r1 = *((r1 + 4));
    0x0001fac4 add lr, sp, 8                                     |             lr += var_8h;
    0x0001fac8 stm lr, {r0, r1}                                  |             *(lr) = r0;
                                                                 |             *((lr + 4)) = r1;
    0x0001facc strd r2, r3, [sp]                                 |             __asm ("strd r2, r3, [sp]");
    0x0001fad0 ldrd r0, r1, [sp, 0x20]                           |             __asm ("ldrd r0, r1, [var_20h]");
    0x0001fad4 ldrd r2, r3, [ip]                                 |             __asm ("ldrd r2, r3, [ip]");
    0x0001fad8 bl 0x809c                                         |             r0 = Curl_pgrsLimitWaitTime ();
    0x0001fadc mov r5, r0                                        |             r5 = r0;
                                                                 |         }
    0x0001fae0 add r3, r4, 0x220                                 |         r3 = r4 + 0x220;
    0x0001fae4 ldrd r2, r3, [r3, -8]                             |         __asm ("ldrd r2, r3, [r3, -8]");
    0x0001fae8 cmp r2, 1                                         |         
    0x0001faec sbcs r1, r3, 0                                    |         __asm ("sbcs r1, r3, 0");
                                                                 |         if (r2 >= 1) {
    0x0001faf0 movlt r8, 0                                       |             r8 = 0;
                                                                 |         }
                                                                 |         if (r2 >= 1) {
    0x0001faf4 blt 0x1fb34                                       |             
    0x0001faf8 ldm sl, {r0, r1}                                  |             r0 = *(sl);
                                                                 |             r1 = *((sl + 4));
    0x0001fafc add r8, sp, 0x10                                  |             r8 += var_10h;
    0x0001fb00 stm r8, {r0, r1}                                  |             *(r8) = r0;
                                                                 |             *((r8 + 4)) = r1;
    0x0001fb04 add r1, r4, 0x730                                 |             r1 = r4 + 0x730;
    0x0001fb08 add r1, r1, 8                                     |             r1 += 8;
    0x0001fb0c ldm r1, {r0, r1}                                  |             r0 = *(r1);
                                                                 |             r1 = *((r1 + 4));
    0x0001fb10 add lr, r4, 0x740                                 |             lr = r4 + 0x740;
    0x0001fb14 add ip, r4, 0x6b0                                 |             
    0x0001fb18 add r8, sp, 8                                     |             r8 += var_8h;
    0x0001fb1c stm r8, {r0, r1}                                  |             *(r8) = r0;
                                                                 |             *((r8 + 4)) = r1;
    0x0001fb20 strd r2, r3, [sp]                                 |             __asm ("strd r2, r3, [sp]");
    0x0001fb24 ldrd r2, r3, [lr]                                 |             __asm ("ldrd r2, r3, [lr]");
    0x0001fb28 ldrd r0, r1, [ip]                                 |             __asm ("ldrd r0, r1, [ip]");
    0x0001fb2c bl 0x809c                                         |             r0 = Curl_pgrsLimitWaitTime ();
    0x0001fb30 mov r8, r0                                        |             r8 = r0;
                                                                 |         }
    0x0001fb34 orrs r3, r8, r5                                   |         r3 = r8 | r5;
                                                                 |         if (r3 == r8) {
    0x0001fb38 beq 0x1fb70                                       |             goto label_84;
                                                                 |         }
    0x0001fb3c ldm sl, {r1, r2}                                  |         r1 = *(sl);
                                                                 |         r2 = *((sl + 4));
    0x0001fb40 mov r0, r4                                        |         r0 = r4;
    0x0001fb44 bl 0x8178                                         |         Curl_ratelimit ();
    0x0001fb48 mov r1, 0xf                                       |         r1 = 0xf;
    0x0001fb4c mov r0, r4                                        |         r0 = r4;
    0x0001fb50 bl 0x1d3c0                                        |         mstate ();
    0x0001fb54 cmp r8, r5                                        |         
    0x0001fb58 mov r2, 9                                         |         r2 = 9;
                                                                 |         if (r8 <= r5) {
    0x0001fb5c movgt r1, r8                                      |             r1 = r8;
                                                                 |         }
    0x0001fb60 ble 0x1fa74                                       |         
                                                                 |     } while (r8 <= r5);
                                                                 | label_83:
    0x0001fb64 mov r0, r4                                        |     r0 = r4;
    0x0001fb68 bl 0x1e348                                        |     Curl_expire ();
    0x0001fb6c b 0x1ef80                                         |     goto label_2;
                                                                 | label_84:
    0x0001fb70 add r3, sp, 0x3f                                  |     r3 += var_3fh;
    0x0001fb74 add r2, sp, 0x3d                                  |     r2 += var_3dh;
    0x0001fb78 mov r1, r4                                        |     r1 = r4;
    0x0001fb7c ldr r0, [r4, 8]                                   |     r0 = *((r4 + 8));
    0x0001fb80 bl 0x182f4                                        |     Curl_readwrite ();
    0x0001fb84 ldr r3, [r4, 0x110]                               |     r3 = *((r4 + 0x110));
    0x0001fb88 tst r3, 1                                         |     
    0x0001fb8c mov r6, r0                                        |     r6 = r0;
                                                                 |     if ((r3 & 1) == 0) {
    0x0001fb90 bne 0x1fb9c                                       |         
    0x0001fb94 ldr r0, [r4, 8]                                   |         r0 = *((r4 + 8));
    0x0001fb98 bl 0x2940c                                        |         Curl_pipeline_leave_read ();
                                                                 |     }
    0x0001fb9c ldr r3, [r4, 0x110]                               |     r3 = *((r4 + 0x110));
    0x0001fba0 tst r3, 2                                         |     
                                                                 |     if ((r3 & 2) == 0) {
    0x0001fba4 bne 0x1fbb0                                       |         
    0x0001fba8 ldr r0, [r4, 8]                                   |         r0 = *((r4 + 8));
    0x0001fbac bl 0x29400                                        |         Curl_pipeline_leave_write ();
                                                                 |     }
    0x0001fbb0 ldrb r5, [sp, 0x3d]                               |     r5 = var_3dh;
    0x0001fbb4 ldr r3, [pc, 0x16c]                               |     r3 = *(0x1fd24);
    0x0001fbb8 ldr r2, [sp, 0x28]                                |     r2 = var_28h;
    0x0001fbbc cmp r6, 0x38                                      |     
                                                                 |     if (r6 != 0x38) {
    0x0001fbc0 orreq r5, r5, 1                                   |         r5 |= 1;
                                                                 |     }
    0x0001fbc4 cmp r5, 0                                         |     
    0x0001fbc8 ldr r8, [r2, r3]                                  |     r8 = *((r2 + r3));
                                                                 |     if (r5 != 0) {
    0x0001fbcc beq 0x1fbf8                                       |         
    0x0001fbd0 add r1, sp, 0x44                                  |         r1 += var_44h;
    0x0001fbd4 ldr r0, [r4, 8]                                   |         r0 = *((r4 + 8));
    0x0001fbd8 bl 0x19ad8                                        |         r0 = Curl_retry_request ();
    0x0001fbdc cmp r0, 0                                         |         
                                                                 |         if (r0 != 0) {
    0x0001fbe0 bne 0x1fbf8                                       |             goto label_85;
                                                                 |         }
    0x0001fbe4 ldr r3, [sp, 0x44]                                |         r3 = var_44h;
    0x0001fbe8 cmp r3, 0                                         |         
                                                                 |         if (r3 == 0) {
    0x0001fbec movne r3, 1                                       |             r3 = 1;
                                                                 |         }
                                                                 |         if (r3 == 0) {
    0x0001fbf0 strbne r3, [sp, 0x3d]                             |             var_3dh = r3;
                                                                 |         }
                                                                 |         if (r3 != 0) {
    0x0001fbf4 bne 0x1fc54                                       |             goto label_86;
                                                                 |         }
                                                                 |     }
                                                                 | label_85:
    0x0001fbf8 cmp r6, 0                                         |     
                                                                 |     if (r6 == 0) {
    0x0001fbfc beq 0x1fc50                                       |         goto label_87;
                                                                 |     }
    0x0001fc00 ldr r0, [r4, 8]                                   |     r0 = *((r4 + 8));
    0x0001fc04 ldr r3, [r0, 0x284]                               |     r3 = *((r0 + 0x284));
    0x0001fc08 ldr r3, [r3, 0x44]                                |     r3 = *((r3 + 0x44));
    0x0001fc0c lsr r3, r3, 1                                     |     r3 >>= 1;
    0x0001fc10 eor r3, r3, 1                                     |     r3 ^= 1;
    0x0001fc14 cmp r6, 0x5c                                      |     
                                                                 |     if (r6 != 0x5c) {
    0x0001fc18 moveq r3, 0                                       |         r3 = 0;
                                                                 |     }
                                                                 |     if (r6 == 0x5c) {
    0x0001fc1c andne r3, r3, 1                                   |         r3 &= 1;
                                                                 |     }
    0x0001fc20 cmp r3, 0                                         |     
                                                                 |     if (r3 != 0) {
    0x0001fc24 beq 0x1fc30                                       |         
    0x0001fc28 mov r1, 2                                         |         r1 = 2;
    0x0001fc2c bl 0x1cb34                                        |         Curl_conncontrol ();
                                                                 |     }
    0x0001fc30 mov r0, r4                                        |     r0 = r4;
    0x0001fc34 bl 0x195b4                                        |     Curl_posttransfer ();
    0x0001fc38 mov r2, 1                                         |     r2 = 1;
    0x0001fc3c mov r1, r6                                        |     r1 = r6;
    0x0001fc40 add r0, r4, 8                                     |     r0 = r4 + 8;
    0x0001fc44 bl 0x1e75c                                        |     multi_done ();
                                                                 |     do {
                                                                 | label_19:
    0x0001fc48 mov r5, 0                                         |         r5 = 0;
    0x0001fc4c b 0x1fd90                                         |         goto label_88;
                                                                 | label_87:
    0x0001fc50 mov r5, r6                                        |         r5 = r6;
                                                                 | label_86:
    0x0001fc54 ldrb r3, [sp, 0x3d]                               |         r3 = var_3dh;
    0x0001fc58 cmp r3, 0                                         |         
                                                                 |         if (r3 == 0) {
    0x0001fc5c beq 0x1fda0                                       |             goto label_89;
                                                                 |         }
    0x0001fc60 mov r0, r4                                        |         r0 = r4;
    0x0001fc64 bl 0x195b4                                        |         Curl_posttransfer ();
    0x0001fc68 ldr r1, [r4, 8]                                   |         r1 = *((r4 + 8));
    0x0001fc6c mov r0, r4                                        |         r0 = r4;
    0x0001fc70 add r1, r1, 0x2d4                                 |         r1 += 0x2d4;
    0x0001fc74 bl 0x11498                                        |         Curl_removeHandleFromPipeline ();
    0x0001fc78 ldr r3, [r4, 8]                                   |         r3 = *((r4 + 8));
    0x0001fc7c ldr r3, [r3, 0x2d4]                               |         r3 = *((r3 + 0x2d4));
    0x0001fc80 cmp r3, 0                                         |         
                                                                 |         if (r3 != 0) {
    0x0001fc84 beq 0x1fc98                                       |             
    0x0001fc88 mov r2, 6                                         |             r2 = 6;
    0x0001fc8c mov r1, 0                                         |             r1 = 0;
    0x0001fc90 ldr r0, [r3]                                      |             r0 = *(r3);
    0x0001fc94 bl 0x1e348                                        |             Curl_expire ();
                                                                 |         }
    0x0001fc98 ldr r3, [r4, 0x11c]                               |         r3 = *((r4 + 0x11c));
    0x0001fc9c cmp r3, 0                                         |         
                                                                 |         if (r3 == 0) {
    0x0001fca0 bne 0x1fd2c                                       |             
    0x0001fca4 cmp r5, 0                                         |             
                                                                 |             if (r5 != 0) {
    0x0001fca8 bne 0x1fd98                                       |                 goto label_90;
                                                                 |             }
    0x0001fcac ldr r3, [r4, 0x118]                               |             r3 = *((r4 + 0x118));
    0x0001fcb0 cmp r3, 0                                         |             
                                                                 |             if (r3 != 0) {
    0x0001fcb4 moveq r6, r5                                      |                 r6 = r5;
                                                                 |             }
                                                                 |             if (r3 != 0) {
    0x0001fcb8 beq 0x1fcec                                       |                 
    0x0001fcbc ldr r3, [r8]                                      |                 r3 = *(r8);
    0x0001fcc0 ldr r0, [sp, 0x44]                                |                 r0 = var_44h;
    0x0001fcc4 blx r3                                            |                 uint32_t (*r3)(uint32_t, uint32_t) (r0, r3);
    0x0001fcc8 ldr r1, [r4, 0x118]                               |                 r1 = *((r4 + 0x118));
    0x0001fccc mov r2, 1                                         |                 r2 = 1;
    0x0001fcd0 str r5, [r4, 0x118]                               |                 *((r4 + 0x118)) = r5;
    0x0001fcd4 mov r0, r4                                        |                 r0 = r4;
    0x0001fcd8 str r1, [sp, 0x44]                                |                 var_44h = r1;
    0x0001fcdc bl 0x195bc                                        |                 r0 = Curl_follow ();
    0x0001fce0 adds r5, r0, 0                                    |                 r5 = r0 + 0;
    0x0001fce4 mov r6, r0                                        |                 r6 = r0;
                                                                 |                 if (r5 != r0) {
    0x0001fce8 movne r5, 1                                       |                     r5 = 1;
                                                                 |                     goto label_91;
                                                                 |                 }
                                                                 |             }
                                                                 | label_91:
    0x0001fcec mov r1, 0x10                                      |             r1 = 0x10;
    0x0001fcf0 mov r0, r4                                        |             r0 = r4;
    0x0001fcf4 bl 0x1d3c0                                        |             mstate ();
    0x0001fcf8 mov sb, r5                                        |             sb = r5;
    0x0001fcfc b 0x1fd8c                                         |             goto label_92;
                                                                 |         }
    0x0001fd2c cmp r5, 0                                         |         
                                                                 |         if (r5 != 0) {
    0x0001fd30 bne 0x1fd98                                       |             goto label_90;
                                                                 |         }
    0x0001fd34 ldr r3, [r8]                                      |         r3 = *(r8);
    0x0001fd38 ldr r0, [sp, 0x44]                                |         r0 = var_44h;
    0x0001fd3c blx r3                                            |         uint32_t (*r3)(uint32_t, uint32_t) (r0, r3);
    0x0001fd40 ldr r3, [r4, 0x11c]                               |         r3 = *((r4 + 0x11c));
    0x0001fd44 str r5, [r4, 0x11c]                               |         *((r4 + 0x11c)) = r5;
    0x0001fd48 mov r5, 3                                         |         r5 = 3;
    0x0001fd4c str r3, [sp, 0x44]                                |         var_44h = r3;
                                                                 | label_21:
    0x0001fd50 mov r2, 0                                         |         r2 = 0;
    0x0001fd54 mov r1, r2                                        |         r1 = r2;
    0x0001fd58 add r0, r4, 8                                     |         r0 = r4 + 8;
    0x0001fd5c bl 0x1e75c                                        |         r0 = multi_done ();
    0x0001fd60 subs r6, r0, 0                                    |         r6 = r0 - 0;
    0x0001fd64 bne 0x1fc48                                       |         
                                                                 |     } while (r6 != r0);
    0x0001fd68 mov r2, r5                                        |     r2 = r5;
    0x0001fd6c ldr r1, [sp, 0x44]                                |     r1 = var_44h;
    0x0001fd70 mov r0, r4                                        |     r0 = r4;
    0x0001fd74 bl 0x195bc                                        |     r0 = Curl_follow ();
    0x0001fd78 subs r6, r0, 0                                    |     r6 = r0 - 0;
                                                                 |     if (r6 != r0) {
    0x0001fd7c bne 0x1fc48                                       |         goto label_19;
                                                                 |     }
    0x0001fd80 mov r1, 2                                         |     r1 = 2;
    0x0001fd84 mov r0, r4                                        |     r0 = r4;
    0x0001fd88 bl 0x1d3c0                                        |     mstate ();
                                                                 | label_92:
    0x0001fd8c mvn r5, 0                                         |     r5 = ~0;
                                                                 |     do {
                                                                 | label_88:
    0x0001fd90 ldr r3, [r8]                                      |         r3 = *(r8);
    0x0001fd94 b 0x1f740                                         |         goto label_20;
                                                                 | label_90:
    0x0001fd98 mov r5, 2                                         |         r5 = 2;
    0x0001fd9c b 0x1fd50                                         |         goto label_21;
                                                                 | label_89:
    0x0001fda0 ldrb r5, [sp, 0x3f]                               |         r5 = var_3fh;
    0x0001fda4 mov sb, r3                                        |         sb = r3;
    0x0001fda8 rsb r5, r5, 0                                     |         r5 -= ;
    0x0001fdac mov r6, r3                                        |         r6 = r3;
    0x0001fdb0 b 0x1fd90                                         |         
                                                                 |     } while (1);
                                                                 | label_49:
    0x0001fdb4 ldr r1, [r4, 8]                                   |     r1 = *((r4 + 8));
    0x0001fdb8 cmp r1, 0                                         |     
                                                                 |     if (r1 != 0) {
    0x0001fdbc beq 0x1fe18                                       |         
    0x0001fdc0 add r1, r1, 0x2d4                                 |         r1 += 0x2d4;
    0x0001fdc4 mov r0, r4                                        |         r0 = r4;
    0x0001fdc8 bl 0x11498                                        |         Curl_removeHandleFromPipeline ();
    0x0001fdcc ldr r3, [r4, 8]                                   |         r3 = *((r4 + 8));
    0x0001fdd0 ldrb r2, [r3, 0x26d]                              |         r2 = *((r3 + 0x26d));
    0x0001fdd4 cmp r2, 0                                         |         
                                                                 |         if (r2 == 0) {
    0x0001fdd8 bne 0x1fde8                                       |             
    0x0001fddc ldr r3, [r3, 0x2d0]                               |             r3 = *((r3 + 0x2d0));
    0x0001fde0 cmp r3, 0                                         |             
                                                                 |             if (r3 == 0) {
    0x0001fde4 beq 0x1fdf0                                       |                 goto label_93;
                                                                 |             }
                                                                 |         }
    0x0001fde8 mov r0, r7                                        |         r0 = r7;
    0x0001fdec bl 0x1e714                                        |         process_pending_handles ();
                                                                 | label_93:
    0x0001fdf0 mov r1, r6                                        |         r1 = r6;
    0x0001fdf4 mov r2, 0                                         |         r2 = 0;
    0x0001fdf8 add r0, r4, 8                                     |         r0 = r4 + 8;
    0x0001fdfc bl 0x1e75c                                        |         multi_done ();
    0x0001fe00 ldr r3, [r4, 8]                                   |         r3 = *((r4 + 8));
    0x0001fe04 cmp r6, 0                                         |         
                                                                 |         if (r6 != 0) {
    0x0001fe08 moveq r6, r0                                      |             r6 = r0;
                                                                 |         }
    0x0001fe0c cmp r3, 0                                         |         
                                                                 |         if (r3 == 0) {
    0x0001fe10 movne r3, 0                                       |             r3 = 0;
                                                                 |         }
                                                                 |         if (r3 != 0) {
    0x0001fe14 strne r3, [r4, 8]                                 |             *((r4 + 8)) = r3;
                                                                 |             goto label_94;
                                                                 |         }
                                                                 |     }
                                                                 | label_94:
    0x0001fe18 ldr r3, [sp, 0x1c]                                |     r3 = var_1ch;
    0x0001fe1c ldrb r3, [r3, 0x9d5]                              |     r3 = *((r3 + 0x9d5));
    0x0001fe20 cmp r3, 0                                         |     
                                                                 |     if (r3 == 0) {
    0x0001fe24 beq 0x1fe3c                                       |         goto label_95;
                                                                 |     }
    0x0001fe28 ldr r3, [sp, 0x1c]                                |     r3 = var_1ch;
    0x0001fe2c ldr r3, [r3, 0xa38]                               |     r3 = *((r3 + 0xa38));
    0x0001fe30 cmp r3, 7                                         |     
                                                                 |     if (r3 != 7) {
    0x0001fe34 movne r1, 0                                       |         r1 = 0;
                                                                 |         goto label_96;
                                                                 |     }
                                                                 |     if (r3 != 7) {
                                                                 | label_96:
    0x0001fe38 bne 0x1f24c                                       |         goto label_10;
                                                                 |     }
                                                                 | label_95:
    0x0001fe3c mov r1, 0x11                                      |     r1 = 0x11;
    0x0001fe40 b 0x1f24c                                         |     goto label_10;
                                                                 | label_50:
    0x0001fe44 mov r5, 0                                         |     r5 = 0;
    0x0001fe48 str r5, [r4, 8]                                   |     *((r4 + 8)) = r5;
    0x0001fe4c mov r0, r4                                        |     r0 = r4;
    0x0001fe50 bl 0x1eb30                                        |     Curl_expire_clear ();
    0x0001fe54 b 0x1f0a4                                         |     goto label_6;
                                                                 | label_51:
    0x0001fe58 mov r0, 0                                         |     r0 = 0;
    0x0001fe5c str r6, [r4, 0x28]                                |     *((r4 + 0x28)) = r6;
                                                                 | label_24:
    0x0001fe60 add sp, sp, 0x4c                                  |     
    0x0001fe64 pop {r4, r5, r6, r7, r8, sb, sl, fp, pc}          |     
                                                                 | label_60:
    0x0001fe68 mov sb, r3                                        |     sb = r3;
    0x0001fe6c b 0x1ef80                                         |     goto label_2;
                                                                 | label_53:
    0x0001fe70 ldr r3, [r4, 0x24]                                |     r3 = *((r4 + 0x24));
    0x0001fe74 cmp r3, 2                                         |     
                                                                 |     if (r3 != 2) {
    0x0001fe78 bne 0x1f124                                       |         goto label_22;
                                                                 |     }
    0x0001fe7c mov r0, r4                                        |     r0 = r4;
    0x0001fe80 bl 0x195b4                                        |     Curl_posttransfer ();
    0x0001fe84 b 0x1f124                                         |     goto label_22;
                                                                 | label_52:
    0x0001fe88 ldr r0, [r4, 8]                                   |     r0 = *((r4 + 8));
    0x0001fe8c cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x0001fe90 beq 0x1f130                                       |         goto label_23;
                                                                 |     }
    0x0001fe94 bl 0x831c                                         |     r0 = Curl_pgrsUpdate ();
    0x0001fe98 cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x0001fe9c beq 0x1f130                                       |         goto label_23;
                                                                 |     }
    0x0001fea0 mov r1, 2                                         |     r1 = 2;
    0x0001fea4 ldr r0, [r4, 8]                                   |     r0 = *((r4 + 8));
    0x0001fea8 bl 0x1cb34                                        |     Curl_conncontrol ();
    0x0001feac ldr r3, [r4, 0x24]                                |     r3 = *((r4 + 0x24));
    0x0001feb0 mov r0, r4                                        |     r0 = r4;
    0x0001feb4 cmp r3, 0xf                                       |     
                                                                 |     if (r3 <= 0xf) {
    0x0001feb8 movhi r1, 0x11                                    |         r1 = 0x11;
                                                                 |     }
                                                                 |     if (r3 > 0xf) {
    0x0001febc movls r1, 0x10                                    |         r1 = 0x10;
                                                                 |     }
    0x0001fec0 bl 0x1d3c0                                        |     mstate ();
    0x0001fec4 mov r6, 0x2a                                      |     r6 = 0x2a;
    0x0001fec8 mvn r5, 0                                         |     r5 = ~0;
    0x0001fecc b 0x1f130                                         |     goto label_23;
                                                                 | label_27:
    0x0001fed0 mov r0, 2                                         |     r0 = 2;
    0x0001fed4 b 0x1fe60                                         |     goto label_24;
                                                                 | label_68:
    0x0001fed8 cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x0001fedc beq 0x1f770                                       |         goto label_25;
                                                                 |     }
                                                                 | label_71:
    0x0001fee0 mov r0, r4                                        |     r0 = r4;
    0x0001fee4 bl 0x195b4                                        |     Curl_posttransfer ();
    0x0001fee8 ldr r5, [r4, 8]                                   |     r5 = *((r4 + 8));
    0x0001feec cmp r5, 0                                         |     
                                                                 |     if (r5 == 0) {
    0x0001fef0 movne r2, 0                                       |         r2 = 0;
                                                                 |     }
                                                                 |     if (r5 == 0) {
    0x0001fef4 movne r1, r6                                      |         r1 = r6;
                                                                 |     }
                                                                 |     if (r5 != 0) {
    0x0001fef8 movne r0, r8                                      |         r0 = r8;
                                                                 |         goto label_97;
                                                                 |     }
                                                                 |     if (r5 != 0) {
                                                                 | label_97:
    0x0001fefc bne 0x1f520                                       |         goto label_26;
                                                                 |     }
                                                                 | label_77:
    0x0001ff00 mov sb, 1                                         |     sb = 1;
    0x0001ff04 b 0x1f0a4                                         |     goto label_6;
                                                                 | }
    ; 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/lib/libcurl.so @ 0x3614c */
                                                             | #include <stdint.h>
                                                             |  
    ; (fcn) sym.ossl_connect_common ()                       | void ossl_connect_common (int32_t arg1, int32_t arg2) {
                                                             |     int32_t var_0h;
                                                             |     int32_t var_ch;
                                                             |     int32_t var_14h;
                                                             |     int32_t var_18h;
                                                             |     int32_t var_1ch;
                                                             |     r0 = arg1;
                                                             |     r1 = arg2;
    0x0003614c push {r4, r5, r6, r7, r8, sb, sl, fp, lr}     |     
    0x00036150 lsl sl, r1, 4                                 |     sl = r1 << 4;
    0x00036154 add r5, r0, sl                                |     r5 = r0 + sl;
    0x00036158 ldr ip, [r5, 0x1c0]                           |     ip = *((r5 + 0x1c0));
    0x0003615c sub sp, sp, 0x1c                              |     
    0x00036160 cmp ip, 2                                     |     
                                                             |     if (ip != 2) {
    0x00036164 moveq r2, 1                                   |         r2 = 1;
                                                             |     }
                                                             |     if (ip != 2) {
    0x00036168 strbeq r2, [r3]                               |         *(r3) = r2;
                                                             |     }
                                                             |     if (ip != 2) {
    0x0003616c moveq r3, 0                                   |         r3 = 0;
                                                             |     }
                                                             |     if (ip == 2) {
    0x00036170 beq 0x361dc                                   |         goto label_0;
                                                             |     }
    0x00036174 add sb, r0, r1, lsl 2                         |     sb = r0 + (r1 << 2);
    0x00036178 mov r6, r1                                    |     r6 = r1;
    0x0003617c ldr r1, [r5, 0x1c4]                           |     r1 = *((r5 + 0x1c4));
    0x00036180 str r3, [sp]                                  |     *(sp) = r3;
    0x00036184 cmp r1, 0                                     |     
    0x00036188 mov r8, r2                                    |     r8 = r2;
    0x0003618c mov r4, r0                                    |     r4 = r0;
    0x00036190 ldr r7, [r0]                                  |     r7 = *(r0);
    0x00036194 ldr fp, [sb, 0x198]                           |     fp = *((sb + 0x198));
                                                             |     if (r1 != 0) {
    0x00036198 bne 0x362b0                                   |         goto label_6;
                                                             |     }
    0x0003619c mov r2, 1                                     |     r2 = 1;
    0x000361a0 mov r0, r7                                    |     r0 = r7;
    0x000361a4 bl 0x1b738                                    |     r0 = Curl_timeleft ();
    0x000361a8 cmp r0, 0                                     |     
                                                             |     if (r0 >= 0) {
    0x000361ac bge 0x361c8                                   |         goto label_7;
                                                             |     }
    0x000361b0 ldr r1, [pc, 0x308]                           |     r1 = *(0x364bc);
    0x000361b4 add r1, pc, r1                                |     r1 = pc + r1;
                                                             |     do {
                                                             | label_1:
    0x000361b8 mov r0, r7                                    |         r0 = r7;
    0x000361bc bl 0x10544                                    |         Curl_failf ();
    0x000361c0 mov r3, 0x1c                                  |         r3 = 0x1c;
    0x000361c4 b 0x361dc                                     |         goto label_0;
                                                             | label_7:
    0x000361c8 mov r1, r6                                    |         r1 = r6;
    0x000361cc mov r0, r4                                    |         r0 = r4;
    0x000361d0 bl 0x34e90                                    |         r0 = ossl_connect_step1 ();
    0x000361d4 subs r3, r0, 0                                |         r3 = r0 - 0;
                                                             |         if (r3 == r0) {
    0x000361d8 beq 0x362b0                                   |             goto label_6;
                                                             |         }
                                                             | label_0:
    0x000361dc mov r0, r3                                    |         r0 = r3;
    0x000361e0 add sp, sp, 0x1c                              |         
    0x000361e4 pop {r4, r5, r6, r7, r8, sb, sl, fp, pc}      |         
                                                             | label_2:
    0x000361e8 mov r2, 1                                     |         r2 = 1;
    0x000361ec mov r1, 0                                     |         r1 = 0;
    0x000361f0 mov r0, r7                                    |         r0 = r7;
    0x000361f4 bl 0x1b738                                    |         r0 = Curl_timeleft ();
    0x000361f8 subs r3, r0, 0                                |         r3 = r0 - 0;
                                                             |         if (r3 >= r0) {
    0x000361fc ldrlt r1, [pc, 0x2c0]                         |             r1 = *(0x000364c4);
                                                             |         }
                                                             |         if (r3 >= r0) {
    0x00036200 addlt r1, pc, r1                              |             r1 = pc + r1;
                                                             |         }
    0x00036204 blt 0x361b8                                   |         
                                                             |     } while (r3 < r0);
    0x00036208 ldr r2, [r5, 0x1c4]                           |     r2 = *((r5 + 0x1c4));
    0x0003620c sub r1, r2, 2                                 |     r1 = r2 - 2;
    0x00036210 cmp r1, 1                                     |     
                                                             |     if (r1 > 1) {
    0x00036214 bhi 0x36284                                   |         goto label_8;
                                                             |     }
    0x00036218 cmp r2, 3                                     |     
                                                             |     if (r2 != 3) {
    0x0003621c moveq r2, fp                                  |         r2 = fp;
                                                             |     }
                                                             |     if (r2 == 3) {
    0x00036220 mvnne r2, 0                                   |         r2 = ~0;
                                                             |     }
                                                             |     if (r2 == 3) {
    0x00036224 movne r0, fp                                  |         r0 = fp;
                                                             |     }
                                                             |     if (r2 != 3) {
    0x00036228 mvneq r0, 0                                   |         r0 = ~0;
                                                             |     }
    0x0003622c cmp r8, 0                                     |     
                                                             |     if (r8 == 0) {
    0x00036230 movne r3, 0                                   |         r3 = 0;
                                                             |     }
    0x00036234 mvn r1, 0                                     |     r1 = ~0;
    0x00036238 bl 0x22ea8                                    |     r0 = Curl_socket_check ();
    0x0003623c subs r3, r0, 0                                |     r3 = r0 - 0;
                                                             |     if (r3 < r0) {
    0x00036240 bge 0x36264                                   |         
    0x00036244 bl 0x4eb4                                     |         errno_location ();
    0x00036248 ldr r1, [pc, 0x278]                           |         r1 = *(0x364c4);
    0x0003624c add r1, pc, r1                                |         r1 = pc + r1;
    0x00036250 ldr r2, [r0]                                  |         r2 = *(r0);
    0x00036254 mov r0, r7                                    |         r0 = r7;
    0x00036258 bl 0x10544                                    |         Curl_failf ();
    0x0003625c mov r3, 0x23                                  |         r3 = 0x23;
    0x00036260 b 0x361dc                                     |         goto label_0;
                                                             |     }
                                                             |     if (r3 != r0) {
    0x00036264 bne 0x36284                                   |         goto label_8;
                                                             |     }
    0x00036268 cmp r8, 0                                     |     
                                                             |     if (r8 == 0) {
    0x0003626c ldrne r2, [sp]                                |         r2 = *(sp);
                                                             |     }
                                                             |     if (r8 != 0) {
    0x00036270 strbne r3, [r2]                               |         *(r2) = r3;
                                                             |         goto label_9;
                                                             |     }
                                                             |     if (r8 != 0) {
                                                             | label_9:
    0x00036274 bne 0x361dc                                   |         goto label_0;
                                                             |     }
    0x00036278 ldr r1, [pc, 0x24c]                           |     r1 = *(0x364c8);
    0x0003627c add r1, pc, r1                                |     r1 = pc + r1;
    0x00036280 b 0x361b8                                     |     goto label_1;
                                                             | label_8:
    0x00036284 mov r1, r6                                    |     r1 = r6;
    0x00036288 mov r0, r4                                    |     r0 = r4;
    0x0003628c bl 0x32880                                    |     r0 = ossl_connect_step2 ();
    0x00036290 subs r3, r0, 0                                |     r3 = r0 - 0;
                                                             |     if (r3 != r0) {
    0x00036294 bne 0x361dc                                   |         goto label_0;
                                                             |     }
    0x00036298 cmp r8, 0                                     |     
                                                             |     if (r8 == 0) {
    0x0003629c beq 0x362b0                                   |         goto label_6;
                                                             |     }
    0x000362a0 ldr r2, [r5, 0x1c4]                           |     r2 = *((r5 + 0x1c4));
    0x000362a4 sub r2, r2, 1                                 |     r2--;
    0x000362a8 cmp r2, 2                                     |     
                                                             |     if (r2 < 2) {
    0x000362ac bls 0x361dc                                   |         goto label_0;
                                                             |     }
                                                             | label_6:
    0x000362b0 ldr r3, [r5, 0x1c4]                           |     r3 = *((r5 + 0x1c4));
    0x000362b4 sub r2, r3, 1                                 |     r2 = r3 - 1;
    0x000362b8 cmp r2, 2                                     |     
                                                             |     if (r2 < 2) {
    0x000362bc bls 0x361e8                                   |         goto label_2;
                                                             |     }
    0x000362c0 cmp r3, 4                                     |     
                                                             |     if (r3 != 4) {
    0x000362c4 bne 0x3645c                                   |         goto label_10;
                                                             |     }
    0x000362c8 ldr r3, [r4, 0xf0]                            |     r3 = *((r4 + 0xf0));
    0x000362cc add fp, sl, 0x1bc                             |     
    0x000362d0 cmp r3, 2                                     |     
    0x000362d4 ldr r7, [r4]                                  |     r7 = *(r4);
    0x000362d8 add fp, r4, fp                                |     
                                                             |     if (r3 != 2) {
    0x000362dc bne 0x363b4                                   |         goto label_11;
                                                             |     }
    0x000362e0 ldr r3, [r4, 0x19c]                           |     r3 = *((r4 + 0x19c));
    0x000362e4 adds r3, r3, 1                                |     r3++;
                                                             |     if (r3 == r3) {
    0x000362e8 movne r3, 1                                   |         r3 = 1;
                                                             |     }
    0x000362ec add r3, r4, r3, lsl 4                         |     r3 = r4 + (r3 << 4);
    0x000362f0 ldr r3, [r3, 0x1e0]                           |     r3 = *((r3 + 0x1e0));
    0x000362f4 cmp r3, 2                                     |     
                                                             |     if (r3 == 2) {
    0x000362f8 beq 0x363b4                                   |         goto label_11;
                                                             |     }
    0x000362fc ldrb r3, [r7, 0x43f]                          |     r3 = *((r7 + 0x43f));
    0x00036300 cmp r3, 0                                     |     
                                                             |     if (r3 == 0) {
    0x00036304 beq 0x363cc                                   |         goto label_12;
                                                             |     }
                                                             |     do {
    0x00036308 ldr r3, [r5, 0x1c8]                           |         r3 = *((r5 + 0x1c8));
    0x0003630c add r1, sp, 0x18                              |         r1 += var_18h;
    0x00036310 mov r2, 0                                     |         r2 = 0;
    0x00036314 ldr r0, [r3, 4]                               |         r0 = *((r3 + 4));
    0x00036318 str r2, [r1, -4]!                             |         *((r1 -= 4)) = r2;
    0x0003631c stmib sp, {r1, r2}                            |         __asm ("stmib sp, {r1, r2}");
    0x00036320 str r1, [sp, 0xc]                             |         var_ch = r1;
    0x00036324 bl 0x5208                                     |         r0 = SSL_get1_session ();
    0x00036328 mov r8, r0                                    |         r8 = r0;
    0x0003632c mov r0, r4                                    |         r0 = r4;
    0x00036330 bl 0x36f20                                    |         Curl_ssl_sessionid_lock ();
    0x00036334 mov r3, r6                                    |         r3 = r6;
    0x00036338 ldmib sp, {r1, r2}                            |         __asm ("ldmib sp, {r1, r2}");
    0x0003633c mov r0, r4                                    |         r0 = r4;
    0x00036340 bl 0x36f6c                                    |         r0 = Curl_ssl_getsessionid ();
    0x00036344 cmp r0, 0                                     |         
                                                             |         if (r0 == 0) {
    0x00036348 bne 0x36374                                   |             
    0x0003634c ldr r3, [sp, 0x14]                            |             r3 = var_14h;
    0x00036350 cmp r8, r3                                    |             
                                                             |             if (r8 == r3) {
    0x00036354 beq 0x36428                                   |                 goto label_13;
                                                             |             }
    0x00036358 ldr r1, [pc, 0x170]                           |             r1 = *(0x364cc);
    0x0003635c mov r0, r7                                    |             r0 = r7;
    0x00036360 add r1, pc, r1                                |             r1 = pc + r1;
    0x00036364 bl 0x104cc                                    |             Curl_infof ();
    0x00036368 ldr r1, [sp, 0x14]                            |             r1 = var_14h;
    0x0003636c mov r0, r4                                    |             r0 = r4;
    0x00036370 bl 0x371e0                                    |             Curl_ssl_delsessionid ();
                                                             |         }
    0x00036374 mov r3, r6                                    |         r3 = r6;
    0x00036378 mov r2, 0                                     |         r2 = 0;
    0x0003637c mov r1, r8                                    |         r1 = r8;
    0x00036380 mov r0, r4                                    |         r0 = r4;
    0x00036384 bl 0x37228                                    |         r0 = Curl_ssl_addsessionid ();
    0x00036388 subs r3, r0, 0                                |         r3 = r0 - 0;
                                                             |         if (r3 == r0) {
    0x0003638c beq 0x36430                                   |             goto label_14;
                                                             |         }
    0x00036390 mov r0, r4                                    |         r0 = r4;
    0x00036394 str r3, [sp]                                  |         *(sp) = r3;
    0x00036398 bl 0x36f48                                    |         Curl_ssl_sessionid_unlock ();
    0x0003639c ldr r1, [pc, 0x130]                           |         r1 = *(0x364d0);
    0x000363a0 mov r0, r7                                    |         r0 = r7;
    0x000363a4 add r1, pc, r1                                |         r1 = pc + r1;
    0x000363a8 bl 0x10544                                    |         Curl_failf ();
    0x000363ac ldr r3, [sp]                                  |         r3 = *(sp);
    0x000363b0 b 0x361dc                                     |         goto label_0;
                                                             | label_11:
    0x000363b4 ldrb r3, [r7, 0x3e7]                          |         r3 = *((r7 + 0x3e7));
    0x000363b8 cmp r3, 0                                     |         
    0x000363bc bne 0x36308                                   |         
                                                             |     } while (r3 != 0);
                                                             |     do {
    0x000363c0 ldr r3, [r4, 0xf0]                            |         r3 = *((r4 + 0xf0));
    0x000363c4 cmp r3, 2                                     |         
                                                             |         if (r3 != 2) {
    0x000363c8 bne 0x364a8                                   |             goto label_15;
                                                             |         }
                                                             | label_12:
    0x000363cc ldr r3, [r4, 0x19c]                           |         r3 = *((r4 + 0x19c));
    0x000363d0 adds r3, r3, 1                                |         r3++;
                                                             |         if (r3 == r3) {
    0x000363d4 movne r3, 1                                   |             r3 = 1;
                                                             |         }
    0x000363d8 add r3, r4, r3, lsl 4                         |         r3 = r4 + (r3 << 4);
    0x000363dc ldr r3, [r3, 0x1e0]                           |         r3 = *((r3 + 0x1e0));
    0x000363e0 cmp r3, 2                                     |         
                                                             |         if (r3 == 2) {
    0x000363e4 beq 0x364a8                                   |             goto label_15;
                                                             |         }
    0x000363e8 ldrb r3, [r4, 0x230]                          |         r3 = *((r4 + 0x230));
    0x000363ec cmp r3, 0                                     |         
                                                             |         if (r3 != 0) {
    0x000363f0 bne 0x3643c                                   |             goto label_3;
                                                             |         }
                                                             | label_5:
    0x000363f4 ldr r3, [r4, 0x19c]                           |         r3 = *((r4 + 0x19c));
    0x000363f8 adds r3, r3, 1                                |         r3++;
                                                             |         if (r3 == r3) {
    0x000363fc movne r3, 1                                   |             r3 = 1;
                                                             |         }
    0x00036400 add r3, r4, r3, lsl 4                         |         r3 = r4 + (r3 << 4);
    0x00036404 ldr r3, [r3, 0x1e0]                           |         r3 = *((r3 + 0x1e0));
    0x00036408 cmp r3, 2                                     |         
                                                             |         if (r3 == 2) {
    0x0003640c ldrbne r3, [r4, 0x231]                        |             r3 = *((r4 + 0x231));
                                                             |         }
                                                             |         if (r3 == 2) {
    0x00036410 bne 0x36418                                   |             
                                                             | label_4:
    0x00036414 ldrb r3, [r4, 0x209]                          |             r3 = *((r4 + 0x209));
                                                             |         }
    0x00036418 cmp r3, 0                                     |         
                                                             |         if (r3 != 0) {
    0x0003641c bne 0x3643c                                   |             goto label_3;
                                                             |         }
    0x00036420 mov r2, 0                                     |         r2 = 0;
    0x00036424 b 0x36440                                     |         goto label_16;
                                                             | label_13:
    0x00036428 mov r0, r8                                    |         r0 = r8;
    0x0003642c bl 0x4e3c                                     |         SSL_SESSION_free ();
                                                             | label_14:
    0x00036430 mov r0, r4                                    |         r0 = r4;
    0x00036434 bl 0x36f48                                    |         Curl_ssl_sessionid_unlock ();
    0x00036438 b 0x363c0                                     |         
                                                             |     } while (1);
                                                             | label_3:
    0x0003643c mov r2, 1                                     |     r2 = 1;
                                                             | label_16:
    0x00036440 mov r1, fp                                    |     r1 = fp;
    0x00036444 mov r0, r4                                    |     r0 = r4;
    0x00036448 bl 0x334b8                                    |     r0 = servercert ();
    0x0003644c subs r3, r0, 0                                |     r3 = r0 - 0;
                                                             |     if (r3 != r0) {
    0x00036450 bne 0x361dc                                   |         goto label_0;
                                                             |     }
    0x00036454 mov r3, 5                                     |     r3 = 5;
    0x00036458 str r3, [r5, 0x1c4]                           |     *((r5 + 0x1c4)) = r3;
                                                             | label_10:
    0x0003645c ldr r3, [r5, 0x1c4]                           |     r3 = *((r5 + 0x1c4));
    0x00036460 cmp r3, 5                                     |     
                                                             |     if (r3 == 5) {
    0x00036464 movne r3, 0                                   |         r3 = 0;
                                                             |     }
                                                             |     if (r3 == 5) {
    0x00036468 bne 0x36494                                   |         
    0x0003646c mov r3, 2                                     |         r3 = 2;
    0x00036470 add r4, r4, sl                                |         r4 += sl;
    0x00036474 str r3, [r4, 0x1c0]                           |         *((r4 + 0x1c0)) = r3;
    0x00036478 ldr r3, [pc, 0x58]                            |         r3 = *(0x364d4);
    0x0003647c add r3, pc, r3                                |         r3 = pc + r3;
    0x00036480 str r3, [sb, 0x1ac]                           |         *((sb + 0x1ac)) = r3;
    0x00036484 ldr r3, [pc, 0x50]                            |         r3 = *(0x364d8);
    0x00036488 add r3, pc, r3                                |         r3 = pc + r3;
    0x0003648c str r3, [sb, 0x1b4]                           |         *((sb + 0x1b4)) = r3;
    0x00036490 mov r3, 1                                     |         r3 = 1;
                                                             |     }
    0x00036494 ldr r2, [sp]                                  |     r2 = *(sp);
    0x00036498 strb r3, [r2]                                 |     *(r2) = r3;
    0x0003649c mov r3, 0                                     |     r3 = 0;
    0x000364a0 str r3, [r5, 0x1c4]                           |     *((r5 + 0x1c4)) = r3;
    0x000364a4 b 0x361dc                                     |     goto label_0;
                                                             | label_15:
    0x000364a8 ldrb r2, [r4, 0x208]                          |     r2 = *((r4 + 0x208));
    0x000364ac cmp r2, 0                                     |     
                                                             |     if (r2 != 0) {
    0x000364b0 bne 0x3643c                                   |         goto label_3;
                                                             |     }
    0x000364b4 cmp r3, 2                                     |     
                                                             |     if (r3 != 2) {
    0x000364b8 bne 0x36414                                   |         goto label_4;
                                                             |     }
    0x000364bc b 0x363f4                                     |     goto label_5;
                                                             | }
    ; 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/lib/libcurl.so @ 0x34e90 */
                                                             | #include <stdint.h>
                                                             |  
    ; (fcn) sym.ossl_connect_step1 ()                        | void ossl_connect_step1 (int32_t arg1, int32_t arg2) {
                                                             |     int32_t var_0h;
                                                             |     int32_t var_4h;
                                                             |     size_t var_8h;
                                                             |     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;
                                                             |     size_t size;
                                                             |     int32_t var_34h;
                                                             |     int32_t var_38h;
                                                             |     int32_t var_3ch;
                                                             |     int32_t var_40h;
                                                             |     int32_t var_44h;
                                                             |     int32_t var_48h;
                                                             |     size_t var_4ch;
                                                             |     int32_t var_58h;
                                                             |     void * s1;
                                                             |     int32_t var_158h;
                                                             |     int32_t var_15ch;
                                                             |     r0 = arg1;
                                                             |     r1 = arg2;
    0x00034e90 ldr r3, [pc, 0xf88]                           |     r3 = *(0x35e1c);
    0x00034e94 push {r4, r5, r6, r7, r8, sb, sl, fp, lr}     |     
    0x00034e98 ldr r5, [r0]                                  |     r5 = *(r0);
    0x00034e9c sub sp, sp, 0x15c                             |     
    0x00034ea0 add r3, pc, r3                                |     r3 = pc + r3;
    0x00034ea4 str r3, [sp, 0x38]                            |     var_38h = r3;
    0x00034ea8 add r3, r1, 0x66                              |     r3 = r1 + 0x66;
    0x00034eac ldr r3, [r0, r3, lsl 2]                       |     offset_0 = r3 << 2;
                                                             |     r3 = *((r0 + offset_0));
    0x00034eb0 mov r4, r0                                    |     r4 = r0;
    0x00034eb4 str r3, [sp, 0x3c]                            |     var_3ch = r3;
    0x00034eb8 ldr r3, [r0, 0xf0]                            |     r3 = *((r0 + 0xf0));
    0x00034ebc str r1, [sp, 0x28]                            |     var_28h = r1;
    0x00034ec0 cmp r3, 2                                     |     
                                                             |     if (r3 == 2) {
    0x00034ec4 bne 0x34eec                                   |         
    0x00034ec8 ldr r2, [r0, 0x19c]                           |         r2 = *((r0 + 0x19c));
    0x00034ecc adds r2, r2, 1                                |         r2++;
                                                             |         if (r2 == r2) {
    0x00034ed0 movne r2, 1                                   |             r2 = 1;
                                                             |         }
    0x00034ed4 add r2, r0, r2, lsl 4                         |         r2 = r0 + (r2 << 4);
    0x00034ed8 ldr r2, [r2, 0x1e0]                           |         r2 = *((r2 + 0x1e0));
    0x00034edc cmp r2, 2                                     |         
                                                             |         if (r2 == 2) {
    0x00034ee0 ldrne r2, [r0, 0xe4]                          |             r2 = *((r0 + 0xe4));
                                                             |         }
                                                             |         if (r2 == 2) {
    0x00034ee4 strne r2, [sp, 0x24]                          |             var_24h = r2;
                                                             |         }
                                                             |         if (r2 != 2) {
    0x00034ee8 bne 0x34efc                                   |             goto label_23;
                                                             |         }
                                                             |     }
    0x00034eec ldr r2, [r4, 0xa0]                            |     r2 = *((r4 + 0xa0));
    0x00034ef0 cmp r3, 2                                     |     
    0x00034ef4 str r2, [sp, 0x24]                            |     var_24h = r2;
                                                             |     if (r3 == 2) {
    0x00034ef8 bne 0x34f1c                                   |         
                                                             | label_23:
    0x00034efc ldr r2, [r4, 0x19c]                           |         r2 = *((r4 + 0x19c));
    0x00034f00 adds r2, r2, 1                                |         r2++;
                                                             |         if (r2 == r2) {
    0x00034f04 movne r2, 1                                   |             r2 = 1;
                                                             |         }
    0x00034f08 add r2, r4, r2, lsl 4                         |         r2 = r4 + (r2 << 4);
    0x00034f0c ldr r2, [r2, 0x1e0]                           |         r2 = *((r2 + 0x1e0));
    0x00034f10 cmp r2, 2                                     |         
                                                             |         if (r2 == 2) {
    0x00034f14 addne r6, r5, 0x460                           |             r6 = r5 + 0x460;
                                                             |         }
                                                             |         if (r2 != 2) {
    0x00034f18 bne 0x34f2c                                   |             goto label_24;
                                                             |         }
                                                             |     }
    0x00034f1c add r6, r5, 0x400                             |     r6 = r5 + 0x400;
    0x00034f20 cmp r3, 2                                     |     
    0x00034f24 add r6, r6, 8                                 |     r6 += 8;
                                                             |     if (r3 == 2) {
    0x00034f28 bne 0x34f4c                                   |         
                                                             | label_24:
    0x00034f2c ldr r2, [r4, 0x19c]                           |         r2 = *((r4 + 0x19c));
    0x00034f30 adds r2, r2, 1                                |         r2++;
                                                             |         if (r2 == r2) {
    0x00034f34 movne r2, 1                                   |             r2 = 1;
                                                             |         }
    0x00034f38 add r2, r4, r2, lsl 4                         |         r2 = r4 + (r2 << 4);
    0x00034f3c ldr r2, [r2, 0x1e0]                           |         r2 = *((r2 + 0x1e0));
    0x00034f40 cmp r2, 2                                     |         
                                                             |         if (r2 == 2) {
    0x00034f44 ldrne r7, [r4, 0x228]                         |             r7 = *((r4 + 0x228));
                                                             |         }
                                                             |         if (r2 != 2) {
    0x00034f48 bne 0x34f58                                   |             goto label_25;
                                                             |         }
                                                             |     }
    0x00034f4c cmp r3, 2                                     |     
    0x00034f50 ldr r7, [r4, 0x200]                           |     r7 = *((r4 + 0x200));
                                                             |     if (r3 == 2) {
    0x00034f54 bne 0x34f7c                                   |         
                                                             | label_25:
    0x00034f58 ldr r2, [r4, 0x19c]                           |         r2 = *((r4 + 0x19c));
    0x00034f5c adds r2, r2, 1                                |         r2++;
                                                             |         if (r2 == r2) {
    0x00034f60 movne r2, 1                                   |             r2 = 1;
                                                             |         }
    0x00034f64 add r2, r4, r2, lsl 4                         |         r2 = r4 + (r2 << 4);
    0x00034f68 ldr r2, [r2, 0x1e0]                           |         r2 = *((r2 + 0x1e0));
    0x00034f6c cmp r2, 2                                     |         
                                                             |         if (r2 == 2) {
    0x00034f70 ldrne r2, [r5, 0x478]                         |             r2 = *((r5 + 0x478));
                                                             |         }
                                                             |         if (r2 == 2) {
    0x00034f74 strne r2, [sp, 8]                             |             var_8h = r2;
                                                             |         }
                                                             |         if (r2 != 2) {
    0x00034f78 bne 0x34f8c                                   |             goto label_26;
                                                             |         }
                                                             |     }
    0x00034f7c ldr r2, [r5, 0x420]                           |     r2 = *((r5 + 0x420));
    0x00034f80 cmp r3, 2                                     |     
    0x00034f84 str r2, [sp, 8]                               |     var_8h = r2;
                                                             |     if (r3 == 2) {
    0x00034f88 bne 0x34fac                                   |         
                                                             | label_26:
    0x00034f8c ldr r2, [r4, 0x19c]                           |         r2 = *((r4 + 0x19c));
    0x00034f90 adds r2, r2, 1                                |         r2++;
                                                             |         if (r2 == r2) {
    0x00034f94 movne r2, 1                                   |             r2 = 1;
                                                             |         }
    0x00034f98 add r2, r4, r2, lsl 4                         |         r2 = r4 + (r2 << 4);
    0x00034f9c ldr r2, [r2, 0x1e0]                           |         r2 = *((r2 + 0x1e0));
    0x00034fa0 cmp r2, 2                                     |         
                                                             |         if (r2 == 2) {
    0x00034fa4 ldrne r8, [r5, 0x47c]                         |             r8 = *((r5 + 0x47c));
                                                             |         }
                                                             |         if (r2 != 2) {
    0x00034fa8 bne 0x34fb8                                   |             goto label_27;
                                                             |         }
                                                             |     }
    0x00034fac cmp r3, 2                                     |     
    0x00034fb0 ldr r8, [r5, 0x424]                           |     r8 = *((r5 + 0x424));
                                                             |     if (r3 == 2) {
    0x00034fb4 bne 0x34fdc                                   |         
                                                             | label_27:
    0x00034fb8 ldr r2, [r4, 0x19c]                           |         r2 = *((r4 + 0x19c));
    0x00034fbc adds r2, r2, 1                                |         r2++;
                                                             |         if (r2 == r2) {
    0x00034fc0 movne r2, 1                                   |             r2 = 1;
                                                             |         }
    0x00034fc4 add r2, r4, r2, lsl 4                         |         r2 = r4 + (r2 << 4);
    0x00034fc8 ldr r2, [r2, 0x1e0]                           |         r2 = *((r2 + 0x1e0));
    0x00034fcc cmp r2, 2                                     |         
                                                             |         if (r2 == 2) {
    0x00034fd0 ldrne r2, [r4, 0x238]                         |             r2 = *((r4 + 0x238));
                                                             |         }
                                                             |         if (r2 == 2) {
    0x00034fd4 strne r2, [sp, 0xc]                           |             var_ch = r2;
                                                             |         }
                                                             |         if (r2 != 2) {
    0x00034fd8 bne 0x34fec                                   |             goto label_28;
                                                             |         }
                                                             |     }
    0x00034fdc ldr r2, [r4, 0x210]                           |     r2 = *((r4 + 0x210));
    0x00034fe0 cmp r3, 2                                     |     
    0x00034fe4 str r2, [sp, 0xc]                             |     var_ch = r2;
                                                             |     if (r3 == 2) {
    0x00034fe8 bne 0x35010                                   |         
                                                             | label_28:
    0x00034fec ldr r2, [r4, 0x19c]                           |         r2 = *((r4 + 0x19c));
    0x00034ff0 adds r2, r2, 1                                |         r2++;
                                                             |         if (r2 == r2) {
    0x00034ff4 movne r2, 1                                   |             r2 = 1;
                                                             |         }
    0x00034ff8 add r2, r4, r2, lsl 4                         |         r2 = r4 + (r2 << 4);
    0x00034ffc ldr r2, [r2, 0x1e0]                           |         r2 = *((r2 + 0x1e0));
    0x00035000 cmp r2, 2                                     |         
                                                             |         if (r2 == 2) {
    0x00035004 ldrne r2, [r4, 0x234]                         |             r2 = *((r4 + 0x234));
                                                             |         }
                                                             |         if (r2 == 2) {
    0x00035008 strne r2, [sp, 0x10]                          |             var_10h = r2;
                                                             |         }
                                                             |         if (r2 != 2) {
    0x0003500c bne 0x35020                                   |             goto label_29;
                                                             |         }
                                                             |     }
    0x00035010 ldr r2, [r4, 0x20c]                           |     r2 = *((r4 + 0x20c));
    0x00035014 cmp r3, 2                                     |     
    0x00035018 str r2, [sp, 0x10]                            |     var_10h = r2;
                                                             |     if (r3 == 2) {
    0x0003501c bne 0x35044                                   |         
                                                             | label_29:
    0x00035020 ldr r2, [r4, 0x19c]                           |         r2 = *((r4 + 0x19c));
    0x00035024 adds r2, r2, 1                                |         r2++;
                                                             |         if (r2 == r2) {
    0x00035028 movne r2, 1                                   |             r2 = 1;
                                                             |         }
    0x0003502c add r2, r4, r2, lsl 4                         |         r2 = r4 + (r2 << 4);
    0x00035030 ldr r2, [r2, 0x1e0]                           |         r2 = *((r2 + 0x1e0));
    0x00035034 cmp r2, 2                                     |         
                                                             |         if (r2 == 2) {
    0x00035038 ldrbne r3, [r4, 0x230]                        |             r3 = *((r4 + 0x230));
                                                             |         }
                                                             |         if (r2 == 2) {
    0x0003503c strne r3, [sp, 0x2c]                          |             var_2ch = r3;
                                                             |         }
                                                             |         if (r2 != 2) {
    0x00035040 bne 0x35054                                   |             goto label_30;
                                                             |         }
                                                             |     }
    0x00035044 ldrb r2, [r4, 0x208]                          |     r2 = *((r4 + 0x208));
    0x00035048 cmp r3, 2                                     |     
    0x0003504c str r2, [sp, 0x2c]                            |     var_2ch = r2;
                                                             |     if (r3 == 2) {
    0x00035050 bne 0x35074                                   |         
                                                             | label_30:
    0x00035054 ldr r3, [r4, 0x19c]                           |         r3 = *((r4 + 0x19c));
    0x00035058 adds r3, r3, 1                                |         r3++;
                                                             |         if (r3 == r3) {
    0x0003505c movne r3, 1                                   |             r3 = 1;
                                                             |         }
    0x00035060 add r3, r4, r3, lsl 4                         |         r3 = r4 + (r3 << 4);
    0x00035064 ldr r3, [r3, 0x1e0]                           |         r3 = *((r3 + 0x1e0));
    0x00035068 cmp r3, 2                                     |         
                                                             |         if (r3 == 2) {
    0x0003506c ldrne r3, [r5, 0x464]                         |             r3 = *((r5 + 0x464));
                                                             |         }
                                                             |         if (r3 != 2) {
    0x00035070 bne 0x35078                                   |             goto label_31;
                                                             |         }
                                                             |     }
    0x00035074 ldr r3, [r5, 0x40c]                           |     r3 = *((r5 + 0x40c));
                                                             | label_31:
    0x00035078 mov r0, r5                                    |     r0 = r5;
    0x0003507c str r3, [sp, 0x18]                            |     var_18h = r3;
    0x00035080 bl 0x34e20                                    |     r0 = Curl_ossl_seed ();
    0x00035084 subs fp, r0, 0                                |     
                                                             |     if (fp != r0) {
    0x00035088 bne 0x350cc                                   |         goto label_1;
                                                             |     }
    0x0003508c mov r3, 1                                     |     r3 = 1;
    0x00035090 cmp r7, 7                                     |     
    0x00035094 str r3, [r6]                                  |     *(r6) = r3;
                                                             |     if (r7 > 7) {
    0x00035098 bhi 0x35154                                   |         goto label_32;
                                                             |     }
    0x0003509c lsl r3, r3, r7                                |     r3 <<= r7;
    0x000350a0 tst r3, 0xf3                                  |     
                                                             |     if ((r3 & 0xf3) != 0) {
    0x000350a4 bne 0x350d8                                   |         goto label_33;
                                                             |     }
    0x000350a8 tst r3, 8                                     |     
                                                             |     if ((r3 & 8) != 0) {
    0x000350ac bne 0x35148                                   |         goto label_34;
                                                             |     }
    0x000350b0 tst r3, 4                                     |     
                                                             |     if ((r3 & 4) == 0) {
    0x000350b4 beq 0x35154                                   |         goto label_32;
                                                             |     }
    0x000350b8 ldr r1, [pc, 0xd64]                           |     r1 = *(0x35e20);
    0x000350bc add r1, pc, r1                                |     r1 = pc + r1;
                                                             | label_0:
    0x000350c0 mov r0, r5                                    |     r0 = r5;
    0x000350c4 bl 0x10544                                    |     Curl_failf ();
    0x000350c8 mov fp, 4                                     |     
                                                             |     do {
                                                             | label_1:
    0x000350cc mov r0, fp                                    |         r0 = fp;
    0x000350d0 add sp, sp, 0x15c                             |         
    0x000350d4 pop {r4, r5, r6, r7, r8, sb, sl, fp, pc}      |         
                                                             | label_33:
    0x000350d8 bl 0x4e84                                     |         TLS_client_method ();
    0x000350dc ldr r3, [sp, 0x28]                            |         r3 = var_28h;
    0x000350e0 add r6, r4, r3, lsl 4                         |         r6 = r4 + (r3 << 4);
    0x000350e4 ldr r3, [r6, 0x1c8]                           |         r3 = *((r6 + 0x1c8));
    0x000350e8 mov sb, r0                                    |         sb = r0;
    0x000350ec ldr r0, [r3]                                  |         r0 = *(r3);
    0x000350f0 cmp r0, 0                                     |         
                                                             |         if (r0 != 0) {
    0x000350f4 bne 0x3516c                                   |             goto label_35;
                                                             |         }
                                                             | label_2:
    0x000350f8 mov r0, sb                                    |         r0 = sb;
    0x000350fc ldr r7, [r6, 0x1c8]                           |         r7 = *((r6 + 0x1c8));
    0x00035100 bl 0x5a3c                                     |         SSL_CTX_new ();
    0x00035104 ldr r3, [r6, 0x1c8]                           |         r3 = *((r6 + 0x1c8));
    0x00035108 str r0, [r7]                                  |         *(r7) = r0;
    0x0003510c ldr r0, [r3]                                  |         r0 = *(r3);
    0x00035110 cmp r0, 0                                     |         
                                                             |         if (r0 != 0) {
    0x00035114 bne 0x35174                                   |             goto label_36;
                                                             |         }
    0x00035118 add r4, sp, 0x58                              |         r4 += var_58h;
    0x0003511c bl 0x5754                                     |         ERR_peek_error ();
    0x00035120 mov r2, 0x100                                 |         r2 = 0x100;
    0x00035124 mov r1, r4                                    |         r1 = r4;
    0x00035128 bl 0x5064                                     |         ERR_error_string_n ();
    0x0003512c ldr r1, [pc, 0xcf4]                           |         r1 = *(0x35e24);
    0x00035130 mov r2, r4                                    |         r2 = r4;
    0x00035134 add r1, pc, r1                                |         r1 = pc + r1;
    0x00035138 mov r0, r5                                    |         r0 = r5;
    0x0003513c bl 0x10544                                    |         Curl_failf ();
                                                             | label_20:
    0x00035140 mov fp, 0x1b                                  |         
    0x00035144 b 0x350cc                                     |         
                                                             |     } while (1);
                                                             | label_34:
    0x00035148 ldr r1, [pc, 0xcdc]                           |     r1 = *(0x35e28);
    0x0003514c add r1, pc, r1                                |     r1 = pc + r1;
    0x00035150 b 0x350c0                                     |     goto label_0;
                                                             | label_32:
    0x00035154 ldr r1, [pc, 0xcd4]                           |     r1 = *(0x35e2c);
    0x00035158 mov r0, r5                                    |     r0 = r5;
    0x0003515c add r1, pc, r1                                |     r1 = pc + r1;
    0x00035160 bl 0x10544                                    |     Curl_failf ();
                                                             | label_21:
    0x00035164 mov fp, 0x23                                  |     
    0x00035168 b 0x350cc                                     |     goto label_1;
                                                             | label_35:
    0x0003516c bl 0x4ed8                                     |     SSL_CTX_free ();
    0x00035170 b 0x350f8                                     |     goto label_2;
                                                             | label_36:
    0x00035174 mov r3, 0                                     |     r3 = 0;
    0x00035178 mov r2, 0x10                                  |     r2 = 0x10;
    0x0003517c mov r1, 0x21                                  |     r1 = 0x21;
    0x00035180 bl 0x522c                                     |     SSL_CTX_ctrl ();
    0x00035184 ldr r3, [r5, 0x1a8]                           |     r3 = *((r5 + 0x1a8));
    0x00035188 cmp r3, 0                                     |     
                                                             |     if (r3 != 0) {
    0x0003518c beq 0x351c8                                   |         
    0x00035190 ldrb r3, [r5, 0x4d8]                          |         r3 = *((r5 + 0x4d8));
    0x00035194 cmp r3, 0                                     |         
                                                             |         if (r3 == 0) {
    0x00035198 beq 0x351c8                                   |             goto label_37;
                                                             |         }
    0x0003519c ldr r3, [r6, 0x1c8]                           |         r3 = *((r6 + 0x1c8));
    0x000351a0 ldr r1, [pc, 0xc8c]                           |         r1 = *(0x35e30);
    0x000351a4 ldr r0, [r3]                                  |         r0 = *(r3);
    0x000351a8 add r1, pc, r1                                |         r1 = pc + r1;
    0x000351ac bl 0x59b8                                     |         SSL_CTX_set_msg_callback ();
    0x000351b0 ldr r0, [r6, 0x1c8]                           |         r0 = *((r6 + 0x1c8));
    0x000351b4 mov r3, r4                                    |         r3 = r4;
    0x000351b8 mov r2, 0                                     |         r2 = 0;
    0x000351bc mov r1, 0x10                                  |         r1 = 0x10;
    0x000351c0 ldr r0, [r0]                                  |         r0 = *(r0);
    0x000351c4 bl 0x522c                                     |         SSL_CTX_ctrl ();
                                                             |     }
                                                             | label_37:
    0x000351c8 ldr r2, [r4, 0xf0]                            |     r2 = *((r4 + 0xf0));
    0x000351cc cmp r2, 2                                     |     
                                                             |     if (r2 != 2) {
    0x000351d0 bne 0x3543c                                   |         goto label_38;
                                                             |     }
    0x000351d4 ldr r3, [r4, 0x19c]                           |     r3 = *((r4 + 0x19c));
    0x000351d8 adds r3, r3, 1                                |     r3++;
                                                             |     if (r3 == r3) {
    0x000351dc movne r3, 1                                   |         r3 = 1;
                                                             |     }
    0x000351e0 add r3, r4, r3, lsl 4                         |     r3 = r4 + (r3 << 4);
    0x000351e4 ldr r3, [r3, 0x1e0]                           |     r3 = *((r3 + 0x1e0));
    0x000351e8 cmp r3, 2                                     |     
                                                             |     if (r3 == 2) {
    0x000351ec beq 0x3543c                                   |         goto label_38;
                                                             |     }
    0x000351f0 ldrb r3, [r5, 0x45c]                          |     r3 = *((r5 + 0x45c));
    0x000351f4 cmp r3, 0                                     |     
                                                             |     if (r3 != 0) {
    0x000351f8 bne 0x35470                                   |         goto label_39;
                                                             |     }
    0x000351fc ldr r1, [pc, 0xc34]                           |     r1 = *(0x35e34);
    0x00035200 ldr r7, [pc, 0xc34]                           |     r7 = *(0x35e38);
                                                             |     do {
    0x00035204 ldr r3, [r4, 0x19c]                           |         r3 = *((r4 + 0x19c));
    0x00035208 adds r3, r3, 1                                |         r3++;
                                                             |         if (r3 == r3) {
    0x0003520c movne r3, 1                                   |             r3 = 1;
                                                             |         }
    0x00035210 add r3, r4, r3, lsl 4                         |         r3 = r4 + (r3 << 4);
    0x00035214 ldr r3, [r3, 0x1e0]                           |         r3 = *((r3 + 0x1e0));
    0x00035218 cmp r3, 2                                     |         
                                                             |         if (r3 == 2) {
    0x0003521c ldrne r0, [r4, 0x228]                         |             r0 = *((r4 + 0x228));
                                                             |         }
                                                             |         if (r3 == 2) {
    0x00035220 beq 0x3545c                                   |             goto label_40;
                                                             |         }
                                                             | label_3:
    0x00035224 ldr r3, [r4, 0x19c]                           |         r3 = *((r4 + 0x19c));
    0x00035228 adds r3, r3, 1                                |         r3++;
                                                             |         if (r3 == r3) {
    0x0003522c movne r3, 1                                   |             r3 = 1;
                                                             |         }
    0x00035230 add r3, r4, r3, lsl 4                         |         r3 = r4 + (r3 << 4);
    0x00035234 ldr r3, [r3, 0x1e0]                           |         r3 = *((r3 + 0x1e0));
    0x00035238 cmp r3, 2                                     |         
                                                             |         if (r3 == 2) {
    0x0003523c ldrne sb, [r4, 0x22c]                         |             sb = *((r4 + 0x22c));
                                                             |         }
                                                             |         if (r3 == 2) {
    0x00035240 beq 0x35468                                   |             goto label_41;
                                                             |         }
                                                             | label_4:
    0x00035244 cmp r0, 6                                     |         
                                                             |         if (r0 == 6) {
    0x00035248 beq 0x35494                                   |             goto label_42;
                                                             |         }
    0x0003524c cmp r0, 7                                     |         
                                                             |         if (r0 == 7) {
    0x00035250 beq 0x35478                                   |             goto label_43;
                                                             |         }
    0x00035254 cmp r0, 5                                     |         
                                                             |         if (r0 == 5) {
    0x00035258 bne 0x35260                                   |             
                                                             | label_6:
    0x0003525c orr r1, r1, 0x4000000                         |             r1 |= 0x4000000;
                                                             |         }
    0x00035260 cmp sb, 0x50000                               |         
                                                             |         if (sb != 0x50000) {
    0x00035264 beq 0x3527c                                   |             
    0x00035268 cmp sb, 0x60000                               |             
                                                             |             if (sb == 0x60000) {
    0x0003526c beq 0x35280                                   |                 goto label_44;
                                                             |             }
    0x00035270 cmp sb, 0x40000                               |             
                                                             |             if (sb != 0x40000) {
    0x00035274 bne 0x35284                                   |                 goto label_45;
                                                             |             }
    0x00035278 orr r1, r1, 0x10000000                        |             r1 |= 0x10000000;
                                                             |         }
    0x0003527c orr r1, r1, 0x8000000                         |         r1 |= 0x8000000;
                                                             | label_44:
    0x00035280 orr r1, r1, 0x20000000                        |         r1 |= 0x20000000;
                                                             | label_45:
    0x00035284 ldr r3, [r6, 0x1c8]                           |         r3 = *((r6 + 0x1c8));
    0x00035288 ldr r0, [r3]                                  |         r0 = *(r3);
    0x0003528c bl 0x55e0                                     |         SSL_CTX_set_options ();
    0x00035290 ldrb r3, [r4, 0x26f]                          |         r3 = *((r4 + 0x26f));
    0x00035294 cmp r3, 0                                     |         
                                                             |         if (r3 != 0) {
    0x00035298 beq 0x352b4                                   |             
    0x0003529c ldr r3, [r6, 0x1c8]                           |             r3 = *((r6 + 0x1c8));
    0x000352a0 ldr r1, [pc, 0xb98]                           |             r1 = *(0x35e3c);
    0x000352a4 mov r2, r4                                    |             r2 = r4;
    0x000352a8 add r1, pc, r1                                |             r1 = pc + r1;
    0x000352ac ldr r0, [r3]                                  |             r0 = *(r3);
    0x000352b0 bl 0x5694                                     |             SSL_CTX_set_next_proto_select_cb ();
                                                             |         }
    0x000352b4 ldrb r3, [r4, 0x270]                          |         r3 = *((r4 + 0x270));
    0x000352b8 cmp r3, 0                                     |         
                                                             |         if (r3 != 0) {
    0x000352bc beq 0x35308                                   |             
    0x000352c0 ldr r7, [pc, 0xb7c]                           |             r7 = *(0x35e40);
    0x000352c4 mov r2, 8                                     |             r2 = 8;
    0x000352c8 add r7, pc, r7                                |             r7 = pc + r7;
    0x000352cc add sb, sp, 0x158                             |             sb += var_158h;
    0x000352d0 mov r1, r7                                    |             r1 = r7;
    0x000352d4 add r0, sp, 0x59                              |             r0 += s1;
    0x000352d8 strb r2, [sb, -0x100]!                        |             *((sb -= 0x100)) = r2;
    0x000352dc bl 0x4f5c                                     |             memcpy (r0, r1, r2);
    0x000352e0 ldr r1, [pc, 0xb60]                           |             r1 = *(0x35e44);
    0x000352e4 mov r2, r7                                    |             r2 = r7;
    0x000352e8 add r1, pc, r1                                |             r1 = pc + r1;
    0x000352ec mov r0, r5                                    |             r0 = r5;
    0x000352f0 bl 0x104cc                                    |             Curl_infof ();
    0x000352f4 ldr r3, [r6, 0x1c8]                           |             r3 = *((r6 + 0x1c8));
    0x000352f8 mov r2, 9                                     |             r2 = 9;
    0x000352fc mov r1, sb                                    |             r1 = sb;
    0x00035300 ldr r0, [r3]                                  |             r0 = *(r3);
    0x00035304 bl 0x597c                                     |             SSL_CTX_set_alpn_protos ();
                                                             |         }
    0x00035308 ldr r3, [sp, 8]                               |         r3 = var_8h;
    0x0003530c adds r1, r3, 0                                |         r1 = r3 + 0;
                                                             |         if (r1 == r3) {
    0x00035310 movne r1, 1                                   |             r1 = 1;
                                                             |         }
    0x00035314 cmp r3, 0                                     |         
    0x00035318 cmpeq r8, 0                                   |         __asm ("cmpeq r8, 0");
                                                             |         if (r3 == 0) {
    0x0003531c beq 0x35ad8                                   |             goto label_46;
                                                             |         }
    0x00035320 ldr r2, [r4, 0xf0]                            |         r2 = *((r4 + 0xf0));
    0x00035324 cmp r2, 2                                     |         
                                                             |         if (r2 == 2) {
    0x00035328 bne 0x35350                                   |             
    0x0003532c ldr r3, [r4, 0x19c]                           |             r3 = *((r4 + 0x19c));
    0x00035330 adds r3, r3, 1                                |             r3++;
                                                             |             if (r3 == r3) {
    0x00035334 movne r3, 1                                   |                 r3 = 1;
                                                             |             }
    0x00035338 add r3, r4, r3, lsl 4                         |             r3 = r4 + (r3 << 4);
    0x0003533c ldr r3, [r3, 0x1e0]                           |             r3 = *((r3 + 0x1e0));
    0x00035340 cmp r3, 2                                     |             
                                                             |             if (r3 == 2) {
    0x00035344 ldrne r3, [r5, 0x480]                         |                 r3 = *((r5 + 0x480));
                                                             |             }
                                                             |             if (r3 == 2) {
    0x00035348 strne r3, [sp, 0x14]                          |                 var_14h = r3;
                                                             |             }
                                                             |             if (r3 != 2) {
    0x0003534c bne 0x35360                                   |                 goto label_47;
                                                             |             }
                                                             |         }
    0x00035350 ldr r3, [r5, 0x428]                           |         r3 = *((r5 + 0x428));
    0x00035354 cmp r2, 2                                     |         
    0x00035358 str r3, [sp, 0x14]                            |         var_14h = r3;
                                                             |         if (r2 == 2) {
    0x0003535c bne 0x35384                                   |             
                                                             | label_47:
    0x00035360 ldr r3, [r4, 0x19c]                           |             r3 = *((r4 + 0x19c));
    0x00035364 adds r3, r3, 1                                |             r3++;
                                                             |             if (r3 == r3) {
    0x00035368 movne r3, 1                                   |                 r3 = 1;
                                                             |             }
    0x0003536c add r3, r4, r3, lsl 4                         |             r3 = r4 + (r3 << 4);
    0x00035370 ldr r3, [r3, 0x1e0]                           |             r3 = *((r3 + 0x1e0));
    0x00035374 cmp r3, 2                                     |             
                                                             |             if (r3 == 2) {
    0x00035378 ldrne r3, [r5, 0x484]                         |                 r3 = *((r5 + 0x484));
                                                             |             }
                                                             |             if (r3 == 2) {
    0x0003537c strne r3, [sp, 0x20]                          |                 var_20h = r3;
                                                             |             }
                                                             |             if (r3 != 2) {
    0x00035380 bne 0x35394                                   |                 goto label_48;
                                                             |             }
                                                             |         }
    0x00035384 ldr r3, [r5, 0x42c]                           |         r3 = *((r5 + 0x42c));
    0x00035388 cmp r2, 2                                     |         
    0x0003538c str r3, [sp, 0x20]                            |         var_20h = r3;
                                                             |         if (r2 == 2) {
    0x00035390 bne 0x353b4                                   |             
                                                             | label_48:
    0x00035394 ldr r3, [r4, 0x19c]                           |             r3 = *((r4 + 0x19c));
    0x00035398 adds r3, r3, 1                                |             r3++;
                                                             |             if (r3 == r3) {
    0x0003539c movne r3, 1                                   |                 r3 = 1;
                                                             |             }
    0x000353a0 add r3, r4, r3, lsl 4                         |             r3 = r4 + (r3 << 4);
    0x000353a4 ldr r3, [r3, 0x1e0]                           |             r3 = *((r3 + 0x1e0));
    0x000353a8 cmp r3, 2                                     |             
                                                             |             if (r3 == 2) {
    0x000353ac ldrne r3, [r5, 0x488]                         |                 r3 = *((r5 + 0x488));
                                                             |             }
                                                             |             if (r3 != 2) {
    0x000353b0 bne 0x353b8                                   |                 goto label_49;
                                                             |             }
                                                             |         }
    0x000353b4 ldr r3, [r5, 0x430]                           |         r3 = *((r5 + 0x430));
                                                             | label_49:
    0x000353b8 str r3, [sp, 0x1c]                            |         var_1ch = r3;
    0x000353bc ldr r3, [r6, 0x1c8]                           |         r3 = *((r6 + 0x1c8));
    0x000353c0 mov r0, r8                                    |         r0 = r8;
    0x000353c4 str r1, [sp, 0x30]                            |         size = r1;
    0x000353c8 ldr sb, [r3]                                  |         sb = *(r3);
    0x000353cc ldr r7, [r4]                                  |         r7 = *(r4);
    0x000353d0 bl 0x33204                                    |         do_file_type ();
    0x000353d4 ldr r1, [sp, 0x30]                            |         r1 = size;
    0x000353d8 cmp r0, 0x2a                                  |         
                                                             |         if (r0 != 0x2a) {
    0x000353dc orreq r1, r1, 1                               |             r1 |= 1;
                                                             |         }
    0x000353e0 cmp r1, 0                                     |         
    0x000353e4 mov sl, r0                                    |         sl = r0;
    0x000353e8 str r1, [sp, 0x30]                            |         size = r1;
                                                             |         if (r1 == 0) {
    0x000353ec beq 0x35ad8                                   |             goto label_46;
                                                             |         }
    0x000353f0 ldr r3, [sp, 0x1c]                            |         r3 = var_1ch;
    0x000353f4 cmp r3, 0                                     |         
                                                             |         if (r3 != 0) {
    0x000353f8 beq 0x35418                                   |             
    0x000353fc mov r1, r3                                    |             r1 = r3;
    0x00035400 mov r0, sb                                    |             r0 = sb;
    0x00035404 bl 0x4ea8                                     |             SSL_CTX_set_default_passwd_cb_userdata ();
    0x00035408 ldr r1, [pc, 0xa3c]                           |             r1 = *(0x35e48);
    0x0003540c mov r0, sb                                    |             r0 = sb;
    0x00035410 add r1, pc, r1                                |             r1 = pc + r1;
    0x00035414 bl 0x50b8                                     |             SSL_CTX_set_default_passwd_cb ();
                                                             |         }
    0x00035418 cmp sl, 2                                     |         
                                                             |         if (sl == 2) {
    0x0003541c beq 0x3552c                                   |             goto label_50;
                                                             |         }
                                                             |         if (sl > 2) {
    0x00035420 bgt 0x3549c                                   |             goto label_51;
                                                             |         }
    0x00035424 cmp sl, 1                                     |         
                                                             |         if (sl == 1) {
    0x00035428 beq 0x354ec                                   |             goto label_52;
                                                             |         }
                                                             | label_7:
    0x0003542c ldr r1, [pc, 0xa1c]                           |         r1 = *(0x35e4c);
    0x00035430 mov r2, r8                                    |         r2 = r8;
    0x00035434 add r1, pc, r1                                |         r1 = pc + r1;
    0x00035438 b 0x35520                                     |         goto label_9;
                                                             | label_38:
    0x0003543c ldrb r1, [r5, 0x404]                          |         r1 = *((r5 + 0x404));
    0x00035440 ldr r3, [pc, 0x9f4]                           |         r3 = *(0x35e38);
    0x00035444 cmp r1, 0                                     |         
    0x00035448 ldr r7, [pc, 0xa04]                           |         r7 = *(0x35e50);
                                                             |         if (r1 != 0) {
    0x0003544c moveq r7, r3                                  |             r7 = r3;
                                                             |         }
                                                             | label_5:
    0x00035450 cmp r2, 2                                     |         
    0x00035454 orr r1, r7, 0x2000000                         |         r1 = r7 | 0x2000000;
    0x00035458 beq 0x35204                                   |         
                                                             |     } while (r2 == 2);
                                                             | label_40:
    0x0003545c cmp r2, 2                                     |     
    0x00035460 ldr r0, [r4, 0x200]                           |     r0 = *((r4 + 0x200));
                                                             |     if (r2 == 2) {
    0x00035464 beq 0x35224                                   |         goto label_3;
                                                             |     }
                                                             | label_41:
    0x00035468 ldr sb, [r4, 0x204]                           |     sb = *((r4 + 0x204));
    0x0003546c b 0x35244                                     |     goto label_4;
                                                             | label_39:
    0x00035470 ldr r7, [pc, 0x9dc]                           |     r7 = *(0x35e50);
    0x00035474 b 0x35450                                     |     goto label_5;
                                                             | label_43:
    0x00035478 ldr r0, [r6, 0x1c8]                           |     r0 = *((r6 + 0x1c8));
    0x0003547c mov r1, 0x7c                                  |     r1 = 0x7c;
    0x00035480 mov r3, 0                                     |     r3 = 0;
    0x00035484 mov r2, 0x304                                 |     r2 = 0x304;
    0x00035488 ldr r0, [r0]                                  |     r0 = *(r0);
    0x0003548c bl 0x522c                                     |     SSL_CTX_ctrl ();
    0x00035490 orr r1, r7, 0xa000000                         |     r1 = r7 | 0xa000000;
                                                             | label_42:
    0x00035494 orr r1, r1, 0x10000000                        |     r1 |= 0x10000000;
    0x00035498 b 0x3525c                                     |     goto label_6;
                                                             | label_51:
    0x0003549c cmp sl, 0x2a                                  |     
                                                             |     if (sl == 0x2a) {
    0x000354a0 beq 0x35568                                   |         goto label_53;
                                                             |     }
    0x000354a4 cmp sl, 0x2b                                  |     
                                                             |     if (sl != 0x2b) {
    0x000354a8 bne 0x3542c                                   |         goto label_7;
                                                             |     }
    0x000354ac mov r8, 0                                     |     r8 = 0;
    0x000354b0 str r8, [sp, 0x48]                            |     var_48h = r8;
    0x000354b4 bl 0x531c                                     |     BIO_s_file ();
    0x000354b8 bl 0x540c                                     |     r0 = BIO_new ();
    0x000354bc subs r3, r0, 0                                |     r3 = r0 - 0;
    0x000354c0 str r3, [sp, 0x34]                            |     var_34h = r3;
                                                             |     if (r3 != r0) {
    0x000354c4 bne 0x3569c                                   |         goto label_54;
                                                             |     }
    0x000354c8 add r4, sp, 0x58                              |     r4 += var_58h;
    0x000354cc bl 0x4e9c                                     |     ERR_get_error ();
    0x000354d0 mov r2, 0x100                                 |     r2 = 0x100;
    0x000354d4 mov r1, r4                                    |     r1 = r4;
    0x000354d8 bl 0x5064                                     |     ERR_error_string_n ();
    0x000354dc ldr r1, [pc, 0x974]                           |     r1 = *(0x35e54);
    0x000354e0 mov r2, r4                                    |     r2 = r4;
    0x000354e4 add r1, pc, r1                                |     r1 = pc + r1;
    0x000354e8 b 0x35520                                     |     goto label_9;
                                                             | label_52:
    0x000354ec ldr r1, [sp, 8]                               |     r1 = var_8h;
    0x000354f0 mov r0, sb                                    |     r0 = sb;
    0x000354f4 bl 0x558c                                     |     r0 = SSL_CTX_use_certificate_chain_file ();
    0x000354f8 cmp r0, 1                                     |     
                                                             |     if (r0 == 1) {
    0x000354fc beq 0x358b4                                   |         goto label_55;
                                                             |     }
    0x00035500 add r4, sp, 0x58                              |     r4 += var_58h;
    0x00035504 bl 0x4e9c                                     |     ERR_get_error ();
    0x00035508 mov r2, 0x100                                 |     r2 = 0x100;
    0x0003550c mov r1, r4                                    |     r1 = r4;
    0x00035510 bl 0x5064                                     |     ERR_error_string_n ();
    0x00035514 ldr r1, [pc, 0x940]                           |     r1 = *(0x35e58);
    0x00035518 mov r2, r4                                    |     r2 = r4;
    0x0003551c add r1, pc, r1                                |     r1 = pc + r1;
                                                             |     do {
                                                             | label_9:
    0x00035520 mov r0, r7                                    |         r0 = r7;
    0x00035524 bl 0x10544                                    |         Curl_failf ();
    0x00035528 b 0x35654                                     |         goto label_10;
                                                             | label_50:
    0x0003552c mov r2, sl                                    |         r2 = sl;
    0x00035530 ldr r1, [sp, 8]                               |         r1 = var_8h;
    0x00035534 mov r0, sb                                    |         r0 = sb;
    0x00035538 bl 0x5130                                     |         r0 = SSL_CTX_use_certificate_file ();
    0x0003553c cmp r0, 1                                     |         
                                                             |         if (r0 == 1) {
    0x00035540 beq 0x358b4                                   |             goto label_55;
                                                             |         }
    0x00035544 add r4, sp, 0x58                              |         r4 += var_58h;
    0x00035548 bl 0x4e9c                                     |         ERR_get_error ();
    0x0003554c mov r2, 0x100                                 |         r2 = 0x100;
    0x00035550 mov r1, r4                                    |         r1 = r4;
    0x00035554 bl 0x5064                                     |         ERR_error_string_n ();
    0x00035558 ldr r1, [pc, 0x900]                           |         r1 = *(0x35e5c);
    0x0003555c mov r2, r4                                    |         r2 = r4;
    0x00035560 add r1, pc, r1                                |         r1 = pc + r1;
    0x00035564 b 0x35520                                     |         
                                                             |     } while (1);
                                                             | label_53:
    0x00035568 add sl, r7, 0x4000                            |     sl = r7 + 0x4000;
    0x0003556c ldr r0, [sl, 0x8a8]                           |     r0 = *((sl + 0x8a8));
    0x00035570 cmp r0, 0                                     |     
                                                             |     if (r0 == 0) {
    0x00035574 beq 0x35690                                   |         goto label_56;
                                                             |     }
    0x00035578 ldr r3, [sp, 8]                               |     r3 = var_8h;
    0x0003557c mov r8, 0                                     |     r8 = 0;
    0x00035580 str r3, [sp, 0x48]                            |     var_48h = r3;
    0x00035584 ldr r3, [pc, 0x8d8]                           |     r3 = *(0x35e60);
    0x00035588 str r8, [sp]                                  |     *(sp) = r8;
    0x0003558c add r3, pc, r3                                |     r3 = pc + r3;
    0x00035590 mov r2, r8                                    |     r2 = r8;
    0x00035594 mov r1, 0xd                                   |     r1 = 0xd;
    0x00035598 str r8, [sp, 0x4c]                            |     var_4ch = r8;
    0x0003559c str r3, [sp, 0x34]                            |     var_34h = r3;
    0x000355a0 bl 0x54b4                                     |     r0 = ENGINE_ctrl ();
    0x000355a4 cmp r0, r8                                    |     
                                                             |     if (r0 != r8) {
    0x000355a8 bne 0x355c0                                   |         goto label_57;
                                                             |     }
    0x000355ac ldr r1, [pc, 0x8b4]                           |     r1 = *(0x35e64);
    0x000355b0 add r1, pc, r1                                |     r1 = pc + r1;
                                                             |     do {
                                                             | label_8:
    0x000355b4 mov r0, r7                                    |         r0 = r7;
    0x000355b8 bl 0x10544                                    |         Curl_failf ();
    0x000355bc b 0x35654                                     |         goto label_10;
                                                             | label_57:
    0x000355c0 mov r3, 1                                     |         r3 = 1;
    0x000355c4 str r3, [sp, 4]                               |         var_4h = r3;
    0x000355c8 str r8, [sp]                                  |         *(sp) = r8;
    0x000355cc add r3, sp, 0x48                              |         r3 += var_48h;
    0x000355d0 mov r2, r8                                    |         r2 = r8;
    0x000355d4 ldr r1, [sp, 0x34]                            |         r1 = var_34h;
    0x000355d8 ldr r0, [sl, 0x8a8]                           |         r0 = *((sl + 0x8a8));
    0x000355dc bl 0x51a8                                     |         r0 = ENGINE_ctrl_cmd ();
    0x000355e0 cmp r0, 0                                     |         
                                                             |         if (r0 == 0) {
    0x000355e4 bne 0x35618                                   |             
    0x000355e8 add r4, sp, 0x58                              |             r4 += var_58h;
    0x000355ec bl 0x4e9c                                     |             ERR_get_error ();
    0x000355f0 mov r2, 0x100                                 |             r2 = 0x100;
    0x000355f4 mov r1, r4                                    |             r1 = r4;
    0x000355f8 bl 0x5064                                     |             ERR_error_string_n ();
    0x000355fc ldr r1, [pc, 0x868]                           |             r1 = *(0x35e68);
    0x00035600 ldr r2, [sp, 8]                               |             r2 = var_8h;
    0x00035604 mov r3, r4                                    |             r3 = r4;
    0x00035608 add r1, pc, r1                                |             r1 = pc + r1;
                                                             | label_16:
    0x0003560c mov r0, r7                                    |             r0 = r7;
    0x00035610 bl 0x10544                                    |             Curl_failf ();
    0x00035614 b 0x35654                                     |             goto label_10;
                                                             |         }
    0x00035618 ldr r1, [sp, 0x4c]                            |         r1 = var_4ch;
    0x0003561c cmp r1, 0                                     |         
                                                             |         if (r1 != 0) {
    0x00035620 ldreq r1, [pc, 0x848]                         |             r1 = *((pc + 0x848));
                                                             |         }
                                                             |         if (r1 != 0) {
    0x00035624 addeq r1, pc, r1                              |             r1 = pc + r1;
                                                             |         }
    0x00035628 beq 0x355b4                                   |         
                                                             |     } while (r1 == 0);
    0x0003562c mov r0, sb                                    |     r0 = sb;
    0x00035630 bl 0x4f68                                     |     r0 = SSL_CTX_use_certificate ();
    0x00035634 cmp r0, 1                                     |     
                                                             |     if (r0 == 1) {
    0x00035638 beq 0x3565c                                   |         goto label_58;
                                                             |     }
    0x0003563c ldr r1, [pc, 0x830]                           |     r1 = *(0x35e70);
    0x00035640 mov r0, r7                                    |     r0 = r7;
    0x00035644 add r1, pc, r1                                |     r1 = pc + r1;
    0x00035648 bl 0x10544                                    |     Curl_failf ();
    0x0003564c ldr r0, [sp, 0x4c]                            |     r0 = var_4ch;
    0x00035650 bl 0x5b74                                     |     X509_free ();
                                                             |     do {
                                                             | label_10:
    0x00035654 mov fp, 0x3a                                  |         
    0x00035658 b 0x350cc                                     |         goto label_1;
                                                             | label_58:
    0x0003565c ldr r0, [sp, 0x4c]                            |         r0 = var_4ch;
    0x00035660 bl 0x5b74                                     |         X509_free ();
                                                             | label_11:
    0x00035664 ldr r0, [sp, 0x20]                            |         r0 = var_20h;
    0x00035668 bl 0x33204                                    |         r0 = do_file_type ();
    0x0003566c cmp r0, 2                                     |         
    0x00035670 mov r2, r0                                    |         r2 = r0;
                                                             |         if (r0 == 2) {
    0x00035674 beq 0x358fc                                   |             goto label_59;
                                                             |         }
                                                             |         if (r0 > 2) {
    0x00035678 bgt 0x358bc                                   |             goto label_60;
                                                             |         }
    0x0003567c cmp r0, 1                                     |         
                                                             |         if (r0 == 1) {
    0x00035680 beq 0x358e0                                   |             goto label_61;
                                                             |         }
                                                             | label_15:
    0x00035684 ldr r1, [pc, 0x7ec]                           |         r1 = *(0x35e74);
    0x00035688 add r1, pc, r1                                |         r1 = pc + r1;
    0x0003568c b 0x355b4                                     |         goto label_8;
                                                             | label_56:
    0x00035690 ldr r1, [pc, 0x7e4]                           |         r1 = *(0x35e78);
    0x00035694 add r1, pc, r1                                |         r1 = pc + r1;
    0x00035698 b 0x355b4                                     |         goto label_8;
                                                             | label_54:
    0x0003569c ldr r3, [sp, 8]                               |         r3 = var_8h;
    0x000356a0 mov r2, 3                                     |         r2 = 3;
    0x000356a4 mov r1, 0x6c                                  |         r1 = 0x6c;
    0x000356a8 bl 0x5aa8                                     |         r0 = BIO_ctrl ();
    0x000356ac cmp r0, 0                                     |         
                                                             |         if (r0 > 0) {
    0x000356b0 bgt 0x356d4                                   |             goto label_62;
                                                             |         }
    0x000356b4 ldr r1, [pc, 0x7c4]                           |         r1 = *(0x35e7c);
    0x000356b8 mov r0, r7                                    |         r0 = r7;
    0x000356bc ldr r2, [sp, 8]                               |         r2 = var_8h;
    0x000356c0 add r1, pc, r1                                |         r1 = pc + r1;
    0x000356c4 bl 0x10544                                    |         Curl_failf ();
    0x000356c8 ldr r0, [sp, 0x34]                            |         r0 = var_34h;
    0x000356cc bl 0x5ad8                                     |         BIO_free ();
    0x000356d0 b 0x35654                                     |         
                                                             |     } while (1);
                                                             | label_62:
    0x000356d4 mov r1, r8                                    |     r1 = r8;
    0x000356d8 ldr r0, [sp, 0x34]                            |     r0 = var_34h;
    0x000356dc bl 0x5bc8                                     |     r0 = d2i_PKCS12_bio ();
    0x000356e0 mov sl, r0                                    |     sl = r0;
    0x000356e4 ldr r0, [sp, 0x34]                            |     r0 = var_34h;
    0x000356e8 bl 0x5ad8                                     |     BIO_free ();
    0x000356ec cmp sl, 0                                     |     
                                                             |     if (sl != 0) {
    0x000356f0 ldreq r1, [pc, 0x78c]                         |         r1 = *((pc + 0x78c));
                                                             |     }
                                                             |     if (sl != 0) {
    0x000356f4 ldreq r2, [sp, 8]                             |         r2 = var_8h;
                                                             |     }
                                                             |     if (sl == 0) {
    0x000356f8 addeq r1, pc, r1                              |         r1 = pc + r1;
                                                             |         goto label_63;
                                                             |     }
                                                             |     if (sl == 0) {
                                                             | label_63:
    0x000356fc beq 0x35520                                   |         goto label_9;
                                                             |     }
    0x00035700 bl 0x567c                                     |     PKCS12_PBE_add ();
    0x00035704 add r3, sp, 0x48                              |     r3 += var_48h;
    0x00035708 str r3, [sp]                                  |     *(sp) = r3;
    0x0003570c add r2, sp, 0x44                              |     r2 += var_44h;
    0x00035710 add r3, sp, 0x40                              |     r3 += var_40h;
    0x00035714 ldr r1, [sp, 0x1c]                            |     r1 = var_1ch;
    0x00035718 mov r0, sl                                    |     r0 = sl;
    0x0003571c bl 0x5bb0                                     |     r0 = PKCS12_parse ();
    0x00035720 cmp r0, 0                                     |     
                                                             |     if (r0 == 0) {
    0x00035724 bne 0x3575c                                   |         
    0x00035728 add r4, sp, 0x58                              |         r4 += var_58h;
    0x0003572c bl 0x4e9c                                     |         ERR_get_error ();
    0x00035730 mov r1, r4                                    |         r1 = r4;
    0x00035734 mov r2, 0x100                                 |         r2 = 0x100;
    0x00035738 bl 0x5064                                     |         ERR_error_string_n ();
    0x0003573c ldr r1, [pc, 0x744]                           |         r1 = *(0x35e84);
    0x00035740 mov r0, r7                                    |         r0 = r7;
    0x00035744 mov r2, r4                                    |         r2 = r4;
    0x00035748 add r1, pc, r1                                |         r1 = pc + r1;
    0x0003574c bl 0x10544                                    |         Curl_failf ();
    0x00035750 mov r0, sl                                    |         r0 = sl;
    0x00035754 bl 0x5c10                                     |         PKCS12_free ();
    0x00035758 b 0x35654                                     |         goto label_10;
                                                             |     }
    0x0003575c mov r0, sl                                    |     r0 = sl;
    0x00035760 bl 0x5c10                                     |     PKCS12_free ();
    0x00035764 ldr r1, [sp, 0x40]                            |     r1 = var_40h;
    0x00035768 mov r0, sb                                    |     r0 = sb;
    0x0003576c bl 0x4f68                                     |     r0 = SSL_CTX_use_certificate ();
    0x00035770 cmp r0, 1                                     |     
                                                             |     if (r0 != 1) {
    0x00035774 beq 0x357a4                                   |         
    0x00035778 add sl, sp, 0x58                              |         sl += var_58h;
    0x0003577c bl 0x4e9c                                     |         ERR_get_error ();
    0x00035780 mov r2, 0x100                                 |         r2 = 0x100;
    0x00035784 mov r1, sl                                    |         r1 = sl;
    0x00035788 bl 0x5064                                     |         ERR_error_string_n ();
    0x0003578c ldr r1, [pc, 0x6f8]                           |         r1 = *(0x35e88);
    0x00035790 mov r2, sl                                    |         r2 = sl;
    0x00035794 add r1, pc, r1                                |         r1 = pc + r1;
                                                             | label_12:
    0x00035798 mov r0, r7                                    |         r0 = r7;
    0x0003579c bl 0x10544                                    |         Curl_failf ();
    0x000357a0 b 0x357d0                                     |         
                                                             |     } else {
    0x000357a4 ldr r1, [sp, 0x44]                            |         r1 = var_44h;
    0x000357a8 mov r0, sb                                    |         r0 = sb;
    0x000357ac bl 0x5484                                     |         r0 = SSL_CTX_use_PrivateKey ();
    0x000357b0 cmp r0, 1                                     |         
                                                             |         if (r0 == 1) {
    0x000357b4 beq 0x35808                                   |             goto label_64;
                                                             |         }
    0x000357b8 ldr r1, [pc, 0x6d0]                           |         r1 = *(0x35e8c);
    0x000357bc ldr r2, [sp, 8]                               |         r2 = var_8h;
    0x000357c0 add r1, pc, r1                                |         r1 = pc + r1;
    0x000357c4 mov r0, r7                                    |         r0 = r7;
    0x000357c8 bl 0x10544                                    |         Curl_failf ();
    0x000357cc mov r8, 0                                     |         r8 = 0;
                                                             |     }
                                                             | label_13:
    0x000357d0 ldr r0, [sp, 0x44]                            |     r0 = var_44h;
    0x000357d4 bl 0x59c4                                     |     EVP_PKEY_free ();
    0x000357d8 ldr r0, [sp, 0x40]                            |     r0 = var_40h;
    0x000357dc bl 0x5b74                                     |     X509_free ();
    0x000357e0 ldr r2, [sp, 0x38]                            |     r2 = var_38h;
    0x000357e4 ldr r3, [pc, 0x6a8]                           |     r3 = *(0x35e90);
    0x000357e8 ldr r0, [sp, 0x48]                            |     r0 = var_48h;
    0x000357ec ldr r3, [r2, r3]                              |     r3 = *((r2 + r3));
    0x000357f0 mov r1, r3                                    |     r1 = r3;
    0x000357f4 str r3, [sp, 0x34]                            |     var_34h = r3;
    0x000357f8 bl 0x5a78                                     |     OPENSSL_sk_pop_free ();
    0x000357fc cmp r8, 0                                     |     
                                                             |     if (r8 != 0) {
    0x00035800 bne 0x35664                                   |         goto label_11;
                                                             |     }
    0x00035804 b 0x35654                                     |     goto label_10;
                                                             | label_64:
    0x00035808 mov r0, sb                                    |     r0 = sb;
    0x0003580c bl 0x57cc                                     |     r0 = SSL_CTX_check_private_key ();
    0x00035810 subs r8, r0, 0                                |     r8 = r0 - 0;
                                                             |     if (r8 != r0) {
    0x00035814 ldreq r1, [pc, 0x67c]                         |         r1 = *((pc + 0x67c));
                                                             |     }
                                                             |     if (r8 != r0) {
    0x00035818 ldreq r2, [sp, 8]                             |         r2 = var_8h;
                                                             |     }
                                                             |     if (r8 == r0) {
    0x0003581c addeq r1, pc, r1                              |         r1 = pc + r1;
                                                             |         goto label_65;
                                                             |     }
                                                             |     if (r8 == r0) {
                                                             | label_65:
    0x00035820 beq 0x35798                                   |         goto label_12;
                                                             |     }
    0x00035824 ldr r3, [sp, 0x48]                            |     r3 = var_48h;
    0x00035828 cmp r3, 0                                     |     
    0x0003582c bne 0x35868                                   |     
                                                             |     while (r0 == 0) {
    0x00035830 mov r8, 1                                     |         r8 = 1;
    0x00035834 b 0x357d0                                     |         goto label_13;
                                                             | label_14:
    0x00035838 mov r3, sl                                    |         r3 = sl;
    0x0003583c mov r2, 0                                     |         r2 = 0;
    0x00035840 mov r1, 0xe                                   |         r1 = 0xe;
    0x00035844 mov r0, sb                                    |         r0 = sb;
    0x00035848 bl 0x522c                                     |         r0 = SSL_CTX_ctrl ();
    0x0003584c subs r8, r0, 0                                |         r8 = r0 - 0;
                                                             |         if (r8 == r0) {
    0x00035850 bne 0x35868                                   |             
    0x00035854 mov r0, sl                                    |             r0 = sl;
    0x00035858 bl 0x5b74                                     |             X509_free ();
    0x0003585c ldr r1, [pc, 0x638]                           |             r1 = *(0x35e98);
    0x00035860 add r1, pc, r1                                |             r1 = pc + r1;
    0x00035864 b 0x358a8                                     |             goto label_66;
                                                             |         }
    0x00035868 ldr r0, [sp, 0x48]                            |         r0 = var_48h;
    0x0003586c bl 0x5afc                                     |         r0 = OPENSSL_sk_num ();
    0x00035870 cmp r0, 0                                     |         
    0x00035874 beq 0x35830                                   |         
                                                             |     }
    0x00035878 ldr r0, [sp, 0x48]                            |     r0 = var_48h;
    0x0003587c bl 0x5094                                     |     r0 = OPENSSL_sk_pop ();
    0x00035880 mov r1, r0                                    |     r1 = r0;
    0x00035884 mov sl, r0                                    |     sl = r0;
    0x00035888 mov r0, sb                                    |     r0 = sb;
    0x0003588c bl 0x5040                                     |     r0 = SSL_CTX_add_client_CA ();
    0x00035890 subs r8, r0, 0                                |     r8 = r0 - 0;
                                                             |     if (r8 != r0) {
    0x00035894 bne 0x35838                                   |         goto label_14;
                                                             |     }
    0x00035898 mov r0, sl                                    |     r0 = sl;
    0x0003589c bl 0x5b74                                     |     X509_free ();
    0x000358a0 ldr r1, [pc, 0x5f8]                           |     r1 = *(0x35e9c);
    0x000358a4 add r1, pc, r1                                |     r1 = pc + r1;
                                                             | label_66:
    0x000358a8 mov r0, r7                                    |     r0 = r7;
    0x000358ac bl 0x10544                                    |     Curl_failf ();
    0x000358b0 b 0x357d0                                     |     goto label_13;
                                                             | label_55:
    0x000358b4 mov r8, 0                                     |     r8 = 0;
    0x000358b8 b 0x35664                                     |     goto label_11;
                                                             | label_60:
    0x000358bc cmp r0, 0x2a                                  |     
                                                             |     if (r0 == 0x2a) {
    0x000358c0 beq 0x35938                                   |         goto label_67;
                                                             |     }
    0x000358c4 cmp r0, 0x2b                                  |     
                                                             |     if (r0 != 0x2b) {
    0x000358c8 bne 0x35684                                   |         goto label_15;
                                                             |     }
    0x000358cc cmp r8, 0                                     |     
                                                             |     if (r8 != 0) {
    0x000358d0 bne 0x35a14                                   |         goto label_68;
                                                             |     }
    0x000358d4 ldr r1, [pc, 0x5c8]                           |     r1 = *(0x35ea0);
    0x000358d8 add r1, pc, r1                                |     r1 = pc + r1;
    0x000358dc b 0x355b4                                     |     goto label_8;
                                                             | label_61:
    0x000358e0 cmp r8, 0                                     |     
                                                             |     if (r8 != 0) {
    0x000358e4 bne 0x35a14                                   |         goto label_68;
                                                             |     }
    0x000358e8 ldr r3, [sp, 0x14]                            |     r3 = var_14h;
    0x000358ec ldr r1, [sp, 8]                               |     r1 = var_8h;
    0x000358f0 cmp r3, 0                                     |     
                                                             |     if (r3 != 0) {
    0x000358f4 moveq r3, r1                                  |         r3 = r1;
                                                             |     }
    0x000358f8 str r3, [sp, 0x14]                            |     var_14h = r3;
                                                             | label_59:
    0x000358fc ldr r1, [sp, 0x14]                            |     r1 = var_14h;
    0x00035900 mov r0, sb                                    |     r0 = sb;
    0x00035904 bl 0x56ac                                     |     r0 = SSL_CTX_use_PrivateKey_file ();
    0x00035908 cmp r0, 1                                     |     
                                                             |     if (r0 == 1) {
    0x0003590c beq 0x35a14                                   |         goto label_68;
                                                             |     }
    0x00035910 ldr r3, [sp, 0x20]                            |     r3 = var_20h;
    0x00035914 cmp r3, 0                                     |     
                                                             |     if (r3 != 0) {
    0x00035918 ldreq r3, [pc, 0x588]                         |         r3 = *((pc + 0x588));
                                                             |     }
                                                             |     if (r3 != 0) {
    0x0003591c addeq r3, pc, r3                              |         r3 = pc + r3;
                                                             |     }
                                                             |     if (r3 != 0) {
    0x00035920 streq r3, [sp, 0x20]                          |         var_20h = r3;
                                                             |     }
    0x00035924 ldr r1, [pc, 0x580]                           |     r1 = *(0x35ea8);
    0x00035928 ldr r3, [sp, 0x20]                            |     r3 = var_20h;
    0x0003592c ldr r2, [sp, 0x14]                            |     r2 = var_14h;
    0x00035930 add r1, pc, r1                                |     r1 = pc + r1;
    0x00035934 b 0x3560c                                     |     goto label_16;
                                                             | label_67:
    0x00035938 add sl, r7, 0x4000                            |     sl = r7 + 0x4000;
    0x0003593c ldr r3, [sl, 0x8a8]                           |     r3 = *((sl + 0x8a8));
    0x00035940 cmp r3, 0                                     |     
                                                             |     if (r3 == 0) {
    0x00035944 beq 0x35a30                                   |         goto label_69;
                                                             |     }
    0x00035948 ldr r0, [pc, 0x560]                           |     r0 = *(0x35eac);
    0x0003594c add r0, pc, r0                                |     r0 = pc + r0;
    0x00035950 bl 0x4f50                                     |     r0 = UI_create_method ();
    0x00035954 subs r8, r0, 0                                |     r8 = r0 - 0;
                                                             |     if (r8 != r0) {
    0x00035958 ldreq r1, [pc, 0x554]                         |         r1 = *((pc + 0x554));
                                                             |     }
                                                             |     if (r8 == r0) {
    0x0003595c addeq r1, pc, r1                              |         r1 = pc + r1;
                                                             |         goto label_70;
                                                             |     }
                                                             |     if (r8 == r0) {
                                                             | label_70:
    0x00035960 beq 0x355b4                                   |         goto label_8;
                                                             |     }
    0x00035964 bl 0x5a54                                     |     UI_OpenSSL ();
    0x00035968 bl 0x5148                                     |     r0 = UI_method_get_opener ();
    0x0003596c mov r1, r0                                    |     r1 = r0;
    0x00035970 mov r0, r8                                    |     r0 = r8;
    0x00035974 bl 0x5538                                     |     UI_method_set_opener ();
    0x00035978 bl 0x5a54                                     |     UI_OpenSSL ();
    0x0003597c bl 0x52f8                                     |     r0 = UI_method_get_closer ();
    0x00035980 mov r1, r0                                    |     r1 = r0;
    0x00035984 mov r0, r8                                    |     r0 = r8;
    0x00035988 bl 0x50a0                                     |     UI_method_set_closer ();
    0x0003598c ldr r1, [pc, 0x524]                           |     r1 = *(0x35eb4);
    0x00035990 mov r0, r8                                    |     r0 = r8;
    0x00035994 add r1, pc, r1                                |     r1 = pc + r1;
    0x00035998 bl 0x4ee4                                     |     UI_method_set_reader ();
    0x0003599c ldr r1, [pc, 0x518]                           |     r1 = *(0x35eb8);
    0x000359a0 mov r0, r8                                    |     r0 = r8;
    0x000359a4 add r1, pc, r1                                |     r1 = pc + r1;
    0x000359a8 bl 0x57b4                                     |     UI_method_set_writer ();
    0x000359ac ldr r3, [sp, 0x1c]                            |     r3 = var_1ch;
    0x000359b0 mov r2, r8                                    |     r2 = r8;
    0x000359b4 ldr r1, [sp, 0x14]                            |     r1 = var_14h;
    0x000359b8 ldr r0, [sl, 0x8a8]                           |     r0 = *((sl + 0x8a8));
    0x000359bc bl 0x52e0                                     |     r0 = ENGINE_load_private_key ();
    0x000359c0 mov sl, r0                                    |     sl = r0;
    0x000359c4 mov r0, r8                                    |     r0 = r8;
    0x000359c8 bl 0x5238                                     |     UI_destroy_method ();
    0x000359cc cmp sl, 0                                     |     
                                                             |     if (sl != 0) {
    0x000359d0 ldreq r1, [pc, 0x4e8]                         |         r1 = *((pc + 0x4e8));
                                                             |     }
                                                             |     if (sl == 0) {
    0x000359d4 addeq r1, pc, r1                              |         r1 = pc + r1;
                                                             |         goto label_71;
                                                             |     }
                                                             |     if (sl == 0) {
                                                             | label_71:
    0x000359d8 beq 0x355b4                                   |         goto label_8;
                                                             |     }
    0x000359dc mov r1, sl                                    |     r1 = sl;
    0x000359e0 mov r0, sb                                    |     r0 = sb;
    0x000359e4 bl 0x5484                                     |     r0 = SSL_CTX_use_PrivateKey ();
    0x000359e8 cmp r0, 1                                     |     
                                                             |     if (r0 != 1) {
    0x000359ec beq 0x35a0c                                   |         
    0x000359f0 ldr r1, [pc, 0x4cc]                           |         r1 = *(0x35ec0);
    0x000359f4 mov r0, r7                                    |         r0 = r7;
    0x000359f8 add r1, pc, r1                                |         r1 = pc + r1;
    0x000359fc bl 0x10544                                    |         Curl_failf ();
    0x00035a00 mov r0, sl                                    |         r0 = sl;
    0x00035a04 bl 0x59c4                                     |         EVP_PKEY_free ();
    0x00035a08 b 0x35654                                     |         goto label_10;
                                                             |     }
    0x00035a0c mov r0, sl                                    |     r0 = sl;
    0x00035a10 bl 0x59c4                                     |     EVP_PKEY_free ();
                                                             | label_68:
    0x00035a14 mov r0, sb                                    |     r0 = sb;
    0x00035a18 bl 0x5370                                     |     r0 = SSL_new ();
    0x00035a1c subs r8, r0, 0                                |     r8 = r0 - 0;
                                                             |     if (r8 == r0) {
    0x00035a20 bne 0x35a3c                                   |         
    0x00035a24 ldr r1, [pc, 0x49c]                           |         r1 = *(0x35ec4);
    0x00035a28 add r1, pc, r1                                |         r1 = pc + r1;
    0x00035a2c b 0x355b4                                     |         goto label_8;
                                                             | label_69:
    0x00035a30 ldr r1, [pc, 0x494]                           |         r1 = *(0x35ec8);
    0x00035a34 add r1, pc, r1                                |         r1 = pc + r1;
    0x00035a38 b 0x355b4                                     |         goto label_8;
                                                             |     }
    0x00035a3c bl 0x59a0                                     |     r0 = SSL_get_certificate ();
    0x00035a40 cmp r0, 0                                     |     
    0x00035a44 str r0, [sp, 0x40]                            |     var_40h = r0;
                                                             |     if (r0 != 0) {
    0x00035a48 beq 0x35a70                                   |         
    0x00035a4c bl 0x507c                                     |         r0 = X509_get_pubkey ();
    0x00035a50 mov sl, r0                                    |         sl = r0;
    0x00035a54 mov r0, r8                                    |         r0 = r8;
    0x00035a58 bl 0x5010                                     |         r0 = SSL_get_privatekey ();
    0x00035a5c mov r1, r0                                    |         r1 = r0;
    0x00035a60 mov r0, sl                                    |         r0 = sl;
    0x00035a64 bl 0x5be0                                     |         EVP_PKEY_copy_parameters ();
    0x00035a68 mov r0, sl                                    |         r0 = sl;
    0x00035a6c bl 0x59c4                                     |         EVP_PKEY_free ();
                                                             |     }
    0x00035a70 mov r0, r8                                    |     r0 = r8;
    0x00035a74 bl 0x5010                                     |     r0 = SSL_get_privatekey ();
    0x00035a78 mov sl, r0                                    |     sl = r0;
    0x00035a7c bl 0x5178                                     |     r0 = EVP_PKEY_id ();
    0x00035a80 cmp r0, 6                                     |     
                                                             |     if (r0 == 6) {
    0x00035a84 bne 0x35aac                                   |         
    0x00035a88 mov r0, sl                                    |         r0 = sl;
    0x00035a8c bl 0x5b44                                     |         r0 = EVP_PKEY_get1_RSA ();
    0x00035a90 mov sl, r0                                    |         sl = r0;
    0x00035a94 bl 0x5ab4                                     |         r0 = RSA_flags ();
    0x00035a98 mvn r0, r0                                    |         r0 = ~r0;
    0x00035a9c and r3, r0, 1                                 |         r3 = r0 & 1;
    0x00035aa0 mov r0, sl                                    |         r0 = sl;
    0x00035aa4 str r3, [sp, 0x30]                            |         size = r3;
    0x00035aa8 bl 0x5a6c                                     |         RSA_free ();
                                                             |     }
    0x00035aac mov r0, r8                                    |     r0 = r8;
    0x00035ab0 bl 0x56e8                                     |     SSL_free ();
    0x00035ab4 ldr r3, [sp, 0x30]                            |     r3 = size;
    0x00035ab8 cmp r3, 0                                     |     
                                                             |     if (r3 == 0) {
    0x00035abc beq 0x35ad8                                   |         goto label_46;
                                                             |     }
    0x00035ac0 mov r0, sb                                    |     r0 = sb;
    0x00035ac4 bl 0x57cc                                     |     r0 = SSL_CTX_check_private_key ();
    0x00035ac8 cmp r0, 0                                     |     
                                                             |     if (r0 != 0) {
    0x00035acc ldreq r1, [pc, 0x3fc]                         |         r1 = *((pc + 0x3fc));
                                                             |     }
                                                             |     if (r0 == 0) {
    0x00035ad0 addeq r1, pc, r1                              |         r1 = pc + r1;
                                                             |         goto label_72;
                                                             |     }
                                                             |     if (r0 == 0) {
                                                             | label_72:
    0x00035ad4 beq 0x355b4                                   |         goto label_8;
                                                             |     }
                                                             | label_46:
    0x00035ad8 ldr r3, [r4, 0xf0]                            |     r3 = *((r4 + 0xf0));
    0x00035adc cmp r3, 2                                     |     
                                                             |     if (r3 != 2) {
    0x00035ae0 bne 0x35b5c                                   |         goto label_73;
                                                             |     }
    0x00035ae4 ldr r3, [r4, 0x19c]                           |     r3 = *((r4 + 0x19c));
    0x00035ae8 adds r3, r3, 1                                |     r3++;
                                                             |     if (r3 == r3) {
    0x00035aec movne r3, 1                                   |         r3 = 1;
                                                             |     }
    0x00035af0 add r3, r4, r3, lsl 4                         |     r3 = r4 + (r3 << 4);
    0x00035af4 ldr r3, [r3, 0x1e0]                           |     r3 = *((r3 + 0x1e0));
    0x00035af8 cmp r3, 2                                     |     
                                                             |     if (r3 == 2) {
    0x00035afc beq 0x35b5c                                   |         goto label_73;
                                                             |     }
    0x00035b00 ldr r7, [r4, 0x248]                           |     r7 = *((r4 + 0x248));
    0x00035b04 cmp r7, 0                                     |     
    0x00035b08 bne 0x35b68                                   |     
                                                             |     while (r3 == 2) {
    0x00035b0c ldr r3, [r4, 0x19c]                           |         r3 = *((r4 + 0x19c));
    0x00035b10 adds r3, r3, 1                                |         r3++;
                                                             |         if (r3 == r3) {
    0x00035b14 movne r3, 1                                   |             r3 = 1;
                                                             |         }
    0x00035b18 add r3, r4, r3, lsl 4                         |         r3 = r4 + (r3 << 4);
    0x00035b1c ldr r3, [r3, 0x1e0]                           |         r3 = *((r3 + 0x1e0));
    0x00035b20 cmp r3, 2                                     |         
                                                             |         if (r3 == 2) {
    0x00035b24 ldrne r8, [r4, 0x24c]                         |             r8 = *((r4 + 0x24c));
                                                             |         }
                                                             |         if (r3 == 2) {
    0x00035b28 beq 0x35bb8                                   |             goto label_74;
                                                             |         }
                                                             | label_17:
    0x00035b2c cmp r8, 0                                     |         
                                                             |         if (r8 == 0) {
    0x00035b30 beq 0x35bd4                                   |             goto label_75;
                                                             |         }
    0x00035b34 ldr r3, [r6, 0x1c8]                           |         r3 = *((r6 + 0x1c8));
    0x00035b38 mov r1, r8                                    |         r1 = r8;
    0x00035b3c ldr r0, [r3]                                  |         r0 = *(r3);
    0x00035b40 bl 0x504c                                     |         r0 = SSL_CTX_set_ciphersuites ();
    0x00035b44 cmp r0, 0                                     |         
                                                             |         if (r0 != 0) {
    0x00035b48 bne 0x35bc0                                   |             goto label_76;
                                                             |         }
    0x00035b4c ldr r1, [pc, 0x380]                           |         r1 = *(0x35ed0);
    0x00035b50 mov r2, r7                                    |         r2 = r7;
    0x00035b54 add r1, pc, r1                                |         r1 = pc + r1;
    0x00035b58 b 0x35b8c                                     |         goto label_77;
                                                             | label_73:
    0x00035b5c ldr r7, [r4, 0x220]                           |         r7 = *((r4 + 0x220));
    0x00035b60 cmp r7, 0                                     |         
                                                             |         if (r7 != 0) {
    0x00035b64 beq 0x35bac                                   |             
    0x00035b68 ldr r3, [r6, 0x1c8]                           |             r3 = *((r6 + 0x1c8));
    0x00035b6c mov r1, r7                                    |             r1 = r7;
    0x00035b70 ldr r0, [r3]                                  |             r0 = *(r3);
    0x00035b74 bl 0x4e90                                     |             SSL_CTX_set_cipher_list ();
    0x00035b78 mov r2, r7                                    |             r2 = r7;
    0x00035b7c cmp r0, 0                                     |             
                                                             |             if (r0 == 0) {
    0x00035b80 bne 0x35b9c                                   |                 
    0x00035b84 ldr r1, [pc, 0x34c]                           |                 r1 = *(0x35ed4);
    0x00035b88 add r1, pc, r1                                |                 r1 = pc + r1;
                                                             | label_77:
    0x00035b8c mov r0, r5                                    |                 r0 = r5;
    0x00035b90 bl 0x10544                                    |                 Curl_failf ();
    0x00035b94 mov fp, 0x3b                                  |                 
    0x00035b98 b 0x350cc                                     |                 goto label_1;
                                                             |             }
    0x00035b9c ldr r1, [pc, 0x338]                           |             r1 = *(0x35ed8);
    0x00035ba0 mov r0, r5                                    |             r0 = r5;
    0x00035ba4 add r1, pc, r1                                |             r1 = pc + r1;
    0x00035ba8 bl 0x104cc                                    |             Curl_infof ();
                                                             |         }
    0x00035bac ldr r3, [r4, 0xf0]                            |         r3 = *((r4 + 0xf0));
    0x00035bb0 cmp r3, 2                                     |         
    0x00035bb4 beq 0x35b0c                                   |         
                                                             |     }
                                                             | label_74:
    0x00035bb8 ldr r8, [r4, 0x224]                           |     r8 = *((r4 + 0x224));
    0x00035bbc b 0x35b2c                                     |     goto label_17;
                                                             | label_76:
    0x00035bc0 ldr r1, [pc, 0x318]                           |     r1 = *(0x35edc);
    0x00035bc4 mov r2, r8                                    |     r2 = r8;
    0x00035bc8 add r1, pc, r1                                |     r1 = pc + r1;
    0x00035bcc mov r0, r5                                    |     r0 = r5;
    0x00035bd0 bl 0x104cc                                    |     Curl_infof ();
                                                             | label_75:
    0x00035bd4 ldr r3, [sp, 0xc]                             |     r3 = var_ch;
    0x00035bd8 ldr r2, [sp, 0x10]                            |     r2 = var_10h;
    0x00035bdc cmp r2, 0                                     |     
    0x00035be0 cmpeq r3, 0                                   |     __asm ("cmpeq r3, 0");
                                                             |     if (r2 == 0) {
    0x00035be4 beq 0x35ca4                                   |         goto label_78;
                                                             |     }
    0x00035be8 ldr r3, [r6, 0x1c8]                           |     r3 = *((r6 + 0x1c8));
    0x00035bec ldr r1, [sp, 0xc]                             |     r1 = var_ch;
    0x00035bf0 ldr r0, [r3]                                  |     r0 = *(r3);
    0x00035bf4 bl 0x5430                                     |     r0 = SSL_CTX_load_verify_locations ();
    0x00035bf8 cmp r0, 0                                     |     
                                                             |     if (r0 != 0) {
    0x00035bfc bne 0x35cf4                                   |         goto label_79;
                                                             |     }
    0x00035c00 ldr r3, [sp, 0x2c]                            |     r3 = var_2ch;
    0x00035c04 cmp r3, 0                                     |     
                                                             |     if (r3 == 0) {
    0x00035c08 beq 0x35c5c                                   |         goto label_80;
                                                             |     }
    0x00035c0c ldr r3, [sp, 0xc]                             |     r3 = var_ch;
    0x00035c10 cmp r3, 0                                     |     
                                                             |     if (r3 == 0) {
    0x00035c14 beq 0x35c4c                                   |         goto label_81;
                                                             |     }
    0x00035c18 ldr r3, [sp, 0x10]                            |     r3 = var_10h;
    0x00035c1c cmp r3, 0                                     |     
                                                             |     if (r3 != 0) {
    0x00035c20 ldreq r3, [pc, 0x2bc]                         |         r3 = "ethod_get_closer";
                                                             |     }
                                                             |     if (r3 != 0) {
    0x00035c24 addeq r3, pc, r3                              |         r3 = pc + r3;
                                                             |     }
    0x00035c28 streq r3, [sp, 0x10]                          |     var_10h = r3;
                                                             |     while (1) {
    0x00035c2c ldr r1, [pc, 0x2b4]                           |         r1 = "ethod_get_closer";
    0x00035c30 ldr r3, [sp, 0x10]                            |         r3 = var_10h;
    0x00035c34 ldr r2, [sp, 0xc]                             |         r2 = var_ch;
    0x00035c38 add r1, pc, r1                                |         r1 = pc + r1;
    0x00035c3c mov r0, r5                                    |         r0 = r5;
    0x00035c40 bl 0x10544                                    |         Curl_failf ();
    0x00035c44 mov fp, 0x4d                                  |         
    0x00035c48 b 0x350cc                                     |         goto label_1;
                                                             | label_81:
    0x00035c4c ldr r3, [pc, 0x298]                           |         r3 = *(0x35ee8);
    0x00035c50 add r3, pc, r3                                |         r3 = pc + r3;
    0x00035c54 str r3, [sp, 0xc]                             |         var_ch = r3;
    0x00035c58 b 0x35c2c                                     |         
                                                             |     }
                                                             | label_80:
    0x00035c5c ldr r1, [pc, 0x28c]                           |     r1 = "_";
    0x00035c60 add r1, pc, r1                                |     r1 = pc + r1;
                                                             |     do {
    0x00035c64 mov r0, r5                                    |         r0 = r5;
    0x00035c68 bl 0x104cc                                    |         Curl_infof ();
    0x00035c6c ldr r3, [sp, 0xc]                             |         r3 = var_ch;
    0x00035c70 cmp r3, 0                                     |         
                                                             |         if (r3 == 0) {
    0x00035c74 beq 0x35d00                                   |             goto label_82;
                                                             |         }
    0x00035c78 ldr r3, [sp, 0x10]                            |         r3 = var_10h;
    0x00035c7c cmp r3, 0                                     |         
                                                             |         if (r3 != 0) {
    0x00035c80 ldreq r3, [pc, 0x26c]                         |             r3 = "der_byname";
                                                             |         }
                                                             |         if (r3 != 0) {
    0x00035c84 addeq r3, pc, r3                              |             r3 = pc + r3;
                                                             |         }
                                                             |         if (r3 != 0) {
    0x00035c88 streq r3, [sp, 0x10]                          |             var_10h = r3;
                                                             |         }
                                                             | label_18:
    0x00035c8c ldr r1, [pc, 0x264]                           |         r1 = "der_byname";
    0x00035c90 ldr r3, [sp, 0x10]                            |         r3 = var_10h;
    0x00035c94 ldr r2, [sp, 0xc]                             |         r2 = var_ch;
    0x00035c98 add r1, pc, r1                                |         r1 = pc + r1;
    0x00035c9c mov r0, r5                                    |         r0 = r5;
    0x00035ca0 bl 0x104cc                                    |         Curl_infof ();
                                                             | label_78:
    0x00035ca4 ldr r3, [sp, 0x18]                            |         r3 = var_18h;
    0x00035ca8 cmp r3, 0                                     |         
                                                             |         if (r3 == 0) {
    0x00035cac beq 0x35d5c                                   |             goto label_83;
                                                             |         }
    0x00035cb0 ldr r3, [r6, 0x1c8]                           |         r3 = *((r6 + 0x1c8));
    0x00035cb4 ldr r0, [r3]                                  |         r0 = *(r3);
    0x00035cb8 bl 0x54c0                                     |         r0 = SSL_CTX_get_cert_store ();
    0x00035cbc mov r7, r0                                    |         r7 = r0;
    0x00035cc0 bl 0x5328                                     |         r0 = X509_LOOKUP_file ();
    0x00035cc4 mov r1, r0                                    |         r1 = r0;
    0x00035cc8 mov r0, r7                                    |         r0 = r7;
    0x00035ccc bl 0x56dc                                     |         r0 = X509_STORE_add_lookup ();
    0x00035cd0 cmp r0, 0                                     |         
                                                             |         if (r0 != 0) {
    0x00035cd4 bne 0x35d10                                   |             goto label_84;
                                                             |         }
                                                             | label_19:
    0x00035cd8 ldr r1, [pc, 0x21c]                           |         r1 = *(0x35ef8);
    0x00035cdc ldr r2, [sp, 0x18]                            |         r2 = var_18h;
    0x00035ce0 add r1, pc, r1                                |         r1 = pc + r1;
    0x00035ce4 mov r0, r5                                    |         r0 = r5;
    0x00035ce8 bl 0x10544                                    |         Curl_failf ();
    0x00035cec mov fp, 0x52                                  |         
    0x00035cf0 b 0x350cc                                     |         goto label_1;
                                                             | label_79:
    0x00035cf4 ldr r1, [pc, 0x204]                           |         r1 = *(0x35efc);
    0x00035cf8 add r1, pc, r1                                |         r1 = pc + r1;
    0x00035cfc b 0x35c64                                     |         
                                                             |     } while (1);
                                                             | label_82:
    0x00035d00 ldr r3, [pc, 0x1fc]                           |     r3 = *(0x35f00);
    0x00035d04 add r3, pc, r3                                |     r3 = pc + r3;
    0x00035d08 str r3, [sp, 0xc]                             |     var_ch = r3;
    0x00035d0c b 0x35c8c                                     |     goto label_18;
                                                             | label_84:
    0x00035d10 mov r2, 1                                     |     r2 = 1;
    0x00035d14 ldr r1, [sp, 0x18]                            |     r1 = var_18h;
    0x00035d18 bl 0x4f38                                     |     r0 = X509_load_crl_file ();
    0x00035d1c cmp r0, 0                                     |     
                                                             |     if (r0 == 0) {
    0x00035d20 beq 0x35cd8                                   |         goto label_19;
                                                             |     }
    0x00035d24 ldr r1, [pc, 0x1dc]                           |     r1 = *(0x35f04);
    0x00035d28 mov r0, r5                                    |     r0 = r5;
    0x00035d2c add r1, pc, r1                                |     r1 = pc + r1;
    0x00035d30 bl 0x104cc                                    |     Curl_infof ();
    0x00035d34 ldr r3, [r6, 0x1c8]                           |     r3 = *((r6 + 0x1c8));
    0x00035d38 ldr r0, [r3]                                  |     r0 = *(r3);
    0x00035d3c bl 0x54c0                                     |     SSL_CTX_get_cert_store ();
    0x00035d40 mov r1, 0xc                                   |     r1 = 0xc;
    0x00035d44 bl 0x56d0                                     |     X509_STORE_set_flags ();
    0x00035d48 ldr r1, [pc, 0x1bc]                           |     r1 = *(0x35f08);
    0x00035d4c ldr r2, [sp, 0x18]                            |     r2 = var_18h;
    0x00035d50 add r1, pc, r1                                |     r1 = pc + r1;
    0x00035d54 mov r0, r5                                    |     r0 = r5;
    0x00035d58 bl 0x104cc                                    |     Curl_infof ();
                                                             | label_83:
    0x00035d5c ldr r3, [r6, 0x1c8]                           |     r3 = *((r6 + 0x1c8));
    0x00035d60 mov r2, 0                                     |     r2 = 0;
    0x00035d64 ldr r0, [r3]                                  |     r0 = *(r3);
    0x00035d68 ldr r1, [sp, 0x2c]                            |     r1 = var_2ch;
    0x00035d6c bl 0x5c1c                                     |     SSL_CTX_set_verify ();
    0x00035d70 ldr r3, [pc, 0x198]                           |     
    0x00035d74 add r3, pc, r3                                |     r3 = pc + r3;
    0x00035d78 ldr r3, [r3]                                  |     r3 = *(0x35f0c);
    0x00035d7c cmp r3, 0                                     |     
                                                             |     if (r3 != 0) {
    0x00035d80 beq 0x35d98                                   |         
    0x00035d84 ldr r3, [r6, 0x1c8]                           |         r3 = *((r6 + 0x1c8));
    0x00035d88 ldr r1, [pc, 0x184]                           |         r1 = *(0x35f10);
    0x00035d8c ldr r0, [r3]                                  |         r0 = *(r3);
    0x00035d90 add r1, pc, r1                                |         r1 = pc + r1;
    0x00035d94 bl 0x5664                                     |         SSL_CTX_set_keylog_callback ();
                                                             |     }
    0x00035d98 ldr r3, [r5, 0x414]                           |     r3 = *((r5 + 0x414));
    0x00035d9c ldr r1, [r6, 0x1c8]                           |     r1 = *((r6 + 0x1c8));
    0x00035da0 cmp r3, 0                                     |     
                                                             |     if (r3 != 0) {
    0x00035da4 beq 0x35dd8                                   |         
    0x00035da8 ldr r2, [r5, 0x418]                           |         r2 = *((r5 + 0x418));
    0x00035dac ldr r1, [r1]                                  |         r1 = *(r1);
    0x00035db0 mov r0, r5                                    |         r0 = r5;
    0x00035db4 blx r3                                        |         r0 = uint32_t (*r3)(uint32_t, uint32_t, uint32_t) (r0, r1, r2);
    0x00035db8 subs r7, r0, 0                                |         r7 = r0 - 0;
                                                             |         if (r7 == r0) {
    0x00035dbc beq 0x35dd8                                   |             goto label_85;
                                                             |         }
    0x00035dc0 ldr r1, [pc, 0x150]                           |         r1 = *(0x35f14);
    0x00035dc4 mov r0, r5                                    |         r0 = r5;
    0x00035dc8 add r1, pc, r1                                |         r1 = pc + r1;
    0x00035dcc bl 0x10544                                    |         Curl_failf ();
    0x00035dd0 mov fp, r7                                    |         
    0x00035dd4 b 0x350cc                                     |         goto label_1;
                                                             |     }
                                                             | label_85:
    0x00035dd8 ldr r3, [r6, 0x1c8]                           |     r3 = *((r6 + 0x1c8));
    0x00035ddc ldr r0, [r3, 4]                               |     r0 = *((r3 + 4));
    0x00035de0 cmp r0, 0                                     |     
                                                             |     if (r0 != 0) {
    0x00035de4 beq 0x35dec                                   |         
    0x00035de8 bl 0x56e8                                     |         SSL_free ();
                                                             |     }
    0x00035dec ldr r7, [r6, 0x1c8]                           |     r7 = *((r6 + 0x1c8));
    0x00035df0 ldr r0, [r7]                                  |     r0 = *(r7);
    0x00035df4 bl 0x5370                                     |     SSL_new ();
    0x00035df8 ldr r3, [r6, 0x1c8]                           |     r3 = *((r6 + 0x1c8));
    0x00035dfc str r0, [r7, 4]                               |     *((r7 + 4)) = r0;
    0x00035e00 ldr r0, [r3, 4]                               |     r0 = *((r3 + 4));
    0x00035e04 cmp r0, 0                                     |     
                                                             |     if (r0 == 0) {
    0x00035e08 bne 0x35f30                                   |         
    0x00035e0c ldr r1, [pc, 0x108]                           |         r1 = *(0x35f18);
    0x00035e10 mov r0, r5                                    |         r0 = r5;
    0x00035e14 add r1, pc, r1                                |         r1 = pc + r1;
    0x00035e18 bl 0x10544                                    |         Curl_failf ();
    0x00035e1c b 0x35140                                     |         goto label_20;
                                                             |     }
    0x00035f30 ldr r3, [r4, 0xf0]                            |     r3 = *((r4 + 0xf0));
    0x00035f34 cmp r3, 2                                     |     
                                                             |     if (r3 == 2) {
    0x00035f38 bne 0x35f5c                                   |         
    0x00035f3c ldr r3, [r4, 0x19c]                           |         r3 = *((r4 + 0x19c));
    0x00035f40 adds r3, r3, 1                                |         r3++;
                                                             |         if (r3 == r3) {
    0x00035f44 movne r3, 1                                   |             r3 = 1;
                                                             |         }
    0x00035f48 add r3, r4, r3, lsl 4                         |         r3 = r4 + (r3 << 4);
    0x00035f4c ldr r3, [r3, 0x1e0]                           |         r3 = *((r3 + 0x1e0));
    0x00035f50 cmp r3, 2                                     |         
                                                             |         if (r3 == 2) {
    0x00035f54 ldrbne r3, [r4, 0x232]                        |             r3 = *((r4 + 0x232));
                                                             |         }
                                                             |         if (r3 != 2) {
    0x00035f58 bne 0x35f60                                   |             goto label_86;
                                                             |         }
                                                             |     }
    0x00035f5c ldrb r3, [r4, 0x20a]                          |     r3 = *((r4 + 0x20a));
                                                             | label_86:
    0x00035f60 cmp r3, 0                                     |     
                                                             |     if (r3 != 0) {
    0x00035f64 beq 0x35f78                                   |         
    0x00035f68 mov r3, 0                                     |         r3 = 0;
    0x00035f6c mov r2, 1                                     |         r2 = 1;
    0x00035f70 mov r1, 0x41                                  |         r1 = 0x41;
    0x00035f74 bl 0x5a0c                                     |         SSL_ctrl ();
                                                             |     }
    0x00035f78 ldr r3, [r6, 0x1c8]                           |     r3 = *((r6 + 0x1c8));
    0x00035f7c add r7, sp, 0x48                              |     r7 += var_48h;
    0x00035f80 ldr r0, [r3, 4]                               |     r0 = *((r3 + 4));
    0x00035f84 bl 0x5a48                                     |     SSL_set_connect_state ();
    0x00035f88 ldr r3, [r6, 0x1c8]                           |     r3 = *((r6 + 0x1c8));
    0x00035f8c mov r2, 0                                     |     r2 = 0;
    0x00035f90 str r2, [r3, 8]                               |     *((r3 + 8)) = r2;
    0x00035f94 ldr r1, [sp, 0x24]                            |     r1 = var_24h;
    0x00035f98 mov r2, r7                                    |     r2 = r7;
    0x00035f9c mov r0, 2                                     |     r0 = 2;
    0x00035fa0 bl 0x5190                                     |     r0 = inet_pton ();
    0x00035fa4 cmp r0, 0                                     |     
                                                             |     if (r0 == 0) {
    0x00035fa8 bne 0x35ff0                                   |         
    0x00035fac mov r2, r7                                    |         r2 = r7;
    0x00035fb0 ldr r1, [sp, 0x24]                            |         r1 = var_24h;
    0x00035fb4 mov r0, 0xa                                   |         r0 = 0xa;
    0x00035fb8 bl 0x5190                                     |         r0 = inet_pton ();
    0x00035fbc subs r2, r0, 0                                |         r2 = r0 - 0;
                                                             |         if (r2 != r0) {
    0x00035fc0 bne 0x35ff0                                   |             goto label_87;
                                                             |         }
    0x00035fc4 ldr ip, [r6, 0x1c8]                           |         ip = *((r6 + 0x1c8));
    0x00035fc8 ldr r3, [sp, 0x24]                            |         r3 = var_24h;
    0x00035fcc mov r1, 0x37                                  |         r1 = 0x37;
    0x00035fd0 ldr r0, [ip, 4]                               |         r0 = *((ip + 4));
    0x00035fd4 bl 0x5a0c                                     |         r0 = SSL_ctrl ();
    0x00035fd8 cmp r0, 0                                     |         
                                                             |         if (r0 != 0) {
    0x00035fdc bne 0x35ff0                                   |             goto label_87;
                                                             |         }
    0x00035fe0 ldr r1, [pc, -0xc8]                           |         r1 = *(0x35f1c);
    0x00035fe4 mov r0, r5                                    |         r0 = r5;
    0x00035fe8 add r1, pc, r1                                |         r1 = pc + r1;
    0x00035fec bl 0x104cc                                    |         Curl_infof ();
                                                             |     }
                                                             | label_87:
    0x00035ff0 ldr r3, [r4, 0xf0]                            |     r3 = *((r4 + 0xf0));
    0x00035ff4 cmp r3, 2                                     |     
                                                             |     if (r3 == 2) {
    0x00035ff8 bne 0x3601c                                   |         
    0x00035ffc ldr r3, [r4, 0x19c]                           |         r3 = *((r4 + 0x19c));
    0x00036000 adds r3, r3, 1                                |         r3++;
                                                             |         if (r3 == r3) {
    0x00036004 movne r3, 1                                   |             r3 = 1;
                                                             |         }
    0x00036008 add r3, r4, r3, lsl 4                         |         r3 = r4 + (r3 << 4);
    0x0003600c ldr r3, [r3, 0x1e0]                           |         r3 = *((r3 + 0x1e0));
    0x00036010 cmp r3, 2                                     |         
                                                             |         if (r3 == 2) {
    0x00036014 ldrbne r3, [r5, 0x43f]                        |             r3 = *((r5 + 0x43f));
                                                             |         }
                                                             |         if (r3 != 2) {
    0x00036018 bne 0x36020                                   |             goto label_88;
                                                             |         }
                                                             |     }
    0x0003601c ldrb r3, [r5, 0x3e7]                          |     r3 = *((r5 + 0x3e7));
                                                             | label_88:
    0x00036020 cmp r3, 0                                     |     
                                                             |     if (r3 != 0) {
    0x00036024 beq 0x360bc                                   |         
    0x00036028 mov r8, 0                                     |         r8 = 0;
    0x0003602c add r7, sp, 0x158                             |         r7 += var_158h;
    0x00036030 mov r0, r4                                    |         r0 = r4;
    0x00036034 str r8, [r7, -0x114]!                         |         *((r7 -= 0x114)) = r8;
    0x00036038 bl 0x36f20                                    |         Curl_ssl_sessionid_lock ();
    0x0003603c ldr r3, [sp, 0x28]                            |         r3 = var_28h;
    0x00036040 mov r2, r8                                    |         r2 = r8;
    0x00036044 mov r1, r7                                    |         r1 = r7;
    0x00036048 mov r0, r4                                    |         r0 = r4;
    0x0003604c bl 0x36f6c                                    |         r0 = Curl_ssl_getsessionid ();
    0x00036050 cmp r0, r8                                    |         
                                                             |         if (r0 == r8) {
    0x00036054 bne 0x360b4                                   |             
    0x00036058 ldr r3, [r6, 0x1c8]                           |             r3 = *((r6 + 0x1c8));
    0x0003605c ldr r1, [sp, 0x44]                            |             r1 = var_44h;
    0x00036060 ldr r0, [r3, 4]                               |             r0 = *((r3 + 4));
    0x00036064 bl 0x552c                                     |             r0 = SSL_set_session ();
    0x00036068 cmp r0, r8                                    |             
                                                             |             if (r0 == r8) {
    0x0003606c bne 0x360a4                                   |                 
    0x00036070 mov r0, r4                                    |                 r0 = r4;
    0x00036074 add r4, sp, 0x58                              |                 r4 += var_58h;
    0x00036078 bl 0x36f48                                    |                 Curl_ssl_sessionid_unlock ();
    0x0003607c bl 0x4e9c                                     |                 ERR_get_error ();
    0x00036080 mov r2, 0x100                                 |                 r2 = 0x100;
    0x00036084 mov r1, r4                                    |                 r1 = r4;
    0x00036088 bl 0x5064                                     |                 ERR_error_string_n ();
    0x0003608c ldr r1, [pc, -0x170]                          |                 r1 = *(0x00035f24);
    0x00036090 mov r2, r4                                    |                 r2 = r4;
    0x00036094 add r1, pc, r1                                |                 r1 = pc + r1;
                                                             | label_22:
    0x00036098 mov r0, r5                                    |                 r0 = r5;
    0x0003609c bl 0x10544                                    |                 Curl_failf ();
    0x000360a0 b 0x35164                                     |                 goto label_21;
                                                             |             }
    0x000360a4 ldr r1, [pc, -0x184]                          |             r1 = *(0x00035f28);
    0x000360a8 mov r0, r5                                    |             r0 = r5;
    0x000360ac add r1, pc, r1                                |             r1 = pc + r1;
    0x000360b0 bl 0x104cc                                    |             Curl_infof ();
                                                             |         }
    0x000360b4 mov r0, r4                                    |         r0 = r4;
    0x000360b8 bl 0x36f48                                    |         Curl_ssl_sessionid_unlock ();
                                                             |     }
    0x000360bc ldr r3, [sp, 0x28]                            |     r3 = var_28h;
    0x000360c0 add r4, r4, r3, lsl 4                         |     r4 += (r3 << 4);
    0x000360c4 ldrb r3, [r4, 0x1dc]                          |     r3 = *((r4 + 0x1dc));
    0x000360c8 cmp r3, 0                                     |     
                                                             |     if (r3 == 0) {
    0x000360cc beq 0x36110                                   |         goto label_89;
                                                             |     }
    0x000360d0 bl 0x56a0                                     |     BIO_f_ssl ();
    0x000360d4 bl 0x540c                                     |     BIO_new ();
    0x000360d8 ldr r3, [r6, 0x1e8]                           |     r3 = *((r6 + 0x1e8));
    0x000360dc mov r2, 0                                     |     r2 = 0;
    0x000360e0 ldr r3, [r3, 4]                               |     r3 = *((r3 + 4));
    0x000360e4 mov r1, 0x6d                                  |     r1 = 0x6d;
    0x000360e8 mov r4, r0                                    |     r4 = r0;
    0x000360ec bl 0x5aa8                                     |     BIO_ctrl ();
    0x000360f0 ldr r3, [r6, 0x1c8]                           |     r3 = *((r6 + 0x1c8));
    0x000360f4 mov r2, r4                                    |     r2 = r4;
    0x000360f8 mov r1, r4                                    |     r1 = r4;
    0x000360fc ldr r0, [r3, 4]                               |     r0 = *((r3 + 4));
    0x00036100 bl 0x58d4                                     |     SSL_set_bio ();
                                                             |     do {
    0x00036104 mov r3, 1                                     |         r3 = 1;
    0x00036108 str r3, [r6, 0x1c4]                           |         *((r6 + 0x1c4)) = r3;
    0x0003610c b 0x350cc                                     |         goto label_1;
                                                             | label_89:
    0x00036110 ldr r3, [r6, 0x1c8]                           |         r3 = *((r6 + 0x1c8));
    0x00036114 ldr r1, [sp, 0x3c]                            |         r1 = var_3ch;
    0x00036118 ldr r0, [r3, 4]                               |         r0 = *((r3 + 4));
    0x0003611c bl 0x5214                                     |         r0 = SSL_set_fd ();
    0x00036120 cmp r0, 0                                     |         
    0x00036124 bne 0x36104                                   |         
                                                             |     } while (r0 != 0);
    0x00036128 add r4, sp, 0x58                              |     r4 += var_58h;
    0x0003612c bl 0x4e9c                                     |     ERR_get_error ();
    0x00036130 mov r2, 0x100                                 |     r2 = 0x100;
    0x00036134 mov r1, r4                                    |     r1 = r4;
    0x00036138 bl 0x5064                                     |     ERR_error_string_n ();
    0x0003613c ldr r1, [pc, -0x218]                          |     r1 = *(0x35f28);
    0x00036140 mov r2, r4                                    |     r2 = r4;
    0x00036144 add r1, pc, r1                                |     r1 = pc + r1;
    0x00036148 b 0x36098                                     |     goto label_22;
                                                             | }
    ; 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/lib/libcurl.so @ 0x32880 */
                                                             | #include <stdint.h>
                                                             |  
    ; (fcn) sym.ossl_connect_step2 ()                        | void ossl_connect_step2 (int32_t arg1, int32_t arg2) {
                                                             |     int32_t var_0h;
                                                             |     void * s2;
                                                             |     char * dest;
                                                             |     void * s;
                                                             |     int32_t var_114h;
                                                             |     r0 = arg1;
                                                             |     r1 = arg2;
    0x00032880 ldr r3, [r0, 0xf0]                            |     r3 = *((r0 + 0xf0));
    0x00032884 push {r4, r5, r6, r7, r8, sb, sl, fp, lr}     |     
    0x00032888 ldr r7, [r0]                                  |     r7 = *(r0);
    0x0003288c cmp r3, 2                                     |     
    0x00032890 sub sp, sp, 0x114                             |     
    0x00032894 mov r5, r0                                    |     r5 = r0;
    0x00032898 mov r6, r1                                    |     r6 = r1;
                                                             |     if (r3 == 2) {
    0x0003289c bne 0x328c0                                   |         
    0x000328a0 ldr r3, [r0, 0x19c]                           |         r3 = *((r0 + 0x19c));
    0x000328a4 adds r3, r3, 1                                |         r3++;
                                                             |         if (r3 == r3) {
    0x000328a8 movne r3, 1                                   |             r3 = 1;
                                                             |         }
    0x000328ac add r3, r0, r3, lsl 4                         |         r3 = r0 + (r3 << 4);
    0x000328b0 ldr r3, [r3, 0x1e0]                           |         r3 = *((r3 + 0x1e0));
    0x000328b4 cmp r3, 2                                     |         
                                                             |         if (r3 == 2) {
    0x000328b8 addne sl, r7, 0x460                           |             sl = r7 + 0x460;
                                                             |         }
                                                             |         if (r3 != 2) {
    0x000328bc bne 0x328c8                                   |             goto label_4;
                                                             |         }
                                                             |     }
    0x000328c0 add sl, r7, 0x400                             |     sl = r7 + 0x400;
    0x000328c4 add sl, sl, 8                                 |     sl += 8;
                                                             | label_4:
    0x000328c8 add r6, r5, r6, lsl 4                         |     r6 = r5 + (r6 << 4);
    0x000328cc bl 0x5028                                     |     ERR_clear_error ();
    0x000328d0 ldr r3, [r6, 0x1c8]                           |     r3 = *((r6 + 0x1c8));
    0x000328d4 ldr r0, [r3, 4]                               |     r0 = *((r3 + 4));
    0x000328d8 bl 0x5628                                     |     SSL_connect ();
    0x000328dc ldr r3, [r6, 0x1c8]                           |     r3 = *((r6 + 0x1c8));
    0x000328e0 cmp r0, 1                                     |     
    0x000328e4 mov r1, r0                                    |     r1 = r0;
                                                             |     if (r0 == 1) {
    0x000328e8 beq 0x32a60                                   |         goto label_5;
                                                             |     }
    0x000328ec ldr r0, [r3, 4]                               |     r0 = *((r3 + 4));
    0x000328f0 bl 0x5ba4                                     |     SSL_get_error ();
    0x000328f4 mov r1, 0                                     |     r1 = 0;
    0x000328f8 cmp r0, 2                                     |     
    0x000328fc mov r8, r0                                    |     r8 = r0;
    0x00032900 bne 0x32910                                   |     
                                                             |     while (r0 == 3) {
    0x00032904 str r8, [r6, 0x1c4]                           |         *((r6 + 0x1c4)) = r8;
                                                             | label_2:
    0x00032908 mov r4, 0                                     |         r4 = 0;
    0x0003290c b 0x32a14                                     |         goto label_1;
    0x00032910 cmp r0, 3                                     |         
    0x00032914 beq 0x32904                                   |         
                                                             |     }
    0x00032918 mov r2, 0xfc                                  |     r2 = 0xfc;
    0x0003291c add r0, sp, 0x14                              |     r0 += s;
    0x00032920 str r1, [sp, 0x10]                            |     dest = r1;
    0x00032924 bl 0x576c                                     |     memset (r0, r1, r2);
    0x00032928 mov r3, 1                                     |     r3 = 1;
    0x0003292c str r3, [r6, 0x1c4]                           |     *((r6 + 0x1c4)) = r3;
    0x00032930 bl 0x4e9c                                     |     ERR_get_error ();
    0x00032934 add sb, sp, 0x10                              |     sb += dest;
    0x00032938 lsl r3, r0, 0x14                              |     r3 = r0 << 0x14;
    0x0003293c lsr r2, r0, 0x18                              |     r2 = r0 >> 0x18;
    0x00032940 lsr r3, r3, 0x14                              |     r3 >>= 0x14;
    0x00032944 cmp r2, 0x14                                  |     
    0x00032948 cmpeq r3, 0x86                                |     __asm ("cmpeq r3, 0x86");
    0x0003294c mov fp, r0                                    |     
                                                             |     if (r2 != 0x14) {
    0x00032950 bne 0x32a34                                   |         goto label_6;
                                                             |     }
    0x00032954 ldr r3, [r6, 0x1c8]                           |     r3 = *((r6 + 0x1c8));
    0x00032958 ldr r0, [r3, 4]                               |     r0 = *((r3 + 4));
    0x0003295c bl 0x57f0                                     |     r0 = SSL_get_verify_result ();
    0x00032960 subs r3, r0, 0                                |     r3 = r0 - 0;
                                                             |     if (r3 == r0) {
    0x00032964 beq 0x32a20                                   |         goto label_7;
                                                             |     }
    0x00032968 str r3, [sl]                                  |     *(sl) = r3;
    0x0003296c bl 0x5910                                     |     X509_verify_cert_error_string ();
    0x00032970 ldr r2, [pc, 0x23c]                           |     r2 = *(0x32bb0);
    0x00032974 mov r1, 0x100                                 |     r1 = 0x100;
    0x00032978 add r2, pc, r2                                |     r2 = pc + r2;
    0x0003297c mov r3, r0                                    |     r3 = r0;
    0x00032980 mov r0, sb                                    |     r0 = sb;
    0x00032984 bl 0x579c                                     |     fcn_0000579c ();
                                                             |     do {
    0x00032988 mov r4, 0x3c                                  |         r4 = 0x3c;
                                                             | label_0:
    0x0003298c cmp r4, 0x23                                  |         
    0x00032990 cmpeq fp, 0                                   |         __asm ("cmpeq fp, 0");
                                                             |         if (r4 != 0x23) {
    0x00032994 bne 0x32a48                                   |             goto label_8;
                                                             |         }
    0x00032998 ldr r2, [r5, 0xf0]                            |         r2 = *((r5 + 0xf0));
    0x0003299c cmp r2, 2                                     |         
                                                             |         if (r2 == 2) {
    0x000329a0 bne 0x329c4                                   |             
    0x000329a4 ldr r3, [r5, 0x19c]                           |             r3 = *((r5 + 0x19c));
    0x000329a8 adds r3, r3, 1                                |             r3++;
                                                             |             if (r3 == r3) {
    0x000329ac movne r3, 1                                   |                 r3 = 1;
                                                             |             }
    0x000329b0 add r3, r5, r3, lsl 4                         |             r3 = r5 + (r3 << 4);
    0x000329b4 ldr r3, [r3, 0x1e0]                           |             r3 = *((r3 + 0x1e0));
    0x000329b8 cmp r3, 2                                     |             
                                                             |             if (r3 == 2) {
    0x000329bc ldrne r3, [r5, 0xe4]                          |                 r3 = *((r5 + 0xe4));
                                                             |             }
                                                             |             if (r3 != 2) {
    0x000329c0 bne 0x329d0                                   |                 goto label_9;
                                                             |             }
                                                             |         }
    0x000329c4 cmp r2, 2                                     |         
    0x000329c8 ldr r3, [r5, 0xa0]                            |         r3 = *((r5 + 0xa0));
                                                             |         if (r2 == 2) {
    0x000329cc bne 0x329f0                                   |             
                                                             | label_9:
    0x000329d0 ldr r2, [r5, 0x19c]                           |             r2 = *((r5 + 0x19c));
    0x000329d4 adds r2, r2, 1                                |             r2++;
                                                             |             if (r2 == r2) {
    0x000329d8 movne r2, 1                                   |                 r2 = 1;
                                                             |             }
    0x000329dc add r2, r5, r2, lsl 4                         |             r2 = r5 + (r2 << 4);
    0x000329e0 ldr r2, [r2, 0x1e0]                           |             r2 = *((r2 + 0x1e0));
    0x000329e4 cmp r2, 2                                     |             
                                                             |             if (r2 == 2) {
    0x000329e8 ldrne r2, [r5, 0xfc]                          |                 r2 = *((r5 + 0xfc));
                                                             |             }
                                                             |             if (r2 != 2) {
    0x000329ec bne 0x329f4                                   |                 goto label_10;
                                                             |             }
                                                             |         }
    0x000329f0 ldr r2, [r5, 0x100]                           |         r2 = *((r5 + 0x100));
                                                             | label_10:
    0x000329f4 mov r0, r8                                    |         r0 = r8;
    0x000329f8 bl 0x31d0c                                    |         SSL_ERROR_to_str ();
    0x000329fc ldr r1, [pc, 0x1b4]                           |         r1 = "OW";
    0x00032a00 add r1, pc, r1                                |         r1 = pc + r1;
    0x00032a04 str r2, [sp]                                  |         *(sp) = r2;
    0x00032a08 mov r2, r0                                    |         r2 = r0;
    0x00032a0c mov r0, r7                                    |         r0 = r7;
    0x00032a10 bl 0x10544                                    |         Curl_failf ();
                                                             | label_1:
    0x00032a14 mov r0, r4                                    |         r0 = r4;
    0x00032a18 add sp, sp, 0x114                             |         
    0x00032a1c pop {r4, r5, r6, r7, r8, sb, sl, fp, pc}      |         
                                                             | label_7:
    0x00032a20 ldr r1, [pc, 0x194]                           |         r1 = *(0x32bb8);
    0x00032a24 mov r0, sb                                    |         r0 = sb;
    0x00032a28 add r1, pc, r1                                |         r1 = pc + r1;
    0x00032a2c bl 0x5c28                                     |         strcpy (r0, r1);
    0x00032a30 b 0x32988                                     |         
                                                             |     } while (1);
                                                             | label_6:
    0x00032a34 mov r2, 0x100                                 |     r2 = 0x100;
    0x00032a38 mov r1, sb                                    |     r1 = sb;
    0x00032a3c bl 0x5064                                     |     ERR_error_string_n ();
    0x00032a40 mov r4, 0x23                                  |     r4 = 0x23;
    0x00032a44 b 0x3298c                                     |     goto label_0;
                                                             | label_8:
    0x00032a48 ldr r1, [pc, 0x170]                           |     r1 = *(0x32bbc);
    0x00032a4c mov r2, sb                                    |     r2 = sb;
    0x00032a50 add r1, pc, r1                                |     r1 = pc + r1;
    0x00032a54 mov r0, r7                                    |     r0 = r7;
    0x00032a58 bl 0x10544                                    |     Curl_failf ();
    0x00032a5c b 0x32a14                                     |     goto label_1;
                                                             | label_5:
    0x00032a60 ldr r0, [r3, 4]                               |     r0 = *((r3 + 4));
    0x00032a64 mov r2, 4                                     |     r2 = 4;
    0x00032a68 cmp r0, 0                                     |     
    0x00032a6c str r2, [r6, 0x1c4]                           |     *((r6 + 0x1c4)) = r2;
                                                             |     if (r0 == 0) {
    0x00032a70 beq 0x32b94                                   |         goto label_11;
                                                             |     }
    0x00032a74 bl 0x4fd4                                     |     SSL_version ();
    0x00032a78 ldr r3, [pc, 0x144]                           |     r3 = *(0x32bc0);
    0x00032a7c cmp r0, r3                                    |     
                                                             |     if (r0 == r3) {
    0x00032a80 beq 0x32b70                                   |         goto label_12;
                                                             |     }
                                                             |     if (r0 > r3) {
    0x00032a84 bgt 0x32aa4                                   |         goto label_13;
                                                             |     }
    0x00032a88 cmp r0, 2                                     |     
                                                             |     if (r0 == 2) {
    0x00032a8c beq 0x32b88                                   |         goto label_14;
                                                             |     }
    0x00032a90 cmp r0, 0x300                                 |     
                                                             |     if (r0 == 0x300) {
    0x00032a94 beq 0x32b7c                                   |         goto label_15;
                                                             |     }
                                                             |     do {
    0x00032a98 ldr r4, [pc, 0x128]                           |         r4 = *(0x32bc4);
    0x00032a9c add r4, pc, r4                                |         r4 = pc + r4;
    0x00032aa0 b 0x32ad0                                     |         goto label_3;
                                                             | label_13:
    0x00032aa4 ldr r3, [pc, 0x120]                           |         r3 = *(0x32bc8);
    0x00032aa8 cmp r0, r3                                    |         
                                                             |         if (r0 == r3) {
    0x00032aac beq 0x32ac8                                   |             goto label_16;
                                                             |         }
                                                             |         if (r0 < r3) {
    0x00032ab0 blt 0x32b64                                   |             goto label_17;
                                                             |         }
    0x00032ab4 cmp r0, 0x304                                 |         
    0x00032ab8 bne 0x32a98                                   |         
                                                             |     } while (r0 != 0x304);
    0x00032abc ldr r4, [pc, 0x10c]                           |     r4 = *(0x32bcc);
    0x00032ac0 add r4, pc, r4                                |     r4 = pc + r4;
    0x00032ac4 b 0x32ad0                                     |     goto label_3;
                                                             | label_16:
    0x00032ac8 ldr r4, [pc, 0x104]                           |     r4 = *(0x32bd0);
    0x00032acc add r4, pc, r4                                |     r4 = pc + r4;
                                                             | label_3:
    0x00032ad0 ldr r3, [r6, 0x1c8]                           |     r3 = *((r6 + 0x1c8));
    0x00032ad4 ldr r0, [r3, 4]                               |     r0 = *((r3 + 4));
    0x00032ad8 bl 0x4f98                                     |     SSL_get_current_cipher ();
    0x00032adc bl 0x52bc                                     |     SSL_CIPHER_get_name ();
    0x00032ae0 ldr r1, [pc, 0xf0]                            |     r1 = *(0x32bd4);
    0x00032ae4 mov r2, r4                                    |     r2 = r4;
    0x00032ae8 add r1, pc, r1                                |     r1 = pc + r1;
    0x00032aec mov r3, r0                                    |     r3 = r0;
    0x00032af0 mov r0, r7                                    |     r0 = r7;
    0x00032af4 bl 0x104cc                                    |     Curl_infof ();
    0x00032af8 ldrb r4, [r5, 0x270]                          |     r4 = *((r5 + 0x270));
    0x00032afc cmp r4, 0                                     |     
                                                             |     if (r4 == 0) {
    0x00032b00 beq 0x32a14                                   |         goto label_1;
                                                             |     }
    0x00032b04 ldr r3, [r6, 0x1c8]                           |     r3 = *((r6 + 0x1c8));
    0x00032b08 add r2, sp, 0x10                              |     r2 += dest;
    0x00032b0c add r1, sp, 0xc                               |     r1 += s2;
    0x00032b10 ldr r0, [r3, 4]                               |     r0 = *((r3 + 4));
    0x00032b14 bl 0x51c0                                     |     SSL_get0_alpn_selected ();
    0x00032b18 ldr r2, [sp, 0x10]                            |     r2 = dest;
    0x00032b1c cmp r2, 0                                     |     
                                                             |     if (r2 == 0) {
    0x00032b20 beq 0x32ba0                                   |         goto label_18;
                                                             |     }
    0x00032b24 ldr r1, [pc, 0xb0]                            |     r1 = *(0x32bd8);
    0x00032b28 ldr r3, [sp, 0xc]                             |     r3 = s2;
    0x00032b2c add r1, pc, r1                                |     r1 = pc + r1;
    0x00032b30 mov r0, r7                                    |     r0 = r7;
    0x00032b34 bl 0x104cc                                    |     Curl_infof ();
    0x00032b38 ldr r2, [sp, 0x10]                            |     r2 = dest;
    0x00032b3c cmp r2, 8                                     |     
                                                             |     if (r2 != 8) {
    0x00032b40 bne 0x32908                                   |         goto label_2;
                                                             |     }
    0x00032b44 ldr r0, [pc, 0x94]                            |     r0 = *(0x32bdc);
    0x00032b48 ldr r1, [sp, 0xc]                             |     r1 = s2;
    0x00032b4c add r0, pc, r0                                |     r0 = pc + r0;
    0x00032b50 bl 0x5820                                     |     r0 = memcmp (r0, r1, r2);
    0x00032b54 cmp r0, 0                                     |     
                                                             |     if (r0 != 0) {
    0x00032b58 moveq r3, 2                                   |         r3 = 2;
                                                             |     }
                                                             |     if (r0 != 0) {
    0x00032b5c streq r3, [r5, 0x504]                         |         *((r5 + 0x504)) = r3;
                                                             |     }
    0x00032b60 b 0x32908                                     |     goto label_2;
                                                             | label_17:
    0x00032b64 ldr r4, [pc, 0x78]                            |     r4 = *(0x32be0);
    0x00032b68 add r4, pc, r4                                |     r4 = pc + r4;
    0x00032b6c b 0x32ad0                                     |     goto label_3;
                                                             | label_12:
    0x00032b70 ldr r4, [pc, 0x70]                            |     r4 = *(0x32be4);
    0x00032b74 add r4, pc, r4                                |     r4 = pc + r4;
    0x00032b78 b 0x32ad0                                     |     goto label_3;
                                                             | label_15:
    0x00032b7c ldr r4, [pc, 0x68]                            |     r4 = *(0x32be8);
    0x00032b80 add r4, pc, r4                                |     r4 = pc + r4;
    0x00032b84 b 0x32ad0                                     |     goto label_3;
                                                             | label_14:
    0x00032b88 ldr r4, [pc, 0x60]                            |     r4 = *(0x32bec);
    0x00032b8c add r4, pc, r4                                |     r4 = pc + r4;
    0x00032b90 b 0x32ad0                                     |     goto label_3;
                                                             | label_11:
    0x00032b94 ldr r4, [pc, 0x58]                            |     r4 = *(0x32bf0);
    0x00032b98 add r4, pc, r4                                |     r4 = pc + r4;
    0x00032b9c b 0x32ad0                                     |     goto label_3;
                                                             | label_18:
    0x00032ba0 ldr r1, [pc, 0x50]                            |     r1 = *(0x32bf4);
    0x00032ba4 mov r0, r7                                    |     r0 = r7;
    0x00032ba8 add r1, pc, r1                                |     r1 = pc + r1;
    0x00032bac bl 0x104cc                                    |     Curl_infof ();
    0x00032bb0 b 0x32908                                     |     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/lib/libcurl.so @ 0x32050 */
                                                 | #include <stdint.h>
                                                 |  
    ; (fcn) sym.ossl_recv ()                     | void ossl_recv (int32_t arg_118h, int32_t arg1, int32_t arg2) {
                                                 |     int32_t var_0h;
                                                 |     int32_t var_100h;
                                                 |     r0 = arg1;
                                                 |     r1 = arg2;
    0x00032050 push {r4, r5, r6, r7, r8, lr}     |     
    0x00032054 mov r7, r0                        |     r7 = r0;
    0x00032058 mov r5, r1                        |     r5 = r1;
    0x0003205c sub sp, sp, 0x100                 |     
    0x00032060 add r5, r7, r5, lsl 4             |     r5 = r7 + (r5 << 4);
    0x00032064 mov r8, r2                        |     r8 = r2;
    0x00032068 mov r4, r3                        |     r4 = r3;
    0x0003206c ldr r6, [sp, 0x118]               |     r6 = *(arg_118h);
    0x00032070 bl 0x5028                         |     ERR_clear_error ();
    0x00032074 ldr r3, [r5, 0x1c8]               |     r3 = *((r5 + 0x1c8));
    0x00032078 cmp r4, 0                         |     
                                                 |     if (r4 < 0) {
    0x0003207c movge r2, r4                      |         r2 = r4;
                                                 |     }
                                                 |     if (r4 >= 0) {
    0x00032080 mvnlt r2, 0x80000000              |         r2 = ~0x80000000;
                                                 |     }
    0x00032084 mov r1, r8                        |     r1 = r8;
    0x00032088 ldr r0, [r3, 4]                   |     r0 = *((r3 + 4));
    0x0003208c bl 0x53f4                         |     r0 = SSL_read ();
    0x00032090 subs r4, r0, 0                    |     r4 = r0 - 0;
                                                 |     if (r4 > r0) {
    0x00032094 bgt 0x320e0                       |         goto label_1;
                                                 |     }
    0x00032098 ldr r3, [r5, 0x1c8]               |     r3 = *((r5 + 0x1c8));
    0x0003209c mov r1, r4                        |     r1 = r4;
    0x000320a0 ldr r0, [r3, 4]                   |     r0 = *((r3 + 4));
    0x000320a4 bl 0x5ba4                         |     r0 = SSL_get_error ();
    0x000320a8 mov r5, r0                        |     r5 = r0;
    0x000320ac cmp r0, 6                         |     
                                                 |     if (r0 > 6) {
                                                 |         /* switch table (7 cases) at 0x320b8 */
    0x000320b0 addls pc, pc, r0, lsl 2           |         pc += (r0 << 2);
                                                 |     }
    0x000320b4 b 0x320ec                         |     goto label_2;
    0x000320b8 b 0x320e0                         |     goto label_1;
    0x000320bc b 0x320ec                         |     goto label_2;
    0x000320c0 b 0x320d4                         |     goto label_3;
    0x000320c4 b 0x320d4                         |     goto label_3;
    0x000320c8 b 0x320ec                         |     goto label_2;
    0x000320cc b 0x320ec                         |     goto label_2;
    0x000320d0 b 0x320e0                         |     goto label_1;
                                                 | label_3:
    0x000320d4 mov r3, 0x51                      |     r3 = 0x51;
                                                 | label_0:
    0x000320d8 mvn r4, 0                         |     r4 = ~0;
    0x000320dc str r3, [r6]                      |     *(r6) = r3;
                                                 |     do {
                                                 | label_1:
    0x000320e0 mov r0, r4                        |         r0 = r4;
    0x000320e4 add sp, sp, 0x100                 |         
    0x000320e8 pop {r4, r5, r6, r7, r8, pc}      |         
                                                 | label_2:
    0x000320ec bl 0x4e9c                         |         r0 = ERR_get_error ();
    0x000320f0 adds r3, r0, 0                    |         r3 = r0 + 0;
                                                 |         if (r3 == r0) {
    0x000320f4 movne r3, 1                       |             r3 = 1;
                                                 |         }
    0x000320f8 orrs r4, r3, r4, lsr 31           |         r4 = r3 | (r4 >> 31);
    0x000320fc beq 0x320e0                       |         
                                                 |     } while (r4 == r3);
    0x00032100 cmp r0, 0                         |     
    0x00032104 ldr r7, [r7]                      |     r7 = *(r7);
                                                 |     if (r0 == 0) {
    0x00032108 beq 0x32140                       |         goto label_4;
                                                 |     }
    0x0003210c mov r4, sp                        |     r4 = sp;
    0x00032110 mov r2, 0x100                     |     r2 = 0x100;
    0x00032114 mov r1, r4                        |     r1 = r4;
    0x00032118 bl 0x5064                         |     ERR_error_string_n ();
                                                 |     do {
    0x0003211c bl 0x4eb4                         |         errno_location ();
    0x00032120 ldr r1, [pc, 0x28]                |         r1 = *(0x3214c);
    0x00032124 mov r2, r4                        |         r2 = r4;
    0x00032128 add r1, pc, r1                    |         r1 = pc + r1;
    0x0003212c ldr r3, [r0]                      |         r3 = *(r0);
    0x00032130 mov r0, r7                        |         r0 = r7;
    0x00032134 bl 0x10544                        |         Curl_failf ();
    0x00032138 mov r3, 0x38                      |         r3 = 0x38;
    0x0003213c b 0x320d8                         |         goto label_0;
                                                 | label_4:
    0x00032140 mov r0, r5                        |         r0 = r5;
    0x00032144 bl 0x31d0c                        |         r0 = SSL_ERROR_to_str ();
    0x00032148 mov r4, r0                        |         r4 = r0;
    0x0003214c b 0x3211c                         |         
                                                 |     } 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/lib/libcurl.so @ 0x32e2c */
                                                     | #include <stdint.h>
                                                     |  
    ; (fcn) sym.ossl_send ()                         | void ossl_send (int32_t arg_120h, int32_t arg1, int32_t arg2) {
                                                     |     int32_t var_0h;
                                                     |     int32_t var_104h;
                                                     |     r0 = arg1;
                                                     |     r1 = arg2;
    0x00032e2c push {r4, r5, r6, r7, r8, sb, lr}     |     
    0x00032e30 mov r4, r1                            |     r4 = r1;
    0x00032e34 mov r5, r0                            |     r5 = r0;
    0x00032e38 lsl r4, r4, 4                         |     r4 <<= 4;
    0x00032e3c sub sp, sp, 0x104                     |     
    0x00032e40 add r7, r5, r4                        |     r7 = r5 + r4;
    0x00032e44 mov sb, r2                            |     sb = r2;
    0x00032e48 mov r8, r3                            |     r8 = r3;
    0x00032e4c ldr r6, [sp, 0x120]                   |     r6 = *(arg_120h);
    0x00032e50 bl 0x5028                             |     ERR_clear_error ();
    0x00032e54 ldr r3, [r7, 0x1c8]                   |     r3 = *((r7 + 0x1c8));
    0x00032e58 cmp r8, 0                             |     
                                                     |     if (r8 < 0) {
    0x00032e5c movge r2, r8                          |         r2 = r8;
                                                     |     }
                                                     |     if (r8 >= 0) {
    0x00032e60 mvnlt r2, 0x80000000                  |         r2 = ~0x80000000;
                                                     |     }
    0x00032e64 ldr r0, [r3, 4]                       |     r0 = *((r3 + 4));
    0x00032e68 mov r1, sb                            |     r1 = sb;
    0x00032e6c bl 0x50d0                             |     r0 = SSL_write ();
    0x00032e70 cmp r0, 0                             |     
                                                     |     if (r0 <= 0) {
    0x00032e74 movgt r3, 0                           |         r3 = 0;
                                                     |     }
                                                     |     if (r0 <= 0) {
    0x00032e78 strgt r3, [r6]                        |         *(r6) = r3;
                                                     |     }
                                                     |     if (r0 > 0) {
    0x00032e7c bgt 0x32ec0                           |         goto label_3;
                                                     |     }
    0x00032e80 ldr r3, [r7, 0x1c8]                   |     r3 = *((r7 + 0x1c8));
    0x00032e84 mov r1, r0                            |     r1 = r0;
    0x00032e88 ldr r0, [r3, 4]                       |     r0 = *((r3 + 4));
    0x00032e8c bl 0x5ba4                             |     r0 = SSL_get_error ();
    0x00032e90 sub r3, r0, 1                         |     r3 = r0 - 1;
    0x00032e94 cmp r3, 4                             |     
                                                     |     if (r3 > 4) {
                                                     |         /* switch table (5 cases) at 0x32ea0 */
    0x00032e98 addls pc, pc, r3, lsl 2               |         pc += (r3 << 2);
                                                     |     }
    0x00032e9c b 0x32f68                             |     goto label_4;
    0x00032ea0 b 0x32ee8                             |     goto label_5;
    0x00032ea4 b 0x32eb4                             |     goto label_6;
    0x00032ea8 b 0x32eb4                             |     goto label_6;
    0x00032eac b 0x32f68                             |     goto label_4;
    0x00032eb0 b 0x32ec8                             |     goto label_7;
                                                     | label_6:
    0x00032eb4 mov r3, 0x51                          |     r3 = 0x51;
                                                     |     do {
    0x00032eb8 mvn r0, 0                             |         r0 = ~0;
    0x00032ebc str r3, [r6]                          |         *(r6) = r3;
                                                     | label_3:
    0x00032ec0 add sp, sp, 0x104                     |         
    0x00032ec4 pop {r4, r5, r6, r7, r8, sb, pc}      |         
                                                     | label_7:
    0x00032ec8 bl 0x4eb4                             |         errno_location ();
    0x00032ecc ldr r1, [pc, 0xbc]                    |         r1 = *(0x32f8c);
    0x00032ed0 add r1, pc, r1                        |         r1 = pc + r1;
    0x00032ed4 ldr r2, [r0]                          |         r2 = *(r0);
                                                     | label_0:
    0x00032ed8 ldr r0, [r5]                          |         r0 = *(r5);
                                                     | label_1:
    0x00032edc bl 0x10544                            |         Curl_failf ();
                                                     | label_2:
    0x00032ee0 mov r3, 0x37                          |         r3 = 0x37;
    0x00032ee4 b 0x32eb8                             |         
                                                     |     } while (1);
                                                     | label_5:
    0x00032ee8 bl 0x4e9c                             |     ERR_get_error ();
    0x00032eec mov r7, sp                            |     r7 = sp;
    0x00032ef0 lsr r3, r0, 0x18                      |     r3 = r0 >> 0x18;
    0x00032ef4 cmp r3, 0x14                          |     
                                                     |     if (r3 == 0x14) {
    0x00032ef8 bne 0x32f44                           |         
    0x00032efc lsl r3, r0, 0x14                      |         r3 = r0 << 0x14;
    0x00032f00 lsr r3, r3, 0x14                      |         r3 >>= 0x14;
    0x00032f04 cmp r3, 0x80                          |         
                                                     |         if (r3 != 0x80) {
    0x00032f08 bne 0x32f44                           |             goto label_8;
                                                     |         }
    0x00032f0c add r4, r5, r4                        |         r4 = r5 + r4;
    0x00032f10 ldr r3, [r4, 0x1c0]                   |         r3 = *((r4 + 0x1c0));
    0x00032f14 cmp r3, 2                             |         
                                                     |         if (r3 != 2) {
    0x00032f18 bne 0x32f44                           |             goto label_8;
                                                     |         }
    0x00032f1c ldr r3, [r4, 0x1e0]                   |         r3 = *((r4 + 0x1e0));
    0x00032f20 cmp r3, 2                             |         
                                                     |         if (r3 != 2) {
    0x00032f24 bne 0x32f44                           |             goto label_8;
                                                     |         }
    0x00032f28 mov r1, 0x78                          |         r1 = 0x78;
    0x00032f2c mov r0, r7                            |         r0 = r7;
    0x00032f30 bl 0x32d5c                            |         Curl_ossl_version ();
    0x00032f34 ldr r1, [pc, 0x58]                    |         r1 = *(0x32f90);
    0x00032f38 mov r2, r7                            |         r2 = r7;
    0x00032f3c add r1, pc, r1                        |         r1 = pc + r1;
    0x00032f40 b 0x32ed8                             |         goto label_0;
                                                     |     }
                                                     | label_8:
    0x00032f44 mov r2, 0x100                         |     r2 = 0x100;
    0x00032f48 mov r1, r7                            |     r1 = r7;
    0x00032f4c ldr r4, [r5]                          |     r4 = *(r5);
    0x00032f50 bl 0x5064                             |     ERR_error_string_n ();
    0x00032f54 ldr r1, [pc, 0x3c]                    |     r1 = *(0x32f94);
    0x00032f58 mov r2, r7                            |     r2 = r7;
    0x00032f5c add r1, pc, r1                        |     r1 = pc + r1;
    0x00032f60 mov r0, r4                            |     r0 = r4;
    0x00032f64 b 0x32edc                             |     goto label_1;
                                                     | label_4:
    0x00032f68 bl 0x31d0c                            |     r0 = SSL_ERROR_to_str ();
    0x00032f6c mov r4, r0                            |     r4 = r0;
    0x00032f70 bl 0x4eb4                             |     errno_location ();
    0x00032f74 ldr r1, [pc, 0x20]                    |     r1 = *(0x32f98);
    0x00032f78 mov r2, r4                            |     r2 = r4;
    0x00032f7c add r1, pc, r1                        |     r1 = pc + r1;
    0x00032f80 ldr r3, [r0]                          |     r3 = *(r0);
    0x00032f84 ldr r0, [r5]                          |     r0 = *(r5);
    0x00032f88 bl 0x10544                            |     Curl_failf ();
    0x00032f8c b 0x32ee0                             |     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/lib/libcurl.so @ 0x10bc4 */
                                                 | #include <stdint.h>
                                                 |  
    ; (fcn) sym.parse_proxy_auth ()              | void parse_proxy_auth (int32_t arg1, int32_t arg2) {
                                                 |     int32_t var_0h;
                                                 |     int32_t var_4h;
                                                 |     char * dest;
                                                 |     void * s;
                                                 |     int32_t var_107h;
                                                 |     char * var_108h;
                                                 |     void * var_10ch;
                                                 |     int32_t var_207h;
                                                 |     int32_t var_20ch;
                                                 |     r0 = arg1;
                                                 |     r1 = arg2;
    0x00010bc4 push {r4, r5, r6, r7, lr}         |     
    0x00010bc8 mov r4, 0                         |     r4 = 0;
    0x00010bcc sub sp, sp, 0x20c                 |     
    0x00010bd0 mov r5, r0                        |     r5 = r0;
    0x00010bd4 mov r2, 0xfc                      |     r2 = 0xfc;
    0x00010bd8 mov r6, r1                        |     r6 = r1;
    0x00010bdc add r0, sp, 0xc                   |     r0 += s;
    0x00010be0 mov r1, r4                        |     r1 = r4;
    0x00010be4 str r4, [sp, 8]                   |     dest = r4;
    0x00010be8 bl 0x576c                         |     memset (r0, r1, r2);
    0x00010bec mov r1, r4                        |     r1 = r4;
    0x00010bf0 mov r2, 0xfc                      |     r2 = 0xfc;
    0x00010bf4 add r0, sp, 0x10c                 |     r0 += var_10ch;
    0x00010bf8 str r4, [sp, 0x108]               |     var_108h = r4;
    0x00010bfc bl 0x576c                         |     memset (r0, r1, r2);
    0x00010c00 ldr r1, [r5, 0x5c0]               |     r1 = *((r5 + 0x5c0));
    0x00010c04 add r7, sp, 8                     |     r7 += dest;
    0x00010c08 cmp r1, r4                        |     
                                                 |     if (r1 != r4) {
    0x00010c0c beq 0x10c20                       |         
    0x00010c10 mov r2, 0x100                     |         r2 = 0x100;
    0x00010c14 mov r0, r7                        |         r0 = r7;
    0x00010c18 bl 0x5670                         |         strncpy (r0, r1, r2);
    0x00010c1c strb r4, [sp, 0x107]              |         var_107h = r4;
                                                 |     }
    0x00010c20 ldr r1, [r5, 0x5c4]               |     r1 = *((r5 + 0x5c4));
    0x00010c24 cmp r1, 0                         |     
                                                 |     if (r1 != 0) {
    0x00010c28 beq 0x10c40                       |         
    0x00010c2c mov r2, 0x100                     |         r2 = 0x100;
    0x00010c30 add r0, sp, 0x108                 |         r0 += var_108h;
    0x00010c34 bl 0x5670                         |         strncpy (r0, r1, r2);
    0x00010c38 mov r3, 0                         |         r3 = 0;
    0x00010c3c strb r3, [sp, 0x207]              |         var_207h = r3;
                                                 |     }
    0x00010c40 mov r2, 0                         |     r2 = 0;
    0x00010c44 str r2, [sp, 4]                   |     var_4h = r2;
    0x00010c48 str r2, [sp]                      |     *(sp) = r2;
    0x00010c4c add r3, r6, 0xf4                  |     r3 = r6 + 0xf4;
    0x00010c50 mov r1, r7                        |     r1 = r7;
    0x00010c54 mov r0, r5                        |     r0 = r5;
    0x00010c58 bl 0x157d4                        |     r0 = Curl_urldecode ();
    0x00010c5c cmp r0, 0                         |     
                                                 |     if (r0 == 0) {
    0x00010c60 bne 0x10c80                       |         
    0x00010c64 str r0, [sp, 4]                   |         var_4h = r0;
    0x00010c68 str r0, [sp]                      |         *(sp) = r0;
    0x00010c6c mov r2, r0                        |         r2 = r0;
    0x00010c70 add r3, r6, 0xf8                  |         r3 = r6 + 0xf8;
    0x00010c74 add r1, sp, 0x108                 |         r1 += var_108h;
    0x00010c78 mov r0, r5                        |         r0 = r5;
    0x00010c7c bl 0x157d4                        |         Curl_urldecode ();
                                                 |     }
    0x00010c80 add sp, sp, 0x20c                 |     
    0x00010c84 pop {r4, r5, r6, r7, 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/lib/libcurl.so @ 0x11e10 */
                                                             | #include <stdint.h>
                                                             |  
    ; (fcn) sym.parse_proxy ()                               | void parse_proxy (int32_t arg_0h, int32_t arg1, int32_t arg2) {
                                                             |     int32_t var_0h;
                                                             |     int32_t var_8h;
                                                             |     int32_t var_ch;
                                                             |     int32_t var_14h;
                                                             |     size_t nmeb;
                                                             |     char * * endptr;
                                                             |     char * * var_20h;
                                                             |     int32_t var_24h;
                                                             |     r0 = arg1;
                                                             |     r1 = arg2;
    0x00011e10 push {r4, r5, r6, r7, r8, sb, sl, fp, lr}     |     
    0x00011e14 ldr fp, [pc, 0x54c]                           |     fp = "did_not_agree_to_a_protocol";
    0x00011e18 mov sl, r1                                    |     sl = r1;
    0x00011e1c ldr r1, [pc, 0x548]                           |     r1 = "did_not_agree_to_a_protocol";
    0x00011e20 sub sp, sp, 0x24                              |     
    0x00011e24 mov sb, r0                                    |     sb = r0;
    0x00011e28 mov r8, r3                                    |     r8 = r3;
    0x00011e2c add r1, pc, r1                                |     r1 = pc + r1;
    0x00011e30 mov r3, 0                                     |     r3 = 0;
    0x00011e34 mov r0, r2                                    |     r0 = r2;
    0x00011e38 mov r4, r2                                    |     r4 = r2;
    0x00011e3c str r3, [sp, 0x14]                            |     var_14h = r3;
    0x00011e40 str r3, [sp, 0x18]                            |     nmeb = r3;
    0x00011e44 bl 0x5a18                                     |     strstr (r0, r1);
    0x00011e48 add fp, pc, fp                                |     
    0x00011e4c cmp r0, 0                                     |     
                                                             |     if (r0 == 0) {
    0x00011e50 beq 0x11f4c                                   |         goto label_9;
                                                             |     }
    0x00011e54 add r5, r0, 3                                 |     r5 = r0 + 3;
    0x00011e58 ldr r0, [pc, 0x510]                           |     r0 = *(0x1236c);
    0x00011e5c mov r2, 5                                     |     r2 = 5;
    0x00011e60 mov r1, r4                                    |     r1 = r4;
    0x00011e64 add r0, pc, r0                                |     r0 = pc + r0;
    0x00011e68 bl 0x5bd4                                     |     r0 = fcn_00005bd4 ();
    0x00011e6c cmp r0, 0                                     |     
                                                             |     if (r0 == 0) {
    0x00011e70 movne r8, 2                                   |         r8 = 2;
                                                             |     }
                                                             |     if (r0 != 0) {
    0x00011e74 bne 0x11f50                                   |         goto label_0;
                                                             |     }
    0x00011e78 ldr r0, [pc, 0x4f4]                           |     r0 = *(0x12370);
    0x00011e7c mov r2, 7                                     |     r2 = 7;
    0x00011e80 mov r1, r4                                    |     r1 = r4;
    0x00011e84 add r0, pc, r0                                |     r0 = pc + r0;
    0x00011e88 bl 0x5bd4                                     |     r0 = fcn_00005bd4 ();
    0x00011e8c cmp r0, 0                                     |     
                                                             |     if (r0 == 0) {
    0x00011e90 movne r8, 7                                   |         r8 = 7;
                                                             |     }
                                                             |     if (r0 != 0) {
    0x00011e94 bne 0x11f50                                   |         goto label_0;
                                                             |     }
    0x00011e98 ldr r0, [pc, 0x4d8]                           |     r0 = *(0x12374);
    0x00011e9c mov r2, 6                                     |     r2 = 6;
    0x00011ea0 mov r1, r4                                    |     r1 = r4;
    0x00011ea4 add r0, pc, r0                                |     r0 = pc + r0;
    0x00011ea8 bl 0x5bd4                                     |     r0 = fcn_00005bd4 ();
    0x00011eac cmp r0, 0                                     |     
                                                             |     if (r0 == 0) {
    0x00011eb0 movne r8, 5                                   |         r8 = 5;
                                                             |     }
                                                             |     if (r0 != 0) {
    0x00011eb4 bne 0x11f50                                   |         goto label_0;
                                                             |     }
    0x00011eb8 ldr r0, [pc, 0x4bc]                           |     r0 = *(0x12378);
    0x00011ebc mov r2, 7                                     |     r2 = 7;
    0x00011ec0 mov r1, r4                                    |     r1 = r4;
    0x00011ec4 add r0, pc, r0                                |     r0 = pc + r0;
    0x00011ec8 bl 0x5bd4                                     |     r0 = fcn_00005bd4 ();
    0x00011ecc cmp r0, 0                                     |     
                                                             |     if (r0 == 0) {
    0x00011ed0 movne r8, 6                                   |         r8 = 6;
                                                             |     }
                                                             |     if (r0 != 0) {
    0x00011ed4 bne 0x11f50                                   |         goto label_0;
                                                             |     }
    0x00011ed8 ldr r0, [pc, 0x4a0]                           |     r0 = *(0x1237c);
    0x00011edc mov r2, 6                                     |     r2 = 6;
    0x00011ee0 mov r1, r4                                    |     r1 = r4;
    0x00011ee4 add r0, pc, r0                                |     r0 = pc + r0;
    0x00011ee8 bl 0x5bd4                                     |     r0 = fcn_00005bd4 ();
    0x00011eec cmp r0, 0                                     |     
                                                             |     if (r0 != 0) {
    0x00011ef0 bne 0x11f98                                   |         goto label_10;
                                                             |     }
    0x00011ef4 ldr r0, [pc, 0x488]                           |     r0 = *(0x12380);
    0x00011ef8 mov r2, 5                                     |     r2 = 5;
    0x00011efc mov r1, r4                                    |     r1 = r4;
    0x00011f00 add r0, pc, r0                                |     r0 = pc + r0;
    0x00011f04 bl 0x5bd4                                     |     r0 = fcn_00005bd4 ();
    0x00011f08 cmp r0, 0                                     |     
                                                             |     if (r0 != 0) {
    0x00011f0c bne 0x11f98                                   |         goto label_10;
                                                             |     }
    0x00011f10 ldr r0, [pc, 0x470]                           |     r0 = *(0x12384);
    0x00011f14 mov r2, 5                                     |     r2 = 5;
    0x00011f18 mov r1, r4                                    |     r1 = r4;
    0x00011f1c add r0, pc, r0                                |     r0 = pc + r0;
    0x00011f20 bl 0x5bd4                                     |     r0 = fcn_00005bd4 ();
    0x00011f24 cmp r0, 0                                     |     
                                                             |     if (r0 != 0) {
    0x00011f28 bne 0x11f50                                   |         goto label_0;
                                                             |     }
    0x00011f2c ldr r1, [pc, 0x458]                           |     r1 = *(0x12388);
    0x00011f30 mov r0, sb                                    |     r0 = sb;
    0x00011f34 mov r2, r4                                    |     r2 = r4;
    0x00011f38 add r1, pc, r1                                |     r1 = pc + r1;
    0x00011f3c bl 0x10544                                    |     Curl_failf ();
    0x00011f40 mov r0, 7                                     |     r0 = 7;
                                                             |     do {
                                                             | label_1:
    0x00011f44 add sp, sp, 0x24                              |         
    0x00011f48 pop {r4, r5, r6, r7, r8, sb, sl, fp, pc}      |         
                                                             | label_9:
    0x00011f4c mov r5, r4                                    |         r5 = r4;
                                                             | label_0:
    0x00011f50 ldr r3, [pc, 0x438]                           |         
    0x00011f54 ldr r3, [fp, r3]                              |         r3 = *((fp + r3));
    0x00011f58 ldr r3, [r3]                                  |         r3 = *(0x1238c);
    0x00011f5c ldr r6, [r3, 8]                               |         r6 = *(0x12394);
    0x00011f60 lsr r6, r6, 4                                 |         r6 >>= 4;
    0x00011f64 eor r6, r6, 1                                 |         r6 ^= 1;
    0x00011f68 cmp r8, 2                                     |         
                                                             |         if (r8 == 2) {
    0x00011f6c movne r6, 0                                   |             r6 = 0;
                                                             |         }
                                                             |         if (r8 != 2) {
    0x00011f70 andeq r6, r6, 1                               |             r6 &= 1;
                                                             |         }
    0x00011f74 cmp r6, 0                                     |         
                                                             |         if (r6 == 0) {
    0x00011f78 beq 0x11fa0                                   |             goto label_11;
                                                             |         }
    0x00011f7c ldr r1, [pc, 0x410]                           |         r1 = *(0x12390);
    0x00011f80 mov r0, sb                                    |         r0 = sb;
    0x00011f84 mov r2, r4                                    |         r2 = r4;
    0x00011f88 add r1, pc, r1                                |         r1 = pc + r1;
    0x00011f8c bl 0x10544                                    |         Curl_failf ();
    0x00011f90 mov r0, 4                                     |         r0 = 4;
    0x00011f94 b 0x11f44                                     |         
                                                             |     } while (1);
                                                             | label_10:
    0x00011f98 mov r8, 4                                     |     r8 = 4;
    0x00011f9c b 0x11f50                                     |     goto label_0;
                                                             | label_11:
    0x00011fa0 mov r1, 0x40                                  |     r1 = 0x40;
    0x00011fa4 mov r0, r5                                    |     r0 = r5;
    0x00011fa8 bl 0x5b38                                     |     r0 = strchr (r0, r1);
    0x00011fac subs r4, r0, 0                                |     r4 = r0 - 0;
                                                             |     if (r4 == r0) {
    0x00011fb0 beq 0x11fd8                                   |         goto label_12;
                                                             |     }
    0x00011fb4 str r6, [sp]                                  |     *(sp) = r6;
    0x00011fb8 add r3, sp, 0x18                              |     r3 += nmeb;
    0x00011fbc add r2, sp, 0x14                              |     r2 += var_14h;
    0x00011fc0 sub r1, r4, r5                                |     r1 = r4 - r5;
    0x00011fc4 mov r0, r5                                    |     r0 = r5;
    0x00011fc8 bl 0x11ab8                                    |     r0 = Curl_parse_login_details ();
    0x00011fcc cmp r0, 0                                     |     
                                                             |     if (r0 != 0) {
    0x00011fd0 bne 0x11f44                                   |         goto label_1;
                                                             |     }
    0x00011fd4 add r5, r4, 1                                 |     r5 = r4 + 1;
                                                             | label_12:
    0x00011fd8 ldrb r3, [r5]                                 |     r3 = *(r5);
    0x00011fdc cmp r3, 0x5b                                  |     
                                                             |     if (r3 == 0x5b) {
    0x00011fe0 movne r4, r5                                  |         r4 = r5;
                                                             |     }
                                                             |     if (r3 != 0x5b) {
    0x00011fe4 bne 0x120bc                                   |         goto label_13;
                                                             |     }
    0x00011fe8 add r5, r5, 1                                 |     r5++;
    0x00011fec mov r6, r5                                    |     r6 = r5;
                                                             | label_3:
    0x00011ff0 mov r4, r6                                    |     r4 = r6;
    0x00011ff4 ldrb r0, [r6], 1                              |     r0 = *(r6);
                                                             |     r6++;
    0x00011ff8 cmp r0, 0                                     |     
                                                             |     if (r0 != 0) {
    0x00011ffc bne 0x1216c                                   |         goto label_14;
                                                             |     }
                                                             | label_4:
    0x00012000 ldrb r3, [r4]                                 |     r3 = *(r4);
    0x00012004 cmp r3, 0x25                                  |     
                                                             |     if (r3 != 0x25) {
    0x00012008 bne 0x12094                                   |         goto label_15;
                                                             |     }
    0x0001200c ldr r0, [pc, 0x384]                           |     r0 = *(0x12394);
    0x00012010 mov r2, 3                                     |     r2 = 3;
    0x00012014 mov r1, r4                                    |     r1 = r4;
    0x00012018 add r0, pc, r0                                |     r0 = pc + r0;
    0x0001201c bl 0x516c                                     |     r0 = strncmp (r0, r1, r2);
    0x00012020 cmp r0, 0                                     |     
                                                             |     if (r0 != 0) {
    0x00012024 beq 0x12038                                   |         
    0x00012028 ldr r1, [pc, 0x36c]                           |         r1 = *(0x12398);
    0x0001202c mov r0, sb                                    |         r0 = sb;
    0x00012030 add r1, pc, r1                                |         r1 = pc + r1;
    0x00012034 bl 0x104cc                                    |         Curl_infof ();
                                                             |     }
    0x00012038 add r6, r4, 1                                 |     r6 = r4 + 1;
                                                             |     do {
                                                             | label_2:
    0x0001203c mov r4, r6                                    |         r4 = r6;
    0x00012040 ldrb r0, [r6], 1                              |         r0 = *(r6);
                                                             |         r6++;
    0x00012044 cmp r0, 0                                     |         
                                                             |         if (r0 == 0) {
    0x00012048 beq 0x12094                                   |             goto label_15;
                                                             |         }
    0x0001204c bl 0x2f99c                                    |         r0 = Curl_isalpha ();
    0x00012050 cmp r0, 0                                     |         
    0x00012054 bne 0x1203c                                   |         
                                                             |     } while (r0 != 0);
    0x00012058 ldrb r0, [r6, -1]                             |     r0 = *((r6 - 1));
    0x0001205c bl 0x2f910                                    |     r0 = Curl_isxdigit ();
    0x00012060 cmp r0, 0                                     |     
                                                             |     if (r0 != 0) {
    0x00012064 bne 0x1203c                                   |         goto label_2;
                                                             |     }
    0x00012068 ldrb r3, [r6, -1]                             |     r3 = *((r6 - 1));
    0x0001206c cmp r3, 0x5f                                  |     
    0x00012070 cmpne r3, 0x7e                                |     __asm ("cmpne r3, 0x7e");
                                                             |     if (r3 != 0x5f) {
    0x00012074 moveq r2, 1                                   |         r2 = 1;
                                                             |     }
                                                             |     if (r3 == 0x5f) {
    0x00012078 movne r2, 0                                   |         r2 = 0;
                                                             |     }
    0x0001207c sub r3, r3, 0x2d                              |     r3 -= 0x2d;
    0x00012080 cmp r3, 1                                     |     
                                                             |     if (r3 <= 1) {
    0x00012084 movhi r3, r2                                  |         r3 = r2;
                                                             |     }
                                                             |     if (r3 > 1) {
    0x00012088 orrls r3, r2, 1                               |         r3 = r2 | 1;
                                                             |     }
    0x0001208c cmp r3, 0                                     |     
                                                             |     if (r3 != 0) {
    0x00012090 bne 0x1203c                                   |         goto label_2;
                                                             |     }
                                                             | label_15:
    0x00012094 ldrb r3, [r4]                                 |     r3 = *(r4);
    0x00012098 cmp r3, 0x5d                                  |     
                                                             |     if (r3 != 0x5d) {
    0x0001209c moveq r3, 0                                   |         r3 = 0;
                                                             |     }
                                                             |     if (r3 != 0x5d) {
    0x000120a0 strbeq r3, [r4]                               |         *(r4) = r3;
                                                             |     }
                                                             |     if (r3 != 0x5d) {
    0x000120a4 addeq r4, r4, 1                               |         r4++;
                                                             |     }
                                                             |     if (r3 != 0x5d) {
    0x000120a8 beq 0x120bc                                   |         
    0x000120ac ldr r1, [pc, 0x2ec]                           |         r1 = *(0x1239c);
    0x000120b0 mov r0, sb                                    |         r0 = sb;
    0x000120b4 add r1, pc, r1                                |         r1 = pc + r1;
    0x000120b8 bl 0x104cc                                    |         Curl_infof ();
                                                             |     }
                                                             | label_13:
    0x000120bc mov r0, r4                                    |     r0 = r4;
    0x000120c0 mov r1, 0x3a                                  |     r1 = 0x3a;
    0x000120c4 bl 0x5b38                                     |     strchr (r0, r1);
    0x000120c8 ldr r3, [pc, 0x2d4]                           |     r3 = *(0x123a0);
    0x000120cc ldr r6, [fp, r3]                              |     r6 = *((fp + r3));
    0x000120d0 subs r4, r0, 0                                |     r4 = r0 - 0;
                                                             |     if (r4 == r0) {
    0x000120d4 beq 0x1218c                                   |         goto label_16;
                                                             |     }
    0x000120d8 mov r3, 0                                     |     r3 = 0;
    0x000120dc add r1, sp, 0x20                              |     r1 += var_20h;
    0x000120e0 strb r3, [r4], 1                              |     *(r4) = r3;
                                                             |     r4++;
    0x000120e4 str r3, [r1, -4]!                             |     *((r1 -= 4)) = r3;
    0x000120e8 mov r2, 0xa                                   |     r2 = 0xa;
    0x000120ec mov r0, r4                                    |     r0 = r4;
    0x000120f0 bl 0x5274                                     |     strtol (r0, r1, r2);
    0x000120f4 ldr r3, [sp, 0x1c]                            |     r3 = endptr;
    0x000120f8 cmp r3, 0                                     |     
    0x000120fc mov r7, r0                                    |     r7 = r0;
                                                             |     if (r3 != 0) {
    0x00012100 beq 0x12118                                   |         
    0x00012104 ldrb r3, [r3]                                 |         r3 = *(r3);
    0x00012108 and r2, r3, 0xdf                              |         r2 = r3 & 0xdf;
    0x0001210c cmp r3, 0x2f                                  |         
    0x00012110 cmpne r2, 0                                   |         __asm ("cmpne r2, 0");
                                                             |         if (r3 != 0x2f) {
    0x00012114 bne 0x12124                                   |             goto label_17;
                                                             |         }
                                                             |     }
    0x00012118 cmp r7, 0x10000                               |     
                                                             |     if (r7 >= 0x10000) {
    0x0001211c strlo r7, [sl, 0xfc]                          |         *((sl + 0xfc)) = r7;
                                                             |     }
                                                             |     if (r7 > 0x10000) {
    0x00012120 blo 0x12138                                   |         
                                                             | label_17:
    0x00012124 ldr r1, [pc, 0x27c]                           |         r1 = *(0x123a4);
    0x00012128 mov r2, r4                                    |         r2 = r4;
    0x0001212c add r1, pc, r1                                |         r1 = pc + r1;
    0x00012130 mov r0, sb                                    |         r0 = sb;
    0x00012134 bl 0x104cc                                    |         Curl_infof ();
                                                             |     }
                                                             | label_5:
    0x00012138 ldrb r3, [r5]                                 |     r3 = *(r5);
    0x0001213c cmp r3, 0                                     |     
                                                             |     if (r3 != 0) {
    0x00012140 bne 0x121f0                                   |         goto label_18;
                                                             |     }
                                                             | label_6:
    0x00012144 ldr r3, [r6]                                  |     r3 = *(r6);
    0x00012148 ldr r0, [sp, 0x14]                            |     r0 = var_14h;
    0x0001214c blx r3                                        |     uint32_t (*r3)(uint32_t, uint32_t) (r0, r3);
    0x00012150 mov r4, 0                                     |     r4 = 0;
    0x00012154 ldr r0, [sp, 0x18]                            |     r0 = nmeb;
    0x00012158 str r4, [sp, 0x14]                            |     var_14h = r4;
    0x0001215c ldr r3, [r6]                                  |     r3 = *(r6);
    0x00012160 blx r3                                        |     uint32_t (*r3)(uint32_t, uint32_t) (r0, r3);
    0x00012164 mov r0, r4                                    |     r0 = r4;
    0x00012168 b 0x11f44                                     |     goto label_1;
                                                             | label_14:
    0x0001216c bl 0x2f910                                    |     r0 = Curl_isxdigit ();
    0x00012170 cmp r0, 0                                     |     
                                                             |     if (r0 != 0) {
    0x00012174 bne 0x11ff0                                   |         goto label_3;
                                                             |     }
    0x00012178 ldrb r3, [r6, -1]                             |     r3 = *((r6 - 1));
    0x0001217c cmp r3, 0x2e                                  |     
    0x00012180 cmpne r3, 0x3a                                |     __asm ("cmpne r3, 0x3a");
                                                             |     if (r3 == 0x2e) {
    0x00012184 beq 0x11ff0                                   |         goto label_3;
                                                             |     }
    0x00012188 b 0x12000                                     |     goto label_4;
                                                             | label_16:
    0x0001218c ldrb r3, [r5]                                 |     r3 = *(r5);
    0x00012190 cmp r3, 0x2f                                  |     
                                                             |     if (r3 == 0x2f) {
    0x00012194 bne 0x121bc                                   |         
    0x00012198 ldr r3, [r6]                                  |         r3 = *(r6);
    0x0001219c ldr r0, [sp, 0x14]                            |         r0 = var_14h;
    0x000121a0 blx r3                                        |         uint32_t (*r3)(uint32_t, uint32_t) (r0, r3);
    0x000121a4 ldr r0, [sp, 0x18]                            |         r0 = nmeb;
    0x000121a8 str r4, [sp, 0x14]                            |         var_14h = r4;
    0x000121ac ldr r3, [r6]                                  |         r3 = *(r6);
    0x000121b0 blx r3                                        |         uint32_t (*r3)(uint32_t, uint32_t) (r0, r3);
    0x000121b4 mov r0, 5                                     |         r0 = 5;
    0x000121b8 b 0x11f44                                     |         goto label_1;
                                                             |     }
    0x000121bc mov r1, 0x2f                                  |     r1 = 0x2f;
    0x000121c0 mov r0, r5                                    |     r0 = r5;
    0x000121c4 bl 0x5b38                                     |     r0 = strchr (r0, r1);
    0x000121c8 cmp r0, 0                                     |     
                                                             |     if (r0 == 0) {
    0x000121cc strbne r4, [r0]                               |         *(r0) = r4;
                                                             |     }
    0x000121d0 ldr r7, [sb, 0x13c]                           |     r7 = *((sb + 0x13c));
    0x000121d4 cmp r7, 0                                     |     
                                                             |     if (r7 != 0) {
    0x000121d8 bne 0x12138                                   |         goto label_5;
                                                             |     }
    0x000121dc ldr r3, [pc, 0x1c8]                           |     r3 = *(0x123a8);
    0x000121e0 cmp r8, 2                                     |     
    0x000121e4 ldr r7, [pc, 0x1c4]                           |     r7 = *(0x123ac);
                                                             |     if (r8 == 2) {
    0x000121e8 movne r7, r3                                  |         r7 = r3;
                                                             |     }
    0x000121ec b 0x12138                                     |     goto label_5;
                                                             | label_18:
    0x000121f0 ldr r2, [sp, 0x14]                            |     r2 = var_14h;
    0x000121f4 sub r3, r8, 4                                 |     r3 = r8 - 4;
    0x000121f8 cmp r3, 3                                     |     
                                                             |     if (r3 > 3) {
    0x000121fc movls r3, 1                                   |         r3 = 1;
                                                             |     }
                                                             |     if (r3 <= 3) {
    0x00012200 movhi r3, 0                                   |         r3 = 0;
                                                             |     }
                                                             |     if (r3 > 3) {
    0x00012204 addls r4, sl, 0xbc                            |         r4 = sl + 0xbc;
                                                             |     }
                                                             |     if (r3 <= 3) {
    0x00012208 addhi r4, sl, 0xdc                            |         r4 = sl + 0xdc;
                                                             |     }
    0x0001220c cmp r2, 0                                     |     
    0x00012210 str r3, [sp, 8]                               |     var_8h = r3;
    0x00012214 str r8, [r4, 0x14]                            |     *((r4 + 0x14)) = r8;
    0x00012218 ldr r3, [r6]                                  |     r3 = *(r6);
                                                             |     if (r2 == 0) {
    0x0001221c beq 0x122e4                                   |         goto label_19;
                                                             |     }
    0x00012220 mov r8, 0                                     |     r8 = 0;
    0x00012224 ldr r0, [r4, 0x18]                            |     r0 = *((r4 + 0x18));
    0x00012228 blx r3                                        |     uint32_t (*r3)(uint32_t) (r0);
    0x0001222c mov r3, r8                                    |     r3 = r8;
    0x00012230 mov r2, r8                                    |     r2 = r8;
    0x00012234 ldr r1, [sp, 0x14]                            |     r1 = var_14h;
    0x00012238 str r8, [r4, 0x18]                            |     *((r4 + 0x18)) = r8;
    0x0001223c mov r0, sb                                    |     r0 = sb;
    0x00012240 bl 0x54f0                                     |     fcn_000054f0 ();
    0x00012244 ldr r3, [r6]                                  |     r3 = *(r6);
    0x00012248 str r0, [r4, 0x18]                            |     *((r4 + 0x18)) = r0;
    0x0001224c ldr r0, [sp, 0x14]                            |     r0 = var_14h;
    0x00012250 blx r3                                        |     uint32_t (*r3)(uint32_t, uint32_t) (r0, r3);
    0x00012254 ldr r3, [r4, 0x18]                            |     r3 = *((r4 + 0x18));
    0x00012258 str r8, [sp, 0x14]                            |     var_14h = r8;
    0x0001225c cmp r3, r8                                    |     
    0x00012260 ldr r3, [r6]                                  |     r3 = *(r6);
                                                             |     if (r3 != r8) {
    0x00012264 bne 0x12278                                   |         goto label_20;
                                                             |     }
    0x00012268 ldr r0, [sp, 0x18]                            |     r0 = nmeb;
    0x0001226c blx r3                                        |     uint32_t (*r3)(uint32_t) (r0);
                                                             |     do {
                                                             | label_7:
    0x00012270 mov r0, 0x1b                                  |         r0 = 0x1b;
    0x00012274 b 0x11f44                                     |         goto label_1;
                                                             | label_20:
    0x00012278 ldr r0, [r4, 0x1c]                            |         r0 = *((r4 + 0x1c));
    0x0001227c blx r3                                        |         uint32_t (*r3)(uint32_t) (r0);
    0x00012280 ldr r1, [sp, 0x18]                            |         r1 = nmeb;
    0x00012284 str r8, [r4, 0x1c]                            |         *((r4 + 0x1c)) = r8;
    0x00012288 cmp r1, 0                                     |         
                                                             |         if (r1 == 0) {
    0x0001228c beq 0x1234c                                   |             goto label_21;
                                                             |         }
    0x00012290 mov r0, r1                                    |         r0 = r1;
    0x00012294 str r1, [sp, 0xc]                             |         var_ch = r1;
    0x00012298 bl 0x5250                                     |         strlen (r0);
    0x0001229c ldr r1, [sp, 0xc]                             |         r1 = var_ch;
    0x000122a0 cmp r0, 0xff                                  |         
                                                             |         if (r0 > 0xff) {
    0x000122a4 bhi 0x1234c                                   |             goto label_21;
                                                             |         }
    0x000122a8 mov r3, r8                                    |         r3 = r8;
    0x000122ac mov r2, r8                                    |         r2 = r8;
    0x000122b0 mov r0, sb                                    |         r0 = sb;
    0x000122b4 bl 0x54f0                                     |         fcn_000054f0 ();
                                                             | label_8:
    0x000122b8 str r0, [r4, 0x1c]                            |         *((r4 + 0x1c)) = r0;
    0x000122bc ldr r3, [r6]                                  |         r3 = *(r6);
    0x000122c0 ldr r0, [sp, 0x18]                            |         r0 = nmeb;
    0x000122c4 blx r3                                        |         uint32_t (*r3)(uint32_t, uint32_t) (r0, r3);
    0x000122c8 mov r3, 0                                     |         r3 = 0;
    0x000122cc str r3, [sp, 0x18]                            |         nmeb = r3;
    0x000122d0 ldr r3, [r4, 0x1c]                            |         r3 = *((r4 + 0x1c));
    0x000122d4 cmp r3, 0                                     |         
                                                             |         if (r3 == 0) {
    0x000122d8 movne r3, 1                                   |             r3 = 1;
                                                             |         }
                                                             |         if (r3 == 0) {
    0x000122dc strbne r3, [sl, 0x259]                        |             *((sl + 0x259)) = r3;
                                                             |         }
    0x000122e0 beq 0x12270                                   |         
                                                             |     } while (r3 == 0);
                                                             | label_19:
    0x000122e4 cmp r7, 0                                     |     
                                                             |     if (r7 >= 0) {
    0x000122e8 blt 0x12310                                   |         
    0x000122ec ldr r3, [sl, 0xfc]                            |         r3 = *((sl + 0xfc));
    0x000122f0 ldr r2, [sp, 8]                               |         r2 = var_8h;
    0x000122f4 str r7, [r4, 0x10]                            |         *((r4 + 0x10)) = r7;
    0x000122f8 orrs r3, r2, r3, lsr 31                       |         r3 = r2 | (r3 >> 31);
                                                             |         if (r3 == r2) {
    0x000122fc bne 0x1230c                                   |             
    0x00012300 ldr r3, [sl, 0xbc]                            |             r3 = *((sl + 0xbc));
    0x00012304 cmp r3, 0                                     |             
                                                             |             if (r3 != 0) {
    0x00012308 bne 0x12310                                   |                 goto label_22;
                                                             |             }
                                                             |         }
    0x0001230c str r7, [sl, 0xfc]                            |         *((sl + 0xfc)) = r7;
                                                             |     }
                                                             | label_22:
    0x00012310 ldr r3, [r6]                                  |     r3 = *(r6);
    0x00012314 ldr r0, [r4]                                  |     r0 = *(r4);
    0x00012318 blx r3                                        |     uint32_t (*r3)(uint32_t, uint32_t) (r0, r3);
    0x0001231c mov r3, 0                                     |     r3 = 0;
    0x00012320 str r3, [r4]                                  |     *(r4) = r3;
    0x00012324 ldr r3, [pc, 0x88]                            |     
    0x00012328 mov r0, r5                                    |     r0 = r5;
    0x0001232c ldr r3, [fp, r3]                              |     r3 = *((fp + r3));
    0x00012330 ldr r3, [r3]                                  |     r3 = *(0x123b0);
    0x00012334 blx r3                                        |     r0 = uint32_t (*r3)(uint32_t, uint32_t) (r0, r3);
    0x00012338 cmp r0, 0                                     |     
    0x0001233c str r0, [r4]                                  |     *(r4) = r0;
    0x00012340 str r0, [r4, 8]                               |     *((r4 + 8)) = r0;
                                                             |     if (r0 != 0) {
    0x00012344 bne 0x12144                                   |         goto label_6;
                                                             |     }
    0x00012348 b 0x12270                                     |     goto label_7;
                                                             | label_21:
    0x0001234c ldr r3, [pc, 0x60]                            |     
    0x00012350 ldr r0, [pc, 0x60]                            |     r0 = *(0x123b4);
    0x00012354 ldr r3, [fp, r3]                              |     r3 = *((fp + r3));
    0x00012358 add r0, pc, r0                                |     r0 = pc + r0;
    0x0001235c ldr r3, [r3]                                  |     r3 = *(0x123b0);
    0x00012360 blx r3                                        |     uint32_t (*r3)(uint32_t, uint32_t) (r0, r3);
    0x00012364 b 0x122b8                                     |     goto label_8;
                                                             | }
    ; 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/lib/libcurl.so @ 0x10130 */
                                                         | #include <stdint.h>
                                                         |  
    ; (fcn) sym.pausewrite ()                            | void pausewrite (int32_t arg1, int32_t arg2) {
                                                         |     r0 = arg1;
                                                         |     r1 = arg2;
    0x00010130 push {r4, r5, r6, r7, r8, sb, sl, lr}     |     
    0x00010134 add sb, r0, 0x4000                        |     sb = r0 + 0x4000;
    0x00010138 mov r7, r3                                |     r7 = r3;
    0x0001013c ldr r3, [sb, 0x7f4]                       |     r3 = *((sb + 0x7f4));
    0x00010140 mov r8, r2                                |     r8 = r2;
    0x00010144 ldr r2, [pc, 0xe8]                        |     r2 = *(0x10230);
    0x00010148 cmp r3, 0                                 |     
    0x0001014c add r2, pc, r2                            |     r2 = pc + r2;
    0x00010150 mov r5, r0                                |     r5 = r0;
    0x00010154 mov r6, r1                                |     r6 = r1;
                                                         |     if (r3 == 0) {
    0x00010158 beq 0x101a0                               |         goto label_1;
                                                         |     }
    0x0001015c mov sl, 0                                 |     sl = 0;
    0x00010160 mov r0, 0xc                               |     r0 = 0xc;
                                                         |     do {
    0x00010164 mul r1, r0, sl                            |         r1 = r0 * sl;
    0x00010168 add ip, r1, 0x4800                        |         
    0x0001016c ldr ip, [r5, ip]                          |         ip = *((r5 + ip));
    0x00010170 cmp ip, r6                                |         
                                                         |         if (ip == r6) {
    0x00010174 beq 0x101d4                               |             goto label_2;
                                                         |         }
    0x00010178 add sl, sl, 1                             |         sl++;
    0x0001017c cmp r3, sl                                |         
    0x00010180 bne 0x10164                               |         
                                                         |     } while (r3 != sl);
                                                         |     do {
    0x00010184 mov r1, r7                                |         r1 = r7;
    0x00010188 mov r0, r8                                |         r0 = r8;
    0x0001018c bl 0x2394c                                |         r0 = Curl_memdup ();
    0x00010190 cmp r0, 0                                 |         
                                                         |         if (r0 != 0) {
    0x00010194 bne 0x101a8                               |             goto label_3;
                                                         |         }
                                                         | label_0:
    0x00010198 mov r0, 0x1b                              |         r0 = 0x1b;
    0x0001019c pop {r4, r5, r6, r7, r8, sb, sl, pc}      |         
                                                         | label_1:
    0x000101a0 mov sl, r3                                |         sl = r3;
    0x000101a4 b 0x10184                                 |         
                                                         |     } while (1);
                                                         | label_3:
    0x000101a8 mov r3, 0xc                               |     r3 = 0xc;
    0x000101ac mla r4, r3, sl, r5                        |     __asm ("mla r4, r3, sl, r5");
    0x000101b0 add r3, r4, 0x4700                        |     r3 = r4 + 0x4700;
    0x000101b4 str r0, [r3, 0xf8]                        |     *((r3 + 0xf8)) = r0;
    0x000101b8 str r7, [r3, 0xfc]                        |     *((r3 + 0xfc)) = r7;
    0x000101bc ldr r3, [sb, 0x7f4]                       |     r3 = *((sb + 0x7f4));
    0x000101c0 add r4, r4, 0x4800                        |     r4 += 0x4800;
    0x000101c4 add r3, r3, 1                             |     r3++;
    0x000101c8 str r6, [r4]                              |     *(r4) = r6;
    0x000101cc str r3, [sb, 0x7f4]                       |     *((sb + 0x7f4)) = r3;
    0x000101d0 b 0x10220                                 |     goto label_4;
                                                         | label_2:
    0x000101d4 add r4, r5, r1                            |     r4 = r5 + r1;
    0x000101d8 ldr r3, [pc, 0x58]                        |     
    0x000101dc add r4, r4, 0x4700                        |     r4 += 0x4700;
    0x000101e0 ldr r6, [r4, 0xfc]                        |     r6 = *((r4 + 0xfc));
    0x000101e4 ldr r3, [r2, r3]                          |     r3 = *((r2 + r3));
    0x000101e8 add r6, r7, r6                            |     r6 = r7 + r6;
    0x000101ec ldr r3, [r3]                              |     r3 = *(0x10234);
    0x000101f0 mov r1, r6                                |     r1 = r6;
    0x000101f4 ldr r0, [r4, 0xf8]                        |     r0 = *((r4 + 0xf8));
    0x000101f8 blx r3                                    |     r0 = uint32_t (*r3)(uint32_t, uint32_t, uint32_t) (r0, r1, r3);
    0x000101fc subs sb, r0, 0                            |     sb = r0 - 0;
                                                         |     if (sb == r0) {
    0x00010200 beq 0x10198                               |         goto label_0;
                                                         |     }
    0x00010204 ldr r0, [r4, 0xfc]                        |     r0 = *((r4 + 0xfc));
    0x00010208 mov r2, r7                                |     r2 = r7;
    0x0001020c mov r1, r8                                |     r1 = r8;
    0x00010210 add r0, sb, r0                            |     r0 = sb + r0;
    0x00010214 bl 0x4f5c                                 |     memcpy (r0, r1, r2);
    0x00010218 str sb, [r4, 0xf8]                        |     *((r4 + 0xf8)) = sb;
    0x0001021c str r6, [r4, 0xfc]                        |     *((r4 + 0xfc)) = r6;
                                                         | label_4:
    0x00010220 ldr r3, [r5, 0x110]                       |     r3 = *((r5 + 0x110));
    0x00010224 mov r0, 0                                 |     r0 = 0;
    0x00010228 orr r3, r3, 0x10                          |     r3 |= 0x10;
    0x0001022c str r3, [r5, 0x110]                       |     *((r5 + 0x110)) = r3;
    0x00010230 pop {r4, r5, r6, r7, r8, sb, sl, 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/lib/libcurl.so @ 0x207ac */
                                         | #include <stdint.h>
                                         |  
    ; (fcn) sym.process_trailer ()       | void process_trailer (int32_t arg1, size_t size) {
                                         |     r0 = arg1;
                                         |     r1 = size;
    0x000207ac ldr r3, [r1, 4]           |     r3 = *((r1 + 4));
    0x000207b0 mov r2, r1                |     r2 = r1;
    0x000207b4 ldr r1, [r1, 0xc]         |     r1 = *((r1 + 0xc));
    0x000207b8 ldr ip, [r2, 8]           |     ip = *((r2 + 8));
    0x000207bc cmp r3, r1                |     
    0x000207c0 str lr, [sp, -4]!         |     
                                         |     if (r3 >= r1) {
    0x000207c4 movlo lr, r3              |         lr = r3;
                                         |     }
                                         |     if (r3 < r1) {
    0x000207c8 movhs lr, r1              |         lr = r1;
                                         |     }
    0x000207cc sub r1, r1, lr            |     r1 -= lr;
    0x000207d0 sub r3, r3, lr            |     r3 -= lr;
    0x000207d4 add ip, ip, lr            |     
    0x000207d8 cmp r1, 0                 |     
    0x000207dc str r3, [r2, 4]           |     *((r2 + 4)) = r3;
    0x000207e0 str r1, [r2, 0xc]         |     *((r2 + 0xc)) = r1;
    0x000207e4 str ip, [r2, 8]           |     *((r2 + 8)) = ip;
                                         |     if (r1 != 0) {
    0x000207e8 bne 0x20800               |         goto label_0;
                                         |     }
    0x000207ec cmp r3, 0                 |     
                                         |     if (r3 != 0) {
    0x000207f0 bne 0x20808               |         goto label_1;
                                         |     }
                                         |     do {
    0x000207f4 add r1, r2, 8             |         r1 = r2 + 8;
    0x000207f8 pop {lr}                  |         
    0x000207fc b 0x20710                 |         void (*0x20710)() ();
                                         | label_0:
    0x00020800 mov r3, 0x17              |         r3 = 0x17;
    0x00020804 b 0x207f4                 |         
                                         |     } while (1);
                                         | label_1:
    0x00020808 mov r3, 4                 |     r3 = 4;
    0x0002080c str r3, [r2]              |     *(r2) = r3;
    0x00020810 mov r0, r1                |     r0 = r1;
    0x00020814 pop {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/lib/libcurl.so @ 0x2b308 */
                                                             | #include <stdint.h>
                                                             |  
    ; (fcn) sym.readback_bytes.isra.1 ()                     | void readback_bytes_isra_1 (int32_t arg_20h, int32_t arg_24h, int32_t arg1, int32_t arg2) {
                                                             |     r0 = arg1;
                                                             |     r1 = arg2;
    0x0002b308 push {r4, r5, r6, r7, r8, sb, sl, lr}         |     
    0x0002b30c ldr r4, [sp, 0x20]                            |     r4 = *(arg_20h);
    0x0002b310 ldr r5, [r0]                                  |     r5 = *(r0);
    0x0002b314 mov r8, r1                                    |     r8 = r1;
    0x0002b318 cmp r5, r4                                    |     
    0x0002b31c mov r7, r0                                    |     r7 = r0;
    0x0002b320 mov sb, r2                                    |     sb = r2;
    0x0002b324 ldr r6, [sp, 0x24]                            |     r6 = *(arg_24h);
                                                             |     if (r5 >= r4) {
    0x0002b328 sublo r4, r4, r5                              |         r4 -= r5;
                                                             |     }
                                                             |     if (r5 >= r4) {
    0x0002b32c addlo r1, r3, r5                              |         r1 = r3 + r5;
                                                             |     }
                                                             |     if (r5 > r4) {
    0x0002b330 blo 0x2b354                                   |         
    0x0002b334 mov r0, r6                                    |         r0 = r6;
    0x0002b338 bl 0x5250                                     |         strlen (r0);
    0x0002b33c sub r4, r5, r4                                |         r4 = r5 - r4;
    0x0002b340 cmp r0, r4                                    |         
                                                             |         if (r0 > r4) {
    0x0002b344 movls r4, 0                                   |             r4 = 0;
                                                             |         }
                                                             |         if (r0 < r4) {
    0x0002b348 bls 0x2b374                                   |             goto label_0;
                                                             |         }
    0x0002b34c add r1, r6, r4                                |         r1 = r6 + r4;
    0x0002b350 sub r4, r0, r4                                |         r4 = r0 - r4;
                                                             |     }
    0x0002b354 cmp r4, sb                                    |     
                                                             |     if (r4 < sb) {
    0x0002b358 movhs r4, sb                                  |         r4 = sb;
                                                             |     }
    0x0002b35c mov r2, r4                                    |     r2 = r4;
    0x0002b360 mov r0, r8                                    |     r0 = r8;
    0x0002b364 bl 0x4f5c                                     |     memcpy (r0, r1, r2);
    0x0002b368 ldr r3, [r7]                                  |     r3 = *(r7);
    0x0002b36c add r3, r3, r4                                |     r3 += r4;
    0x0002b370 str r3, [r7]                                  |     *(r7) = r3;
                                                             | label_0:
    0x0002b374 mov r0, r4                                    |     r0 = r4;
    0x0002b378 pop {r4, r5, r6, r7, r8, sb, sl, 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/lib/libcurl.so @ 0x2b50c */
                                                                 | #include <stdint.h>
                                                                 |  
    ; (fcn) sym.readback_part ()                                 | void readback_part (int32_t arg1, int32_t arg2) {
                                                                 |     int32_t var_0h;
                                                                 |     int32_t var_4h;
                                                                 |     void * s1;
                                                                 |     int32_t var_ch;
                                                                 |     r0 = arg1;
                                                                 |     r1 = arg2;
    0x0002b50c push {r4, r5, r6, r7, r8, sb, sl, fp, lr}         |     
    0x0002b510 add r3, r0, 0x68                                  |     r3 = r0 + 0x68;
    0x0002b514 sub sp, sp, 0x14                                  |     
    0x0002b518 str r3, [sp, 8]                                   |     s1 = r3;
    0x0002b51c ldr r3, [pc, 0x378]                               |     r3 = *(0x2b898);
    0x0002b520 mov r4, r0                                        |     r4 = r0;
    0x0002b524 add r3, pc, r3                                    |     r3 = pc + r3;
    0x0002b528 mov sb, r1                                        |     sb = r1;
    0x0002b52c mov r6, r2                                        |     r6 = r2;
    0x0002b530 mov r7, 0                                         |     r7 = 0;
    0x0002b534 str r3, [sp, 0xc]                                 |     var_ch = r3;
                                                                 | label_1:
    0x0002b538 cmp r6, 0                                         |     
                                                                 |     if (r6 == 0) {
    0x0002b53c beq 0x2b7f4                                       |         goto label_10;
                                                                 |     }
    0x0002b540 ldr r3, [r4, 0x4c]                                |     r3 = *((r4 + 0x4c));
    0x0002b544 ldr r8, [r4, 0x50]                                |     r8 = *((r4 + 0x50));
    0x0002b548 cmp r3, 8                                         |     
                                                                 |     if (r3 > 8) {
                                                                 |         /* switch table (9 cases) at 0x2b554 */
    0x0002b54c addls pc, pc, r3, lsl 2                           |         pc += (r3 << 2);
                                                                 |     }
    0x0002b550 b 0x2b5f8                                         |     goto label_11;
    0x0002b554 b 0x2b578                                         |     goto label_12;
    0x0002b558 b 0x2b5dc                                         |     goto label_13;
    0x0002b55c b 0x2b5a0                                         |     goto label_14;
    0x0002b560 b 0x2b64c                                         |     goto label_15;
    0x0002b564 b 0x2b68c                                         |     goto label_16;
    0x0002b568 b 0x2b5f8                                         |     goto label_11;
    0x0002b56c b 0x2b5f8                                         |     goto label_11;
    0x0002b570 b 0x2b6a4                                         |     goto label_17;
    0x0002b574 b 0x2b7f4                                         |     goto label_10;
                                                                 | label_12:
    0x0002b578 ldr r3, [r4, 0x48]                                |     r3 = *((r4 + 0x48));
    0x0002b57c tst r3, 2                                         |     
    0x0002b580 ldr r3, [r4, 0x28]                                |     r3 = *((r4 + 0x28));
                                                                 |     if ((r3 & 2) != 0) {
    0x0002b584 moveq r2, 1                                       |         r2 = 1;
                                                                 |     }
    0x0002b588 movne r2, 4                                       |     r2 = 4;
                                                                 |     while (1) {
    0x0002b58c mov r5, 0                                         |         r5 = 0;
    0x0002b590 str r2, [r4, 0x4c]                                |         *((r4 + 0x4c)) = r2;
    0x0002b594 str r3, [r4, 0x50]                                |         *((r4 + 0x50)) = r3;
                                                                 | label_0:
    0x0002b598 str r5, [r4, 0x54]                                |         *((r4 + 0x54)) = r5;
    0x0002b59c b 0x2b63c                                         |         goto label_3;
                                                                 | label_14:
    0x0002b5a0 cmp r8, 0                                         |         
                                                                 |         if (r8 != 0) {
    0x0002b5a4 moveq r3, 3                                       |             r3 = 3;
                                                                 |         }
                                                                 |         if (r8 != 0) {
    0x0002b5a8 streq r3, [r4, 0x4c]                              |             *((r4 + 0x4c)) = r3;
                                                                 |         }
                                                                 |         if (r8 != 0) {
    0x0002b5ac streq r8, [r4, 0x50]                              |             *((r4 + 0x50)) = r8;
                                                                 |         }
                                                                 |         if (r8 == 0) {
    0x0002b5b0 beq 0x2b5f4                                       |             goto label_18;
                                                                 |         }
    0x0002b5b4 ldr r1, [pc, 0x2e4]                               |         r1 = *(0x2b89c);
    0x0002b5b8 mov r2, 0xc                                       |         r2 = 0xc;
    0x0002b5bc add r1, pc, r1                                    |         r1 = pc + r1;
    0x0002b5c0 mov r0, r8                                        |         r0 = r8;
    0x0002b5c4 bl 0x2b40c                                        |         r0 = match_header_isra_5 ();
    0x0002b5c8 cmp r0, 0                                         |         
                                                                 |         if (r0 == 0) {
    0x0002b5cc beq 0x2b600                                       |             goto label_19;
                                                                 |         }
    0x0002b5d0 ldr r3, [r8, 4]                                   |         r3 = *((r8 + 4));
    0x0002b5d4 mov r2, 2                                         |         r2 = 2;
    0x0002b5d8 b 0x2b58c                                         |         
                                                                 |     }
                                                                 | label_13:
    0x0002b5dc cmp r8, 0                                         |     
                                                                 |     if (r8 == 0) {
    0x0002b5e0 bne 0x2b600                                       |         
    0x0002b5e4 ldr r3, [r4, 0x2c]                                |         r3 = *((r4 + 0x2c));
    0x0002b5e8 mov r2, 2                                         |         r2 = 2;
    0x0002b5ec str r2, [r4, 0x4c]                                |         *((r4 + 0x4c)) = r2;
    0x0002b5f0 str r3, [r4, 0x50]                                |         *((r4 + 0x50)) = r3;
                                                                 | label_18:
    0x0002b5f4 str r8, [r4, 0x54]                                |         *((r4 + 0x54)) = r8;
                                                                 | label_11:
    0x0002b5f8 mov r5, 0                                         |         r5 = 0;
    0x0002b5fc b 0x2b63c                                         |         goto label_3;
                                                                 |     }
                                                                 | label_19:
    0x0002b600 ldr r5, [r8]                                      |     r5 = *(r8);
    0x0002b604 mov r0, r5                                        |     r0 = r5;
    0x0002b608 bl 0x5250                                         |     strlen (r0);
    0x0002b60c ldr r3, [pc, 0x290]                               |     r3 = *(0x2b8a0);
    0x0002b610 mov r2, r6                                        |     r2 = r6;
    0x0002b614 add r3, pc, r3                                    |     r3 = pc + r3;
    0x0002b618 mov r1, sb                                        |     r1 = sb;
    0x0002b61c stm sp, {r0, r3}                                  |     *(sp) = r0;
                                                                 |     *((sp + 4)) = r3;
    0x0002b620 mov r3, r5                                        |     r3 = r5;
    0x0002b624 add r0, r4, 0x54                                  |     r0 = r4 + 0x54;
    0x0002b628 bl 0x2b308                                        |     r0 = readback_bytes_isra_1 ();
    0x0002b62c subs r5, r0, 0                                    |     r5 = r0 - 0;
                                                                 |     if (r5 != r0) {
    0x0002b630 ldreq r3, [r8, 4]                                 |         r3 = *((r8 + 4));
                                                                 |     }
                                                                 |     if (r5 == r0) {
    0x0002b634 streq r3, [r4, 0x50]                              |         *((r4 + 0x50)) = r3;
                                                                 |         goto label_20;
                                                                 |     }
                                                                 |     if (r5 == r0) {
                                                                 | label_20:
    0x0002b638 beq 0x2b598                                       |         goto label_0;
                                                                 |     }
                                                                 |     do {
                                                                 | label_3:
    0x0002b63c add r7, r7, r5                                    |         r7 += r5;
    0x0002b640 add sb, sb, r5                                    |         sb += r5;
    0x0002b644 sub r6, r6, r5                                    |         r6 -= r5;
    0x0002b648 b 0x2b538                                         |         goto label_1;
                                                                 | label_15:
    0x0002b64c ldr r3, [pc, 0x254]                               |         r3 = *(0x2b8a4);
    0x0002b650 mov r2, r6                                        |         r2 = r6;
    0x0002b654 add r3, pc, r3                                    |         r3 = pc + r3;
    0x0002b658 str r3, [sp, 4]                                   |         var_4h = r3;
    0x0002b65c mov r3, 2                                         |         r3 = 2;
    0x0002b660 str r3, [sp]                                      |         *(sp) = r3;
    0x0002b664 mov r1, sb                                        |         r1 = sb;
    0x0002b668 ldr r3, [sp, 0xc]                                 |         r3 = var_ch;
    0x0002b66c add r0, r4, 0x54                                  |         r0 = r4 + 0x54;
    0x0002b670 bl 0x2b308                                        |         r0 = readback_bytes_isra_1 ();
    0x0002b674 subs r5, r0, 0                                    |         r5 = r0 - 0;
                                                                 |         if (r5 != r0) {
    0x0002b678 moveq r3, 4                                       |             r3 = 4;
                                                                 |         }
    0x0002b67c bne 0x2b63c                                       |         
                                                                 |     } while (r5 != r0);
                                                                 |     do {
    0x0002b680 str r3, [r4, 0x4c]                                |         *((r4 + 0x4c)) = r3;
    0x0002b684 str r5, [r4, 0x50]                                |         *((r4 + 0x50)) = r5;
    0x0002b688 b 0x2b598                                         |         goto label_0;
                                                                 | label_16:
    0x0002b68c mov r5, 0                                         |         r5 = 0;
    0x0002b690 str r5, [r4, 0x5c]                                |         *((r4 + 0x5c)) = r5;
    0x0002b694 str r5, [r4, 0x60]                                |         *((r4 + 0x60)) = r5;
    0x0002b698 str r5, [r4, 0x64]                                |         *((r4 + 0x64)) = r5;
    0x0002b69c mov r3, 7                                         |         r3 = 7;
    0x0002b6a0 b 0x2b680                                         |         
                                                                 |     } while (1);
                                                                 | label_17:
    0x0002b6a4 ldr r3, [r4, 0x58]                                |     r3 = *((r4 + 0x58));
    0x0002b6a8 cmp r3, 0                                         |     
                                                                 |     if (r3 == 0) {
    0x0002b6ac beq 0x2b860                                       |         goto label_21;
                                                                 |     }
    0x0002b6b0 mov r5, 0                                         |     r5 = 0;
    0x0002b6b4 mov sl, r6                                        |     sl = r6;
    0x0002b6b8 mov fp, sb                                        |     
    0x0002b6bc mov r8, r5                                        |     r8 = r5;
                                                                 |     do {
                                                                 | label_7:
    0x0002b6c0 ldr r3, [r4, 0x60]                                |         r3 = *((r4 + 0x60));
    0x0002b6c4 ldr r2, [r4, 0x64]                                |         r2 = *((r4 + 0x64));
    0x0002b6c8 cmp r3, r2                                        |         
                                                                 |         if (r3 < r2) {
    0x0002b6cc movhs r3, r8                                      |             r3 = r8;
                                                                 |         }
                                                                 |         if (r3 >= r2) {
    0x0002b6d0 orrlo r3, r8, 1                                   |             r3 = r8 | 1;
                                                                 |         }
    0x0002b6d4 cmp r3, 0                                         |         
                                                                 |         if (r3 == 0) {
    0x0002b6d8 beq 0x2b79c                                       |             goto label_22;
                                                                 |         }
    0x0002b6dc ldr r3, [r4, 0x58]                                |         r3 = *((r4 + 0x58));
    0x0002b6e0 mov r2, r8                                        |         r2 = r8;
    0x0002b6e4 ldr r3, [r3, 4]                                   |         r3 = *((r3 + 4));
    0x0002b6e8 mov r1, sl                                        |         r1 = sl;
    0x0002b6ec mov ip, r3                                        |         
    0x0002b6f0 mov r0, fp                                        |         r0 = fp;
    0x0002b6f4 mov r3, r4                                        |         r3 = r4;
    0x0002b6f8 blx ip                                            |         r0 = ip (r0, r1, r2, r3);
    0x0002b6fc cmp r0, 0x10000001                                |         
                                                                 |         if (r0 > 0x10000001) {
    0x0002b700 bhi 0x2b72c                                       |             goto label_23;
                                                                 |         }
    0x0002b704 cmp r0, 0x10000000                                |         
                                                                 |         if (r0 >= 0x10000000) {
    0x0002b708 bhs 0x2b734                                       |             goto label_5;
                                                                 |         }
    0x0002b70c cmp r0, 0                                         |         
                                                                 |         if (r0 == 0) {
    0x0002b710 beq 0x2b740                                       |             goto label_24;
                                                                 |         }
                                                                 | label_2:
    0x0002b714 add r5, r5, r0                                    |         r5 += r0;
    0x0002b718 add fp, fp, r0                                    |         
    0x0002b71c sub sl, sl, r0                                    |         sl -= r0;
                                                                 | label_6:
    0x0002b720 cmp sl, 0                                         |         
    0x0002b724 bne 0x2b6c0                                       |         
                                                                 |     } while (sl != 0);
    0x0002b728 b 0x2b748                                         |     goto label_4;
                                                                 | label_23:
    0x0002b72c cmn r0, 1                                         |     
                                                                 |     if (r0 != 1) {
    0x0002b730 bne 0x2b714                                       |         goto label_2;
                                                                 |     }
                                                                 | label_5:
    0x0002b734 cmp r5, 0                                         |     
                                                                 |     if (r5 != 0) {
    0x0002b738 moveq r5, r0                                      |         r5 = r0;
                                                                 |     }
    0x0002b73c b 0x2b748                                         |     goto label_4;
                                                                 | label_24:
    0x0002b740 cmp r8, 0                                         |     
                                                                 |     if (r8 == 0) {
    0x0002b744 beq 0x2b79c                                       |         goto label_22;
                                                                 |     }
                                                                 | label_4:
    0x0002b748 cmp r5, 0x10000001                                |     
                                                                 |     if (r5 > 0x10000001) {
    0x0002b74c bhi 0x2b888                                       |         goto label_25;
                                                                 |     }
    0x0002b750 cmp r5, 0x10000000                                |     
                                                                 |     if (r5 >= 0x10000000) {
    0x0002b754 bhs 0x2b7ec                                       |         goto label_9;
                                                                 |     }
    0x0002b758 cmp r5, 0                                         |     
                                                                 |     if (r5 != 0) {
    0x0002b75c bne 0x2b63c                                       |         goto label_3;
                                                                 |     }
                                                                 | label_8:
    0x0002b760 mov r3, 8                                         |     r3 = 8;
    0x0002b764 str r3, [r4, 0x4c]                                |     *((r4 + 0x4c)) = r3;
    0x0002b768 ldr r3, [r4, 0xc]                                 |     r3 = *((r4 + 0xc));
    0x0002b76c mov r5, 0                                         |     r5 = 0;
    0x0002b770 cmp r3, 2                                         |     
    0x0002b774 str r5, [r4, 0x50]                                |     *((r4 + 0x50)) = r5;
    0x0002b778 str r5, [r4, 0x54]                                |     *((r4 + 0x54)) = r5;
                                                                 |     if (r3 != 2) {
    0x0002b77c bne 0x2b7ec                                       |         goto label_9;
                                                                 |     }
    0x0002b780 ldr r0, [r4, 0x24]                                |     r0 = *((r4 + 0x24));
    0x0002b784 cmp r0, r5                                        |     
                                                                 |     if (r0 != r5) {
    0x0002b788 moveq r5, r0                                      |         r5 = r0;
                                                                 |     }
                                                                 |     if (r0 == r5) {
    0x0002b78c beq 0x2b7ec                                       |         goto label_9;
                                                                 |     }
    0x0002b790 bl 0x5454                                         |     fclose (r0);
    0x0002b794 str r5, [r4, 0x24]                                |     *((r4 + 0x24)) = r5;
    0x0002b798 b 0x2b7ec                                         |     goto label_9;
                                                                 | label_22:
    0x0002b79c ldr r1, [r4, 0x60]                                |     r1 = *((r4 + 0x60));
    0x0002b7a0 cmp r1, 0                                         |     
                                                                 |     if (r1 != 0) {
    0x0002b7a4 beq 0x2b7d4                                       |         
    0x0002b7a8 ldr r8, [r4, 0x64]                                |         r8 = *((r4 + 0x64));
    0x0002b7ac subs r8, r8, r1                                   |         r8 -= r1;
                                                                 |         if (r8 != r8) {
    0x0002b7b0 beq 0x2b7c8                                       |             
    0x0002b7b4 ldr r3, [sp, 8]                                   |             r3 = s1;
    0x0002b7b8 mov r2, r8                                        |             r2 = r8;
    0x0002b7bc add r1, r3, r1                                    |             r1 = r3 + r1;
    0x0002b7c0 mov r0, r3                                        |             r0 = r3;
    0x0002b7c4 bl 0x5448                                         |             memmove (r0, r1, r2);
                                                                 |         }
    0x0002b7c8 mov r3, 0                                         |         r3 = 0;
    0x0002b7cc str r3, [r4, 0x60]                                |         *((r4 + 0x60)) = r3;
    0x0002b7d0 str r8, [r4, 0x64]                                |         *((r4 + 0x64)) = r8;
                                                                 |     }
    0x0002b7d4 ldr r2, [r4, 0x64]                                |     r2 = *((r4 + 0x64));
    0x0002b7d8 cmp r2, 0xff                                      |     
                                                                 |     if (r2 < 0xff) {
    0x0002b7dc bls 0x2b800                                       |         goto label_26;
                                                                 |     }
    0x0002b7e0 cmp r5, 0                                         |     
                                                                 |     if (r5 != 0) {
    0x0002b7e4 bne 0x2b748                                       |         goto label_4;
                                                                 |     }
    0x0002b7e8 mvn r5, 0                                         |     r5 = ~0;
                                                                 | label_9:
    0x0002b7ec cmp r7, 0                                         |     
                                                                 |     if (r7 != 0) {
    0x0002b7f0 moveq r7, r5                                      |         r7 = r5;
                                                                 |     }
                                                                 | label_10:
    0x0002b7f4 mov r0, r7                                        |     r0 = r7;
    0x0002b7f8 add sp, sp, 0x14                                  |     
    0x0002b7fc pop {r4, r5, r6, r7, r8, sb, sl, fp, pc}          |     
                                                                 | label_26:
    0x0002b800 ldr r8, [r4, 0x14]                                |     r8 = *((r4 + 0x14));
    0x0002b804 ldr r3, [sp, 8]                                   |     r3 = s1;
    0x0002b808 cmp r8, 0                                         |     
    0x0002b80c add r0, r3, r2                                    |     r0 = r3 + r2;
    0x0002b810 rsb r2, r2, 0x100                                 |     r2 = 0x100 - r2;
                                                                 |     if (r8 == 0) {
    0x0002b814 beq 0x2b894                                       |         goto label_27;
                                                                 |     }
    0x0002b818 ldr r3, [r4, 0x20]                                |     r3 = *((r4 + 0x20));
    0x0002b81c mov r1, 1                                         |     r1 = 1;
    0x0002b820 blx r8                                            |     r0 = uint32_t (*r8)(uint32_t, uint32_t) (r1, r3);
    0x0002b824 cmp r0, 0x10000001                                |     
                                                                 |     if (r0 > 0x10000001) {
    0x0002b828 bhi 0x2b854                                       |         goto label_28;
                                                                 |     }
    0x0002b82c cmp r0, 0x10000000                                |     
                                                                 |     if (r0 >= 0x10000000) {
    0x0002b830 bhs 0x2b734                                       |         goto label_5;
                                                                 |     }
    0x0002b834 cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x0002b838 moveq r8, 1                                       |         r8 = 1;
                                                                 |         goto label_29;
                                                                 |     }
                                                                 |     if (r0 == 0) {
                                                                 | label_29:
    0x0002b83c beq 0x2b720                                       |         goto label_6;
                                                                 |     }
                                                                 |     do {
    0x0002b840 ldr r3, [r4, 0x64]                                |         r3 = *((r4 + 0x64));
    0x0002b844 mov r8, 0                                         |         r8 = 0;
    0x0002b848 add r0, r3, r0                                    |         r0 = r3 + r0;
    0x0002b84c str r0, [r4, 0x64]                                |         *((r4 + 0x64)) = r0;
    0x0002b850 b 0x2b6c0                                         |         goto label_7;
                                                                 | label_28:
    0x0002b854 cmn r0, 1                                         |         
    0x0002b858 bne 0x2b840                                       |         
                                                                 |     } while (r0 != 1);
    0x0002b85c b 0x2b734                                         |     goto label_5;
                                                                 | label_21:
    0x0002b860 ldr r5, [r4, 0x14]                                |     r5 = *((r4 + 0x14));
    0x0002b864 cmp r5, 0                                         |     
                                                                 |     if (r5 == 0) {
    0x0002b868 beq 0x2b760                                       |         goto label_8;
                                                                 |     }
    0x0002b86c ldr r3, [r4, 0x20]                                |     r3 = *((r4 + 0x20));
    0x0002b870 mov r2, r6                                        |     r2 = r6;
    0x0002b874 mov r1, 1                                         |     r1 = 1;
    0x0002b878 mov r0, sb                                        |     r0 = sb;
    0x0002b87c blx r5                                            |     r0 = uint32_t (*r5)(uint32_t, uint32_t, uint32_t, uint32_t) (r0, r1, r2, r3);
    0x0002b880 mov r5, r0                                        |     r5 = r0;
    0x0002b884 b 0x2b748                                         |     goto label_4;
                                                                 | label_25:
    0x0002b888 cmn r5, 1                                         |     
                                                                 |     if (r5 != 1) {
    0x0002b88c bne 0x2b63c                                       |         goto label_3;
                                                                 |     }
    0x0002b890 b 0x2b7ec                                         |     goto label_9;
                                                                 | label_27:
    0x0002b894 mov r8, 1                                         |     r8 = 1;
    0x0002b898 b 0x2b6c0                                         |     goto label_7;
                                                                 | }
    ; 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/lib/libcurl.so @ 0x2b460 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.search_header ()             | void search_header (int32_t arg1, char * s) {
                                             |     r0 = arg1;
                                             |     r1 = s;
    0x0002b460 push {r4, r5, r6, lr}         |     
    0x0002b464 mov r4, r0                    |     r4 = r0;
    0x0002b468 mov r0, r1                    |     r0 = r1;
    0x0002b46c mov r5, r1                    |     r5 = r1;
    0x0002b470 bl 0x5250                     |     r0 = strlen (r0);
    0x0002b474 mov r6, r0                    |     r6 = r0;
    0x0002b478 mov r0, 0                     |     r0 = 0;
                                             |     do {
    0x0002b47c adds r3, r4, 0                |         r3 = r4 + 0;
                                             |         if (r3 == r4) {
    0x0002b480 movne r3, 1                   |             r3 = 1;
                                             |         }
    0x0002b484 cmp r0, 0                     |         
                                             |         if (r0 == 0) {
    0x0002b488 movne r3, 0                   |             r3 = 0;
                                             |         }
    0x0002b48c cmp r3, 0                     |         
    0x0002b490 popeq {r4, r5, r6, pc}        |         
    0x0002b494 mov r0, r4                    |         r0 = r4;
    0x0002b498 mov r2, r6                    |         r2 = r6;
    0x0002b49c mov r1, r5                    |         r1 = r5;
    0x0002b4a0 bl 0x2b40c                    |         match_header_isra_5 ();
    0x0002b4a4 ldr r4, [r4, 4]               |         r4 = *((r4 + 4));
    0x0002b4a8 b 0x2b47c                     |         
                                             |     } 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/lib/libcurl.so @ 0x33360 */
                                                                 | #include <stdint.h>
                                                                 |  
    ; (fcn) sym.select_next_proto_cb ()                          | void select_next_proto_cb (int32_t arg_28h, int32_t arg_2ch, int32_t arg2) {
                                                                 |     r1 = arg2;
    0x00033360 push {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr}     |     
    0x00033364 ldr fp, [pc, 0xac]                                |     fp = *(0x00033418);
    0x00033368 ldr sl, [sp, 0x28]                                |     sl = *(arg_28h);
    0x0003336c ldr r5, [sp, 0x2c]                                |     r5 = *(arg_2ch);
    0x00033370 mov sb, r1                                        |     sb = r1;
    0x00033374 mov r8, r2                                        |     r8 = r2;
    0x00033378 mov r7, r3                                        |     r7 = r3;
    0x0003337c mov r4, 0                                         |     r4 = 0;
    0x00033380 add fp, pc, fp                                    |     
                                                                 |     do {
    0x00033384 add r3, r4, 8                                     |         r3 = r4 + 8;
    0x00033388 cmp sl, r3                                        |         
                                                                 |         if (sl < r3) {
    0x0003338c bhs 0x333b8                                       |             
    0x00033390 ldr r1, [pc, 0x84]                                |             r1 = *(0x33418);
    0x00033394 ldr r0, [r5]                                      |             r0 = *(r5);
    0x00033398 add r1, pc, r1                                    |             r1 = pc + r1;
    0x0003339c bl 0x104cc                                        |             Curl_infof ();
    0x000333a0 ldr r3, [pc, 0x78]                                |             r3 = *(0x3341c);
    0x000333a4 add r3, pc, r3                                    |             r3 = pc + r3;
    0x000333a8 str r3, [sb]                                      |             *(sb) = r3;
    0x000333ac mov r3, 8                                         |             r3 = 8;
    0x000333b0 strb r3, [r8]                                     |             *(r8) = r3;
    0x000333b4 b 0x333f8                                         |             
                                                                 |         } else {
    0x000333b8 add r6, r4, 1                                     |             r6 = r4 + 1;
    0x000333bc add r6, r7, r6                                    |             r6 = r7 + r6;
    0x000333c0 mov r2, 8                                         |             r2 = 8;
    0x000333c4 mov r1, fp                                        |             r1 = fp;
    0x000333c8 mov r0, r6                                        |             r0 = r6;
    0x000333cc bl 0x5820                                         |             memcmp (r0, r1, r2);
    0x000333d0 add r3, r7, r4                                    |             r3 = r7 + r4;
    0x000333d4 cmp r0, 0                                         |             
                                                                 |             if (r0 != 0) {
    0x000333d8 bne 0x33408                                       |                 goto label_0;
                                                                 |             }
    0x000333dc str r6, [sb]                                      |             *(sb) = r6;
    0x000333e0 ldr r1, [pc, 0x3c]                                |             r1 = *(0x33420);
    0x000333e4 ldrb r3, [r3]                                     |             r3 = *(r3);
    0x000333e8 add r1, pc, r1                                    |             r1 = pc + r1;
    0x000333ec strb r3, [r8]                                     |             *(r8) = r3;
    0x000333f0 ldr r0, [r5]                                      |             r0 = *(r5);
    0x000333f4 bl 0x104cc                                        |             Curl_infof ();
                                                                 |         }
    0x000333f8 mov r3, 2                                         |         r3 = 2;
    0x000333fc str r3, [r5, 0x504]                               |         *((r5 + 0x504)) = r3;
    0x00033400 mov r0, 0                                         |         r0 = 0;
    0x00033404 pop {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}      |         
                                                                 | label_0:
    0x00033408 ldrb r3, [r7, r4]                                 |         r3 = *((r7 + r4));
    0x0003340c add r3, r3, 1                                     |         r3++;
    0x00033410 add r4, r4, r3                                    |         r4 += r3;
    0x00033414 b 0x33384                                         |         
                                                                 |     } 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/lib/libcurl.so @ 0x334b8 */
                                                             | #include <stdint.h>
                                                             |  
    ; (fcn) sym.servercert ()                                | void servercert (int32_t arg_8h, int32_t arg_ch, int32_t arg1, int32_t arg2) {
                                                             |     int32_t var_0h;
                                                             |     int32_t var_4h;
                                                             |     int32_t var_8h;
                                                             |     int32_t var_ch;
                                                             |     int32_t var_10h;
                                                             |     int32_t var_14h;
                                                             |     int32_t var_18h;
                                                             |     char * 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_44h;
                                                             |     int32_t var_4ch;
                                                             |     int32_t var_50h;
                                                             |     int32_t var_54h;
                                                             |     int32_t var_58h;
                                                             |     size_t nmeb;
                                                             |     void * s2;
                                                             |     int32_t var_e0h;
                                                             |     void * s;
                                                             |     int32_t var_1e0h;
                                                             |     int32_t var_600h;
                                                             |     int32_t var_9e0h;
                                                             |     int32_t var_4h_2;
                                                             |     r0 = arg1;
                                                             |     r1 = arg2;
    0x000334b8 ldr r3, [pc, 0xfd8]                           |     r3 = *(0x34494);
    0x000334bc push {r4, r5, r6, r7, r8, sb, sl, fp, lr}     |     
    0x000334c0 ldr sb, [r0]                                  |     sb = *(r0);
    0x000334c4 sub sp, sp, 0x9e0                             |     
    0x000334c8 sub sp, sp, 4                                 |     
    0x000334cc add r3, pc, r3                                |     r3 = pc + r3;
    0x000334d0 mov r8, r0                                    |     r8 = r0;
    0x000334d4 str r2, [sp, 0x10]                            |     var_10h = r2;
    0x000334d8 mov fp, r1                                    |     
    0x000334dc mov r2, 0xfc                                  |     r2 = 0xfc;
    0x000334e0 mov r1, 0                                     |     r1 = 0;
    0x000334e4 add r0, sp, 0xe4                              |     r0 += s;
    0x000334e8 str r3, [sp, 0x30]                            |     var_30h = r3;
    0x000334ec str r1, [sp, 0xe0]                            |     var_e0h = r1;
    0x000334f0 bl 0x576c                                     |     memset (r0, r1, r2);
    0x000334f4 ldr r3, [r8, 0xf0]                            |     r3 = *((r8 + 0xf0));
    0x000334f8 cmp r3, 2                                     |     
                                                             |     if (r3 == 2) {
    0x000334fc bne 0x33520                                   |         
    0x00033500 ldr r3, [r8, 0x19c]                           |         r3 = *((r8 + 0x19c));
    0x00033504 adds r3, r3, 1                                |         r3++;
                                                             |         if (r3 == r3) {
    0x00033508 movne r3, 1                                   |             r3 = 1;
                                                             |         }
    0x0003350c add r3, r8, r3, lsl 4                         |         r3 = r8 + (r3 << 4);
    0x00033510 ldr r3, [r3, 0x1e0]                           |         r3 = *((r3 + 0x1e0));
    0x00033514 cmp r3, 2                                     |         
                                                             |         if (r3 == 2) {
    0x00033518 addne r3, sb, 0x460                           |             r3 = sb + 0x460;
                                                             |         }
                                                             |         if (r3 != 2) {
    0x0003351c bne 0x33528                                   |             goto label_36;
                                                             |         }
                                                             |     }
    0x00033520 add r3, sb, 0x400                             |     r3 = sb + 0x400;
    0x00033524 add r3, r3, 8                                 |     r3 += 8;
                                                             | label_36:
    0x00033528 str r3, [sp, 0x34]                            |     var_34h = r3;
    0x0003352c bl 0x55b0                                     |     BIO_s_mem ();
    0x00033530 bl 0x540c                                     |     BIO_new ();
    0x00033534 ldrb r3, [sb, 0x41c]                          |     r3 = *((sb + 0x41c));
    0x00033538 cmp r3, 0                                     |     
    0x0003353c str r0, [sp, 8]                               |     var_8h = r0;
                                                             |     if (r3 == 0) {
    0x00033540 beq 0x335a8                                   |         goto label_37;
                                                             |     }
    0x00033544 ldr r3, [fp, 0xc]                             |     r3 = *(arg_ch);
    0x00033548 ldr r7, [r8]                                  |     r7 = *(r8);
    0x0003354c ldr r0, [r3, 4]                               |     r0 = *((r3 + 4));
    0x00033550 bl 0x5748                                     |     r0 = SSL_get_peer_cert_chain ();
    0x00033554 subs r3, r0, 0                                |     r3 = r0 - 0;
    0x00033558 str r3, [sp, 0x24]                            |     var_24h = r3;
                                                             |     if (r3 == r0) {
    0x0003355c beq 0x335a8                                   |         goto label_37;
                                                             |     }
    0x00033560 bl 0x5afc                                     |     OPENSSL_sk_num ();
    0x00033564 str r0, [sp, 0x1c]                            |     var_1ch = r0;
    0x00033568 mov r1, r0                                    |     r1 = r0;
    0x0003356c mov r0, r7                                    |     r0 = r7;
    0x00033570 bl 0x37734                                    |     r0 = Curl_ssl_init_certinfo ();
    0x00033574 subs sl, r0, 0                                |     sl = r0 - 0;
                                                             |     if (sl != r0) {
    0x00033578 bne 0x335a8                                   |         goto label_37;
                                                             |     }
    0x0003357c bl 0x55b0                                     |     BIO_s_mem ();
    0x00033580 bl 0x540c                                     |     BIO_new ();
    0x00033584 ldr r3, [pc, 0xf10]                           |     r3 = *(0x34498);
    0x00033588 add r3, pc, r3                                |     r3 = pc + r3;
    0x0003358c str r3, [sp, 0x38]                            |     var_38h = r3;
    0x00033590 mov r4, r0                                    |     r4 = r0;
                                                             |     do {
    0x00033594 ldr r3, [sp, 0x1c]                            |         r3 = var_1ch;
    0x00033598 cmp r3, sl                                    |         
                                                             |         if (r3 <= sl) {
    0x0003359c bgt 0x335fc                                   |             
    0x000335a0 mov r0, r4                                    |             r0 = r4;
    0x000335a4 bl 0x5ad8                                     |             BIO_free ();
                                                             | label_37:
    0x000335a8 bl 0x531c                                     |             BIO_s_file ();
    0x000335ac bl 0x540c                                     |             BIO_new ();
    0x000335b0 subs sl, r0, 0                                |             sl -= s;
                                                             |             if (sl != s) {
    0x000335b4 bne 0x33e10                                   |                 goto label_38;
                                                             |             }
    0x000335b8 add r4, sp, 0xe0                              |             r4 += var_e0h;
    0x000335bc bl 0x4e9c                                     |             ERR_get_error ();
    0x000335c0 mov r1, r4                                    |             r1 = r4;
    0x000335c4 mov r2, 0x100                                 |             r2 = 0x100;
    0x000335c8 bl 0x5064                                     |             ERR_error_string_n ();
    0x000335cc ldr r1, [pc, 0xecc]                           |             r1 = *(0x3449c);
    0x000335d0 mov r2, r4                                    |             r2 = r4;
    0x000335d4 add r1, pc, r1                                |             r1 = pc + r1;
    0x000335d8 mov r0, sb                                    |             r0 = sb;
    0x000335dc bl 0x10544                                    |             Curl_failf ();
    0x000335e0 ldr r0, [sp, 8]                               |             r0 = var_8h;
    0x000335e4 bl 0x5ad8                                     |             BIO_free ();
    0x000335e8 mov r4, sl                                    |             r4 = sl;
                                                             | label_10:
    0x000335ec mov r0, r4                                    |             r0 = r4;
    0x000335f0 add sp, sp, 0x9e0                             |             
    0x000335f4 add sp, sp, 4                                 |             
    0x000335f8 pop {r4, r5, r6, r7, r8, sb, sl, fp, pc}      |             
                                                             |         }
    0x000335fc mov r1, sl                                    |         r1 = sl;
    0x00033600 ldr r0, [sp, 0x24]                            |         r0 = var_24h;
    0x00033604 bl 0x4de8                                     |         OPENSSL_sk_value ();
    0x00033608 mov r5, 0                                     |         r5 = 0;
    0x0003360c str r5, [sp, 0x54]                            |         var_54h = r5;
    0x00033610 add r6, sp, 0x50                              |         r6 += var_50h;
    0x00033614 str r0, [sp, 0xc]                             |         var_ch = r0;
    0x00033618 bl 0x5928                                     |         X509_get_subject_name ();
    0x0003361c ldr r3, [pc, 0xe80]                           |         r3 = *(0x344a0);
    0x00033620 mov r2, r5                                    |         r2 = r5;
    0x00033624 mov r1, r0                                    |         r1 = r0;
    0x00033628 mov r0, r4                                    |         r0 = r4;
    0x0003362c bl 0x5b50                                     |         X509_NAME_print_ex ();
    0x00033630 mov r3, r6                                    |         r3 = r6;
    0x00033634 mov r2, r5                                    |         r2 = r5;
    0x00033638 mov r1, 3                                     |         r1 = 3;
    0x0003363c mov r0, r4                                    |         r0 = r4;
    0x00033640 bl 0x5aa8                                     |         BIO_ctrl ();
    0x00033644 ldr r2, [pc, 0xe5c]                           |         r2 = *(0x344a4);
    0x00033648 ldr r3, [sp, 0x50]                            |         r3 = var_50h;
    0x0003364c add r2, pc, r2                                |         r2 = pc + r2;
    0x00033650 mov r1, sl                                    |         r1 = sl;
    0x00033654 str r0, [sp]                                  |         *(sp) = r0;
    0x00033658 mov r0, r7                                    |         r0 = r7;
    0x0003365c bl 0x37788                                    |         Curl_ssl_push_certinfo_len ();
    0x00033660 mov r3, r5                                    |         r3 = r5;
    0x00033664 mov r2, r5                                    |         r2 = r5;
    0x00033668 mov r1, 1                                     |         r1 = 1;
    0x0003366c mov r0, r4                                    |         r0 = r4;
    0x00033670 bl 0x5aa8                                     |         BIO_ctrl ();
    0x00033674 ldr r0, [sp, 0xc]                             |         r0 = var_ch;
    0x00033678 bl 0x4f44                                     |         X509_get_issuer_name ();
    0x0003367c ldr r3, [pc, 0xe20]                           |         r3 = *(0x344a0);
    0x00033680 mov r2, r5                                    |         r2 = r5;
    0x00033684 mov r1, r0                                    |         r1 = r0;
    0x00033688 mov r0, r4                                    |         r0 = r4;
    0x0003368c bl 0x5b50                                     |         X509_NAME_print_ex ();
    0x00033690 mov r3, r6                                    |         r3 = r6;
    0x00033694 mov r2, r5                                    |         r2 = r5;
    0x00033698 mov r1, 3                                     |         r1 = 3;
    0x0003369c mov r0, r4                                    |         r0 = r4;
    0x000336a0 bl 0x5aa8                                     |         BIO_ctrl ();
    0x000336a4 ldr r2, [pc, 0xe00]                           |         r2 = *(0x344a8);
    0x000336a8 ldr r3, [sp, 0x50]                            |         r3 = var_50h;
    0x000336ac add r2, pc, r2                                |         r2 = pc + r2;
    0x000336b0 mov r1, sl                                    |         r1 = sl;
    0x000336b4 str r0, [sp]                                  |         *(sp) = r0;
    0x000336b8 mov r0, r7                                    |         r0 = r7;
    0x000336bc bl 0x37788                                    |         Curl_ssl_push_certinfo_len ();
    0x000336c0 mov r3, r5                                    |         r3 = r5;
    0x000336c4 mov r2, r5                                    |         r2 = r5;
    0x000336c8 mov r1, 1                                     |         r1 = 1;
    0x000336cc mov r0, r4                                    |         r0 = r4;
    0x000336d0 bl 0x5aa8                                     |         BIO_ctrl ();
    0x000336d4 ldr r0, [sp, 0xc]                             |         r0 = var_ch;
    0x000336d8 bl 0x534c                                     |         X509_get_version ();
    0x000336dc ldr r1, [pc, 0xdcc]                           |         r1 = *(0x344ac);
    0x000336e0 add r1, pc, r1                                |         r1 = pc + r1;
    0x000336e4 mov r2, r0                                    |         r2 = r0;
    0x000336e8 mov r0, r4                                    |         r0 = r4;
    0x000336ec bl 0x4e18                                     |         BIO_printf ();
    0x000336f0 mov r3, r6                                    |         r3 = r6;
    0x000336f4 mov r2, r5                                    |         r2 = r5;
    0x000336f8 mov r1, 3                                     |         r1 = 3;
    0x000336fc mov r0, r4                                    |         r0 = r4;
    0x00033700 bl 0x5aa8                                     |         BIO_ctrl ();
    0x00033704 ldr r2, [pc, 0xda8]                           |         r2 = *(0x344b0);
    0x00033708 ldr r3, [sp, 0x50]                            |         r3 = var_50h;
    0x0003370c add r2, pc, r2                                |         r2 = pc + r2;
    0x00033710 mov r1, sl                                    |         r1 = sl;
    0x00033714 str r0, [sp]                                  |         *(sp) = r0;
    0x00033718 mov r0, r7                                    |         r0 = r7;
    0x0003371c bl 0x37788                                    |         Curl_ssl_push_certinfo_len ();
    0x00033720 mov r3, r5                                    |         r3 = r5;
    0x00033724 mov r2, r5                                    |         r2 = r5;
    0x00033728 mov r1, 1                                     |         r1 = 1;
    0x0003372c mov r0, r4                                    |         r0 = r4;
    0x00033730 bl 0x5aa8                                     |         BIO_ctrl ();
    0x00033734 ldr r0, [sp, 0xc]                             |         r0 = var_ch;
    0x00033738 bl 0x5688                                     |         X509_get_serialNumber ();
    0x0003373c ldr r3, [pc, 0xd74]                           |         r3 = *(0x344b4);
    0x00033740 ldr r2, [r0, 4]                               |         r2 = *((r0 + 4));
    0x00033744 mov r6, r0                                    |         r6 = r0;
    0x00033748 cmp r2, r3                                    |         
                                                             |         if (r2 == r3) {
    0x0003374c bne 0x33760                                   |             
    0x00033750 ldr r1, [pc, 0xd64]                           |             r1 = *(0x344b8);
    0x00033754 mov r0, r4                                    |             r0 = r4;
    0x00033758 add r1, pc, r1                                |             r1 = pc + r1;
    0x0003375c bl 0x5124                                     |             BIO_puts ();
                                                             |         }
    0x00033760 ldr r3, [pc, 0xd58]                           |         r3 = *(0x344bc);
    0x00033764 mov r5, 0                                     |         r5 = 0;
    0x00033768 add r3, pc, r3                                |         r3 = pc + r3;
    0x0003376c str r3, [sp, 0x14]                            |         var_14h = r3;
                                                             | label_0:
    0x00033770 ldr r3, [r6]                                  |         r3 = *(r6);
    0x00033774 cmp r5, r3                                    |         
                                                             |         if (r5 < r3) {
    0x00033778 blt 0x339b0                                   |             goto label_39;
                                                             |         }
    0x0003377c add r6, sp, 0x50                              |         r6 += var_50h;
    0x00033780 mov r3, r6                                    |         r3 = r6;
    0x00033784 mov r2, 0                                     |         r2 = 0;
    0x00033788 mov r1, 3                                     |         r1 = 3;
    0x0003378c mov r0, r4                                    |         r0 = r4;
    0x00033790 bl 0x5aa8                                     |         BIO_ctrl ();
    0x00033794 ldr r2, [pc, 0xd28]                           |         r2 = *(0x344c0);
    0x00033798 ldr r3, [sp, 0x50]                            |         r3 = var_50h;
    0x0003379c add r2, pc, r2                                |         r2 = pc + r2;
    0x000337a0 mov r1, sl                                    |         r1 = sl;
    0x000337a4 mov r5, 0                                     |         r5 = 0;
    0x000337a8 str r0, [sp]                                  |         *(sp) = r0;
    0x000337ac mov r0, r7                                    |         r0 = r7;
    0x000337b0 bl 0x37788                                    |         Curl_ssl_push_certinfo_len ();
    0x000337b4 mov r3, 0                                     |         r3 = 0;
    0x000337b8 mov r2, r3                                    |         r2 = r3;
    0x000337bc mov r1, 1                                     |         r1 = 1;
    0x000337c0 mov r0, r4                                    |         r0 = r4;
    0x000337c4 bl 0x5aa8                                     |         BIO_ctrl ();
    0x000337c8 str r5, [sp, 0x58]                            |         var_58h = r5;
    0x000337cc bl 0x4ecc                                     |         r0 = ASN1_STRING_new ();
    0x000337d0 subs r3, r0, 0                                |         r3 = r0 - 0;
    0x000337d4 str r3, [sp, 0x14]                            |         var_14h = r3;
                                                             |         if (r3 != r0) {
    0x000337d8 beq 0x33860                                   |             
    0x000337dc ldr r2, [sp, 0xc]                             |             r2 = var_ch;
    0x000337e0 add r1, sp, 0x58                              |             r1 += var_58h;
    0x000337e4 add r0, sp, 0x54                              |             r0 += var_54h;
    0x000337e8 bl 0x54a8                                     |             X509_get0_signature ();
    0x000337ec ldr r2, [sp, 0x14]                            |             r2 = var_14h;
    0x000337f0 ldr r1, [sp, 0x58]                            |             r1 = var_58h;
    0x000337f4 mov r0, r4                                    |             r0 = r4;
    0x000337f8 bl 0x501c                                     |             X509_signature_print ();
    0x000337fc ldr r0, [sp, 0x14]                            |             r0 = var_14h;
    0x00033800 bl 0x59ac                                     |             ASN1_STRING_free ();
    0x00033804 ldr r3, [sp, 0x58]                            |             r3 = var_58h;
    0x00033808 cmp r3, r5                                    |             
                                                             |             if (r3 == r5) {
    0x0003380c beq 0x33860                                   |                 goto label_40;
                                                             |             }
    0x00033810 ldr r1, [r3]                                  |             r1 = *(r3);
    0x00033814 mov r0, r4                                    |             r0 = r4;
    0x00033818 bl 0x5100                                     |             i2a_ASN1_OBJECT ();
    0x0003381c mov r3, r6                                    |             r3 = r6;
    0x00033820 mov r2, r5                                    |             r2 = r5;
    0x00033824 mov r1, 3                                     |             r1 = 3;
    0x00033828 mov r0, r4                                    |             r0 = r4;
    0x0003382c bl 0x5aa8                                     |             BIO_ctrl ();
    0x00033830 ldr r2, [pc, 0xc90]                           |             r2 = *(0x344c4);
    0x00033834 ldr r3, [sp, 0x50]                            |             r3 = var_50h;
    0x00033838 add r2, pc, r2                                |             r2 = pc + r2;
    0x0003383c mov r1, sl                                    |             r1 = sl;
    0x00033840 str r0, [sp]                                  |             *(sp) = r0;
    0x00033844 mov r0, r7                                    |             r0 = r7;
    0x00033848 bl 0x37788                                    |             Curl_ssl_push_certinfo_len ();
    0x0003384c mov r3, r5                                    |             r3 = r5;
    0x00033850 mov r2, r5                                    |             r2 = r5;
    0x00033854 mov r1, 1                                     |             r1 = 1;
    0x00033858 mov r0, r4                                    |             r0 = r4;
    0x0003385c bl 0x5aa8                                     |             BIO_ctrl ();
                                                             |         }
                                                             | label_40:
    0x00033860 ldr r0, [sp, 0xc]                             |         r0 = var_ch;
    0x00033864 bl 0x54e4                                     |         X509_get0_extensions ();
    0x00033868 str r0, [sp, 0x20]                            |         var_20h = r0;
    0x0003386c bl 0x5afc                                     |         r0 = OPENSSL_sk_num ();
    0x00033870 cmp r0, 0                                     |         
                                                             |         if (r0 > 0) {
    0x00033874 bgt 0x33b14                                   |             goto label_41;
                                                             |         }
                                                             | label_1:
    0x00033878 ldr r0, [sp, 0xc]                             |         r0 = var_ch;
    0x0003387c bl 0x570c                                     |         X509_get0_notBefore ();
    0x00033880 add r5, sp, 0x50                              |         r5 += var_50h;
    0x00033884 mov r1, r0                                    |         r1 = r0;
    0x00033888 mov r0, r4                                    |         r0 = r4;
    0x0003388c bl 0x4fbc                                     |         ASN1_TIME_print ();
    0x00033890 mov r3, r5                                    |         r3 = r5;
    0x00033894 mov r2, 0                                     |         r2 = 0;
    0x00033898 mov r1, 3                                     |         r1 = 3;
    0x0003389c mov r0, r4                                    |         r0 = r4;
    0x000338a0 bl 0x5aa8                                     |         BIO_ctrl ();
    0x000338a4 ldr r2, [pc, 0xc20]                           |         r2 = *(0x344c8);
    0x000338a8 ldr r3, [sp, 0x50]                            |         r3 = var_50h;
    0x000338ac add r2, pc, r2                                |         r2 = pc + r2;
    0x000338b0 mov r1, sl                                    |         r1 = sl;
    0x000338b4 str r0, [sp]                                  |         *(sp) = r0;
    0x000338b8 mov r0, r7                                    |         r0 = r7;
    0x000338bc bl 0x37788                                    |         Curl_ssl_push_certinfo_len ();
    0x000338c0 mov r3, 0                                     |         r3 = 0;
    0x000338c4 mov r2, r3                                    |         r2 = r3;
    0x000338c8 mov r1, 1                                     |         r1 = 1;
    0x000338cc mov r0, r4                                    |         r0 = r4;
    0x000338d0 bl 0x5aa8                                     |         BIO_ctrl ();
    0x000338d4 ldr r0, [sp, 0xc]                             |         r0 = var_ch;
    0x000338d8 bl 0x58e0                                     |         r0 = X509_get0_notAfter ();
    0x000338dc mov r1, r0                                    |         r1 = r0;
    0x000338e0 mov r0, r4                                    |         r0 = r4;
    0x000338e4 bl 0x4fbc                                     |         ASN1_TIME_print ();
    0x000338e8 mov r3, r5                                    |         r3 = r5;
    0x000338ec mov r2, 0                                     |         r2 = 0;
    0x000338f0 mov r1, 3                                     |         r1 = 3;
    0x000338f4 mov r0, r4                                    |         r0 = r4;
    0x000338f8 bl 0x5aa8                                     |         BIO_ctrl ();
    0x000338fc ldr r2, [pc, 0xbcc]                           |         r2 = *(0x344cc);
    0x00033900 ldr r3, [sp, 0x50]                            |         r3 = var_50h;
    0x00033904 add r2, pc, r2                                |         r2 = pc + r2;
    0x00033908 mov r1, sl                                    |         r1 = sl;
    0x0003390c str r0, [sp]                                  |         *(sp) = r0;
    0x00033910 mov r0, r7                                    |         r0 = r7;
    0x00033914 bl 0x37788                                    |         Curl_ssl_push_certinfo_len ();
    0x00033918 mov r3, 0                                     |         r3 = 0;
    0x0003391c mov r2, r3                                    |         r2 = r3;
    0x00033920 mov r1, 1                                     |         r1 = 1;
    0x00033924 mov r0, r4                                    |         r0 = r4;
    0x00033928 bl 0x5aa8                                     |         BIO_ctrl ();
    0x0003392c ldr r0, [sp, 0xc]                             |         r0 = var_ch;
    0x00033930 bl 0x507c                                     |         r0 = X509_get_pubkey ();
    0x00033934 subs r6, r0, 0                                |         r6 = r0 - 0;
                                                             |         if (r6 != r0) {
    0x00033938 bne 0x33b28                                   |             goto label_42;
                                                             |         }
    0x0003393c ldr r1, [pc, 0xb90]                           |         r1 = *(0x344d0);
    0x00033940 mov r0, r7                                    |         r0 = r7;
    0x00033944 add r1, pc, r1                                |         r1 = pc + r1;
    0x00033948 bl 0x104cc                                    |         Curl_infof ();
                                                             | label_6:
    0x0003394c ldr r3, [sp, 0x54]                            |         r3 = var_54h;
    0x00033950 cmp r3, 0                                     |         
                                                             |         if (r3 != 0) {
    0x00033954 bne 0x33e00                                   |             goto label_43;
                                                             |         }
                                                             | label_8:
    0x00033958 ldr r1, [sp, 0xc]                             |         r1 = var_ch;
    0x0003395c mov r0, r4                                    |         r0 = r4;
    0x00033960 bl 0x519c                                     |         PEM_write_bio_X509 ();
    0x00033964 add r3, sp, 0x50                              |         r3 += var_50h;
    0x00033968 mov r2, 0                                     |         r2 = 0;
    0x0003396c mov r1, 3                                     |         r1 = 3;
    0x00033970 mov r0, r4                                    |         r0 = r4;
    0x00033974 bl 0x5aa8                                     |         BIO_ctrl ();
    0x00033978 ldr r2, [pc, 0xb58]                           |         r2 = *(0x344d4);
    0x0003397c mov r1, sl                                    |         r1 = sl;
    0x00033980 ldr r3, [sp, 0x50]                            |         r3 = var_50h;
    0x00033984 add r2, pc, r2                                |         r2 = pc + r2;
    0x00033988 add sl, sl, 1                                 |         sl++;
    0x0003398c str r0, [sp]                                  |         *(sp) = r0;
    0x00033990 mov r0, r7                                    |         r0 = r7;
    0x00033994 bl 0x37788                                    |         Curl_ssl_push_certinfo_len ();
    0x00033998 mov r3, 0                                     |         r3 = 0;
    0x0003399c mov r2, r3                                    |         r2 = r3;
    0x000339a0 mov r1, 1                                     |         r1 = 1;
    0x000339a4 mov r0, r4                                    |         r0 = r4;
    0x000339a8 bl 0x5aa8                                     |         BIO_ctrl ();
    0x000339ac b 0x33594                                     |         
                                                             |     } while (1);
                                                             | label_39:
    0x000339b0 ldr r3, [r6, 8]                               |     r3 = *((r6 + 8));
    0x000339b4 ldr r1, [sp, 0x14]                            |     r1 = var_14h;
    0x000339b8 ldrb r2, [r3, r5]                             |     r2 = *((r3 + r5));
    0x000339bc mov r0, r4                                    |     r0 = r4;
    0x000339c0 bl 0x4e18                                     |     BIO_printf ();
    0x000339c4 add r5, r5, 1                                 |     r5++;
    0x000339c8 b 0x33770                                     |     goto label_0;
                                                             | label_2:
    0x000339cc mov r1, r6                                    |     r1 = r6;
    0x000339d0 ldr r0, [sp, 0x20]                            |     r0 = var_20h;
    0x000339d4 bl 0x4de8                                     |     r0 = OPENSSL_sk_value ();
    0x000339d8 mov r5, r0                                    |     r5 = r0;
    0x000339dc bl 0x55b0                                     |     BIO_s_mem ();
    0x000339e0 bl 0x540c                                     |     r0 = BIO_new ();
    0x000339e4 subs r3, r0, 0                                |     r3 = r0 - 0;
    0x000339e8 str r3, [sp, 0x14]                            |     var_14h = r3;
                                                             |     if (r3 == r0) {
    0x000339ec beq 0x33878                                   |         goto label_1;
                                                             |     }
    0x000339f0 mov r0, r5                                    |     r0 = r5;
    0x000339f4 bl 0x5118                                     |     X509_EXTENSION_get_object ();
    0x000339f8 mov r1, 0x80                                  |     r1 = 0x80;
    0x000339fc mov r2, r0                                    |     r2 = r0;
    0x00033a00 add r0, sp, 0x60                              |     r0 += s2;
    0x00033a04 bl 0x5598                                     |     i2t_ASN1_OBJECT ();
    0x00033a08 mov r3, 0                                     |     r3 = 0;
    0x00033a0c mov r2, r3                                    |     r2 = r3;
    0x00033a10 mov r1, r5                                    |     r1 = r5;
    0x00033a14 ldr r0, [sp, 0x14]                            |     r0 = var_14h;
    0x00033a18 bl 0x513c                                     |     r0 = X509V3_EXT_print ();
    0x00033a1c cmp r0, 0                                     |     
                                                             |     if (r0 == 0) {
    0x00033a20 bne 0x33a38                                   |         
    0x00033a24 mov r0, r5                                    |         r0 = r5;
    0x00033a28 bl 0x4f80                                     |         r0 = X509_EXTENSION_get_data ();
    0x00033a2c mov r1, r0                                    |         r1 = r0;
    0x00033a30 ldr r0, [sp, 0x14]                            |         r0 = var_14h;
    0x00033a34 bl 0x53b8                                     |         ASN1_STRING_print ();
                                                             |     }
    0x00033a38 add r3, sp, 0x5c                              |     r3 += nmeb;
    0x00033a3c mov r2, 0                                     |     r2 = 0;
    0x00033a40 mov r1, 0x73                                  |     r1 = 0x73;
    0x00033a44 ldr r0, [sp, 0x14]                            |     r0 = var_14h;
    0x00033a48 bl 0x5aa8                                     |     BIO_ctrl ();
    0x00033a4c add r3, sp, 0x1e0                             |     r3 += var_1e0h;
    0x00033a50 str r3, [sp, 0x18]                            |     var_18h = r3;
    0x00033a54 ldr r3, [pc, 0xa80]                           |     r3 = *(0x344d8);
    0x00033a58 mov r5, 0                                     |     r5 = 0;
    0x00033a5c add r3, pc, r3                                |     r3 = pc + r3;
    0x00033a60 str r3, [sp, 0x28]                            |     var_28h = r3;
                                                             | label_3:
    0x00033a64 ldr r3, [sp, 0x5c]                            |     r3 = nmeb;
    0x00033a68 ldr r2, [r3]                                  |     r2 = *(r3);
    0x00033a6c cmp r5, r2                                    |     
                                                             |     if (r5 <= r2) {
    0x00033a70 blo 0x33aa8                                   |         goto label_44;
                                                             |     }
    0x00033a74 add r3, sp, 0x1e0                             |     r3 += var_1e0h;
    0x00033a78 add r2, sp, 0x60                              |     r2 += s2;
    0x00033a7c mov r1, sl                                    |     r1 = sl;
    0x00033a80 mov r0, r7                                    |     r0 = r7;
    0x00033a84 bl 0x37878                                    |     Curl_ssl_push_certinfo ();
    0x00033a88 ldr r0, [sp, 0x14]                            |     r0 = var_14h;
    0x00033a8c bl 0x5ad8                                     |     BIO_free ();
    0x00033a90 add r6, r6, 1                                 |     r6++;
                                                             | label_5:
    0x00033a94 ldr r0, [sp, 0x20]                            |     r0 = var_20h;
    0x00033a98 bl 0x5afc                                     |     r0 = OPENSSL_sk_num ();
    0x00033a9c cmp r6, r0                                    |     
                                                             |     if (r6 < r0) {
    0x00033aa0 blt 0x339cc                                   |         goto label_2;
                                                             |     }
    0x00033aa4 b 0x33878                                     |     goto label_1;
                                                             | label_44:
    0x00033aa8 ldr ip, [r3, 4]                               |     ip = *((r3 + 4));
    0x00033aac ldrb r3, [ip, r5]                             |     r3 = *((ip + r5));
    0x00033ab0 cmp r3, 0xa                                   |     
                                                             |     if (r3 != 0xa) {
    0x00033ab4 ldreq r3, [sp, 0x28]                          |         r3 = var_28h;
                                                             |     }
                                                             |     if (r3 == 0xa) {
    0x00033ab8 ldrne r3, [sp, 0x2c]                          |         r3 = var_2ch;
                                                             |     }
                                                             |     if (r3 != 0xa) {
    0x00033abc addeq r5, r5, 1                               |         r5++;
                                                             |     }
    0x00033ac0 mov r1, r5                                    |     r1 = r5;
                                                             | label_4:
    0x00033ac4 cmp r2, r1                                    |     
    0x00033ac8 add r5, r5, 1                                 |     r5++;
                                                             |     if (r2 < r1) {
    0x00033acc bls 0x33a64                                   |         goto label_3;
                                                             |     }
    0x00033ad0 add r1, ip, r5                                |     r1 = ip + r5;
    0x00033ad4 ldrb r0, [r1, -1]                             |     r0 = *((r1 - 1));
    0x00033ad8 mov r1, r5                                    |     r1 = r5;
    0x00033adc cmp r0, 0x20                                  |     
                                                             |     if (r0 == 0x20) {
    0x00033ae0 beq 0x33ac4                                   |         goto label_4;
                                                             |     }
    0x00033ae4 ldr r1, [sp, 0x18]                            |     r1 = var_18h;
    0x00033ae8 add r2, sp, 0x9e0                             |     r2 += var_9e0h;
    0x00033aec sub r1, r2, r1                                |     r1 = r2 - r1;
    0x00033af0 str r0, [sp]                                  |     *(sp) = r0;
    0x00033af4 ldr r2, [sp, 0x38]                            |     r2 = var_38h;
    0x00033af8 sub r1, r1, 0x600                             |     r1 -= var_600h;
    0x00033afc ldr r0, [sp, 0x18]                            |     r0 = var_18h;
    0x00033b00 bl 0x579c                                     |     fcn_0000579c ();
    0x00033b04 ldr r3, [sp, 0x18]                            |     r3 = var_18h;
    0x00033b08 add r3, r3, r0                                |     r3 += r0;
    0x00033b0c str r3, [sp, 0x18]                            |     var_18h = r3;
    0x00033b10 b 0x33a64                                     |     goto label_3;
                                                             | label_41:
    0x00033b14 ldr r3, [pc, 0x9c4]                           |     r3 = *(0x344dc);
    0x00033b18 mov r6, 0                                     |     r6 = 0;
    0x00033b1c add r3, pc, r3                                |     r3 = pc + r3;
    0x00033b20 str r3, [sp, 0x2c]                            |     var_2ch = r3;
    0x00033b24 b 0x33a94                                     |     goto label_5;
                                                             | label_42:
    0x00033b28 bl 0x5178                                     |     r0 = EVP_PKEY_id ();
    0x00033b2c cmp r0, 0x1c                                  |     
                                                             |     if (r0 == 0x1c) {
    0x00033b30 beq 0x33cd0                                   |         goto label_45;
                                                             |     }
    0x00033b34 cmp r0, 0x74                                  |     
                                                             |     if (r0 == 0x74) {
    0x00033b38 beq 0x33c10                                   |         goto label_46;
                                                             |     }
    0x00033b3c cmp r0, 6                                     |     
                                                             |     if (r0 != 6) {
    0x00033b40 bne 0x33c04                                   |         goto label_47;
                                                             |     }
    0x00033b44 mov r0, r6                                    |     r0 = r6;
    0x00033b48 bl 0x4e6c                                     |     EVP_PKEY_get0_RSA ();
    0x00033b4c mov r3, 0                                     |     r3 = 0;
    0x00033b50 add r2, sp, 0x1e0                             |     r2 += var_1e0h;
    0x00033b54 add r1, sp, 0x60                              |     r1 += s2;
    0x00033b58 bl 0x5bf8                                     |     RSA_get0_key ();
    0x00033b5c ldr r1, [sp, 0x60]                            |     r1 = s2;
    0x00033b60 mov r0, r4                                    |     r0 = r4;
    0x00033b64 bl 0x585c                                     |     BN_print ();
    0x00033b68 mov r3, r5                                    |     r3 = r5;
    0x00033b6c mov r2, 0                                     |     r2 = 0;
    0x00033b70 mov r1, 3                                     |     r1 = 3;
    0x00033b74 mov r0, r4                                    |     r0 = r4;
    0x00033b78 bl 0x5aa8                                     |     BIO_ctrl ();
    0x00033b7c ldr r2, [pc, 0x960]                           |     r2 = *(0x344e0);
    0x00033b80 ldr r3, [sp, 0x50]                            |     r3 = var_50h;
    0x00033b84 add r2, pc, r2                                |     r2 = pc + r2;
    0x00033b88 mov r1, sl                                    |     r1 = sl;
    0x00033b8c ldr r5, [pc, 0x954]                           |     r5 = *(0x344e4);
    0x00033b90 add r5, pc, r5                                |     r5 = pc + r5;
    0x00033b94 str r0, [sp]                                  |     *(sp) = r0;
    0x00033b98 mov r0, r7                                    |     r0 = r7;
    0x00033b9c bl 0x37788                                    |     Curl_ssl_push_certinfo_len ();
    0x00033ba0 mov r3, 0                                     |     r3 = 0;
    0x00033ba4 mov r2, r3                                    |     r2 = r3;
    0x00033ba8 mov r1, 1                                     |     r1 = 1;
    0x00033bac mov r0, r4                                    |     r0 = r4;
    0x00033bb0 bl 0x5aa8                                     |     BIO_ctrl ();
    0x00033bb4 ldr r3, [sp, 0x60]                            |     r3 = s2;
    0x00033bb8 mov r2, sl                                    |     r2 = sl;
    0x00033bbc str r3, [sp, 4]                               |     var_4h = r3;
    0x00033bc0 ldr r3, [pc, 0x924]                           |     r3 = *(0x344e8);
    0x00033bc4 mov r1, r4                                    |     r1 = r4;
    0x00033bc8 add r3, pc, r3                                |     r3 = pc + r3;
    0x00033bcc str r3, [sp]                                  |     *(sp) = r3;
    0x00033bd0 mov r0, r7                                    |     r0 = r7;
    0x00033bd4 mov r3, r5                                    |     r3 = r5;
    0x00033bd8 bl 0x32bfc                                    |     pubkey_show ();
    0x00033bdc ldr r3, [sp, 0x1e0]                           |     r3 = var_1e0h;
    0x00033be0 str r3, [sp, 4]                               |     var_4h = r3;
    0x00033be4 ldr r3, [pc, 0x904]                           |     r3 = *(0x344ec);
    0x00033be8 add r3, pc, r3                                |     r3 = pc + r3;
                                                             |     do {
                                                             | label_7:
    0x00033bec str r3, [sp]                                  |         *(sp) = r3;
    0x00033bf0 mov r2, sl                                    |         r2 = sl;
    0x00033bf4 mov r3, r5                                    |         r3 = r5;
    0x00033bf8 mov r1, r4                                    |         r1 = r4;
    0x00033bfc mov r0, r7                                    |         r0 = r7;
    0x00033c00 bl 0x32bfc                                    |         pubkey_show ();
                                                             | label_47:
    0x00033c04 mov r0, r6                                    |         r0 = r6;
    0x00033c08 bl 0x59c4                                     |         EVP_PKEY_free ();
    0x00033c0c b 0x3394c                                     |         goto label_6;
                                                             | label_46:
    0x00033c10 mov r0, r6                                    |         r0 = r6;
    0x00033c14 bl 0x54cc                                     |         EVP_PKEY_get0_DSA ();
    0x00033c18 add r3, sp, 0x60                              |         r3 += s2;
    0x00033c1c sub r2, r3, 4                                 |         r2 -= nmeb;
    0x00033c20 sub r1, r3, 8                                 |         r1 -= var_58h;
    0x00033c24 mov r5, r0                                    |         r5 = r0;
    0x00033c28 bl 0x5904                                     |         DSA_get0_pqg ();
    0x00033c2c mov r0, r5                                    |         r0 = r5;
    0x00033c30 mov r2, 0                                     |         r2 = 0;
    0x00033c34 add r1, sp, 0x1e0                             |         r1 += var_1e0h;
    0x00033c38 bl 0x5310                                     |         DSA_get0_key ();
    0x00033c3c ldr r3, [sp, 0x58]                            |         r3 = var_58h;
    0x00033c40 ldr r5, [pc, 0x8ac]                           |         r5 = *(0x344f0);
    0x00033c44 str r3, [sp, 4]                               |         var_4h = r3;
    0x00033c48 ldr r3, [pc, 0x8a8]                           |         r3 = *(0x344f4);
    0x00033c4c add r5, pc, r5                                |         r5 = pc + r5;
    0x00033c50 add r3, pc, r3                                |         r3 = pc + r3;
    0x00033c54 str r3, [sp]                                  |         *(sp) = r3;
    0x00033c58 mov r2, sl                                    |         r2 = sl;
    0x00033c5c mov r3, r5                                    |         r3 = r5;
    0x00033c60 mov r1, r4                                    |         r1 = r4;
    0x00033c64 mov r0, r7                                    |         r0 = r7;
    0x00033c68 bl 0x32bfc                                    |         pubkey_show ();
    0x00033c6c ldr r3, [sp, 0x5c]                            |         r3 = nmeb;
    0x00033c70 mov r2, sl                                    |         r2 = sl;
    0x00033c74 str r3, [sp, 4]                               |         var_4h = r3;
    0x00033c78 ldr r3, [pc, 0x87c]                           |         r3 = *(0x344f8);
    0x00033c7c mov r1, r4                                    |         r1 = r4;
    0x00033c80 add r3, pc, r3                                |         r3 = pc + r3;
    0x00033c84 str r3, [sp]                                  |         *(sp) = r3;
    0x00033c88 mov r0, r7                                    |         r0 = r7;
    0x00033c8c mov r3, r5                                    |         r3 = r5;
    0x00033c90 bl 0x32bfc                                    |         pubkey_show ();
    0x00033c94 ldr r3, [sp, 0x60]                            |         r3 = s2;
    0x00033c98 mov r2, sl                                    |         r2 = sl;
    0x00033c9c str r3, [sp, 4]                               |         var_4h = r3;
    0x00033ca0 ldr r3, [pc, 0x858]                           |         r3 = *(0x344fc);
    0x00033ca4 mov r1, r4                                    |         r1 = r4;
    0x00033ca8 add r3, pc, r3                                |         r3 = pc + r3;
    0x00033cac str r3, [sp]                                  |         *(sp) = r3;
    0x00033cb0 mov r0, r7                                    |         r0 = r7;
    0x00033cb4 mov r3, r5                                    |         r3 = r5;
    0x00033cb8 bl 0x32bfc                                    |         pubkey_show ();
    0x00033cbc ldr r3, [sp, 0x1e0]                           |         r3 = var_1e0h;
    0x00033cc0 str r3, [sp, 4]                               |         var_4h = r3;
    0x00033cc4 ldr r3, [pc, 0x838]                           |         r3 = *(0x34500);
    0x00033cc8 add r3, pc, r3                                |         r3 = pc + r3;
    0x00033ccc b 0x33bec                                     |         
                                                             |     } while (1);
                                                             | label_45:
    0x00033cd0 mov r0, r6                                    |     r0 = r6;
    0x00033cd4 bl 0x5898                                     |     EVP_PKEY_get0_DH ();
    0x00033cd8 add r3, sp, 0x60                              |     r3 += s2;
    0x00033cdc sub r2, r3, 4                                 |     r2 -= nmeb;
    0x00033ce0 sub r1, r3, 8                                 |     r1 -= var_58h;
    0x00033ce4 mov r5, r0                                    |     r5 = r0;
    0x00033ce8 bl 0x5c34                                     |     DH_get0_pqg ();
    0x00033cec mov r0, r5                                    |     r0 = r5;
    0x00033cf0 mov r2, 0                                     |     r2 = 0;
    0x00033cf4 add r1, sp, 0x1e0                             |     r1 += var_1e0h;
    0x00033cf8 bl 0x4fb0                                     |     DH_get0_key ();
    0x00033cfc ldr r3, [sp, 0x58]                            |     r3 = var_58h;
    0x00033d00 ldr r5, [pc, 0x800]                           |     r5 = *(0x34504);
    0x00033d04 str r3, [sp, 4]                               |     var_4h = r3;
    0x00033d08 ldr r3, [pc, 0x7fc]                           |     r3 = *(0x34508);
    0x00033d0c add r5, pc, r5                                |     r5 = pc + r5;
    0x00033d10 add r3, pc, r3                                |     r3 = pc + r3;
    0x00033d14 str r3, [sp]                                  |     *(sp) = r3;
    0x00033d18 mov r2, sl                                    |     r2 = sl;
    0x00033d1c mov r3, r5                                    |     r3 = r5;
    0x00033d20 mov r1, r4                                    |     r1 = r4;
    0x00033d24 mov r0, r7                                    |     r0 = r7;
    0x00033d28 bl 0x32bfc                                    |     pubkey_show ();
    0x00033d2c ldr r3, [sp, 0x5c]                            |     r3 = nmeb;
    0x00033d30 mov r2, sl                                    |     r2 = sl;
    0x00033d34 str r3, [sp, 4]                               |     var_4h = r3;
    0x00033d38 ldr r3, [pc, 0x7d0]                           |     r3 = *(0x3450c);
    0x00033d3c mov r1, r4                                    |     r1 = r4;
    0x00033d40 add r3, pc, r3                                |     r3 = pc + r3;
    0x00033d44 str r3, [sp]                                  |     *(sp) = r3;
    0x00033d48 mov r0, r7                                    |     r0 = r7;
    0x00033d4c mov r3, r5                                    |     r3 = r5;
    0x00033d50 bl 0x32bfc                                    |     pubkey_show ();
    0x00033d54 ldr r3, [sp, 0x60]                            |     r3 = s2;
    0x00033d58 mov r2, sl                                    |     r2 = sl;
    0x00033d5c str r3, [sp, 4]                               |     var_4h = r3;
    0x00033d60 ldr r3, [pc, 0x7ac]                           |     r3 = Curl_pgrsSetDownloadSize;
    0x00033d64 mov r1, r4                                    |     r1 = r4;
    0x00033d68 add r3, pc, r3                                |     r3 = pc + r3;
    0x00033d6c str r3, [sp]                                  |     *(sp) = r3;
    0x00033d70 mov r0, r7                                    |     r0 = r7;
    0x00033d74 mov r3, r5                                    |     r3 = r5;
    0x00033d78 bl 0x32bfc                                    |     pubkey_show ();
    0x00033d7c ldr r3, [sp, 0x1e0]                           |     r3 = var_1e0h;
    0x00033d80 str r3, [sp, 4]                               |     var_4h = r3;
    0x00033d84 ldr r3, [pc, 0x78c]                           |     r3 = *(0x34514);
    0x00033d88 add r3, pc, r3                                |     r3 = pc + r3;
    0x00033d8c b 0x33bec                                     |     goto label_7;
                                                             |     do {
    0x00033d90 ldr r3, [r3, 8]                               |         r3 = *((r3 + 8));
    0x00033d94 mov r1, r6                                    |         r1 = r6;
    0x00033d98 ldrb r2, [r3, r5]                             |         r2 = *((r3 + r5));
    0x00033d9c mov r0, r4                                    |         r0 = r4;
    0x00033da0 bl 0x4e18                                     |         BIO_printf ();
    0x00033da4 add r5, r5, 1                                 |         r5++;
                                                             | label_9:
    0x00033da8 ldr r3, [sp, 0x54]                            |         r3 = var_54h;
    0x00033dac ldr r2, [r3]                                  |         r2 = *(r3);
    0x00033db0 cmp r5, r2                                    |         
    0x00033db4 blt 0x33d90                                   |         
                                                             |     } while (r5 < r2);
    0x00033db8 add r3, sp, 0x50                              |     r3 += var_50h;
    0x00033dbc mov r2, 0                                     |     r2 = 0;
    0x00033dc0 mov r1, 3                                     |     r1 = 3;
    0x00033dc4 mov r0, r4                                    |     r0 = r4;
    0x00033dc8 bl 0x5aa8                                     |     BIO_ctrl ();
    0x00033dcc ldr r2, [pc, 0x748]                           |     r2 = *(0x34518);
    0x00033dd0 ldr r3, [sp, 0x50]                            |     r3 = var_50h;
    0x00033dd4 mov r1, sl                                    |     r1 = sl;
    0x00033dd8 add r2, pc, r2                                |     r2 = pc + r2;
    0x00033ddc str r0, [sp]                                  |     *(sp) = r0;
    0x00033de0 mov r0, r7                                    |     r0 = r7;
    0x00033de4 bl 0x37788                                    |     Curl_ssl_push_certinfo_len ();
    0x00033de8 mov r3, 0                                     |     r3 = 0;
    0x00033dec mov r2, r3                                    |     r2 = r3;
    0x00033df0 mov r1, 1                                     |     r1 = 1;
    0x00033df4 mov r0, r4                                    |     r0 = r4;
    0x00033df8 bl 0x5aa8                                     |     BIO_ctrl ();
    0x00033dfc b 0x33958                                     |     goto label_8;
                                                             | label_43:
    0x00033e00 ldr r6, [pc, 0x718]                           |     r6 = *(0x3451c);
    0x00033e04 mov r5, 0                                     |     r5 = 0;
    0x00033e08 add r6, pc, r6                                |     r6 = pc + r6;
    0x00033e0c b 0x33da8                                     |     goto label_9;
                                                             | label_38:
    0x00033e10 ldr r4, [fp, 0xc]                             |     r4 = *(arg_ch);
    0x00033e14 ldr r0, [r4, 4]                               |     r0 = *((r4 + 4));
    0x00033e18 bl 0x57d8                                     |     SSL_get_peer_certificate ();
    0x00033e1c ldr r3, [fp, 0xc]                             |     r3 = *(arg_ch);
    0x00033e20 str r0, [r4, 8]                               |     *((r4 + 8)) = r0;
    0x00033e24 ldr r3, [r3, 8]                               |     r3 = *((r3 + 8));
    0x00033e28 cmp r3, 0                                     |     
                                                             |     if (r3 != 0) {
    0x00033e2c bne 0x33e68                                   |         goto label_48;
                                                             |     }
    0x00033e30 mov r0, sl                                    |     r0 = sl;
    0x00033e34 bl 0x5ad8                                     |     BIO_free ();
    0x00033e38 ldr r0, [sp, 8]                               |     r0 = var_8h;
    0x00033e3c bl 0x5ad8                                     |     BIO_free ();
    0x00033e40 ldr r3, [sp, 0x10]                            |     r3 = var_10h;
    0x00033e44 cmp r3, 0                                     |     
                                                             |     if (r3 == 0) {
    0x00033e48 ldreq r4, [sp, 0x10]                          |         r4 = var_10h;
                                                             |         goto label_49;
                                                             |     }
                                                             |     if (r3 == 0) {
                                                             | label_49:
    0x00033e4c beq 0x335ec                                   |         goto label_10;
                                                             |     }
    0x00033e50 ldr r1, [pc, 0x6cc]                           |     r1 = *(0x34520);
    0x00033e54 mov r0, sb                                    |     r0 = sb;
    0x00033e58 add r1, pc, r1                                |     r1 = pc + r1;
    0x00033e5c bl 0x10544                                    |     Curl_failf ();
    0x00033e60 mov r4, 0x33                                  |     r4 = 0x33;
    0x00033e64 b 0x335ec                                     |     goto label_10;
                                                             | label_48:
    0x00033e68 ldr r3, [r8, 0xf0]                            |     r3 = *((r8 + 0xf0));
    0x00033e6c cmp r3, 2                                     |     
                                                             |     if (r3 != 2) {
    0x00033e70 bne 0x34024                                   |         goto label_50;
                                                             |     }
    0x00033e74 ldr r3, [r8, 0x19c]                           |     r3 = *((r8 + 0x19c));
    0x00033e78 adds r3, r3, 1                                |     r3++;
                                                             |     if (r3 == r3) {
    0x00033e7c movne r3, 1                                   |         r3 = 1;
                                                             |     }
    0x00033e80 add r3, r8, r3, lsl 4                         |     r3 = r8 + (r3 << 4);
    0x00033e84 ldr r3, [r3, 0x1e0]                           |     r3 = *((r3 + 0x1e0));
    0x00033e88 cmp r3, 2                                     |     
                                                             |     if (r3 == 2) {
    0x00033e8c beq 0x34030                                   |         goto label_51;
                                                             |     }
    0x00033e90 ldr r2, [pc, 0x690]                           |     r2 = *(0x34524);
    0x00033e94 add r2, pc, r2                                |     r2 = pc + r2;
                                                             |     do {
                                                             | label_11:
    0x00033e98 ldr r1, [pc, 0x68c]                           |         r1 = *(0x34528);
    0x00033e9c mov r0, sb                                    |         r0 = sb;
    0x00033ea0 add r1, pc, r1                                |         r1 = pc + r1;
    0x00033ea4 bl 0x104cc                                    |         Curl_infof ();
    0x00033ea8 ldr r3, [fp, 0xc]                             |         r3 = *(arg_ch);
    0x00033eac add r4, sp, 0x1e0                             |         r4 += var_1e0h;
    0x00033eb0 ldr r0, [r3, 8]                               |         r0 = *((r3 + 8));
    0x00033eb4 bl 0x5928                                     |         X509_get_subject_name ();
    0x00033eb8 mov r1, r4                                    |         r1 = r4;
    0x00033ebc bl 0x33428                                    |         r0 = x509_name_oneline_constprop_13 ();
    0x00033ec0 cmp r0, 0                                     |         
                                                             |         if (r0 != 0) {
    0x00033ec4 moveq r2, r4                                  |             r2 = r4;
                                                             |         }
                                                             |         if (r0 == 0) {
    0x00033ec8 ldrne r2, [pc, 0x660]                         |             r2 = *((pc + 0x660));
                                                             |         }
                                                             |         if (r0 == 0) {
    0x00033ecc addne r2, pc, r2                              |             r2 = pc + r2;
                                                             |         }
    0x00033ed0 ldr r1, [pc, 0x65c]                           |         r1 = *(0x34530);
    0x00033ed4 mov r0, sb                                    |         r0 = sb;
    0x00033ed8 add r1, pc, r1                                |         r1 = pc + r1;
    0x00033edc bl 0x104cc                                    |         Curl_infof ();
    0x00033ee0 ldr r3, [fp, 0xc]                             |         r3 = *(arg_ch);
    0x00033ee4 add r4, sp, 0x4c                              |         r4 += var_4ch;
    0x00033ee8 ldr r0, [r3, 8]                               |         r0 = *((r3 + 8));
    0x00033eec bl 0x570c                                     |         r0 = X509_get0_notBefore ();
    0x00033ef0 mov r1, r0                                    |         r1 = r0;
    0x00033ef4 ldr r0, [sp, 8]                               |         r0 = var_8h;
    0x00033ef8 bl 0x4fbc                                     |         ASN1_TIME_print ();
    0x00033efc mov r3, r4                                    |         r3 = r4;
    0x00033f00 mov r2, 0                                     |         r2 = 0;
    0x00033f04 mov r1, 3                                     |         r1 = 3;
    0x00033f08 ldr r0, [sp, 8]                               |         r0 = var_8h;
    0x00033f0c bl 0x5aa8                                     |         BIO_ctrl ();
    0x00033f10 ldr r1, [pc, 0x620]                           |         r1 = *(0x34534);
    0x00033f14 ldr r3, [sp, 0x4c]                            |         r3 = var_4ch;
    0x00033f18 add r1, pc, r1                                |         r1 = pc + r1;
    0x00033f1c mov r2, r0                                    |         r2 = r0;
    0x00033f20 mov r0, sb                                    |         r0 = sb;
    0x00033f24 bl 0x104cc                                    |         Curl_infof ();
    0x00033f28 mov r3, 0                                     |         r3 = 0;
    0x00033f2c mov r2, r3                                    |         r2 = r3;
    0x00033f30 mov r1, 1                                     |         r1 = 1;
    0x00033f34 ldr r0, [sp, 8]                               |         r0 = var_8h;
    0x00033f38 bl 0x5aa8                                     |         BIO_ctrl ();
    0x00033f3c ldr r3, [fp, 0xc]                             |         r3 = *(arg_ch);
    0x00033f40 ldr r0, [r3, 8]                               |         r0 = *((r3 + 8));
    0x00033f44 bl 0x58e0                                     |         r0 = X509_get0_notAfter ();
    0x00033f48 mov r1, r0                                    |         r1 = r0;
    0x00033f4c ldr r0, [sp, 8]                               |         r0 = var_8h;
    0x00033f50 bl 0x4fbc                                     |         ASN1_TIME_print ();
    0x00033f54 mov r3, r4                                    |         r3 = r4;
    0x00033f58 mov r2, 0                                     |         r2 = 0;
    0x00033f5c mov r1, 3                                     |         r1 = 3;
    0x00033f60 ldr r0, [sp, 8]                               |         r0 = var_8h;
    0x00033f64 bl 0x5aa8                                     |         BIO_ctrl ();
    0x00033f68 ldr r1, [pc, 0x5cc]                           |         r1 = *(0x34538);
    0x00033f6c ldr r3, [sp, 0x4c]                            |         r3 = var_4ch;
    0x00033f70 add r1, pc, r1                                |         r1 = pc + r1;
    0x00033f74 mov r2, r0                                    |         r2 = r0;
    0x00033f78 mov r0, sb                                    |         r0 = sb;
    0x00033f7c bl 0x104cc                                    |         Curl_infof ();
    0x00033f80 mov r3, 0                                     |         r3 = 0;
    0x00033f84 mov r2, r3                                    |         r2 = r3;
    0x00033f88 mov r1, 1                                     |         r1 = 1;
    0x00033f8c ldr r0, [sp, 8]                               |         r0 = var_8h;
    0x00033f90 bl 0x5aa8                                     |         BIO_ctrl ();
    0x00033f94 ldr r0, [sp, 8]                               |         r0 = var_8h;
    0x00033f98 bl 0x5ad8                                     |         BIO_free ();
    0x00033f9c ldr r2, [r8, 0xf0]                            |         r2 = *((r8 + 0xf0));
    0x00033fa0 ldr r1, [fp, 0xc]                             |         r1 = *(arg_ch);
    0x00033fa4 cmp r2, 2                                     |         
                                                             |         if (r2 != 2) {
    0x00033fa8 bne 0x3403c                                   |             goto label_52;
                                                             |         }
    0x00033fac ldr r3, [r8, 0x19c]                           |         r3 = *((r8 + 0x19c));
    0x00033fb0 adds r3, r3, 1                                |         r3++;
                                                             |         if (r3 == r3) {
    0x00033fb4 movne r3, 1                                   |             r3 = 1;
                                                             |         }
    0x00033fb8 add r3, r8, r3, lsl 4                         |         r3 = r8 + (r3 << 4);
    0x00033fbc ldr r3, [r3, 0x1e0]                           |         r3 = *((r3 + 0x1e0));
    0x00033fc0 cmp r3, 2                                     |         
                                                             |         if (r3 == 2) {
    0x00033fc4 beq 0x3403c                                   |             goto label_52;
                                                             |         }
    0x00033fc8 ldrb r3, [r8, 0x231]                          |         r3 = *((r8 + 0x231));
    0x00033fcc cmp r3, 0                                     |         
                                                             |         if (r3 == 0) {
    0x00033fd0 ldrne r3, [r1, 8]                             |             r3 = *((r1 + 8));
                                                             |         }
                                                             |         if (r3 == 0) {
    0x00033fd4 ldrne r6, [r8]                                |             r6 = *(r8);
                                                             |         }
                                                             |         if (r3 == 0) {
    0x00033fd8 strne r3, [sp, 0x2c]                          |             var_2ch = r3;
                                                             |         }
                                                             |         if (r3 != 0) {
    0x00033fdc bne 0x3405c                                   |             goto label_53;
                                                             |         }
                                                             | label_12:
    0x00033fe0 ldr r3, [fp, 0xc]                             |         r3 = *(arg_ch);
    0x00033fe4 add r4, sp, 0x1e0                             |         r4 += var_1e0h;
    0x00033fe8 ldr r0, [r3, 8]                               |         r0 = *((r3 + 8));
    0x00033fec bl 0x4f44                                     |         X509_get_issuer_name ();
    0x00033ff0 mov r1, r4                                    |         r1 = r4;
    0x00033ff4 bl 0x33428                                    |         r0 = x509_name_oneline_constprop_13 ();
    0x00033ff8 cmp r0, 0                                     |         
                                                             |         if (r0 == 0) {
    0x00033ffc beq 0x345d0                                   |             goto label_54;
                                                             |         }
    0x00034000 ldr r3, [sp, 0x10]                            |         r3 = var_10h;
    0x00034004 cmp r3, 0                                     |         
                                                             |         if (r3 != 0) {
    0x00034008 beq 0x3401c                                   |             
    0x0003400c ldr r1, [pc, 0x52c]                           |             r1 = *(0x3453c);
    0x00034010 mov r0, sb                                    |             r0 = sb;
    0x00034014 add r1, pc, r1                                |             r1 = pc + r1;
    0x00034018 bl 0x10544                                    |             Curl_failf ();
                                                             |         }
    0x0003401c mov r4, 0x23                                  |         r4 = 0x23;
    0x00034020 b 0x348c4                                     |         goto label_24;
                                                             | label_50:
    0x00034024 ldr r2, [pc, 0x518]                           |         r2 = *(0x34540);
    0x00034028 add r2, pc, r2                                |         r2 = pc + r2;
    0x0003402c b 0x33e98                                     |         
                                                             |     } while (1);
                                                             | label_51:
    0x00034030 ldr r2, [pc, 0x510]                           |     r2 = *(0x34544);
    0x00034034 add r2, pc, r2                                |     r2 = pc + r2;
    0x00034038 b 0x33e98                                     |     goto label_11;
                                                             | label_52:
    0x0003403c ldrb r3, [r8, 0x209]                          |     r3 = *((r8 + 0x209));
    0x00034040 cmp r3, 0                                     |     
                                                             |     if (r3 == 0) {
    0x00034044 beq 0x33fe0                                   |         goto label_12;
                                                             |     }
    0x00034048 ldr r3, [r1, 8]                               |     r3 = *((r1 + 8));
    0x0003404c cmp r2, 2                                     |     
    0x00034050 str r3, [sp, 0x2c]                            |     var_2ch = r3;
    0x00034054 ldr r6, [r8]                                  |     r6 = *(r8);
                                                             |     if (r2 == 2) {
    0x00034058 bne 0x34080                                   |         
                                                             | label_53:
    0x0003405c ldr r3, [r8, 0x19c]                           |         r3 = *((r8 + 0x19c));
    0x00034060 adds r3, r3, 1                                |         r3++;
                                                             |         if (r3 == r3) {
    0x00034064 movne r3, 1                                   |             r3 = 1;
                                                             |         }
    0x00034068 add r3, r8, r3, lsl 4                         |         r3 = r8 + (r3 << 4);
    0x0003406c ldr r3, [r3, 0x1e0]                           |         r3 = *((r3 + 0x1e0));
    0x00034070 cmp r3, 2                                     |         
                                                             |         if (r3 == 2) {
    0x00034074 ldrne r3, [r8, 0xe4]                          |             r3 = *((r8 + 0xe4));
                                                             |         }
                                                             |         if (r3 == 2) {
    0x00034078 strne r3, [sp, 0xc]                           |             var_ch = r3;
                                                             |         }
                                                             |         if (r3 != 2) {
    0x0003407c bne 0x34090                                   |             goto label_55;
                                                             |         }
                                                             |     }
    0x00034080 ldr r3, [r8, 0xa0]                            |     r3 = *((r8 + 0xa0));
    0x00034084 cmp r2, 2                                     |     
    0x00034088 str r3, [sp, 0xc]                             |     var_ch = r3;
                                                             |     if (r2 == 2) {
    0x0003408c bne 0x340b0                                   |         
                                                             | label_55:
    0x00034090 ldr r3, [r8, 0x19c]                           |         r3 = *((r8 + 0x19c));
    0x00034094 adds r3, r3, 1                                |         r3++;
                                                             |         if (r3 == r3) {
    0x00034098 movne r3, 1                                   |             r3 = 1;
                                                             |         }
    0x0003409c add r3, r8, r3, lsl 4                         |         r3 = r8 + (r3 << 4);
    0x000340a0 ldr r3, [r3, 0x1e0]                           |         r3 = *((r3 + 0x1e0));
    0x000340a4 cmp r3, 2                                     |         
                                                             |         if (r3 == 2) {
    0x000340a8 ldrne r3, [r8, 0xe8]                          |             r3 = *((r8 + 0xe8));
                                                             |         }
                                                             |         if (r3 != 2) {
    0x000340ac bne 0x340b4                                   |             goto label_56;
                                                             |         }
                                                             |     }
    0x000340b0 ldr r3, [r8, 0xa4]                            |     r3 = *((r8 + 0xa4));
                                                             | label_56:
    0x000340b4 str r3, [sp, 8]                               |     var_8h = r3;
    0x000340b8 ldrb r3, [r8, 0x25a]                          |     r3 = *((r8 + 0x25a));
    0x000340bc cmp r3, 0                                     |     
                                                             |     if (r3 != 0) {
    0x000340c0 bne 0x341e0                                   |         goto label_57;
                                                             |     }
                                                             | label_13:
    0x000340c4 add r2, sp, 0x60                              |     r2 += s2;
    0x000340c8 ldr r1, [sp, 0xc]                             |     r1 = var_ch;
    0x000340cc mov r0, 2                                     |     r0 = 2;
    0x000340d0 bl 0x5190                                     |     r0 = inet_pton ();
    0x000340d4 cmp r0, 0                                     |     
                                                             |     if (r0 == 0) {
    0x000340d8 movne r3, 4                                   |         r3 = 4;
                                                             |     }
                                                             |     if (r0 != 0) {
    0x000340dc moveq r3, 0                                   |         r3 = 0;
                                                             |     }
    0x000340e0 str r3, [sp, 0x28]                            |     var_28h = r3;
                                                             |     if (r0 == 0) {
    0x000340e4 movne r3, 7                                   |         r3 = 7;
                                                             |     }
                                                             |     if (r0 != 0) {
    0x000340e8 moveq r3, 2                                   |         r3 = 2;
                                                             |     }
                                                             | label_14:
    0x000340ec str r3, [sp, 0x14]                            |     var_14h = r3;
    0x000340f0 mov r3, 0                                     |     r3 = 0;
    0x000340f4 mov r2, r3                                    |     r2 = r3;
    0x000340f8 mov r1, 0x55                                  |     r1 = 0x55;
    0x000340fc ldr r0, [sp, 0x2c]                            |     r0 = var_2ch;
    0x00034100 bl 0x5a90                                     |     r0 = X509_get_ext_d2i ();
    0x00034104 subs r3, r0, 0                                |     r3 = r0 - 0;
    0x00034108 str r3, [sp, 0x24]                            |     var_24h = r3;
                                                             |     if (r3 == r0) {
    0x0003410c beq 0x34c60                                   |         goto label_58;
                                                             |     }
    0x00034110 bl 0x5afc                                     |     OPENSSL_sk_num ();
    0x00034114 mov r3, 0                                     |     r3 = 0;
    0x00034118 str r3, [sp, 0x38]                            |     var_38h = r3;
    0x0003411c mov r7, r3                                    |     r7 = r3;
    0x00034120 str r3, [sp, 0x18]                            |     var_18h = r3;
    0x00034124 mov r5, r3                                    |     r5 = r3;
    0x00034128 str r3, [sp, 0x20]                            |     var_20h = r3;
    0x0003412c ldr r3, [pc, 0x418]                           |     r3 = *(0x34548);
    0x00034130 add r3, pc, r3                                |     r3 = pc + r3;
    0x00034134 str r3, [sp, 0x40]                            |     var_40h = r3;
    0x00034138 ldr r3, [pc, 0x410]                           |     r3 = *(0x3454c);
    0x0003413c add r3, pc, r3                                |     r3 = pc + r3;
    0x00034140 str r3, [sp, 0x44]                            |     var_44h = r3;
    0x00034144 str r0, [sp, 0x3c]                            |     var_3ch = r0;
                                                             | label_15:
    0x00034148 ldr r3, [sp, 0x3c]                            |     r3 = var_3ch;
    0x0003414c ldr r2, [sp, 0x18]                            |     r2 = var_18h;
    0x00034150 eor r4, r7, 1                                 |     r4 = r7 ^ 1;
    0x00034154 cmp r3, r2                                    |     
                                                             |     if (r3 > r2) {
    0x00034158 movle r4, 0                                   |         r4 = 0;
                                                             |     }
                                                             |     if (r3 <= r2) {
    0x0003415c andgt r4, r4, 1                               |         r4 &= 1;
                                                             |     }
    0x00034160 cmp r4, 0                                     |     
                                                             |     if (r4 != 0) {
    0x00034164 bne 0x34208                                   |         goto label_59;
                                                             |     }
    0x00034168 ldr r0, [sp, 0x24]                            |     r0 = var_24h;
    0x0003416c bl 0x4fa4                                     |     GENERAL_NAMES_free ();
    0x00034170 ldr r3, [sp, 0x38]                            |     r3 = var_38h;
    0x00034174 orr r3, r7, r3                                |     r3 = r7 | r3;
    0x00034178 tst r3, 0xff                                  |     
                                                             |     if ((r3 & 0xff) != 0) {
    0x0003417c bne 0x33fe0                                   |         goto label_12;
                                                             |     }
                                                             | label_31:
    0x00034180 ldr r3, [sp, 0x20]                            |     r3 = var_20h;
    0x00034184 orr r5, r3, r5                                |     r5 = r3 | r5;
    0x00034188 tst r5, 0xff                                  |     
                                                             |     if ((r5 & 0xff) == 0) {
    0x0003418c beq 0x342e0                                   |         goto label_60;
                                                             |     }
    0x00034190 ldr r1, [pc, 0x3bc]                           |     r1 = *(0x34550);
    0x00034194 ldr r2, [sp, 8]                               |     r2 = var_8h;
    0x00034198 add r1, pc, r1                                |     r1 = pc + r1;
    0x0003419c mov r0, r6                                    |     r0 = r6;
    0x000341a0 bl 0x104cc                                    |     Curl_infof ();
    0x000341a4 ldr r1, [pc, 0x3ac]                           |     r1 = *(0x34554);
    0x000341a8 ldr r2, [sp, 8]                               |     r2 = var_8h;
    0x000341ac add r1, pc, r1                                |     r1 = pc + r1;
    0x000341b0 mov r0, r6                                    |     r0 = r6;
    0x000341b4 bl 0x10544                                    |     Curl_failf ();
    0x000341b8 mov r4, 0x33                                  |     r4 = 0x33;
                                                             | label_16:
    0x000341bc mov r0, sl                                    |     r0 = sl;
    0x000341c0 bl 0x5ad8                                     |     BIO_free ();
    0x000341c4 ldr r3, [fp, 0xc]                             |     r3 = *(arg_ch);
    0x000341c8 ldr r0, [r3, 8]                               |     r0 = *((r3 + 8));
    0x000341cc bl 0x5b74                                     |     X509_free ();
    0x000341d0 ldr r3, [fp, 0xc]                             |     r3 = *(arg_ch);
    0x000341d4 mov r2, 0                                     |     r2 = 0;
    0x000341d8 str r2, [r3, 8]                               |     *((r3 + 8)) = r2;
    0x000341dc b 0x335ec                                     |     goto label_10;
                                                             | label_57:
    0x000341e0 add r2, sp, 0x60                              |     r2 += s2;
    0x000341e4 ldr r1, [sp, 0xc]                             |     r1 = var_ch;
    0x000341e8 mov r0, 0xa                                   |     r0 = 0xa;
    0x000341ec bl 0x5190                                     |     r0 = inet_pton ();
    0x000341f0 cmp r0, 0                                     |     
                                                             |     if (r0 == 0) {
    0x000341f4 beq 0x340c4                                   |         goto label_13;
                                                             |     }
    0x000341f8 mov r3, 0x10                                  |     r3 = 0x10;
    0x000341fc str r3, [sp, 0x28]                            |     var_28h = r3;
    0x00034200 mov r3, 7                                     |     r3 = 7;
    0x00034204 b 0x340ec                                     |     goto label_14;
                                                             | label_59:
    0x00034208 ldr r1, [sp, 0x18]                            |     r1 = var_18h;
    0x0003420c ldr r0, [sp, 0x24]                            |     r0 = var_24h;
    0x00034210 bl 0x4de8                                     |     OPENSSL_sk_value ();
    0x00034214 ldr r3, [sp, 0x14]                            |     r3 = var_14h;
    0x00034218 ldr r2, [r0]                                  |     r2 = *(r0);
    0x0003421c mov r7, r0                                    |     r7 = r0;
    0x00034220 cmp r2, 2                                     |     
                                                             |     if (r2 == 2) {
    0x00034224 beq 0x34ca4                                   |         goto label_61;
                                                             |     }
    0x00034228 cmp r2, 7                                     |     
                                                             |     if (r2 == 7) {
    0x0003422c beq 0x34c74                                   |         goto label_62;
                                                             |     }
    0x00034230 cmp r2, r3                                    |     
                                                             |     if (r2 != r3) {
    0x00034234 bne 0x342d8                                   |         goto label_34;
                                                             |     }
    0x00034238 ldr r0, [r0, 4]                               |     r0 = *((r0 + 4));
    0x0003423c bl 0x5298                                     |     ASN1_STRING_get0_data ();
    0x00034240 str r0, [sp, 0x1c]                            |     var_1ch = r0;
    0x00034244 ldr r0, [r7, 4]                               |     r0 = *((r7 + 4));
    0x00034248 bl 0x5c58                                     |     ASN1_STRING_length ();
    0x0003424c ldr r3, [sp, 0x14]                            |     r3 = var_14h;
    0x00034250 cmp r3, 2                                     |     
    0x00034254 mov r7, r0                                    |     r7 = r0;
                                                             |     if (r3 != 2) {
    0x00034258 bne 0x342d8                                   |         goto label_34;
                                                             |     }
                                                             | label_35:
    0x0003425c ldr r0, [sp, 0x1c]                            |     r0 = var_1ch;
    0x00034260 bl 0x5250                                     |     r0 = strlen (r0);
    0x00034264 cmp r0, r7                                    |     
                                                             |     if (r0 != r7) {
    0x00034268 bne 0x342d8                                   |         goto label_34;
                                                             |     }
    0x0003426c ldr r1, [sp, 0xc]                             |     r1 = var_ch;
    0x00034270 ldr r0, [sp, 0x1c]                            |     r0 = var_1ch;
    0x00034274 bl 0x282ec                                    |     r0 = Curl_cert_hostcheck ();
    0x00034278 cmp r0, 0                                     |     
                                                             |     if (r0 == 0) {
    0x0003427c beq 0x342d8                                   |         goto label_34;
                                                             |     }
    0x00034280 ldr r3, [sp, 0x1c]                            |     r3 = var_1ch;
    0x00034284 ldr r2, [sp, 8]                               |     r2 = var_8h;
    0x00034288 ldr r1, [sp, 0x40]                            |     r1 = var_40h;
    0x0003428c mov r0, r6                                    |     r0 = r6;
    0x00034290 bl 0x104cc                                    |     Curl_infof ();
                                                             |     do {
    0x00034294 ldr r3, [sp, 0x18]                            |         r3 = var_18h;
    0x00034298 mov r7, r4                                    |         r7 = r4;
    0x0003429c add r3, r3, 1                                 |         r3++;
    0x000342a0 str r3, [sp, 0x18]                            |         var_18h = r3;
    0x000342a4 b 0x34148                                     |         goto label_15;
                                                             | label_33:
    0x000342a8 ldr r2, [sp, 0x28]                            |         r2 = var_28h;
    0x000342ac add r1, sp, 0x60                              |         r1 += s2;
    0x000342b0 mov r0, r5                                    |         r0 = r5;
    0x000342b4 bl 0x5820                                     |         r0 = memcmp (r0, r1, r2);
    0x000342b8 subs r7, r0, 0                                |         r7 = r0 - 0;
                                                             |         if (r7 != r0) {
    0x000342bc bne 0x34c9c                                   |             goto label_63;
                                                             |         }
    0x000342c0 ldr r2, [sp, 8]                               |         r2 = var_8h;
    0x000342c4 ldr r1, [sp, 0x44]                            |         r1 = var_44h;
    0x000342c8 mov r0, r6                                    |         r0 = r6;
    0x000342cc mov r5, r4                                    |         r5 = r4;
    0x000342d0 bl 0x104cc                                    |         Curl_infof ();
    0x000342d4 str r4, [sp, 0x38]                            |         var_38h = r4;
                                                             | label_34:
    0x000342d8 mov r4, 0                                     |         r4 = 0;
    0x000342dc b 0x34294                                     |         
                                                             |     } while (1);
                                                             | label_60:
    0x000342e0 ldr r3, [pc, 0x274]                           |     r3 = *(0x34558);
    0x000342e4 ldr r0, [sp, 0x2c]                            |     r0 = var_2ch;
    0x000342e8 add r3, pc, r3                                |     r3 = pc + r3;
    0x000342ec str r3, [sp, 0x5c]                            |     nmeb = r3;
    0x000342f0 bl 0x5928                                     |     r0 = X509_get_subject_name ();
    0x000342f4 subs r5, r0, 0                                |     r5 = r0 - 0;
                                                             |     if (r5 == r0) {
    0x000342f8 mvnne r4, 0                                   |         r4 = ~0;
                                                             |     }
                                                             |     if (r5 != r0) {
    0x000342fc bne 0x34370                                   |         goto label_64;
                                                             |     }
                                                             | label_17:
    0x00034300 mov r4, 0                                     |     r4 = 0;
                                                             | label_18:
    0x00034304 ldr r3, [pc, 0x254]                           |     r3 = *(0x3455c);
    0x00034308 ldr r2, [sp, 0x5c]                            |     r2 = nmeb;
    0x0003430c add r3, pc, r3                                |     r3 = pc + r3;
    0x00034310 cmp r2, r3                                    |     
                                                             |     if (r2 != r3) {
    0x00034314 moveq r3, 0                                   |         r3 = 0;
                                                             |     }
                                                             |     if (r2 != r3) {
    0x00034318 streq r3, [sp, 0x5c]                          |         nmeb = r3;
                                                             |     }
    0x0003431c cmp r4, 0                                     |     
                                                             |     if (r4 == 0) {
    0x00034320 bne 0x34344                                   |         
    0x00034324 ldr r0, [sp, 0x5c]                            |         r0 = nmeb;
    0x00034328 cmp r0, 0                                     |         
                                                             |         if (r0 != 0) {
    0x0003432c bne 0x34454                                   |             goto label_65;
                                                             |         }
    0x00034330 ldr r1, [pc, 0x22c]                           |         r1 = *(0x34560);
    0x00034334 mov r0, r6                                    |         r0 = r6;
    0x00034338 add r1, pc, r1                                |         r1 = pc + r1;
    0x0003433c bl 0x10544                                    |         Curl_failf ();
                                                             | label_20:
    0x00034340 mov r4, 0x33                                  |         r4 = 0x33;
                                                             |     }
                                                             | label_21:
    0x00034344 ldr r0, [sp, 0x5c]                            |     r0 = nmeb;
    0x00034348 cmp r0, 0                                     |     
                                                             |     if (r0 != 0) {
    0x0003434c beq 0x34360                                   |         
    0x00034350 ldr r1, [pc, 0x210]                           |         r1 = *(0x34564);
    0x00034354 ldr r2, [pc, 0x210]                           |         r2 = *(0x34568);
    0x00034358 add r1, pc, r1                                |         r1 = pc + r1;
    0x0003435c bl 0x5340                                     |         CRYPTO_free ();
                                                             |     }
    0x00034360 cmp r4, 0                                     |     
                                                             |     if (r4 == 0) {
    0x00034364 beq 0x33fe0                                   |         goto label_12;
                                                             |     }
    0x00034368 b 0x341bc                                     |     goto label_16;
                                                             |     do {
    0x0003436c mov r4, r0                                    |         r4 = r0;
                                                             | label_64:
    0x00034370 mov r2, r4                                    |         r2 = r4;
    0x00034374 mov r1, 0xd                                   |         r1 = 0xd;
    0x00034378 mov r0, r5                                    |         r0 = r5;
    0x0003437c bl 0x57a8                                     |         r0 = X509_NAME_get_index_by_NID ();
    0x00034380 cmp r0, 0                                     |         
    0x00034384 bge 0x3436c                                   |         
                                                             |     } while (r0 >= 0);
    0x00034388 cmn r4, 1                                     |     
                                                             |     if (r4 == 1) {
    0x0003438c beq 0x34300                                   |         goto label_17;
                                                             |     }
    0x00034390 mov r1, r4                                    |     r1 = r4;
    0x00034394 mov r0, r5                                    |     r0 = r5;
    0x00034398 bl 0x51d8                                     |     X509_NAME_get_entry ();
    0x0003439c bl 0x5220                                     |     r0 = X509_NAME_ENTRY_get_data ();
    0x000343a0 subs r5, r0, 0                                |     r5 = r0 - 0;
                                                             |     if (r5 == r0) {
    0x000343a4 beq 0x34300                                   |         goto label_17;
                                                             |     }
    0x000343a8 bl 0x5a9c                                     |     r0 = ASN1_STRING_type ();
    0x000343ac cmp r0, 0xc                                   |     
                                                             |     if (r0 != 0xc) {
    0x000343b0 bne 0x34440                                   |         goto label_66;
                                                             |     }
    0x000343b4 mov r0, r5                                    |     r0 = r5;
    0x000343b8 bl 0x5c58                                     |     r0 = ASN1_STRING_length ();
    0x000343bc subs r4, r0, 0                                |     r4 = r0 - 0;
                                                             |     if (r4 >= r0) {
    0x000343c0 blt 0x3440c                                   |         
    0x000343c4 ldr r1, [pc, 0x1a4]                           |         r1 = *(0x3456c);
    0x000343c8 ldr r2, [pc, 0x1a4]                           |         r2 = *(0x34570);
    0x000343cc add r1, pc, r1                                |         r1 = pc + r1;
    0x000343d0 add r0, r4, 1                                 |         r0 = r4 + 1;
    0x000343d4 bl 0x528c                                     |         r0 = CRYPTO_malloc ();
    0x000343d8 cmp r0, 0                                     |         
    0x000343dc mov r7, r0                                    |         r7 = r0;
    0x000343e0 str r0, [sp, 0x5c]                            |         nmeb = r0;
                                                             |         if (r0 == 0) {
    0x000343e4 beq 0x3440c                                   |             goto label_19;
                                                             |         }
    0x000343e8 mov r0, r5                                    |         r0 = r5;
    0x000343ec bl 0x5298                                     |         ASN1_STRING_get0_data ();
    0x000343f0 mov r2, r4                                    |         r2 = r4;
    0x000343f4 mov r1, r0                                    |         r1 = r0;
    0x000343f8 mov r0, r7                                    |         r0 = r7;
    0x000343fc bl 0x4f5c                                     |         memcpy (r0, r1, r2);
    0x00034400 ldr r3, [sp, 0x5c]                            |         r3 = nmeb;
    0x00034404 mov r2, 0                                     |         r2 = 0;
    0x00034408 strb r2, [r3, r4]                             |         *((r3 + r4)) = r2;
                                                             |     }
                                                             | label_19:
    0x0003440c ldr r0, [sp, 0x5c]                            |     r0 = nmeb;
    0x00034410 cmp r0, 0                                     |     
                                                             |     if (r0 == 0) {
    0x00034414 beq 0x34300                                   |         goto label_17;
                                                             |     }
    0x00034418 bl 0x5250                                     |     r0 = strlen (r0);
    0x0003441c bl 0x25334                                    |     r0 = curlx_uztosi ();
    0x00034420 cmp r0, r4                                    |     
                                                             |     if (r0 == r4) {
    0x00034424 beq 0x34300                                   |         goto label_17;
                                                             |     }
    0x00034428 ldr r1, [pc, 0x148]                           |     r1 = *(0x34574);
    0x0003442c mov r0, r6                                    |     r0 = r6;
    0x00034430 add r1, pc, r1                                |     r1 = pc + r1;
    0x00034434 bl 0x10544                                    |     Curl_failf ();
    0x00034438 mov r4, 0x33                                  |     r4 = 0x33;
    0x0003443c b 0x34304                                     |     goto label_18;
                                                             | label_66:
    0x00034440 mov r1, r5                                    |     r1 = r5;
    0x00034444 add r0, sp, 0x5c                              |     r0 += nmeb;
    0x00034448 bl 0x5580                                     |     r0 = ASN1_STRING_to_UTF8 ();
    0x0003444c mov r4, r0                                    |     r4 = r0;
    0x00034450 b 0x3440c                                     |     goto label_19;
                                                             | label_65:
    0x00034454 ldr r1, [sp, 0xc]                             |     r1 = var_ch;
    0x00034458 bl 0x282ec                                    |     r0 = Curl_cert_hostcheck ();
    0x0003445c cmp r0, 0                                     |     
                                                             |     if (r0 == 0) {
    0x00034460 bne 0x34480                                   |         
    0x00034464 ldr r1, [pc, 0x110]                           |         r1 = *(0x34578);
    0x00034468 ldr r3, [sp, 8]                               |         r3 = var_8h;
    0x0003446c ldr r2, [sp, 0x5c]                            |         r2 = nmeb;
    0x00034470 add r1, pc, r1                                |         r1 = pc + r1;
    0x00034474 mov r0, r6                                    |         r0 = r6;
    0x00034478 bl 0x10544                                    |         Curl_failf ();
    0x0003447c b 0x34340                                     |         goto label_20;
                                                             |     }
    0x00034480 ldr r1, [pc, 0xf8]                            |     r1 = *(0x3457c);
    0x00034484 ldr r2, [sp, 0x5c]                            |     r2 = nmeb;
    0x00034488 add r1, pc, r1                                |     r1 = pc + r1;
    0x0003448c mov r0, r6                                    |     r0 = r6;
    0x00034490 bl 0x104cc                                    |     Curl_infof ();
    0x00034494 b 0x34344                                     |     goto label_21;
                                                             | label_54:
    0x000345d0 ldr r1, [pc, -0x54]                           |     r1 = *(0x34580);
    0x000345d4 mov r2, r4                                    |     r2 = r4;
    0x000345d8 add r1, pc, r1                                |     r1 = pc + r1;
    0x000345dc mov r0, sb                                    |     r0 = sb;
    0x000345e0 bl 0x104cc                                    |     Curl_infof ();
    0x000345e4 ldr r2, [r8, 0xf0]                            |     r2 = *((r8 + 0xf0));
    0x000345e8 cmp r2, 2                                     |     
                                                             |     if (r2 != 2) {
    0x000345ec bne 0x346a4                                   |         goto label_67;
                                                             |     }
    0x000345f0 ldr r3, [r8, 0x19c]                           |     r3 = *((r8 + 0x19c));
    0x000345f4 adds r3, r3, 1                                |     r3++;
                                                             |     if (r3 == r3) {
    0x000345f8 movne r3, 1                                   |         r3 = 1;
                                                             |     }
    0x000345fc add r3, r8, r3, lsl 4                         |     r3 = r8 + (r3 << 4);
    0x00034600 ldr r3, [r3, 0x1e0]                           |     r3 = *((r3 + 0x1e0));
    0x00034604 cmp r3, 2                                     |     
                                                             |     if (r3 == 2) {
    0x00034608 beq 0x346a4                                   |         goto label_67;
                                                             |     }
    0x0003460c ldr r3, [sb, 0x468]                           |     r3 = *((sb + 0x468));
    0x00034610 cmp r3, 0                                     |     
                                                             |     if (r3 != 0) {
    0x00034614 bne 0x346b8                                   |         goto label_68;
                                                             |     }
                                                             |     do {
                                                             | label_23:
    0x00034618 ldr r3, [fp, 0xc]                             |         r3 = *(arg_ch);
    0x0003461c ldr r0, [r3, 4]                               |         r0 = *((r3 + 4));
    0x00034620 bl 0x57f0                                     |         SSL_get_verify_result ();
    0x00034624 ldr r3, [sp, 0x34]                            |         r3 = var_34h;
    0x00034628 cmp r0, 0                                     |         
    0x0003462c mov r4, r0                                    |         r4 = r0;
    0x00034630 str r0, [r3]                                  |         *(r3) = r0;
                                                             |         if (r0 == 0) {
    0x00034634 beq 0x349fc                                   |             goto label_69;
                                                             |         }
    0x00034638 ldr r3, [r8, 0xf0]                            |         r3 = *((r8 + 0xf0));
    0x0003463c cmp r3, 2                                     |         
                                                             |         if (r3 == 2) {
    0x00034640 bne 0x34664                                   |             
    0x00034644 ldr r3, [r8, 0x19c]                           |             r3 = *((r8 + 0x19c));
    0x00034648 adds r3, r3, 1                                |             r3++;
                                                             |             if (r3 == r3) {
    0x0003464c movne r3, 1                                   |                 r3 = 1;
                                                             |             }
    0x00034650 add r3, r8, r3, lsl 4                         |             r3 = r8 + (r3 << 4);
    0x00034654 ldr r3, [r3, 0x1e0]                           |             r3 = *((r3 + 0x1e0));
    0x00034658 cmp r3, 2                                     |             
                                                             |             if (r3 == 2) {
    0x0003465c ldrbne r5, [r8, 0x230]                        |                 r5 = *((r8 + 0x230));
                                                             |             }
                                                             |             if (r3 != 2) {
    0x00034660 bne 0x34668                                   |                 goto label_70;
                                                             |             }
                                                             |         }
    0x00034664 ldrb r5, [r8, 0x208]                          |         r5 = *((r8 + 0x208));
                                                             | label_70:
    0x00034668 cmp r5, 0                                     |         
                                                             |         if (r5 == 0) {
    0x0003466c beq 0x348a0                                   |             goto label_71;
                                                             |         }
    0x00034670 ldr r3, [sp, 0x10]                            |         r3 = var_10h;
    0x00034674 cmp r3, 0                                     |         
                                                             |         if (r3 != 0) {
    0x00034678 beq 0x3469c                                   |             
    0x0003467c mov r0, r4                                    |             r0 = r4;
    0x00034680 bl 0x5910                                     |             X509_verify_cert_error_string ();
    0x00034684 ldr r1, [pc, -0x104]                          |             r1 = *(0x34584);
    0x00034688 mov r3, r4                                    |             r3 = r4;
    0x0003468c add r1, pc, r1                                |             r1 = pc + r1;
    0x00034690 mov r2, r0                                    |             r2 = r0;
    0x00034694 mov r0, sb                                    |             r0 = sb;
    0x00034698 bl 0x10544                                    |             Curl_failf ();
                                                             |         }
    0x0003469c mov r4, 0x33                                  |         r4 = 0x33;
    0x000346a0 b 0x348c4                                     |         goto label_24;
                                                             | label_67:
    0x000346a4 ldr r3, [sb, 0x410]                           |         r3 = *((sb + 0x410));
    0x000346a8 cmp r3, 0                                     |         
    0x000346ac beq 0x34618                                   |         
                                                             |     } while (r3 == 0);
    0x000346b0 cmp r2, 2                                     |     
                                                             |     if (r2 == 2) {
    0x000346b4 bne 0x346d8                                   |         
                                                             | label_68:
    0x000346b8 ldr r3, [r8, 0x19c]                           |         r3 = *((r8 + 0x19c));
    0x000346bc adds r3, r3, 1                                |         r3++;
                                                             |         if (r3 == r3) {
    0x000346c0 movne r3, 1                                   |             r3 = 1;
                                                             |         }
    0x000346c4 add r3, r8, r3, lsl 4                         |         r3 = r8 + (r3 << 4);
    0x000346c8 ldr r3, [r3, 0x1e0]                           |         r3 = *((r3 + 0x1e0));
    0x000346cc cmp r3, 2                                     |         
                                                             |         if (r3 == 2) {
    0x000346d0 ldrne r3, [sb, 0x468]                         |             r3 = *((sb + 0x468));
                                                             |         }
                                                             |         if (r3 != 2) {
    0x000346d4 bne 0x346dc                                   |             goto label_72;
                                                             |         }
                                                             |     }
    0x000346d8 ldr r3, [sb, 0x410]                           |     r3 = *((sb + 0x410));
                                                             | label_72:
    0x000346dc mov r2, 3                                     |     r2 = 3;
    0x000346e0 mov r1, 0x6c                                  |     r1 = 0x6c;
    0x000346e4 mov r0, sl                                    |     r0 = sl;
    0x000346e8 bl 0x5aa8                                     |     r0 = BIO_ctrl ();
    0x000346ec cmp r0, 0                                     |     
                                                             |     if (r0 > 0) {
    0x000346f0 bgt 0x34768                                   |         goto label_73;
                                                             |     }
    0x000346f4 ldr r3, [sp, 0x10]                            |     r3 = var_10h;
    0x000346f8 cmp r3, 0                                     |     
                                                             |     if (r3 != 0) {
    0x000346fc beq 0x34740                                   |         
    0x00034700 ldr r3, [r8, 0xf0]                            |         r3 = *((r8 + 0xf0));
    0x00034704 cmp r3, 2                                     |         
                                                             |         if (r3 == 2) {
    0x00034708 bne 0x3472c                                   |             
    0x0003470c ldr r3, [r8, 0x19c]                           |             r3 = *((r8 + 0x19c));
    0x00034710 adds r3, r3, 1                                |             r3++;
                                                             |             if (r3 == r3) {
    0x00034714 movne r3, 1                                   |                 r3 = 1;
                                                             |             }
    0x00034718 add r3, r8, r3, lsl 4                         |             r3 = r8 + (r3 << 4);
    0x0003471c ldr r3, [r3, 0x1e0]                           |             r3 = *((r3 + 0x1e0));
    0x00034720 cmp r3, 2                                     |             
                                                             |             if (r3 == 2) {
    0x00034724 ldrne r2, [sb, 0x468]                         |                 r2 = *((sb + 0x468));
                                                             |             }
                                                             |             if (r3 != 2) {
    0x00034728 bne 0x34730                                   |                 goto label_74;
                                                             |             }
                                                             |         }
    0x0003472c ldr r2, [sb, 0x410]                           |         r2 = *((sb + 0x410));
                                                             | label_74:
    0x00034730 ldr r1, [pc, -0x1ac]                          |         r1 = *(0x34588);
    0x00034734 mov r0, sb                                    |         r0 = sb;
    0x00034738 add r1, pc, r1                                |         r1 = pc + r1;
    0x0003473c bl 0x10544                                    |         Curl_failf ();
                                                             |     }
    0x00034740 mov r0, sl                                    |     r0 = sl;
    0x00034744 bl 0x5ad8                                     |     BIO_free ();
                                                             |     do {
    0x00034748 ldr r3, [fp, 0xc]                             |         r3 = *(arg_ch);
    0x0003474c mov r4, 0x53                                  |         r4 = 0x53;
    0x00034750 ldr r0, [r3, 8]                               |         r0 = *((r3 + 8));
    0x00034754 bl 0x5b74                                     |         X509_free ();
    0x00034758 ldr r3, [fp, 0xc]                             |         r3 = *(arg_ch);
    0x0003475c mov r2, 0                                     |         r2 = 0;
    0x00034760 str r2, [r3, 8]                               |         *((r3 + 8)) = r2;
    0x00034764 b 0x335ec                                     |         goto label_10;
                                                             | label_73:
    0x00034768 mov r3, 0                                     |         r3 = 0;
    0x0003476c mov r2, r3                                    |         r2 = r3;
    0x00034770 mov r1, r3                                    |         r1 = r3;
    0x00034774 mov r0, sl                                    |         r0 = sl;
    0x00034778 bl 0x5a00                                     |         PEM_read_bio_X509 ();
    0x0003477c subs r4, r0, 0                                |         r4 -= s;
                                                             |         if (r4 != s) {
    0x00034780 bne 0x347e4                                   |             goto label_75;
                                                             |         }
    0x00034784 ldr r3, [sp, 0x10]                            |         r3 = var_10h;
    0x00034788 cmp r3, 0                                     |         
                                                             |         if (r3 != 0) {
    0x0003478c beq 0x347d0                                   |             
    0x00034790 ldr r3, [r8, 0xf0]                            |             r3 = *((r8 + 0xf0));
    0x00034794 cmp r3, 2                                     |             
                                                             |             if (r3 == 2) {
    0x00034798 bne 0x347bc                                   |                 
    0x0003479c ldr r3, [r8, 0x19c]                           |                 r3 = *((r8 + 0x19c));
    0x000347a0 adds r3, r3, 1                                |                 r3++;
                                                             |                 if (r3 == r3) {
    0x000347a4 movne r3, 1                                   |                     r3 = 1;
                                                             |                 }
    0x000347a8 add r3, r8, r3, lsl 4                         |                 r3 = r8 + (r3 << 4);
    0x000347ac ldr r3, [r3, 0x1e0]                           |                 r3 = *((r3 + 0x1e0));
    0x000347b0 cmp r3, 2                                     |                 
                                                             |                 if (r3 == 2) {
    0x000347b4 ldrne r2, [sb, 0x468]                         |                     r2 = *((sb + 0x468));
                                                             |                 }
                                                             |                 if (r3 != 2) {
    0x000347b8 bne 0x347c0                                   |                     goto label_76;
                                                             |                 }
                                                             |             }
    0x000347bc ldr r2, [sb, 0x410]                           |             r2 = *((sb + 0x410));
                                                             | label_76:
    0x000347c0 ldr r1, [pc, -0x238]                          |             r1 = *(0x3458c);
    0x000347c4 mov r0, sb                                    |             r0 = sb;
    0x000347c8 add r1, pc, r1                                |             r1 = pc + r1;
    0x000347cc bl 0x10544                                    |             Curl_failf ();
                                                             |         }
    0x000347d0 mov r0, sl                                    |         r0 = sl;
    0x000347d4 bl 0x5ad8                                     |         BIO_free ();
    0x000347d8 mov r0, 0                                     |         r0 = 0;
                                                             | label_22:
    0x000347dc bl 0x5b74                                     |         X509_free ();
    0x000347e0 b 0x34748                                     |         
                                                             |     } while (1);
                                                             | label_75:
    0x000347e4 ldr r3, [fp, 0xc]                             |     r3 = *(arg_ch);
    0x000347e8 ldr r1, [r3, 8]                               |     r1 = *((r3 + 8));
    0x000347ec bl 0x57c0                                     |     r0 = X509_check_issued ();
    0x000347f0 cmp r0, 0                                     |     
                                                             |     if (r0 != 0) {
    0x000347f4 beq 0x34854                                   |         
    0x000347f8 ldr r3, [sp, 0x10]                            |         r3 = var_10h;
    0x000347fc cmp r3, 0                                     |         
                                                             |         if (r3 != 0) {
    0x00034800 beq 0x34844                                   |             
    0x00034804 ldr r3, [r8, 0xf0]                            |             r3 = *((r8 + 0xf0));
    0x00034808 cmp r3, 2                                     |             
                                                             |             if (r3 == 2) {
    0x0003480c bne 0x34830                                   |                 
    0x00034810 ldr r3, [r8, 0x19c]                           |                 r3 = *((r8 + 0x19c));
    0x00034814 adds r3, r3, 1                                |                 r3++;
                                                             |                 if (r3 == r3) {
    0x00034818 movne r3, 1                                   |                     r3 = 1;
                                                             |                 }
    0x0003481c add r3, r8, r3, lsl 4                         |                 r3 = r8 + (r3 << 4);
    0x00034820 ldr r3, [r3, 0x1e0]                           |                 r3 = *((r3 + 0x1e0));
    0x00034824 cmp r3, 2                                     |                 
                                                             |                 if (r3 == 2) {
    0x00034828 ldrne r2, [sb, 0x468]                         |                     r2 = *((sb + 0x468));
                                                             |                 }
                                                             |                 if (r3 != 2) {
    0x0003482c bne 0x34834                                   |                     goto label_77;
                                                             |                 }
                                                             |             }
    0x00034830 ldr r2, [sb, 0x410]                           |             r2 = *((sb + 0x410));
                                                             | label_77:
    0x00034834 ldr r1, [pc, -0x2a8]                          |             r1 = *(0x00034594);
    0x00034838 mov r0, sb                                    |             r0 = sb;
    0x0003483c add r1, pc, r1                                |             r1 = pc + r1;
    0x00034840 bl 0x10544                                    |             Curl_failf ();
                                                             |         }
    0x00034844 mov r0, sl                                    |         r0 = sl;
    0x00034848 bl 0x5ad8                                     |         BIO_free ();
    0x0003484c mov r0, r4                                    |         r0 = r4;
    0x00034850 b 0x347dc                                     |         goto label_22;
                                                             |     }
    0x00034854 ldr r3, [r8, 0xf0]                            |     r3 = *((r8 + 0xf0));
    0x00034858 cmp r3, 2                                     |     
                                                             |     if (r3 == 2) {
    0x0003485c bne 0x34880                                   |         
    0x00034860 ldr r3, [r8, 0x19c]                           |         r3 = *((r8 + 0x19c));
    0x00034864 adds r3, r3, 1                                |         r3++;
                                                             |         if (r3 == r3) {
    0x00034868 movne r3, 1                                   |             r3 = 1;
                                                             |         }
    0x0003486c add r3, r8, r3, lsl 4                         |         r3 = r8 + (r3 << 4);
    0x00034870 ldr r3, [r3, 0x1e0]                           |         r3 = *((r3 + 0x1e0));
    0x00034874 cmp r3, 2                                     |         
                                                             |         if (r3 == 2) {
    0x00034878 ldrne r2, [sb, 0x468]                         |             r2 = *((sb + 0x468));
                                                             |         }
                                                             |         if (r3 != 2) {
    0x0003487c bne 0x34884                                   |             goto label_78;
                                                             |         }
                                                             |     }
    0x00034880 ldr r2, [sb, 0x410]                           |     r2 = *((sb + 0x410));
                                                             | label_78:
    0x00034884 ldr r1, [pc, -0x2f4]                          |     r1 = *(0x34594);
    0x00034888 mov r0, sb                                    |     r0 = sb;
    0x0003488c add r1, pc, r1                                |     r1 = pc + r1;
    0x00034890 bl 0x104cc                                    |     Curl_infof ();
    0x00034894 mov r0, r4                                    |     r0 = r4;
    0x00034898 bl 0x5b74                                     |     X509_free ();
    0x0003489c b 0x34618                                     |     goto label_23;
                                                             | label_71:
    0x000348a0 mov r0, r4                                    |     r0 = r4;
    0x000348a4 bl 0x5910                                     |     X509_verify_cert_error_string ();
    0x000348a8 ldr r1, [pc, -0x314]                          |     r1 = *(0x34598);
    0x000348ac mov r3, r4                                    |     r3 = r4;
    0x000348b0 add r1, pc, r1                                |     r1 = pc + r1;
    0x000348b4 mov r4, r5                                    |     r4 = r5;
    0x000348b8 mov r2, r0                                    |     r2 = r0;
    0x000348bc mov r0, sb                                    |     r0 = sb;
    0x000348c0 bl 0x104cc                                    |     Curl_infof ();
                                                             | label_24:
    0x000348c4 ldr r3, [r8, 0xf0]                            |     r3 = *((r8 + 0xf0));
    0x000348c8 cmp r3, 2                                     |     
                                                             |     if (r3 == 2) {
    0x000348cc bne 0x348f0                                   |         
    0x000348d0 ldr r3, [r8, 0x19c]                           |         r3 = *((r8 + 0x19c));
    0x000348d4 adds r3, r3, 1                                |         r3++;
                                                             |         if (r3 == r3) {
    0x000348d8 movne r3, 1                                   |             r3 = 1;
                                                             |         }
    0x000348dc add r3, r8, r3, lsl 4                         |         r3 = r8 + (r3 << 4);
    0x000348e0 ldr r3, [r3, 0x1e0]                           |         r3 = *((r3 + 0x1e0));
    0x000348e4 cmp r3, 2                                     |         
                                                             |         if (r3 == 2) {
    0x000348e8 ldrbne r3, [r8, 0x232]                        |             r3 = *((r8 + 0x232));
                                                             |         }
                                                             |         if (r3 != 2) {
    0x000348ec bne 0x348f4                                   |             goto label_79;
                                                             |         }
                                                             |     }
    0x000348f0 ldrb r3, [r8, 0x20a]                          |     r3 = *((r8 + 0x20a));
                                                             | label_79:
    0x000348f4 cmp r3, 0                                     |     
                                                             |     if (r3 == 0) {
    0x000348f8 beq 0x34954                                   |         goto label_80;
                                                             |     }
    0x000348fc ldr r0, [fp, 0xc]                             |     r0 = *(arg_ch);
    0x00034900 add r6, sp, 0x50                              |     r6 += var_50h;
    0x00034904 mov r2, 0                                     |     r2 = 0;
    0x00034908 mov r3, r6                                    |     r3 = r6;
    0x0003490c mov r1, 0x46                                  |     r1 = 0x46;
    0x00034910 ldr r0, [r0, 4]                               |     r0 = *((r0 + 4));
    0x00034914 ldr r4, [r8]                                  |     r4 = *(r8);
    0x00034918 bl 0x5a0c                                     |     SSL_ctrl ();
    0x0003491c ldr r5, [sp, 0x50]                            |     r5 = var_50h;
    0x00034920 cmp r5, 0                                     |     
    0x00034924 mov r2, r0                                    |     r2 = r0;
                                                             |     if (r5 != 0) {
    0x00034928 bne 0x34a10                                   |         goto label_81;
                                                             |     }
    0x0003492c ldr r1, [pc, -0x394]                          |     r1 = *(0x000345a0);
    0x00034930 mov r0, r4                                    |     r0 = r4;
    0x00034934 add r1, pc, r1                                |     r1 = pc + r1;
    0x00034938 mov r4, 0x5b                                  |     r4 = 0x5b;
    0x0003493c bl 0x10544                                    |     Curl_failf ();
    0x00034940 str r5, [sp, 0xc]                             |     var_ch = r5;
                                                             | label_25:
    0x00034944 ldr r0, [sp, 0xc]                             |     r0 = var_ch;
    0x00034948 bl 0x57e4                                     |     OCSP_RESPONSE_free ();
    0x0003494c cmp r4, 0                                     |     
                                                             |     if (r4 != 0) {
    0x00034950 bne 0x341bc                                   |         goto label_16;
                                                             |     }
                                                             | label_80:
    0x00034954 ldr r3, [sp, 0x10]                            |     r3 = var_10h;
    0x00034958 cmp r3, 0                                     |     
    0x0003495c ldr r3, [r8, 0xf0]                            |     r3 = *((r8 + 0xf0));
                                                             |     if (r3 != 0) {
    0x00034960 moveq r4, 0                                   |         r4 = 0;
                                                             |     }
    0x00034964 cmp r3, 2                                     |     
                                                             |     if (r3 == 2) {
    0x00034968 bne 0x3498c                                   |         
    0x0003496c ldr r3, [r8, 0x19c]                           |         r3 = *((r8 + 0x19c));
    0x00034970 adds r3, r3, 1                                |         r3++;
                                                             |         if (r3 == r3) {
    0x00034974 movne r3, 1                                   |             r3 = 1;
                                                             |         }
    0x00034978 add r3, r8, r3, lsl 4                         |         r3 = r8 + (r3 << 4);
    0x0003497c ldr r3, [r3, 0x1e0]                           |         r3 = *((r3 + 0x1e0));
    0x00034980 cmp r3, 2                                     |         
                                                             |         if (r3 == 2) {
    0x00034984 ldrne r5, [sb, 0x584]                         |             r5 = *((sb + 0x584));
                                                             |         }
                                                             |         if (r3 != 2) {
    0x00034988 bne 0x34990                                   |             goto label_82;
                                                             |         }
                                                             |     }
    0x0003498c ldr r5, [sb, 0x580]                           |     r5 = *((sb + 0x580));
                                                             | label_82:
    0x00034990 cmp r4, 0                                     |     
    0x00034994 str r5, [sp, 0x4c]                            |     var_4ch = r5;
                                                             |     if (r4 == 0) {
    0x00034998 bne 0x349d0                                   |         
    0x0003499c cmp r5, 0                                     |         
                                                             |         if (r5 == 0) {
    0x000349a0 beq 0x349d0                                   |             goto label_29;
                                                             |         }
    0x000349a4 ldr r3, [fp, 0xc]                             |         r3 = *(arg_ch);
    0x000349a8 ldr r8, [r3, 8]                               |         r8 = *((r3 + 8));
    0x000349ac str r4, [sp, 0x60]                            |         s2 = r4;
    0x000349b0 cmp r8, 0                                     |         
                                                             |         if (r8 != 0) {
    0x000349b4 bne 0x34bb8                                   |             goto label_83;
                                                             |         }
                                                             | label_28:
    0x000349b8 mov r5, 0x5a                                  |         r5 = 0x5a;
                                                             | label_30:
    0x000349bc ldr r1, [pc, -0x420]                          |         r1 = *(0x345a0);
    0x000349c0 mov r0, sb                                    |         r0 = sb;
    0x000349c4 add r1, pc, r1                                |         r1 = pc + r1;
    0x000349c8 bl 0x10544                                    |         Curl_failf ();
    0x000349cc mov r4, r5                                    |         r4 = r5;
                                                             |     }
                                                             | label_29:
    0x000349d0 mov r0, sl                                    |     r0 = sl;
    0x000349d4 bl 0x5ad8                                     |     BIO_free ();
    0x000349d8 ldr r3, [fp, 0xc]                             |     r3 = *(arg_ch);
    0x000349dc ldr r0, [r3, 8]                               |     r0 = *((r3 + 8));
    0x000349e0 bl 0x5b74                                     |     X509_free ();
    0x000349e4 ldr r3, [fp, 0xc]                             |     r3 = *(arg_ch);
    0x000349e8 mov r2, 0                                     |     r2 = 0;
    0x000349ec str r2, [r3, 8]                               |     *((r3 + 8)) = r2;
    0x000349f0 mov r3, 5                                     |     r3 = 5;
    0x000349f4 str r3, [fp, 8]                               |     *(arg_8h) = r3;
    0x000349f8 b 0x335ec                                     |     goto label_10;
                                                             | label_69:
    0x000349fc ldr r1, [pc, -0x45c]                          |     r1 = *(0x345a4);
    0x00034a00 mov r0, sb                                    |     r0 = sb;
    0x00034a04 add r1, pc, r1                                |     r1 = pc + r1;
    0x00034a08 bl 0x104cc                                    |     Curl_infof ();
    0x00034a0c b 0x348c4                                     |     goto label_24;
                                                             | label_81:
    0x00034a10 mov r1, r6                                    |     r1 = r6;
    0x00034a14 mov r0, 0                                     |     r0 = 0;
    0x00034a18 bl 0x5550                                     |     r0 = d2i_OCSP_RESPONSE ();
    0x00034a1c subs r3, r0, 0                                |     r3 = r0 - 0;
    0x00034a20 str r3, [sp, 0xc]                             |     var_ch = r3;
                                                             |     if (r3 != r0) {
    0x00034a24 bne 0x34a3c                                   |         goto label_84;
                                                             |     }
    0x00034a28 ldr r1, [pc, -0x484]                          |     r1 = *(0x345a8);
    0x00034a2c add r1, pc, r1                                |     r1 = pc + r1;
                                                             |     do {
    0x00034a30 mov r0, r4                                    |         r0 = r4;
    0x00034a34 bl 0x10544                                    |         Curl_failf ();
    0x00034a38 b 0x34a64                                     |         goto label_85;
                                                             | label_84:
    0x00034a3c bl 0x4e60                                     |         r0 = OCSP_response_status ();
    0x00034a40 subs r6, r0, 0                                |         r6 = r0 - 0;
                                                             |         if (r6 != r0) {
    0x00034a44 beq 0x34a6c                                   |             
    0x00034a48 bl 0x58bc                                     |             OCSP_response_status_str ();
    0x00034a4c ldr r1, [pc, -0x4a4]                          |             r1 = *(0x000345b0);
    0x00034a50 mov r3, r6                                    |             r3 = r6;
    0x00034a54 add r1, pc, r1                                |             r1 = pc + r1;
    0x00034a58 mov r2, r0                                    |             r2 = r0;
    0x00034a5c mov r0, r4                                    |             r0 = r4;
    0x00034a60 bl 0x10544                                    |             Curl_failf ();
                                                             | label_85:
    0x00034a64 mov r4, 0x5b                                  |             r4 = 0x5b;
    0x00034a68 b 0x34944                                     |             goto label_25;
                                                             |         }
    0x00034a6c ldr r0, [sp, 0xc]                             |         r0 = var_ch;
    0x00034a70 bl 0x4ddc                                     |         r0 = OCSP_response_get1_basic ();
    0x00034a74 subs r7, r0, 0                                |         r7 = r0 - 0;
                                                             |         if (r7 != r0) {
    0x00034a78 ldreq r1, [pc, -0x4cc]                        |             r1 = *((pc - 0x4cc));
                                                             |         }
                                                             |         if (r7 != r0) {
    0x00034a7c addeq r1, pc, r1                              |             r1 = pc + r1;
                                                             |         }
    0x00034a80 beq 0x34a30                                   |         
                                                             |     } while (r7 == r0);
    0x00034a84 ldr r3, [fp, 0xc]                             |     r3 = *(arg_ch);
    0x00034a88 ldr r0, [r3, 4]                               |     r0 = *((r3 + 4));
    0x00034a8c bl 0x5748                                     |     SSL_get_peer_cert_chain ();
    0x00034a90 ldr r3, [fp, 0xc]                             |     r3 = *(arg_ch);
    0x00034a94 mov r5, r0                                    |     r5 = r0;
    0x00034a98 ldr r0, [r3]                                  |     r0 = *(r3);
    0x00034a9c bl 0x54c0                                     |     SSL_CTX_get_cert_store ();
    0x00034aa0 mov r3, r6                                    |     r3 = r6;
    0x00034aa4 mov r1, r5                                    |     r1 = r5;
    0x00034aa8 mov r2, r0                                    |     r2 = r0;
    0x00034aac mov r0, r7                                    |     r0 = r7;
    0x00034ab0 bl 0x5994                                     |     r0 = OCSP_basic_verify ();
    0x00034ab4 cmp r0, 0                                     |     
                                                             |     if (r0 > 0) {
    0x00034ab8 ble 0x34aec                                   |         
    0x00034abc add r5, sp, 0x60                              |         r5 += s2;
    0x00034ac0 sub r3, r5, 4                                 |         r3 -= nmeb;
    0x00034ac4 str r3, [sp, 0x14]                            |         var_14h = r3;
    0x00034ac8 ldr r3, [pc, -0x518]                          |         r3 = *(0x345b4);
    0x00034acc add r3, pc, r3                                |         r3 = pc + r3;
    0x00034ad0 str r3, [sp, 0x18]                            |         var_18h = r3;
                                                             | label_27:
    0x00034ad4 mov r0, r7                                    |         r0 = r7;
    0x00034ad8 bl 0x5970                                     |         r0 = OCSP_resp_count ();
    0x00034adc cmp r6, r0                                    |         
                                                             |         if (r6 < r0) {
    0x00034ae0 blt 0x34b0c                                   |             goto label_86;
                                                             |         }
    0x00034ae4 mov r4, 0                                     |         r4 = 0;
    0x00034ae8 b 0x34b00                                     |         goto label_87;
                                                             |     }
    0x00034aec ldr r1, [pc, -0x538]                          |     r1 = *(0x345b8);
    0x00034af0 add r1, pc, r1                                |     r1 = pc + r1;
                                                             |     do {
    0x00034af4 mov r0, r4                                    |         r0 = r4;
    0x00034af8 bl 0x10544                                    |         Curl_failf ();
                                                             | label_26:
    0x00034afc mov r4, 0x5b                                  |         r4 = 0x5b;
                                                             | label_87:
    0x00034b00 mov r0, r7                                    |         r0 = r7;
    0x00034b04 bl 0x561c                                     |         OCSP_BASICRESP_free ();
    0x00034b08 b 0x34944                                     |         goto label_25;
                                                             | label_86:
    0x00034b0c mov r1, r6                                    |         r1 = r6;
    0x00034b10 mov r0, r7                                    |         r0 = r7;
    0x00034b14 bl 0x5508                                     |         r0 = OCSP_resp_get0 ();
    0x00034b18 cmp r0, 0                                     |         
                                                             |         if (r0 == 0) {
    0x00034b1c beq 0x34b8c                                   |             goto label_88;
                                                             |         }
    0x00034b20 ldr r3, [sp, 0x14]                            |         r3 = var_14h;
    0x00034b24 sub r2, r5, 8                                 |         r2 -= var_58h;
    0x00034b28 sub r1, r5, 0xc                               |         r1 -= var_54h;
    0x00034b2c str r5, [sp]                                  |         *(sp) = r5;
    0x00034b30 bl 0x5958                                     |         OCSP_single_get0_status ();
    0x00034b34 mvn r3, 0                                     |         r3 = ~0;
    0x00034b38 mov r2, 0x12c                                 |         r2 = 0x12c;
    0x00034b3c ldr r1, [sp, 0x60]                            |         r1 = s2;
    0x00034b40 str r0, [sp, 8]                               |         var_8h = r0;
    0x00034b44 ldr r0, [sp, 0x5c]                            |         r0 = nmeb;
    0x00034b48 bl 0x5778                                     |         r0 = OCSP_check_validity ();
    0x00034b4c cmp r0, 0                                     |         
                                                             |         if (r0 != 0) {
    0x00034b50 ldreq r1, [pc, -0x598]                        |             r1 = *(0x000345c0);
                                                             |         }
                                                             |         if (r0 != 0) {
    0x00034b54 addeq r1, pc, r1                              |             r1 = pc + r1;
                                                             |         }
    0x00034b58 beq 0x34af4                                   |         
                                                             |     } while (r0 == 0);
    0x00034b5c ldr r0, [sp, 8]                               |     r0 = var_8h;
    0x00034b60 bl 0x5604                                     |     OCSP_cert_status_str ();
    0x00034b64 ldr r3, [sp, 8]                               |     r3 = var_8h;
    0x00034b68 ldr r1, [sp, 0x18]                            |     r1 = var_18h;
    0x00034b6c mov r2, r0                                    |     r2 = r0;
    0x00034b70 mov r0, r4                                    |     r0 = r4;
    0x00034b74 bl 0x104cc                                    |     Curl_infof ();
    0x00034b78 ldr r3, [sp, 8]                               |     r3 = var_8h;
    0x00034b7c cmp r3, 1                                     |     
                                                             |     if (r3 == 1) {
    0x00034b80 beq 0x34b94                                   |         goto label_89;
                                                             |     }
    0x00034b84 cmp r3, 2                                     |     
                                                             |     if (r3 == 2) {
    0x00034b88 beq 0x34afc                                   |         goto label_26;
                                                             |     }
                                                             | label_88:
    0x00034b8c add r6, r6, 1                                 |     r6++;
    0x00034b90 b 0x34ad4                                     |     goto label_27;
                                                             | label_89:
    0x00034b94 ldr r0, [sp, 0x54]                            |     r0 = var_54h;
    0x00034b98 bl 0x5610                                     |     OCSP_crl_reason_str ();
    0x00034b9c ldr r1, [pc, -0x5e0]                          |     r1 = *(0x345c0);
    0x00034ba0 ldr r3, [sp, 0x54]                            |     r3 = var_54h;
    0x00034ba4 add r1, pc, r1                                |     r1 = pc + r1;
    0x00034ba8 mov r2, r0                                    |     r2 = r0;
    0x00034bac mov r0, r4                                    |     r0 = r4;
    0x00034bb0 bl 0x10544                                    |     Curl_failf ();
    0x00034bb4 b 0x34afc                                     |     goto label_26;
                                                             | label_83:
    0x00034bb8 mov r0, r8                                    |     r0 = r8;
    0x00034bbc bl 0x4fec                                     |     X509_get_X509_PUBKEY ();
    0x00034bc0 mov r1, r4                                    |     r1 = r4;
    0x00034bc4 bl 0x5358                                     |     r0 = i2d_X509_PUBKEY ();
    0x00034bc8 subs r7, r0, 0                                |     r7 = r0 - 0;
                                                             |     if (r7 <= r0) {
    0x00034bcc ble 0x349b8                                   |         goto label_28;
                                                             |     }
    0x00034bd0 ldr r2, [sp, 0x30]                            |     r2 = var_30h;
    0x00034bd4 ldr r3, [pc, -0x614]                          |     
    0x00034bd8 ldr r3, [r2, r3]                              |     r3 = *((r2 + r3));
    0x00034bdc ldr r3, [r3]                                  |     r3 = *(0x345c4);
    0x00034be0 blx r3                                        |     r0 = uint32_t (*r3)(uint32_t, uint32_t) (r2, r3);
    0x00034be4 cmp r0, 0                                     |     
    0x00034be8 mov r6, r0                                    |     r6 = r0;
    0x00034bec str r0, [sp, 0x60]                            |     s2 = r0;
                                                             |     if (r0 == 0) {
    0x00034bf0 beq 0x349b8                                   |         goto label_28;
                                                             |     }
    0x00034bf4 mov r0, r8                                    |     r0 = r8;
    0x00034bf8 bl 0x4fec                                     |     X509_get_X509_PUBKEY ();
    0x00034bfc add r1, sp, 0x60                              |     r1 += s2;
    0x00034c00 bl 0x5358                                     |     r0 = i2d_X509_PUBKEY ();
    0x00034c04 cmp r7, r0                                    |     
                                                             |     if (r7 != r0) {
    0x00034c08 bne 0x34c6c                                   |         goto label_90;
                                                             |     }
    0x00034c0c ldr r2, [sp, 0x60]                            |     r2 = s2;
    0x00034c10 cmp r2, 0                                     |     
                                                             |     if (r2 == 0) {
    0x00034c14 beq 0x34c6c                                   |         goto label_90;
                                                             |     }
    0x00034c18 sub r2, r2, r6                                |     r2 -= r6;
    0x00034c1c cmp r7, r2                                    |     
                                                             |     if (r7 != r2) {
    0x00034c20 bne 0x34c6c                                   |         goto label_90;
                                                             |     }
    0x00034c24 mov r1, r5                                    |     r1 = r5;
    0x00034c28 mov r3, r7                                    |     r3 = r7;
    0x00034c2c mov r2, r6                                    |     r2 = r6;
    0x00034c30 mov r0, sb                                    |     r0 = sb;
    0x00034c34 bl 0x378cc                                    |     r0 = Curl_pin_peer_pubkey ();
    0x00034c38 mov r5, r0                                    |     r5 = r0;
                                                             | label_32:
    0x00034c3c ldr r2, [sp, 0x30]                            |     r2 = var_30h;
    0x00034c40 ldr r3, [pc, -0x67c]                          |     
    0x00034c44 mov r0, r6                                    |     r0 = r6;
    0x00034c48 ldr r3, [r2, r3]                              |     r3 = *((r2 + r3));
    0x00034c4c ldr r3, [r3]                                  |     r3 = *(0x345c8);
    0x00034c50 blx r3                                        |     uint32_t (*r3)(uint32_t, uint32_t, uint32_t) (r0, r2, r3);
    0x00034c54 cmp r5, 0                                     |     
                                                             |     if (r5 == 0) {
    0x00034c58 beq 0x349d0                                   |         goto label_29;
                                                             |     }
    0x00034c5c b 0x349bc                                     |     goto label_30;
                                                             | label_58:
    0x00034c60 ldr r5, [sp, 0x24]                            |     r5 = var_24h;
    0x00034c64 str r5, [sp, 0x20]                            |     var_20h = r5;
    0x00034c68 b 0x34180                                     |     goto label_31;
                                                             | label_90:
    0x00034c6c mov r5, 0x5a                                  |     r5 = 0x5a;
    0x00034c70 b 0x34c3c                                     |     goto label_32;
                                                             | label_62:
    0x00034c74 cmp r3, 7                                     |     
                                                             |     if (r3 != 7) {
    0x00034c78 bne 0x34c9c                                   |         goto label_63;
                                                             |     }
    0x00034c7c ldr r0, [r7, 4]                               |     r0 = *((r7 + 4));
    0x00034c80 bl 0x5298                                     |     r0 = ASN1_STRING_get0_data ();
    0x00034c84 mov r5, r0                                    |     r5 = r0;
    0x00034c88 ldr r0, [r7, 4]                               |     r0 = *((r7 + 4));
    0x00034c8c bl 0x5c58                                     |     ASN1_STRING_length ();
    0x00034c90 ldr r3, [sp, 0x28]                            |     r3 = var_28h;
    0x00034c94 cmp r3, r0                                    |     
                                                             |     if (r3 == r0) {
    0x00034c98 beq 0x342a8                                   |         goto label_33;
                                                             |     }
                                                             | label_63:
    0x00034c9c mov r5, r4                                    |     r5 = r4;
    0x00034ca0 b 0x342d8                                     |     goto label_34;
                                                             | label_61:
    0x00034ca4 cmp r3, 2                                     |     
                                                             |     if (r3 != 2) {
    0x00034ca8 strne r4, [sp, 0x20]                          |         var_20h = r4;
                                                             |         goto label_91;
                                                             |     }
                                                             |     if (r3 != 2) {
                                                             | label_91:
    0x00034cac bne 0x342d8                                   |         goto label_34;
                                                             |     }
    0x00034cb0 ldr r0, [r7, 4]                               |     r0 = *((r7 + 4));
    0x00034cb4 bl 0x5298                                     |     ASN1_STRING_get0_data ();
    0x00034cb8 str r0, [sp, 0x1c]                            |     var_1ch = r0;
    0x00034cbc ldr r0, [r7, 4]                               |     r0 = *((r7 + 4));
    0x00034cc0 bl 0x5c58                                     |     ASN1_STRING_length ();
    0x00034cc4 str r4, [sp, 0x20]                            |     var_20h = r4;
    0x00034cc8 mov r7, r0                                    |     r7 = r0;
    0x00034ccc b 0x3425c                                     |     goto label_35;
                                                             | }
    ; 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/lib/libcurl.so @ 0x2cc98 */
                                                                     | #include <stdint.h>
                                                                     |  
    ; (fcn) sym.setstropt_userpwd ()                                 | void setstropt_userpwd (int32_t arg1, int32_t arg2) {
                                                                     |     int32_t var_0h_2;
                                                                     |     int32_t var_8h_2;
                                                                     |     int32_t var_ch;
                                                                     |     r0 = arg1;
                                                                     |     r1 = arg2;
    0x0002cc98 push {r0, r1, r2, r3, r4, r5, r6, r7, r8, lr}         |     
    0x0002cc9c ldr r7, [pc, 0x104]                                   |     r7 = *(0x2cda4);
    0x0002cca0 mov r3, 0                                             |     r3 = 0;
    0x0002cca4 subs r8, r0, 0                                        |     r8 = r0 - 0;
    0x0002cca8 add r7, pc, r7                                        |     r7 = pc + r7;
    0x0002ccac mov r4, r1                                            |     r4 = r1;
    0x0002ccb0 mov r5, r2                                            |     r5 = r2;
    0x0002ccb4 str r3, [sp, 8]                                       |     var_8h_2 = r3;
    0x0002ccb8 str r3, [sp, 0xc]                                     |     var_ch = r3;
                                                                     |     if (r8 == r0) {
    0x0002ccbc beq 0x2cd9c                                           |         goto label_3;
                                                                     |     }
    0x0002ccc0 bl 0x5250                                             |     strlen (r0);
    0x0002ccc4 cmp r4, 0                                             |     
                                                                     |     if (r4 == 0) {
    0x0002ccc8 addne r2, sp, 8                                       |         r2 += var_8h_2;
                                                                     |     }
                                                                     |     if (r4 != 0) {
    0x0002cccc moveq r2, r4                                          |         r2 = r4;
                                                                     |     }
    0x0002ccd0 cmp r5, 0                                             |     
                                                                     |     if (r5 == 0) {
    0x0002ccd4 addne r3, sp, 0xc                                     |         r3 += var_ch;
                                                                     |     }
                                                                     |     if (r5 != 0) {
    0x0002ccd8 moveq r3, r5                                          |         r3 = r5;
                                                                     |     }
    0x0002ccdc mov r1, r0                                            |     r1 = r0;
    0x0002cce0 mov r0, 0                                             |     r0 = 0;
    0x0002cce4 str r0, [sp]                                          |     *(sp) = r0;
    0x0002cce8 mov r0, r8                                            |     r0 = r8;
    0x0002ccec bl 0x11ab8                                            |     r0 = Curl_parse_login_details ();
    0x0002ccf0 subs r6, r0, 0                                        |     r6 = r0 - 0;
                                                                     |     if (r6 != r0) {
    0x0002ccf4 bne 0x2cd28                                           |         goto label_4;
                                                                     |     }
    0x0002ccf8 cmp r4, 0                                             |     
                                                                     |     if (r4 != 0) {
    0x0002ccfc bne 0x2cd34                                           |         goto label_5;
                                                                     |     }
                                                                     | label_2:
    0x0002cd00 mov r6, 0                                             |     r6 = 0;
                                                                     |     do {
    0x0002cd04 cmp r5, 0                                             |         
                                                                     |         if (r5 != 0) {
    0x0002cd08 beq 0x2cd28                                           |             
    0x0002cd0c ldr r3, [pc, 0x98]                                    |             
    0x0002cd10 ldr r0, [r5]                                          |             r0 = *(r5);
    0x0002cd14 ldr r3, [r7, r3]                                      |             r3 = *((r7 + r3));
    0x0002cd18 ldr r3, [r3]                                          |             r3 = *(0x2cda8);
    0x0002cd1c blx r3                                                |             uint32_t (*r3)(uint32_t, uint32_t) (r0, r3);
    0x0002cd20 ldr r3, [sp, 0xc]                                     |             r3 = var_ch;
    0x0002cd24 str r3, [r5]                                          |             *(r5) = r3;
                                                                     |         }
                                                                     | label_4:
    0x0002cd28 mov r0, r6                                            |         r0 = r6;
    0x0002cd2c add sp, sp, 0x10                                      |         
    0x0002cd30 pop {r4, r5, r6, r7, r8, pc}                          |         
                                                                     | label_5:
    0x0002cd34 ldr r3, [sp, 8]                                       |         r3 = var_8h_2;
    0x0002cd38 cmp r3, 0                                             |         
                                                                     |         if (r3 == 0) {
    0x0002cd3c beq 0x2cd64                                           |             goto label_6;
                                                                     |         }
                                                                     | label_0:
    0x0002cd40 mov r6, 0                                             |         r6 = 0;
                                                                     | label_1:
    0x0002cd44 ldr r3, [pc, 0x60]                                    |         
    0x0002cd48 ldr r0, [r4]                                          |         r0 = *(r4);
    0x0002cd4c ldr r3, [r7, r3]                                      |         r3 = *((r7 + r3));
    0x0002cd50 ldr r3, [r3]                                          |         r3 = *(0x2cda8);
    0x0002cd54 blx r3                                                |         uint32_t (*r3)(uint32_t, uint32_t) (r0, r3);
    0x0002cd58 ldr r3, [sp, 8]                                       |         r3 = var_8h_2;
    0x0002cd5c str r3, [r4]                                          |         *(r4) = r3;
    0x0002cd60 b 0x2cd04                                             |         
                                                                     |     } while (1);
                                                                     | label_6:
    0x0002cd64 ldrb r3, [r8]                                         |     r3 = *(r8);
    0x0002cd68 cmp r3, 0x3a                                          |     
                                                                     |     if (r3 != 0x3a) {
    0x0002cd6c bne 0x2cd40                                           |         goto label_0;
                                                                     |     }
    0x0002cd70 ldr r3, [pc, 0x38]                                    |     
    0x0002cd74 ldr r0, [pc, 0x38]                                    |     r0 = *(0x2cdb0);
    0x0002cd78 ldr r3, [r7, r3]                                      |     r3 = *((r7 + r3));
    0x0002cd7c add r0, pc, r0                                        |     r0 = pc + r0;
    0x0002cd80 ldr r3, [r3]                                          |     r3 = *(0x2cdac);
    0x0002cd84 blx r3                                                |     r0 = uint32_t (*r3)(uint32_t, uint32_t) (r0, r3);
    0x0002cd88 cmp r0, 0                                             |     
    0x0002cd8c str r0, [sp, 8]                                       |     var_8h_2 = r0;
                                                                     |     if (r0 != 0) {
    0x0002cd90 bne 0x2cd40                                           |         goto label_0;
                                                                     |     }
    0x0002cd94 mov r6, 0x1b                                          |     r6 = 0x1b;
    0x0002cd98 b 0x2cd44                                             |     goto label_1;
                                                                     | label_3:
    0x0002cd9c cmp r1, 0                                             |     
                                                                     |     if (r1 != 0) {
    0x0002cda0 bne 0x2cd40                                           |         goto label_0;
                                                                     |     }
    0x0002cda4 b 0x2cd00                                             |     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/lib/libcurl.so @ 0x1bdac */
                                                                 | #include <stdint.h>
                                                                 |  
                                                                 | #define BIT_MASK(t,v) ((t)(-((v)!= 0)))&(((t)-1)>>((sizeof(t)*CHAR_BIT)-(v)))
                                                                 |  
    ; (fcn) sym.singleipconnect ()                               | void singleipconnect (int32_t arg1, int32_t arg2) {
                                                                 |     int32_t var_2h;
                                                                 |     int32_t var_0h;
                                                                 |     int32_t var_4h;
                                                                 |     int32_t var_ch;
                                                                 |     int32_t socket;
                                                                 |     int32_t var_14h;
                                                                 |     int32_t var_18h;
                                                                 |     int32_t var_1ch;
                                                                 |     int32_t var_20h;
                                                                 |     int32_t var_24h;
                                                                 |     int32_t var_28h;
                                                                 |     size_t nmeb;
                                                                 |     int32_t var_34h;
                                                                 |     int32_t var_38h;
                                                                 |     int32_t var_3ch;
                                                                 |     int32_t var_40h;
                                                                 |     struct sockaddr* address;
                                                                 |     int32_t var_74h;
                                                                 |     int32_t var_78h;
                                                                 |     int32_t var_88h;
                                                                 |     int32_t var_f0h;
                                                                 |     int32_t var_f4h;
                                                                 |     int32_t var_fch;
                                                                 |     void * addr;
                                                                 |     char * s;
                                                                 |     char * str;
                                                                 |     void * var_184h;
                                                                 |     int32_t var_280h;
                                                                 |     int32_t var_284h;
                                                                 |     r0 = arg1;
                                                                 |     r1 = arg2;
    0x0001bdac push {r4, r5, r6, r7, r8, sb, sl, fp, lr}         |     
    0x0001bdb0 ldr r5, [r0]                                      |     r5 = *(r0);
    0x0001bdb4 sub sp, sp, 0x284                                 |     
    0x0001bdb8 mvn r3, 0                                         |     r3 = ~0;
    0x0001bdbc str r3, [r2]                                      |     *(r2) = r3;
    0x0001bdc0 str r2, [sp, 0x14]                                |     var_14h = r2;
    0x0001bdc4 add r3, sp, 0x30                                  |     r3 += nmeb;
    0x0001bdc8 add r2, sp, 0xf0                                  |     r2 += var_f0h;
    0x0001bdcc mov r4, r0                                        |     r4 = r0;
    0x0001bdd0 bl 0x1bcc8                                        |     r0 = Curl_socket ();
    0x0001bdd4 subs sb, r0, 0                                    |     sb = r0 - 0;
                                                                 |     if (sb == r0) {
    0x0001bdd8 movne sb, 0                                       |         sb = 0;
                                                                 |     }
                                                                 |     if (sb != r0) {
    0x0001bddc bne 0x1be3c                                       |         goto label_4;
                                                                 |     }
    0x0001bde0 add r6, sp, 0x40                                  |     r6 += var_40h;
    0x0001bde4 add r7, sp, 0x100                                 |     r7 += addr;
    0x0001bde8 add r2, sp, 0x34                                  |     r2 += var_34h;
    0x0001bdec mov r1, r6                                        |     r1 = r6;
    0x0001bdf0 mov r0, r7                                        |     r0 = r7;
    0x0001bdf4 bl 0x1b874                                        |     Curl_getaddressinfo ();
    0x0001bdf8 subs r3, r0, 0                                    |     r3 -= addr;
    0x0001bdfc str r3, [sp, 0x18]                                |     var_18h = r3;
                                                                 |     if (r3 != addr) {
    0x0001be00 bne 0x1be48                                       |         goto label_9;
                                                                 |     }
    0x0001be04 bl 0x4eb4                                         |     r0 = errno_location ();
    0x0001be08 ldr r6, [r0]                                      |     r6 = *(r0);
    0x0001be0c mov r0, r4                                        |     r0 = r4;
    0x0001be10 mov r1, r6                                        |     r1 = r6;
    0x0001be14 bl 0x221a0                                        |     Curl_strerror ();
    0x0001be18 ldr r1, [pc, 0x724]                               |     r1 = *(0x1c540);
    0x0001be1c mov r2, r6                                        |     r2 = r6;
    0x0001be20 add r1, pc, r1                                    |     r1 = pc + r1;
    0x0001be24 mov r3, r0                                        |     r3 = r0;
    0x0001be28 mov r0, r5                                        |     r0 = r5;
    0x0001be2c bl 0x10544                                        |     Curl_failf ();
    0x0001be30 ldr r1, [sp, 0x30]                                |     r1 = nmeb;
    0x0001be34 mov r0, r4                                        |     r0 = r4;
    0x0001be38 bl 0x1bc30                                        |     Curl_closesocket ();
                                                                 |     do {
                                                                 | label_4:
    0x0001be3c mov r0, sb                                        |         r0 = sb;
    0x0001be40 add sp, sp, 0x284                                 |         
    0x0001be44 pop {r4, r5, r6, r7, r8, sb, sl, fp, pc}          |         
                                                                 | label_9:
    0x0001be48 ldr r1, [pc, 0x6f8]                               |         r1 = *(0x1c544);
    0x0001be4c mov r2, r6                                        |         r2 = r6;
    0x0001be50 add r1, pc, r1                                    |         r1 = pc + r1;
    0x0001be54 mov r0, r5                                        |         r0 = r5;
    0x0001be58 bl 0x104cc                                        |         Curl_infof ();
    0x0001be5c ldr r3, [sp, 0xf0]                                |         r3 = var_f0h;
    0x0001be60 bic r3, r3, 8                                     |         r3 = BIT_MASK (r3, 8);
    0x0001be64 cmp r3, 2                                         |         
                                                                 |         if (r3 == 2) {
    0x0001be68 bne 0x1bee0                                       |             
    0x0001be6c ldr r3, [sp, 0xf4]                                |             r3 = var_f4h;
    0x0001be70 cmp r3, 1                                         |             
                                                                 |             if (r3 != 1) {
    0x0001be74 bne 0x1bee0                                       |                 goto label_0;
                                                                 |             }
    0x0001be78 ldrb r3, [r5, 0x4ee]                              |             r3 = *((r5 + 0x4ee));
    0x0001be7c cmp r3, 0                                         |             
                                                                 |             if (r3 != 0) {
    0x0001be80 beq 0x1be90                                       |                 
    0x0001be84 ldr r1, [sp, 0x30]                                |                 r1 = nmeb;
    0x0001be88 mov r0, r4                                        |                 r0 = r4;
    0x0001be8c bl 0x1bad0                                        |                 Curl_tcpnodelay ();
                                                                 |             }
    0x0001be90 ldrb r3, [r5, 0x630]                              |             r3 = *((r5 + 0x630));
    0x0001be94 cmp r3, 0                                         |             
                                                                 |             if (r3 == 0) {
    0x0001be98 beq 0x1bee0                                       |                 goto label_0;
                                                                 |             }
    0x0001be9c ldr r6, [sp, 0x30]                                |             r6 = nmeb;
    0x0001bea0 mov r1, 1                                         |             r1 = 1;
    0x0001bea4 add r8, sp, 0x280                                 |             r8 += var_280h;
    0x0001bea8 mov sl, 4                                         |             sl = 4;
    0x0001beac str r1, [r8, -0x100]!                             |             *((r8 -= 0x100)) = r1;
    0x0001beb0 mov r2, 9                                         |             r2 = 9;
    0x0001beb4 str sl, [sp]                                      |             *(sp) = sl;
    0x0001beb8 mov r3, r8                                        |             r3 = r8;
    0x0001bebc mov r0, r6                                        |             r0 = r6;
    0x0001bec0 bl 0x546c                                         |             r0 = setsockopt ();
    0x0001bec4 cmp r0, 0                                         |             
                                                                 |             if (r0 >= 0) {
    0x0001bec8 bge 0x1bf40                                       |                 goto label_10;
                                                                 |             }
    0x0001becc ldr r1, [pc, 0x678]                               |             r1 = *(0x1c548);
    0x0001bed0 mov r2, r6                                        |             r2 = r6;
    0x0001bed4 add r1, pc, r1                                    |             r1 = pc + r1;
                                                                 | label_1:
    0x0001bed8 mov r0, r5                                        |             r0 = r5;
    0x0001bedc bl 0x104cc                                        |             Curl_infof ();
                                                                 |         }
                                                                 | label_0:
    0x0001bee0 ldr r3, [r5, 0x1b0]                               |         r3 = *((r5 + 0x1b0));
    0x0001bee4 cmp r3, 0                                         |         
                                                                 |         if (r3 == 0) {
    0x0001bee8 beq 0x1bfc0                                       |             goto label_11;
                                                                 |         }
    0x0001beec mov r1, 1                                         |         r1 = 1;
    0x0001bef0 mov r0, r5                                        |         r0 = r5;
    0x0001bef4 bl 0x203dc                                        |         Curl_set_in_callback ();
    0x0001bef8 ldr r3, [r5, 0x1b0]                               |         r3 = *((r5 + 0x1b0));
    0x0001befc mov r2, 0                                         |         r2 = 0;
    0x0001bf00 ldr r1, [sp, 0x30]                                |         r1 = nmeb;
    0x0001bf04 ldr r0, [r5, 0x1b4]                               |         r0 = *((r5 + 0x1b4));
    0x0001bf08 blx r3                                            |         uint32_t (*r3)(uint32_t, uint32_t, uint32_t, uint32_t) (r0, r1, r2, r3);
    0x0001bf0c mov r1, 0                                         |         r1 = 0;
    0x0001bf10 mov r6, r0                                        |         r6 = r0;
    0x0001bf14 mov r0, r5                                        |         r0 = r5;
    0x0001bf18 bl 0x203dc                                        |         Curl_set_in_callback ();
    0x0001bf1c cmp r6, 2                                         |         
                                                                 |         if (r6 == 2) {
    0x0001bf20 beq 0x1c1cc                                       |             goto label_12;
                                                                 |         }
    0x0001bf24 cmp r6, 0                                         |         
                                                                 |         if (r6 == 0) {
    0x0001bf28 beq 0x1bfc0                                       |             goto label_11;
                                                                 |         }
    0x0001bf2c ldr r1, [sp, 0x30]                                |         r1 = nmeb;
    0x0001bf30 mov r0, r4                                        |         r0 = r4;
    0x0001bf34 bl 0x1bc30                                        |         Curl_closesocket ();
    0x0001bf38 mov sb, 0x2a                                      |         sb = 0x2a;
    0x0001bf3c b 0x1be3c                                         |         
                                                                 |     } while (1);
                                                                 | label_10:
    0x0001bf40 ldr r0, [r5, 0x634]                               |     r0 = *((r5 + 0x634));
    0x0001bf44 bl 0x25344                                        |     curlx_sltosi ();
    0x0001bf48 str sl, [sp]                                      |     *(sp) = sl;
    0x0001bf4c mov r3, r8                                        |     r3 = r8;
    0x0001bf50 mov r2, sl                                        |     r2 = sl;
    0x0001bf54 mov r1, 6                                         |     r1 = 6;
    0x0001bf58 str r0, [sp, 0x180]                               |     s = r0;
    0x0001bf5c mov r0, r6                                        |     r0 = r6;
    0x0001bf60 bl 0x546c                                         |     r0 = setsockopt ();
    0x0001bf64 cmp r0, 0                                         |     
                                                                 |     if (r0 < 0) {
    0x0001bf68 bge 0x1bf80                                       |         
    0x0001bf6c ldr r1, [pc, 0x5dc]                               |         r1 = *(0x1c54c);
    0x0001bf70 mov r2, r6                                        |         r2 = r6;
    0x0001bf74 add r1, pc, r1                                    |         r1 = pc + r1;
    0x0001bf78 mov r0, r5                                        |         r0 = r5;
    0x0001bf7c bl 0x104cc                                        |         Curl_infof ();
                                                                 |     }
    0x0001bf80 ldr r0, [r5, 0x638]                               |     r0 = *((r5 + 0x638));
    0x0001bf84 bl 0x25344                                        |     curlx_sltosi ();
    0x0001bf88 mov r3, 4                                         |     r3 = 4;
    0x0001bf8c str r3, [sp]                                      |     *(sp) = r3;
    0x0001bf90 mov r2, 5                                         |     r2 = 5;
    0x0001bf94 mov r3, r8                                        |     r3 = r8;
    0x0001bf98 mov r1, 6                                         |     r1 = 6;
    0x0001bf9c str r0, [sp, 0x180]                               |     s = r0;
    0x0001bfa0 mov r0, r6                                        |     r0 = r6;
    0x0001bfa4 bl 0x546c                                         |     r0 = setsockopt ();
    0x0001bfa8 cmp r0, 0                                         |     
                                                                 |     if (r0 >= 0) {
    0x0001bfac bge 0x1bee0                                       |         goto label_0;
                                                                 |     }
    0x0001bfb0 ldr r1, [pc, 0x59c]                               |     r1 = *(0x1c550);
    0x0001bfb4 mov r2, r6                                        |     r2 = r6;
    0x0001bfb8 add r1, pc, r1                                    |     r1 = pc + r1;
    0x0001bfbc b 0x1bed8                                         |     goto label_1;
                                                                 | label_11:
    0x0001bfc0 mov r3, 0                                         |     r3 = 0;
                                                                 |     do {
    0x0001bfc4 ldr fp, [sp, 0xf0]                                |         fp = var_f0h;
    0x0001bfc8 str r3, [sp, 0x1c]                                |         var_1ch = r3;
    0x0001bfcc bic r3, fp, 8                                     |         r3 = BIT_MASK (fp, 8);
    0x0001bfd0 cmp r3, 2                                         |         
                                                                 |         if (r3 != 2) {
    0x0001bfd4 bne 0x1c3cc                                       |             goto label_13;
                                                                 |         }
    0x0001bfd8 ldr r3, [sp, 0x30]                                |         r3 = nmeb;
    0x0001bfdc mov r0, r7                                        |         r0 = r7;
    0x0001bfe0 str r3, [sp, 0x10]                                |         socket = r3;
    0x0001bfe4 bl 0x151f0                                        |         Curl_ipv6_scope ();
    0x0001bfe8 ldr r8, [r4]                                      |         r8 = *(r4);
    0x0001bfec mov r3, 0                                         |         r3 = 0;
    0x0001bff0 str r3, [sp, 0x38]                                |         var_38h = r3;
    0x0001bff4 ldr r7, [r8, 0x528]                               |         r7 = *((r8 + 0x528));
    0x0001bff8 add r3, r8, 0x180                                 |         r3 = r8 + 0x180;
    0x0001bffc ldrh r6, [r3]                                     |         r6 = *(r3);
    0x0001c000 cmp r7, 0                                         |         
    0x0001c004 clz sl, r6                                        |         sl &= r6;
    0x0001c008 lsr sl, sl, 5                                     |         sl >>= 5;
                                                                 |         if (r7 == 0) {
    0x0001c00c movne sl, 0                                       |             sl = 0;
                                                                 |         }
    0x0001c010 cmp sl, 0                                         |         
    0x0001c014 str r0, [sp, 0x20]                                |         var_20h = r0;
                                                                 |         if (sl != 0) {
    0x0001c018 bne 0x1c3cc                                       |             goto label_13;
                                                                 |         }
    0x0001c01c ldr r3, [r8, 0x184]                               |         r3 = *((r8 + 0x184));
    0x0001c020 mov r2, 0x80                                      |         r2 = 0x80;
    0x0001c024 str r3, [sp, 0xc]                                 |         var_ch = r3;
    0x0001c028 add r3, sp, 0x70                                  |         r3 += address;
    0x0001c02c mov r0, r3                                        |         r0 = r3;
    0x0001c030 mov r1, sl                                        |         r1 = sl;
    0x0001c034 bl 0x576c                                         |         memset (r0, r1, r2);
    0x0001c038 cmp r7, 0                                         |         
    0x0001c03c mov r3, r0                                        |         r3 = r0;
                                                                 |         if (r7 == 0) {
    0x0001c040 beq 0x1c380                                       |             goto label_14;
                                                                 |         }
    0x0001c044 str r0, [sp, 0x24]                                |         var_24h = r0;
    0x0001c048 mov r0, r7                                        |         r0 = r7;
    0x0001c04c bl 0x5250                                         |         strlen (r0);
    0x0001c050 ldr r3, [sp, 0x24]                                |         r3 = var_24h;
    0x0001c054 cmp r0, 0xfe                                      |         
                                                                 |         if (r0 > 0xfe) {
    0x0001c058 bhi 0x1c380                                       |             goto label_14;
                                                                 |         }
    0x0001c05c mov r1, sl                                        |         r1 = sl;
    0x0001c060 mov r2, 0xfc                                      |         r2 = 0xfc;
    0x0001c064 add r0, sp, 0x184                                 |         r0 += var_184h;
    0x0001c068 str sl, [sp, 0x180]                               |         s = sl;
    0x0001c06c bl 0x576c                                         |         memset (r0, r1, r2);
    0x0001c070 ldr r0, [pc, 0x4e0]                               |         r0 = *(0x1c554);
    0x0001c074 mov r1, r7                                        |         r1 = r7;
    0x0001c078 mov r2, 3                                         |         r2 = 3;
    0x0001c07c add r0, pc, r0                                    |         r0 = pc + r0;
    0x0001c080 bl 0x516c                                         |         r0 = strncmp (r0, r1, r2);
    0x0001c084 cmp r0, 0                                         |         
                                                                 |         if (r0 != 0) {
    0x0001c088 addeq r7, r7, 3                                   |             r7 += 3;
                                                                 |         }
                                                                 |         if (r0 != 0) {
    0x0001c08c ldreq sl, [sp, 0x18]                              |             sl = var_18h;
                                                                 |         }
                                                                 |         if (r0 != 0) {
    0x0001c090 beq 0x1c0b4                                       |             
    0x0001c094 ldr r0, [pc, 0x4c0]                               |             r0 = *(0x1c558);
    0x0001c098 mov r1, r7                                        |             r1 = r7;
    0x0001c09c mov r2, 5                                         |             r2 = 5;
    0x0001c0a0 add r0, pc, r0                                    |             r0 = pc + r0;
    0x0001c0a4 bl 0x516c                                         |             r0 = strncmp (r0, r1, r2);
    0x0001c0a8 cmp r0, 0                                         |             
                                                                 |             if (r0 != 0) {
    0x0001c0ac addeq r7, r7, 5                                   |                 r7 += 5;
                                                                 |             }
                                                                 |             if (r0 == 0) {
    0x0001c0b0 beq 0x1c124                                       |                 goto label_2;
                                                                 |             }
                                                                 |         }
    0x0001c0b4 mov r0, r7                                        |         r0 = r7;
    0x0001c0b8 bl 0x5250                                         |         strlen (r0);
    0x0001c0bc mov r3, r7                                        |         r3 = r7;
    0x0001c0c0 mov r2, 0x19                                      |         r2 = 0x19;
    0x0001c0c4 mov r1, 1                                         |         r1 = 1;
    0x0001c0c8 add r0, r0, 1                                     |         r0++;
    0x0001c0cc str r0, [sp]                                      |         *(sp) = r0;
    0x0001c0d0 ldr r0, [sp, 0x10]                                |         r0 = socket;
    0x0001c0d4 bl 0x546c                                         |         r0 = setsockopt ();
    0x0001c0d8 cmp r0, 0                                         |         
                                                                 |         if (r0 == 0) {
    0x0001c0dc beq 0x1c3cc                                       |             goto label_13;
                                                                 |         }
    0x0001c0e0 mov r3, 0x100                                     |         r3 = 0x100;
    0x0001c0e4 str r3, [sp, 4]                                   |         var_4h = r3;
    0x0001c0e8 add r3, sp, 0x180                                 |         r3 += s;
    0x0001c0ec str r3, [sp, 0x18]                                |         var_18h = r3;
    0x0001c0f0 str r3, [sp]                                      |         *(sp) = r3;
    0x0001c0f4 ldr r2, [r4, 0x90]                                |         r2 = *((r4 + 0x90));
    0x0001c0f8 mov r3, r7                                        |         r3 = r7;
    0x0001c0fc ldr r1, [sp, 0x20]                                |         r1 = var_20h;
    0x0001c100 mov r0, fp                                        |         r0 = fp;
    0x0001c104 bl 0x152dc                                        |         r0 = Curl_if2ip ();
    0x0001c108 cmp r0, 1                                         |         
                                                                 |         if (r0 == 1) {
    0x0001c10c beq 0x1c364                                       |             goto label_15;
                                                                 |         }
                                                                 |         if (r0 <= 1) {
    0x0001c110 blo 0x1c1d4                                       |             goto label_16;
                                                                 |         }
    0x0001c114 cmp r0, 2                                         |         
                                                                 |         if (r0 == 2) {
    0x0001c118 beq 0x1c1f8                                       |             goto label_17;
                                                                 |         }
    0x0001c11c cmp sl, 0                                         |         
                                                                 |         if (sl != 0) {
    0x0001c120 bne 0x1c348                                       |             goto label_18;
                                                                 |         }
                                                                 | label_2:
    0x0001c124 ldr r3, [r4, 0x28c]                               |         r3 = *((r4 + 0x28c));
    0x0001c128 cmp fp, 2                                         |         
    0x0001c12c str r3, [sp, 0x18]                                |         var_18h = r3;
    0x0001c130 add sl, sp, 0x38                                  |         sl += var_38h;
                                                                 |         if (fp != 2) {
    0x0001c134 moveq r3, 1                                       |             r3 = 1;
                                                                 |         }
                                                                 |         if (fp == 2) {
    0x0001c138 movne r3, 2                                       |             r3 = 2;
                                                                 |         }
    0x0001c13c str r3, [r4, 0x28c]                               |         *((r4 + 0x28c)) = r3;
    0x0001c140 mov r2, 0                                         |         r2 = 0;
    0x0001c144 mov r3, sl                                        |         r3 = sl;
    0x0001c148 mov r1, r7                                        |         r1 = r7;
    0x0001c14c mov r0, r4                                        |         r0 = r4;
    0x0001c150 bl 0x74ec                                         |         r0 = Curl_resolv ();
    0x0001c154 cmp r0, 1                                         |         
                                                                 |         if (r0 == 1) {
    0x0001c158 bne 0x1c168                                       |             
    0x0001c15c mov r1, sl                                        |             r1 = sl;
    0x0001c160 mov r0, r4                                        |             r0 = r4;
    0x0001c164 bl 0x26624                                        |             Curl_resolver_wait_resolv ();
                                                                 |         }
    0x0001c168 ldr r3, [sp, 0x18]                                |         r3 = var_18h;
    0x0001c16c str r3, [r4, 0x28c]                               |         *((r4 + 0x28c)) = r3;
    0x0001c170 ldr r3, [sp, 0x38]                                |         r3 = var_38h;
    0x0001c174 cmp r3, 0                                         |         
                                                                 |         if (r3 == 0) {
    0x0001c178 beq 0x1c348                                       |             goto label_18;
                                                                 |         }
    0x0001c17c add sl, sp, 0x180                                 |         sl += s;
    0x0001c180 mov r1, sl                                        |         r1 = sl;
    0x0001c184 mov r2, 0x100                                     |         r2 = 0x100;
    0x0001c188 ldr r0, [r3]                                      |         r0 = *(r3);
    0x0001c18c bl 0x711c                                         |         Curl_printable_address ();
    0x0001c190 ldr r3, [sp, 0x38]                                |         r3 = var_38h;
    0x0001c194 ldr r1, [pc, 0x3c4]                               |         r1 = *(0x1c55c);
    0x0001c198 ldr r3, [r3]                                      |         r3 = *(r3);
    0x0001c19c mov r0, r8                                        |         r0 = r8;
    0x0001c1a0 ldr r3, [r3, 4]                                   |         r3 = *((r3 + 4));
    0x0001c1a4 mov r2, r7                                        |         r2 = r7;
    0x0001c1a8 str r3, [sp, 4]                                   |         var_4h = r3;
    0x0001c1ac str sl, [sp]                                      |         *(sp) = sl;
    0x0001c1b0 mov r3, fp                                        |         r3 = fp;
    0x0001c1b4 add r1, pc, r1                                    |         r1 = pc + r1;
    0x0001c1b8 bl 0x104cc                                        |         Curl_infof ();
    0x0001c1bc ldr r1, [sp, 0x38]                                |         r1 = var_38h;
    0x0001c1c0 mov r0, r8                                        |         r0 = r8;
    0x0001c1c4 bl 0x76e8                                         |         Curl_resolv_unlock ();
    0x0001c1c8 b 0x1c214                                         |         goto label_19;
                                                                 | label_12:
    0x0001c1cc ldr r3, [sp, 0x18]                                |         r3 = var_18h;
    0x0001c1d0 b 0x1bfc4                                         |         
                                                                 |     } while (1);
                                                                 | label_16:
    0x0001c1d4 cmp sl, 0                                         |     
                                                                 |     if (sl == 0) {
    0x0001c1d8 beq 0x1c124                                       |         goto label_2;
                                                                 |     }
    0x0001c1dc ldr r1, [pc, 0x380]                               |     r1 = *(0x1c560);
    0x0001c1e0 mov r2, r7                                        |     r2 = r7;
    0x0001c1e4 add r1, pc, r1                                    |     r1 = pc + r1;
                                                                 | label_3:
    0x0001c1e8 mov r0, r8                                        |     r0 = r8;
    0x0001c1ec bl 0x10544                                        |     Curl_failf ();
                                                                 |     do {
    0x0001c1f0 mov sb, 0x2d                                      |         sb = 0x2d;
    0x0001c1f4 b 0x1c368                                         |         goto label_20;
                                                                 | label_17:
    0x0001c1f8 ldr r1, [pc, 0x368]                               |         r1 = *(0x1c564);
    0x0001c1fc str fp, [sp]                                      |         *(sp) = fp;
    0x0001c200 ldr r3, [sp, 0x18]                                |         r3 = var_18h;
    0x0001c204 mov r2, r7                                        |         r2 = r7;
    0x0001c208 add r1, pc, r1                                    |         r1 = pc + r1;
    0x0001c20c mov r0, r8                                        |         r0 = r8;
    0x0001c210 bl 0x104cc                                        |         Curl_infof ();
                                                                 | label_19:
    0x0001c214 cmp fp, 0xa                                       |         
    0x0001c218 add sl, sp, 0x70                                  |         sl += address;
    0x0001c21c add fp, sp, 0x180                                 |         
                                                                 |         if (fp == 0xa) {
    0x0001c220 bne 0x1c288                                       |             
    0x0001c224 mov r1, 0x25                                      |             r1 = 0x25;
    0x0001c228 mov r0, fp                                        |             r0 = fp;
    0x0001c22c bl 0x5b38                                         |             strchr (r0, r1);
    0x0001c230 add r2, sp, 0x78                                  |             r2 += var_78h;
    0x0001c234 mov r1, fp                                        |             r1 = fp;
    0x0001c238 subs r7, r0, 0                                    |             r7 -= s;
                                                                 |             if (r7 == s) {
    0x0001c23c movne r3, 0                                       |                 r3 = 0;
                                                                 |             }
                                                                 |             if (r7 == s) {
    0x0001c240 strbne r3, [r7]                                   |                 *(r7) = r3;
                                                                 |             }
    0x0001c244 mov r0, 0xa                                       |             r0 = 0xa;
                                                                 |             if (r7 == s) {
    0x0001c248 addne r7, r7, 1                                   |                 r7 += str;
                                                                 |             }
    0x0001c24c bl 0x5190                                         |             r0 = inet_pton ();
    0x0001c250 cmp r0, 0                                         |             
                                                                 |             if (r0 > 0) {
    0x0001c254 ble 0x1c280                                       |                 
    0x0001c258 mov r3, 0xa                                       |                 r3 = 0xa;
    0x0001c25c strh r3, [sl]                                     |                 *(sl) = r3;
    0x0001c260 lsr r3, r6, 8                                     |                 r3 = r6 >> 8;
    0x0001c264 orr r3, r3, r6, lsl 8                             |                 r3 |= (r6 << 8);
    0x0001c268 cmp r7, 0                                         |                 
    0x0001c26c strh r3, [sl, 2]                                  |                 var_2h = r3;
                                                                 |                 if (r7 == 0) {
    0x0001c270 beq 0x1c280                                       |                     goto label_5;
                                                                 |                 }
    0x0001c274 mov r0, r7                                        |                 r0 = r7;
    0x0001c278 bl 0x5b08                                         |                 atoi (r0);
    0x0001c27c str r0, [sp, 0x88]                                |                 var_88h = r0;
                                                                 |             }
                                                                 | label_5:
    0x0001c280 mov r7, 0x1c                                      |             r7 = 0x1c;
    0x0001c284 b 0x1c2bc                                         |             
                                                                 |         } else {
    0x0001c288 add r2, sp, 0x74                                  |             r2 += var_74h;
    0x0001c28c mov r1, fp                                        |             r1 = fp;
    0x0001c290 mov r0, 2                                         |             r0 = 2;
    0x0001c294 bl 0x5190                                         |             r0 = inet_pton ();
    0x0001c298 cmp r0, 0                                         |             
                                                                 |             if (r0 > 0) {
    0x0001c29c movle r7, 0                                       |                 r7 = 0;
                                                                 |             }
                                                                 |             if (r0 <= 0) {
    0x0001c2a0 ble 0x1c2bc                                       |                 goto label_21;
                                                                 |             }
    0x0001c2a4 mov r3, 2                                         |             r3 = 2;
    0x0001c2a8 strh r3, [sl]                                     |             *(sl) = r3;
    0x0001c2ac lsr r3, r6, 8                                     |             r3 = r6 >> 8;
    0x0001c2b0 orr r3, r3, r6, lsl 8                             |             r3 |= (r6 << 8);
    0x0001c2b4 strh r3, [sl, 2]                                  |             var_2h = r3;
                                                                 | label_6:
    0x0001c2b8 mov r7, 0x10                                      |             r7 = 0x10;
                                                                 |         }
                                                                 | label_21:
    0x0001c2bc ldr sl, [pc, 0x2a8]                               |         sl = *(0x1c568);
    0x0001c2c0 add fp, sp, 0x70                                  |         
    0x0001c2c4 add sl, pc, sl                                    |         sl = pc + sl;
                                                                 | label_7:
    0x0001c2c8 mov r2, r7                                        |         r2 = r7;
    0x0001c2cc mov r1, fp                                        |         r1 = fp;
    0x0001c2d0 ldr r0, [sp, 0x10]                                |         r0 = socket;
    0x0001c2d4 bl 0x4e24                                         |         r0 = bind (r0, r1, r2);
    0x0001c2d8 cmp r0, 0                                         |         
                                                                 |         if (r0 < 0) {
    0x0001c2dc blt 0x1c4b0                                       |             goto label_22;
                                                                 |         }
    0x0001c2e0 add r3, sp, 0x180                                 |         r3 += s;
    0x0001c2e4 mov r2, 0x80                                      |         r2 = 0x80;
    0x0001c2e8 mov r1, 0                                         |         r1 = 0;
    0x0001c2ec mov r0, r3                                        |         r0 = r3;
    0x0001c2f0 str r2, [sp, 0x3c]                                |         var_3ch = r2;
    0x0001c2f4 bl 0x576c                                         |         memset (r0, r1, r2);
    0x0001c2f8 add r2, sp, 0x3c                                  |         r2 += var_3ch;
    0x0001c2fc mov r1, r0                                        |         r1 = r0;
    0x0001c300 ldr r0, [sp, 0x10]                                |         r0 = socket;
    0x0001c304 bl 0x5058                                         |         r0 = getsockname (r0, r1, r2);
    0x0001c308 cmp r0, 0                                         |         
                                                                 |         if (r0 >= 0) {
    0x0001c30c bge 0x1c3b0                                       |             goto label_23;
                                                                 |         }
    0x0001c310 bl 0x4eb4                                         |         errno_location ();
    0x0001c314 add r3, r8, 0x4000                                |         r3 = r8 + 0x4000;
    0x0001c318 ldr r5, [r0]                                      |         r5 = *(r0);
    0x0001c31c mov r0, r4                                        |         r0 = r4;
    0x0001c320 str r5, [r3, 0x824]                               |         *((r3 + 0x824)) = r5;
    0x0001c324 mov r1, r5                                        |         r1 = r5;
    0x0001c328 bl 0x221a0                                        |         Curl_strerror ();
    0x0001c32c ldr r1, [pc, 0x23c]                               |         r1 = *(0x1c56c);
    0x0001c330 mov r2, r5                                        |         r2 = r5;
    0x0001c334 add r1, pc, r1                                    |         r1 = pc + r1;
    0x0001c338 mov r3, r0                                        |         r3 = r0;
                                                                 | label_8:
    0x0001c33c mov r0, r8                                        |         r0 = r8;
    0x0001c340 bl 0x10544                                        |         Curl_failf ();
    0x0001c344 b 0x1c1f0                                         |         
                                                                 |     } while (1);
                                                                 | label_18:
    0x0001c348 ldr r1, [pc, 0x224]                               |     r1 = *(0x1c570);
    0x0001c34c mov r2, 0                                         |     r2 = 0;
    0x0001c350 add r3, r8, 0x4000                                |     r3 = r8 + 0x4000;
    0x0001c354 strb r2, [r3, 0x820]                              |     *((r3 + 0x820)) = r2;
    0x0001c358 add r1, pc, r1                                    |     r1 = pc + r1;
    0x0001c35c mov r2, r7                                        |     r2 = r7;
    0x0001c360 b 0x1c1e8                                         |     goto label_3;
                                                                 | label_15:
    0x0001c364 mov sb, r0                                        |     sb = r0;
                                                                 | label_20:
    0x0001c368 ldr r1, [sp, 0x30]                                |     r1 = nmeb;
    0x0001c36c mov r0, r4                                        |     r0 = r4;
    0x0001c370 bl 0x1bc30                                        |     Curl_closesocket ();
    0x0001c374 cmp sb, 1                                         |     
                                                                 |     if (sb != 1) {
    0x0001c378 moveq sb, 7                                       |         sb = 7;
                                                                 |     }
    0x0001c37c b 0x1be3c                                         |     goto label_4;
                                                                 | label_14:
    0x0001c380 lsr r2, r6, 8                                     |     r2 = r6 >> 8;
    0x0001c384 orr r2, r2, r6, lsl 8                             |     r2 |= (r6 << 8);
    0x0001c388 lsl r2, r2, 0x10                                  |     r2 <<= 0x10;
    0x0001c38c cmp fp, 0xa                                       |     
    0x0001c390 lsr r2, r2, 0x10                                  |     r2 >>= 0x10;
    0x0001c394 strheq fp, [r3]                                   |     __asm ("strheq fp, [r3]");
    0x0001c398 strheq r2, [r3, 2]                                |     __asm ("strheq r2, [r3, 2]");
                                                                 |     if (fp == 0xa) {
    0x0001c39c beq 0x1c280                                       |         goto label_5;
                                                                 |     }
    0x0001c3a0 mov r1, 2                                         |     r1 = 2;
    0x0001c3a4 strh r1, [r3]                                     |     *(r3) = r1;
    0x0001c3a8 strh r2, [r3, 2]                                  |     var_2h = r2;
    0x0001c3ac b 0x1c2b8                                         |     goto label_6;
                                                                 | label_23:
    0x0001c3b0 ldr r1, [pc, 0x1c0]                               |     r1 = *(0x1c574);
    0x0001c3b4 mov r2, r6                                        |     r2 = r6;
    0x0001c3b8 add r1, pc, r1                                    |     r1 = pc + r1;
    0x0001c3bc mov r0, r8                                        |     r0 = r8;
    0x0001c3c0 bl 0x104cc                                        |     Curl_infof ();
    0x0001c3c4 mov r3, 1                                         |     r3 = 1;
    0x0001c3c8 strb r3, [r4, 0x26b]                              |     *((r4 + 0x26b)) = r3;
                                                                 | label_13:
    0x0001c3cc mov r1, 1                                         |     r1 = 1;
    0x0001c3d0 add r6, sp, 0x28                                  |     r6 += var_28h;
    0x0001c3d4 ldr r0, [sp, 0x30]                                |     r0 = nmeb;
    0x0001c3d8 bl 0x25118                                        |     curlx_nonblock ();
    0x0001c3dc mov r0, r6                                        |     r0 = r6;
    0x0001c3e0 bl 0x69f0                                         |     r0 = Curl_now ();
    0x0001c3e4 ldm r6, {r0, r1}                                  |     r0 = *(r6);
                                                                 |     r1 = *((r6 + 4));
    0x0001c3e8 add r3, r4, 0x274                                 |     r3 = r4 + 0x274;
    0x0001c3ec stm r3, {r0, r1}                                  |     *(r3) = r0;
                                                                 |     *((r3 + 4)) = r1;
    0x0001c3f0 ldr r3, [r4, 0x27c]                               |     r3 = *((r4 + 0x27c));
    0x0001c3f4 cmp r3, 1                                         |     
                                                                 |     if (r3 > 1) {
    0x0001c3f8 ble 0x1c40c                                       |         
    0x0001c3fc mov r2, 3                                         |         r2 = 3;
    0x0001c400 ldr r1, [r4, 0x280]                               |         r1 = *((r4 + 0x280));
    0x0001c404 mov r0, r5                                        |         r0 = r5;
    0x0001c408 bl 0x1e348                                        |         Curl_expire ();
                                                                 |     }
    0x0001c40c ldr r3, [sp, 0x1c]                                |     r3 = var_1ch;
    0x0001c410 ldr r0, [sp, 0x30]                                |     r0 = nmeb;
    0x0001c414 cmp r3, 0                                         |     
                                                                 |     if (r3 == 0) {
    0x0001c418 bne 0x1c528                                       |         
    0x0001c41c ldr r3, [r4, 0x94]                                |         r3 = *((r4 + 0x94));
    0x0001c420 cmp r3, 1                                         |         
                                                                 |         if (r3 != 1) {
    0x0001c424 bne 0x1c528                                       |             goto label_24;
                                                                 |         }
    0x0001c428 ldrb r3, [r4, 0x26e]                              |         r3 = *((r4 + 0x26e));
    0x0001c42c cmp r3, 0                                         |         
                                                                 |         if (r3 != 0) {
    0x0001c430 beq 0x1c444                                       |             
    0x0001c434 ldr r3, [r4, 0x288]                               |             r3 = *((r4 + 0x288));
    0x0001c438 ldr r3, [r3, 0x44]                                |             r3 = *((r3 + 0x44));
    0x0001c43c tst r3, 1                                         |             
                                                                 |             if ((r3 & 1) == 0) {
    0x0001c440 beq 0x1c534                                       |                 goto label_25;
                                                                 |             }
                                                                 |         }
    0x0001c444 ldr r2, [sp, 0xfc]                                |         r2 = var_fch;
    0x0001c448 add r1, sp, 0x100                                 |         r1 += addr;
    0x0001c44c bl 0x4f74                                         |         r0 = connect (r0, r1, r2);
    0x0001c450 cmn r0, 1                                         |         
                                                                 |         if (r0 != 1) {
    0x0001c454 bne 0x1c534                                       |             goto label_25;
                                                                 |         }
    0x0001c458 bl 0x4eb4                                         |         r0 = errno_location ();
    0x0001c45c ldr r6, [r0]                                      |         r6 = *(r0);
    0x0001c460 cmp r6, 0xb                                       |         
                                                                 |         if (r6 == 0xb) {
    0x0001c464 beq 0x1c534                                       |             goto label_25;
                                                                 |         }
    0x0001c468 cmp r6, 0x73                                      |         
                                                                 |         if (r6 == 0x73) {
    0x0001c46c beq 0x1c534                                       |             goto label_25;
                                                                 |         }
    0x0001c470 mov r1, r6                                        |         r1 = r6;
    0x0001c474 mov r0, r4                                        |         r0 = r4;
    0x0001c478 bl 0x221a0                                        |         Curl_strerror ();
    0x0001c47c ldr r1, [pc, 0xf8]                                |         r1 = *(0x1c578);
    0x0001c480 add r2, sp, 0x40                                  |         r2 += var_40h;
    0x0001c484 add r1, pc, r1                                    |         r1 = pc + r1;
    0x0001c488 mov sb, 7                                         |         sb = 7;
    0x0001c48c mov r3, r0                                        |         r3 = r0;
    0x0001c490 mov r0, r5                                        |         r0 = r5;
    0x0001c494 add r5, r5, 0x4000                                |         r5 += 0x4000;
    0x0001c498 bl 0x104cc                                        |         Curl_infof ();
    0x0001c49c str r6, [r5, 0x824]                               |         *((r5 + 0x824)) = r6;
    0x0001c4a0 ldr r1, [sp, 0x30]                                |         r1 = nmeb;
    0x0001c4a4 mov r0, r4                                        |         r0 = r4;
    0x0001c4a8 bl 0x1bc30                                        |         Curl_closesocket ();
    0x0001c4ac b 0x1be3c                                         |         goto label_4;
                                                                 | label_22:
    0x0001c4b0 ldr r3, [sp, 0xc]                                 |         r3 = var_ch;
    0x0001c4b4 sub r3, r3, 1                                     |         r3--;
    0x0001c4b8 cmp r3, 0                                         |         
    0x0001c4bc str r3, [sp, 0xc]                                 |         var_ch = r3;
                                                                 |         if (r3 > 0) {
    0x0001c4c0 ble 0x1c4f8                                       |             
    0x0001c4c4 mov r2, r6                                        |             r2 = r6;
    0x0001c4c8 add r6, r6, 1                                     |             r6++;
    0x0001c4cc lsl r6, r6, 0x10                                  |             r6 <<= 0x10;
    0x0001c4d0 lsr r6, r6, 0x10                                  |             r6 >>= 0x10;
    0x0001c4d4 mov r1, sl                                        |             r1 = sl;
    0x0001c4d8 mov r0, r8                                        |             r0 = r8;
    0x0001c4dc bl 0x104cc                                        |             Curl_infof ();
    0x0001c4e0 lsr r3, r6, 8                                     |             r3 = r6 >> 8;
    0x0001c4e4 orr r3, r3, r6, lsl 8                             |             r3 |= (r6 << 8);
    0x0001c4e8 lsl r3, r3, 0x10                                  |             r3 <<= 0x10;
    0x0001c4ec lsr r3, r3, 0x10                                  |             r3 >>= 0x10;
    0x0001c4f0 strh r3, [fp, 2]                                  |             var_2h = r3;
    0x0001c4f4 b 0x1c2c8                                         |             goto label_7;
                                                                 |         }
    0x0001c4f8 bl 0x4eb4                                         |         errno_location ();
    0x0001c4fc add r3, r8, 0x4000                                |         r3 = r8 + 0x4000;
    0x0001c500 ldr r5, [r0]                                      |         r5 = *(r0);
    0x0001c504 mov r0, r4                                        |         r0 = r4;
    0x0001c508 str r5, [r3, 0x824]                               |         *((r3 + 0x824)) = r5;
    0x0001c50c mov r1, r5                                        |         r1 = r5;
    0x0001c510 bl 0x221a0                                        |         Curl_strerror ();
    0x0001c514 ldr r1, [pc, 0x64]                                |         r1 = *(0x1c57c);
    0x0001c518 mov r2, r5                                        |         r2 = r5;
    0x0001c51c add r1, pc, r1                                    |         r1 = pc + r1;
    0x0001c520 mov r3, r0                                        |         r3 = r0;
    0x0001c524 b 0x1c33c                                         |         goto label_8;
                                                                 |     }
                                                                 | label_24:
    0x0001c528 ldr r3, [sp, 0x14]                                |     r3 = var_14h;
    0x0001c52c str r0, [r3]                                      |     *(r3) = r0;
    0x0001c530 b 0x1be3c                                         |     goto label_4;
                                                                 | label_25:
    0x0001c534 ldr r3, [sp, 0x30]                                |     r3 = nmeb;
    0x0001c538 ldr r2, [sp, 0x14]                                |     r2 = var_14h;
    0x0001c53c str r3, [r2]                                      |     *(r2) = r3;
    0x0001c540 b 0x1be3c                                         |     goto label_4;
                                                                 | }
    ; 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/lib/libcurl.so @ 0x29884 */
                                                                 | #include <stdint.h>
                                                                 |  
    ; (fcn) sym.smb_send_and_recv ()                             | void smb_send_and_recv (int32_t arg1, int32_t arg2) {
                                                                 |     int32_t var_0h;
                                                                 |     int32_t var_ch;
                                                                 |     int32_t var_10h;
                                                                 |     r0 = arg1;
                                                                 |     r1 = arg2;
    0x00029884 push {r0, r1, r2, r3, r4, r5, r6, r7, r8, lr}     |     
    0x00029888 ldr r3, [r0, 0x474]                               |     r3 = *((r0 + 0x474));
    0x0002988c mov r4, r0                                        |     r4 = r0;
    0x00029890 cmp r3, 0                                         |     
    0x00029894 mov r6, r1                                        |     r6 = r1;
                                                                 |     if (r3 == 0) {
    0x00029898 bne 0x29904                                       |         
    0x0002989c ldr r1, [r0, 0x470]                               |         r1 = *((r0 + 0x470));
    0x000298a0 cmp r1, 0                                         |         
                                                                 |         if (r1 == 0) {
    0x000298a4 beq 0x29904                                       |             goto label_2;
                                                                 |         }
    0x000298a8 ldr r3, [r0]                                      |         r3 = *(r0);
    0x000298ac cmp r1, 0x4000                                    |         
                                                                 |         if (r1 < 0x4000) {
    0x000298b0 movhs r1, 0x4000                                  |             r1 = 0x4000;
                                                                 |         }
    0x000298b4 add ip, r3, 0x7d0                                 |         
    0x000298b8 add r2, sp, 0x10                                  |         r2 += var_10h;
    0x000298bc str r1, [r2, -4]!                                 |         *((r2 -= 4)) = r1;
    0x000298c0 str ip, [r3, 0x124]                               |         *((r3 + 0x124)) = ip;
    0x000298c4 bl 0x17eb4                                        |         r0 = Curl_fillreadbuffer ();
    0x000298c8 subs r3, r0, 0x51                                 |         r3 = r0 - 0x51;
                                                                 |         if (r3 == r0) {
    0x000298cc movne r3, 1                                       |             r3 = 1;
                                                                 |         }
    0x000298d0 cmp r0, 0                                         |         
                                                                 |         if (r0 != 0) {
    0x000298d4 moveq r3, 0                                       |             r3 = 0;
                                                                 |         }
    0x000298d8 cmp r3, 0                                         |         
    0x000298dc mov r5, r0                                        |         r5 = r0;
                                                                 |         if (r3 != 0) {
    0x000298e0 bne 0x299e0                                       |             goto label_1;
                                                                 |         }
    0x000298e4 ldr r5, [sp, 0xc]                                 |         r5 = var_ch;
    0x000298e8 cmp r5, 0                                         |         
                                                                 |         if (r5 == 0) {
    0x000298ec beq 0x299e0                                       |             goto label_1;
                                                                 |         }
    0x000298f0 ldr r2, [r4, 0x470]                               |         r2 = *((r4 + 0x470));
    0x000298f4 str r5, [r4, 0x474]                               |         *((r4 + 0x474)) = r5;
    0x000298f8 sub r2, r2, r5                                    |         r2 -= r5;
    0x000298fc str r2, [r4, 0x470]                               |         *((r4 + 0x470)) = r2;
    0x00029900 str r3, [r4, 0x478]                               |         *((r4 + 0x478)) = r3;
                                                                 |     }
                                                                 | label_2:
    0x00029904 ldr r7, [r4, 0x474]                               |     r7 = *((r4 + 0x474));
    0x00029908 cmp r7, 0                                         |     
                                                                 |     if (r7 != 0) {
    0x0002990c beq 0x2995c                                       |         
    0x00029910 ldr r1, [r4, 0x478]                               |         r1 = *((r4 + 0x478));
    0x00029914 ldr r2, [r4]                                      |         r2 = *(r4);
    0x00029918 sub r7, r7, r1                                    |         r7 -= r1;
    0x0002991c add r3, sp, 0xc                                   |         r3 += var_ch;
    0x00029920 add r2, r2, 0x7d0                                 |         r2 += 0x7d0;
    0x00029924 str r3, [sp]                                      |         *(sp) = r3;
    0x00029928 add r2, r2, r1                                    |         r2 += r1;
    0x0002992c mov r3, r7                                        |         r3 = r7;
    0x00029930 mov r1, 0                                         |         r1 = 0;
    0x00029934 mov r0, r4                                        |         r0 = r4;
    0x00029938 bl 0x10244                                        |         r0 = Curl_write ();
    0x0002993c subs r5, r0, 0                                    |         r5 = r0 - 0;
                                                                 |         if (r5 != r0) {
    0x00029940 bne 0x299e0                                       |             goto label_1;
                                                                 |         }
    0x00029944 ldr r2, [sp, 0xc]                                 |         r2 = var_ch;
    0x00029948 cmp r7, r2                                        |         
                                                                 |         if (r7 == r2) {
    0x0002994c ldrne r3, [r4, 0x478]                             |             r3 = *((r4 + 0x478));
                                                                 |         }
                                                                 |         if (r7 != r2) {
    0x00029950 streq r5, [r4, 0x474]                             |             *((r4 + 0x474)) = r5;
                                                                 |         }
                                                                 |         if (r7 == r2) {
    0x00029954 addne r3, r3, r2                                  |             r3 += r2;
                                                                 |         }
                                                                 |         if (r7 != r2) {
    0x00029958 strne r3, [r4, 0x478]                             |             *((r4 + 0x478)) = r3;
                                                                 |             goto label_3;
                                                                 |         }
                                                                 |     }
                                                                 | label_3:
    0x0002995c ldr r3, [r4, 0x474]                               |     r3 = *((r4 + 0x474));
    0x00029960 cmp r3, 0                                         |     
                                                                 |     if (r3 != 0) {
    0x00029964 bne 0x29a20                                       |         goto label_4;
                                                                 |     }
    0x00029968 ldr r1, [r4, 0x470]                               |     r1 = *((r4 + 0x470));
    0x0002996c cmp r1, 0                                         |     
                                                                 |     if (r1 != 0) {
    0x00029970 bne 0x29a20                                       |         goto label_4;
                                                                 |     }
    0x00029974 ldr r2, [r4, 0x47c]                               |     r2 = *((r4 + 0x47c));
    0x00029978 ldr r7, [r4, 0x46c]                               |     r7 = *((r4 + 0x46c));
    0x0002997c add r3, sp, 0xc                                   |     r3 += var_ch;
    0x00029980 str r3, [sp]                                      |     *(sp) = r3;
    0x00029984 mov r0, r4                                        |     r0 = r4;
    0x00029988 rsb r3, r2, 0x9000                                |     r3 = 0x9000 - r2;
    0x0002998c add r2, r7, r2                                    |     r2 = r7 + r2;
    0x00029990 bl 0x102f0                                        |     r0 = Curl_read ();
    0x00029994 subs r5, r0, 0                                    |     r5 = r0 - 0;
                                                                 |     if (r5 != r0) {
    0x00029998 bne 0x299e0                                       |         goto label_1;
                                                                 |     }
    0x0002999c ldr r3, [sp, 0xc]                                 |     r3 = var_ch;
    0x000299a0 cmp r3, 0                                         |     
                                                                 |     if (r3 == 0) {
    0x000299a4 beq 0x299e0                                       |         goto label_1;
                                                                 |     }
    0x000299a8 ldr r2, [r4, 0x47c]                               |     r2 = *((r4 + 0x47c));
    0x000299ac add r3, r3, r2                                    |     r3 += r2;
    0x000299b0 cmp r3, 3                                         |     
    0x000299b4 str r3, [r4, 0x47c]                               |     *((r4 + 0x47c)) = r3;
                                                                 |     if (r3 < 3) {
    0x000299b8 bls 0x299e0                                       |         goto label_1;
                                                                 |     }
    0x000299bc add r0, r7, 2                                     |     r0 = r7 + 2;
    0x000299c0 bl 0x2aa04                                        |     Curl_read16_be ();
    0x000299c4 ldr r3, [r4, 0x47c]                               |     r3 = *((r4 + 0x47c));
    0x000299c8 add r8, r0, 4                                     |     r8 = r0 + 4;
    0x000299cc cmp r8, r3                                        |     
                                                                 |     if (r8 > r3) {
    0x000299d0 bhi 0x299e0                                       |         goto label_1;
                                                                 |     }
    0x000299d4 cmp r8, 0x24                                      |     
    0x000299d8 bhi 0x299ec                                       |     
                                                                 |     while (r8 <= r4) {
                                                                 | label_0:
    0x000299dc str r7, [r6]                                      |         *(r6) = r7;
                                                                 | label_1:
    0x000299e0 mov r0, r5                                        |         r0 = r5;
    0x000299e4 add sp, sp, 0x10                                  |         
    0x000299e8 pop {r4, r5, r6, r7, r8, pc}                      |         
    0x000299ec ldrb r0, [r7, 0x24]                               |         r0 = *((r7 + 0x24));
    0x000299f0 lsl r0, r0, 1                                     |         r0 <<= 1;
    0x000299f4 add r4, r0, 0x27                                  |         r4 = r0 + 0x27;
    0x000299f8 cmp r8, r4                                        |         
    0x000299fc blo 0x299dc                                       |         
                                                                 |     }
    0x00029a00 add r0, r0, 0x25                                  |     r0 += 0x25;
    0x00029a04 add r0, r7, r0                                    |     r0 = r7 + r0;
    0x00029a08 bl 0x2a9d4                                        |     r0 = Curl_read16_le ();
    0x00029a0c add r0, r0, r4                                    |     r0 += r4;
    0x00029a10 cmp r8, r0                                        |     
                                                                 |     if (r8 < r0) {
    0x00029a14 movlo r5, 0x1a                                    |         r5 = 0x1a;
                                                                 |         goto label_5;
                                                                 |     }
                                                                 |     if (r8 >= r0) {
                                                                 | label_5:
    0x00029a18 bhs 0x299dc                                       |         goto label_0;
                                                                 |     }
    0x00029a1c b 0x299e0                                         |     goto label_1;
                                                                 | label_4:
    0x00029a20 mov r5, 0x51                                      |     r5 = 0x51;
    0x00029a24 b 0x299e0                                         |     goto label_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/lib/libcurl.so @ 0x369e4 */
                                                 | #include <stdint.h>
                                                 |  
    ; (fcn) sym.ssl_connect_init_proxy ()        | void ssl_connect_init_proxy (int32_t arg1, int32_t arg2) {
                                                 |     r0 = arg1;
                                                 |     r1 = arg2;
    0x000369e4 lsl ip, r1, 4                     |     
    0x000369e8 push {r4, r5, r6, r7, r8, lr}     |     
    0x000369ec add r5, r0, ip                    |     r5 = r0 + ip;
    0x000369f0 ldr r3, [r5, 0x1c0]               |     r3 = *((r5 + 0x1c0));
    0x000369f4 cmp r3, 2                         |     
                                                 |     if (r3 == 2) {
    0x000369f8 bne 0x36a64                       |         
    0x000369fc ldrb r4, [r5, 0x1dc]              |         r4 = *((r5 + 0x1dc));
    0x00036a00 cmp r4, 0                         |         
                                                 |         if (r4 != 0) {
    0x00036a04 bne 0x36a64                       |             goto label_0;
                                                 |         }
    0x00036a08 ldr r7, [pc, 0x64]                |         r7 = *(0x36a70);
    0x00036a0c add r7, pc, r7                    |         r7 = pc + r7;
    0x00036a10 ldr r3, [r7]                      |         
    0x00036a14 ldr r3, [r3, 8]                   |         r3 = *(0x36a78);
    0x00036a18 tst r3, 0x10                      |         
                                                 |         if ((r3 & 0x10) == 0) {
    0x00036a1c beq 0x36a6c                       |             goto label_1;
                                                 |         }
    0x00036a20 add r3, r5, 0x1bc                 |         r3 = r5 + 0x1bc;
    0x00036a24 mov lr, r0                        |         lr = r0;
    0x00036a28 ldm r3, {r0, r1, r2, r3}          |         r0 = *(r3);
                                                 |         r1 = *((r3 + 4));
                                                 |         r2 = *((r3 + 8));
                                                 |         r3 = *((r3 + 12));
    0x00036a2c ldr r8, [r5, 0x1e8]               |         r8 = *((r5 + 0x1e8));
    0x00036a30 add ip, ip, 0x1bc                 |         
    0x00036a34 add r6, r5, 0x1dc                 |         r6 = r5 + 0x1dc;
    0x00036a38 stm r6, {r0, r1, r2, r3}          |         *(r6) = r0;
                                                 |         *((r6 + 4)) = r1;
                                                 |         *((r6 + 8)) = r2;
                                                 |         *((r6 + 12)) = r3;
    0x00036a3c mov r2, 0x10                      |         r2 = 0x10;
    0x00036a40 mov r1, r4                        |         r1 = r4;
    0x00036a44 add r0, lr, ip                    |         r0 = lr + ip;
    0x00036a48 bl 0x576c                         |         memset (r0, r1, r2);
    0x00036a4c ldr r3, [r7]                      |         r3 = *(r7);
    0x00036a50 mov r1, r4                        |         r1 = r4;
    0x00036a54 ldr r2, [r3, 0xc]                 |         r2 = *((r3 + 0xc));
    0x00036a58 mov r0, r8                        |         r0 = r8;
    0x00036a5c bl 0x576c                         |         memset (r0, r1, r2);
    0x00036a60 str r8, [r5, 0x1c8]               |         *((r5 + 0x1c8)) = r8;
                                                 |     }
                                                 | label_0:
    0x00036a64 mov r0, 0                         |     r0 = 0;
    0x00036a68 pop {r4, r5, r6, r7, r8, pc}      |     
                                                 | label_1:
    0x00036a6c mov r0, 4                         |     r0 = 4;
    0x00036a70 pop {r4, r5, r6, r7, r8, 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/lib/libcurl.so @ 0x9b3c */
                                                     | #include <stdint.h>
                                                     |  
    ; (fcn) sym.tailmatch ()                         | void tailmatch (int32_t arg1, int32_t arg2) {
                                                     |     r0 = arg1;
                                                     |     r1 = arg2;
    0x00009b3c push {r4, r5, r6, r7, r8, lr}         |     
    0x00009b40 mov r4, r1                            |     r4 = r1;
    0x00009b44 mov r7, r0                            |     r7 = r0;
    0x00009b48 bl 0x5250                             |     r0 = strlen (r0);
    0x00009b4c mov r6, r0                            |     r6 = r0;
    0x00009b50 mov r0, r4                            |     r0 = r4;
    0x00009b54 bl 0x5250                             |     r0 = strlen (r0);
    0x00009b58 cmp r6, r0                            |     
    0x00009b5c bls 0x9b68                            |     
                                                     |     while (r0 == 0) {
    0x00009b60 mov r0, 0                             |         r0 = 0;
    0x00009b64 pop {r4, r5, r6, r7, r8, pc}          |         
    0x00009b68 sub r3, r0, r6                        |         r3 = r0 - r6;
    0x00009b6c add r4, r4, r3                        |         r4 += r3;
    0x00009b70 mov r5, r0                            |         r5 = r0;
    0x00009b74 mov r1, r4                            |         r1 = r4;
    0x00009b78 mov r0, r7                            |         r0 = r7;
    0x00009b7c bl 0x19dc0                            |         r0 = Curl_strcasecompare ();
    0x00009b80 cmp r0, 0                             |         
    0x00009b84 beq 0x9b60                            |         
                                                     |     }
    0x00009b88 cmp r6, r5                            |     
                                                     |     if (r6 == r5) {
    0x00009b8c ldrbne r0, [r4, -1]                   |         r0 = *((r4 - 1));
                                                     |     }
                                                     |     if (r6 == r5) {
    0x00009b90 subne r0, r0, 0x2e                    |         r0 -= 0x2e;
                                                     |     }
    0x00009b94 clzne r0, r0                          |     __asm ("clzne r0, r0");
                                                     |     if (r6 == r5) {
    0x00009b98 lsrne r0, r0, 5                       |         r0 >>= 5;
                                                     |     }
                                                     |     if (r6 != r5) {
    0x00009b9c moveq r0, 1                           |         r0 = 1;
                                                     |     }
    0x00009ba0 pop {r4, r5, r6, r7, r8, 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/lib/libcurl.so @ 0x7bd8 */
                                                             | #include <stdint.h>
                                                             |  
    ; (fcn) sym.time2str ()                                  | void time2str (int32_t arg1) {
                                                             |     int32_t var_0h;
                                                             |     int32_t var_0h_2;
                                                             |     int32_t var_8h;
                                                             |     int32_t var_8h_2;
                                                             |     int32_t var_10h;
                                                             |     int32_t var_10h_2;
                                                             |     int32_t var_18h;
                                                             |     r0 = arg1;
    0x00007bd8 cmp r2, 1                                     |     
    0x00007bdc sbcs r1, r3, 0                                |     __asm ("sbcs r1, r3, 0");
                                                             |     if (r2 < 1) {
    0x00007be0 bge 0x7bf0                                    |         
    0x00007be4 ldr r1, [pc, 0x140]                           |         r1 = *(0x7d28);
    0x00007be8 add r1, pc, r1                                |         r1 = pc + r1;
    0x00007bec b 0x5c28                                      |         void (*0x5c28)() ();
                                                             |     }
    0x00007bf0 push {r4, r5, r6, r7, r8, sl, fp, lr}         |     
    0x00007bf4 mov r4, r2                                    |     r4 = r2;
    0x00007bf8 mov r5, r3                                    |     r5 = r3;
    0x00007bfc sub sp, sp, 0x18                              |     
    0x00007c00 mov r3, 0                                     |     r3 = 0;
    0x00007c04 mov r8, r0                                    |     r8 = r0;
    0x00007c08 mov r2, 0xe10                                 |     r2 = 0xe10;
    0x00007c0c mov r0, r4                                    |     r0 = r4;
    0x00007c10 mov r1, r5                                    |     r1 = r5;
    0x00007c14 bl 0x3897c                                    |     r0 = aeabi_ldivmod ();
    0x00007c18 cmp r0, 0x64                                  |     
    0x00007c1c sbcs r3, r1, 0                                |     __asm ("sbcs r3, r1, 0");
    0x00007c20 mov r6, r0                                    |     r6 = r0;
    0x00007c24 mov r7, r1                                    |     r7 = r1;
                                                             |     if (r0 >= 0x64) {
    0x00007c28 bge 0x7ca0                                    |         goto label_1;
                                                             |     }
    0x00007c2c ldr r0, [pc, 0xfc]                            |     r0 = *(0x7d2c);
    0x00007c30 rsb r3, r6, 0                                 |     r3 = r6 - ;
    0x00007c34 mla r1, r0, r7, r3                            |     __asm ("mla r1, r0, r7, r3");
    0x00007c38 umull r2, r3, r6, r0                          |     r2:r3 = r6 * r0;
    0x00007c3c adds sl, r4, r2                               |     sl = r4 + r2;
    0x00007c40 add r3, r1, r3                                |     r3 = r1 + r3;
    0x00007c44 adc fp, r5, r3                                |     __asm ("adc fp, r5, r3");
    0x00007c48 mov r2, 0x3c                                  |     r2 = 0x3c;
    0x00007c4c mov r3, 0                                     |     r3 = 0;
    0x00007c50 mov r0, sl                                    |     r0 = sl;
    0x00007c54 mov r1, fp                                    |     r1 = fp;
    0x00007c58 bl 0x3897c                                    |     aeabi_ldivmod ();
    0x00007c5c mvn lr, 0x3b                                  |     lr = ~0x3b;
    0x00007c60 strd r6, r7, [sp]                             |     __asm ("strd r6, r7, [sp]");
    0x00007c64 rsb r3, r0, 0                                 |     r3 = r0 - ;
    0x00007c68 mla ip, lr, r1, r3                            |     __asm ("mla ip, lr, r1, r3");
    0x00007c6c umull r2, r3, r0, lr                          |     r2:r3 = r0 * lr;
    0x00007c70 strd r0, r1, [sp, 8]                          |     __asm ("strd r0, r1, [var_8h]");
    0x00007c74 adds r4, sl, r2                               |     r4 = sl + r2;
    0x00007c78 ldr r2, [pc, 0xb4]                            |     r2 = *(0x7d30);
    0x00007c7c add r3, ip, r3                                |     r3 = ip + r3;
    0x00007c80 adc r5, fp, r3                                |     __asm ("adc r5, fp, r3");
    0x00007c84 strd r4, r5, [sp, 0x10]                       |     __asm ("strd r4, r5, [var_10h]");
    0x00007c88 add r2, pc, r2                                |     r2 = pc + r2;
    0x00007c8c mov r1, 9                                     |     r1 = 9;
    0x00007c90 mov r0, r8                                    |     r0 = r8;
    0x00007c94 bl 0x579c                                     |     fcn_0000579c ();
                                                             |     do {
                                                             | label_0:
    0x00007c98 add sp, sp, 0x18                              |         
    0x00007c9c pop {r4, r5, r6, r7, r8, sl, fp, pc}          |         
                                                             | label_1:
    0x00007ca0 mov r3, 0                                     |         r3 = 0;
    0x00007ca4 ldr r2, [pc, 0x8c]                            |         r2 = *(0x7d34);
    0x00007ca8 mov r0, r4                                    |         r0 = r4;
    0x00007cac mov r1, r5                                    |         r1 = r5;
    0x00007cb0 bl 0x3897c                                    |         r0 = aeabi_ldivmod ();
    0x00007cb4 cmp r0, 0x3e8                                 |         
    0x00007cb8 sbcs r3, r1, 0                                |         __asm ("sbcs r3, r1, 0");
    0x00007cbc mov r6, r0                                    |         r6 = r0;
    0x00007cc0 mov r7, r1                                    |         r7 = r1;
                                                             |         if (r0 >= 0x3e8) {
    0x00007cc4 bge 0x7d10                                    |             goto label_2;
                                                             |         }
    0x00007cc8 ldr r2, [pc, 0x6c]                            |         r2 = *(0x7d38);
    0x00007ccc rsb r1, r0, 0                                 |         r1 = r0 - ;
    0x00007cd0 umull sl, fp, r6, r2                          |         sl:fp = r6 * r2;
    0x00007cd4 mla r3, r2, r7, r1                            |         __asm ("mla r3, r2, r7, r1");
    0x00007cd8 adds r0, sl, r4                               |         r0 = sl + r4;
    0x00007cdc add fp, r3, fp                                |         
    0x00007ce0 mov r2, 0xe10                                 |         r2 = 0xe10;
    0x00007ce4 mov r3, 0                                     |         r3 = 0;
    0x00007ce8 adc r1, fp, r5                                |         __asm ("adc r1, fp, r5");
    0x00007cec bl 0x3897c                                    |         aeabi_ldivmod ();
    0x00007cf0 ldr r2, [pc, 0x48]                            |         r2 = *(0x7d3c);
    0x00007cf4 strd r6, r7, [sp]                             |         __asm ("strd r6, r7, [sp]");
    0x00007cf8 add r2, pc, r2                                |         r2 = pc + r2;
    0x00007cfc strd r0, r1, [sp, 8]                          |         __asm ("strd r0, r1, [var_8h]");
    0x00007d00 mov r1, 9                                     |         r1 = 9;
    0x00007d04 mov r0, r8                                    |         r0 = r8;
    0x00007d08 bl 0x579c                                     |         fcn_0000579c ();
    0x00007d0c b 0x7c98                                      |         
                                                             |     } while (1);
                                                             | label_2:
    0x00007d10 ldr r2, [pc, 0x2c]                            |     r2 = *(0x7d40);
    0x00007d14 strd r6, r7, [sp]                             |     __asm ("strd r6, r7, [sp]");
    0x00007d18 add r2, pc, r2                                |     r2 = pc + r2;
    0x00007d1c mov r1, 9                                     |     r1 = 9;
    0x00007d20 mov r0, r8                                    |     r0 = r8;
    0x00007d24 bl 0x579c                                     |     fcn_0000579c ();
    0x00007d28 b 0x7c98                                      |     goto label_0;
                                                             | }
    ; 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/lib/libcurl.so @ 0x1c584 */
                                                                     | #include <stdint.h>
                                                                     |  
    ; (fcn) sym.trynextip ()                                         | void trynextip (int32_t arg1, uint32_t arg2) {
                                                                     |     r0 = arg1;
                                                                     |     r1 = arg2;
    0x0001c584 push {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr}         |     
    0x0001c588 cmp r1, 0                                             |     
    0x0001c58c add r7, r0, r2, lsl 2                                 |     r7 = r0 + (r2 << 2);
    0x0001c590 mvn r3, 0                                             |     r3 = ~0;
    0x0001c594 ldr sb, [r7, 0x1a0]                                   |     sb = *((r7 + 0x1a0));
    0x0001c598 mov r6, r0                                            |     r6 = r0;
    0x0001c59c str r3, [r7, 0x1a0]                                   |     *((r7 + 0x1a0)) = r3;
    0x0001c5a0 beq 0x1c5c4                                           |     
                                                                     |     while (r3 == 0) {
                                                                     | label_0:
    0x0001c5a4 mov fp, 7                                             |         
                                                                     | label_4:
    0x0001c5a8 cmn sb, 1                                             |         
                                                                     |         if (sb != 1) {
    0x0001c5ac beq 0x1c5bc                                           |             
    0x0001c5b0 mov r1, sb                                            |             r1 = sb;
    0x0001c5b4 mov r0, r6                                            |             r0 = r6;
    0x0001c5b8 bl 0x1bc30                                            |             Curl_closesocket ();
                                                                     |         }
    0x0001c5bc mov r0, fp                                            |         r0 = fp;
    0x0001c5c0 pop {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}          |         
    0x0001c5c4 ldr r3, [r7, 0x58]                                    |         r3 = *((r7 + 0x58));
    0x0001c5c8 cmp r3, 0                                             |         
                                                                     |         if (r3 == 0) {
    0x0001c5cc ldrne sl, [r3, 4]                                     |             sl = *((r3 + 4));
                                                                     |         }
                                                                     |         if (r3 != 0) {
    0x0001c5d0 bne 0x1c5f0                                           |             goto label_5;
                                                                     |         }
    0x0001c5d4 ldr r3, [r0, 0x58]                                    |         r3 = *((r0 + 0x58));
    0x0001c5d8 cmp r3, 0                                             |         
    0x0001c5dc beq 0x1c5a4                                           |         
                                                                     |     }
    0x0001c5e0 ldr r1, [r3, 4]                                       |     r1 = *((r3 + 4));
    0x0001c5e4 cmp r1, 2                                             |     
                                                                     |     if (r1 != 2) {
    0x0001c5e8 moveq sl, 0xa                                         |         sl = 0xa;
                                                                     |     }
                                                                     |     if (r1 == 2) {
    0x0001c5ec movne sl, 2                                           |         sl = 2;
                                                                     |     }
                                                                     | label_5:
    0x0001c5f0 ldr r4, [r3, 0x1c]                                    |     r4 = *((r3 + 0x1c));
    0x0001c5f4 add r8, r2, 0x68                                      |     r8 = r2 + 0x68;
    0x0001c5f8 eor r2, r2, 1                                         |     r2 ^= 1;
    0x0001c5fc add r8, r6, r8, lsl 2                                 |     r8 = r6 + (r8 << 2);
    0x0001c600 add r5, r2, 0x16                                      |     r5 = r2 + 0x16;
                                                                     | label_1:
    0x0001c604 cmp r4, 0                                             |     
                                                                     |     if (r4 == 0) {
    0x0001c608 beq 0x1c5a4                                           |         goto label_0;
                                                                     |     }
    0x0001c60c ldr r3, [r6, r5, lsl 2]                               |     offset_0 = r5 << 2;
                                                                     |     r3 = *((r6 + offset_0));
    0x0001c610 cmp r3, 0                                             |     
                                                                     |     if (r3 != 0) {
    0x0001c614 bne 0x1c648                                           |         goto label_6;
                                                                     |     }
                                                                     | label_3:
    0x0001c618 mov r2, r8                                            |     r2 = r8;
    0x0001c61c mov r1, r4                                            |     r1 = r4;
    0x0001c620 mov r0, r6                                            |     r0 = r6;
    0x0001c624 bl 0x1bdac                                            |     r0 = singleipconnect ();
    0x0001c628 cmp r0, 7                                             |     
    0x0001c62c mov fp, r0                                            |     
                                                                     |     if (r0 != 7) {
    0x0001c630 bne 0x1c658                                           |         goto label_7;
                                                                     |     }
    0x0001c634 ldr r4, [r4, 0x1c]                                    |     r4 = *((r4 + 0x1c));
    0x0001c638 b 0x1c604                                             |     goto label_1;
                                                                     | label_2:
    0x0001c63c ldr r4, [r4, 0x1c]                                    |     r4 = *((r4 + 0x1c));
    0x0001c640 cmp r4, 0                                             |     
                                                                     |     if (r4 == 0) {
    0x0001c644 beq 0x1c5a4                                           |         goto label_0;
                                                                     |     }
                                                                     | label_6:
    0x0001c648 ldr r3, [r4, 4]                                       |     r3 = *((r4 + 4));
    0x0001c64c cmp r3, sl                                            |     
                                                                     |     if (r3 != sl) {
    0x0001c650 bne 0x1c63c                                           |         goto label_2;
                                                                     |     }
    0x0001c654 b 0x1c618                                             |     goto label_3;
                                                                     | label_7:
    0x0001c658 str r4, [r7, 0x58]                                    |     *((r7 + 0x58)) = r4;
    0x0001c65c b 0x1c5a8                                             |     goto label_4;
                                                                     | }
    ; 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/lib/libcurl.so @ 0x312d0 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.unicodecpy ()                | void unicodecpy (char * arg1, char * arg2) {
                                             |     r0 = arg1;
                                             |     r1 = arg2;
    0x000312d0 mov r3, 0                     |     r3 = 0;
    0x000312d4 cmp r3, r2                    |     
    0x000312d8 mov ip, r3                    |     
                                             |     if (r3 != r2) {
    0x000312dc bxeq lr                       |         return;
                                             |     }
    0x000312e0 str lr, [sp, -4]!             |     
                                             |     do {
    0x000312e4 ldrb lr, [r1, r3]             |         
    0x000312e8 strb lr, [r0, r3, lsl 1]      |         
    0x000312ec add lr, r0, r3, lsl 1         |         lr = r0 + (r3 << 1);
    0x000312f0 add r3, r3, 1                 |         r3++;
    0x000312f4 cmp r3, r2                    |         
    0x000312f8 strb ip, [lr, 1]              |         *((lr + 1)) = ip;
    0x000312fc bne 0x312e4                   |         
                                             |     } while (r3 != r2);
    0x00031300 pop {pc}                      |     
                                             | }

[*] Function system used 1 times libcurl.so