[*] Binary protection state of libcurl.so.4.3.0
No RELRO No Canary found NX disabled DSO No RPATH No RUNPATH Symbols
[*] Function strcpy tear down of libcurl.so.4.3.0
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/2097216-5451840.squashfs_v4_le_extract/thirdlib/libcurl.so.4.3.0 @ 0x265ac */
| #include <stdint.h>
|
; (fcn) sym.Curl_follow () | void Curl_follow () {
0x000265ac lui gp, 5 |
0x000265b0 addiu gp, gp, -0x629c |
0x000265b4 addu gp, gp, t9 | gp += t9;
0x000265b8 addiu sp, sp, -0x58 |
0x000265bc addiu v0, zero, 3 | v0 = 3;
0x000265c0 sw gp, 0x10(sp) | *(var_10h) = gp;
0x000265c4 sw s5, 0x48(sp) | *(var_48h) = s5;
0x000265c8 sw s2, 0x3c(sp) | *(var_3ch) = s2;
0x000265cc sw s1, 0x38(sp) | *(var_38h) = s1;
0x000265d0 sw ra, 0x54(sp) | *(var_54h) = ra;
0x000265d4 sw s7, 0x50(sp) | *(var_50h) = s7;
0x000265d8 sw s6, 0x4c(sp) | *(var_4ch) = s6;
0x000265dc sw s4, 0x44(sp) | *(var_44h) = s4;
0x000265e0 sw s3, 0x40(sp) | *(var_40h) = s3;
0x000265e4 sw s0, 0x34(sp) | *(var_34h) = s0;
0x000265e8 move s5, a2 | s5 = a2;
0x000265ec move s1, a0 | s1 = a0;
0x000265f0 move s2, a1 | s2 = a1;
0x000265f4 beq a2, v0, 0x26778 |
| while (v1 == 0) {
| label_0:
0x000265f8 lw a1, -0x7fd0(gp) | a1 = *((gp - 8180));
0x000265fc lw t9, -0x79e0(gp) | t9 = sym.imp.sscanf;
0x00026600 move a0, s2 | a0 = s2;
| /* str._15___:_:___c */
0x00026604 addiu a1, a1, 0x2880 | a1 += 0x2880;
0x00026608 addiu a2, sp, 0x18 | a2 = sp + 0x18;
0x0002660c addiu a3, sp, 0x28 | a3 = sp + 0x28;
0x00026610 jalr t9 | t9 ();
0x00026614 addiu v1, zero, 2 | v1 = 2;
0x00026618 lw gp, 0x10(sp) | gp = *(var_10h);
| if (v0 != v1) {
0x0002661c bne v0, v1, 0x2684c | goto label_12;
| }
0x00026620 lw t9, -0x7668(gp) | t9 = sym.imp.strchr;
0x00026624 move a0, s2 | a0 = s2;
0x00026628 addiu a1, zero, 0x20 | a1 = 0x20;
0x0002662c jalr t9 | t9 ();
0x00026630 lw gp, 0x10(sp) | gp = *(var_10h);
| if (v0 != 0) {
0x00026634 beqz v0, 0x2669c |
0x00026638 lw t9, -0x7fa8(gp) | t9 = *((gp - 8170));
| /* sym.strlen_url */
0x0002663c addiu t9, t9, 0x4910 | t9 += 0x4910;
0x00026640 move a0, s2 | a0 = s2;
0x00026644 bal 0x24910 | sym_strlen_url ();
0x00026648 lw gp, 0x10(sp) | gp = *(var_10h);
0x0002664c addiu a0, v0, 1 | a0 = v0 + 1;
0x00026650 lw v0, -0x7fac(gp) | v0 = *(gp);
0x00026654 lw t9, (v0) | t9 = *(v0);
0x00026658 jalr t9 | t9 ();
0x0002665c nop |
0x00026660 move s0, v0 | s0 = v0;
0x00026664 lw gp, 0x10(sp) | gp = *(var_10h);
| if (v0 == 0) {
0x00026668 beqz v0, 0x2681c | goto label_13;
| }
0x0002666c lw t9, -0x7fa8(gp) | t9 = *((gp - 8170));
0x00026670 move a1, s2 | a1 = s2;
| /* sym.strcpy_url */
0x00026674 addiu t9, t9, 0x4970 | t9 += 0x4970;
0x00026678 move a0, v0 | a0 = v0;
0x0002667c bal 0x24970 | sym_strcpy_url ()
0x00026680 lw gp, 0x10(sp) | gp = *(var_10h);
0x00026684 move a0, s2 | a0 = s2;
0x00026688 lw v0, -0x7fc8(gp) | v0 = *(gp);
0x0002668c lw t9, (v0) | t9 = *(v0);
0x00026690 move s2, s0 | s2 = s0;
0x00026694 jalr t9 | t9 ();
0x00026698 lw gp, 0x10(sp) | gp = *(var_10h);
| }
0x0002669c addiu v0, zero, 1 | v0 = 1;
0x000266a0 lui v0, 1 | v0 = 0x10000;
| if (s5 == v0) {
0x000266a4 beq s5, v0, 0x26a24 | goto label_14;
| }
| /* aav.0x00010000 */
0x000266a8 addu v0, s1, v0 | v0 = s1 + v0;
0x000266ac sb zero, -0x7a8c(v0) | *((v0 - 31372)) = 0;
| label_2:
0x000266b0 lbu v0, 0x3fc(s1) | v0 = *((s1 + 1020));
0x000266b4 lw a1, -0x7fd0(gp) | a1 = *((gp - 8180));
| if (v0 != 0) {
0x000266b8 beqz v0, 0x266dc |
0x000266bc lw a0, 0x3f8(s1) | a0 = *((s1 + 254));
0x000266c0 lw v0, -0x7fc8(gp) | v0 = *(gp);
| if (a0 == 0) {
0x000266c4 beqz a0, 0x266dc | goto label_15;
| }
0x000266c8 lw t9, (v0) | t9 = *(v0);
0x000266cc jalr t9 | t9 ();
0x000266d0 nop |
0x000266d4 lw gp, 0x10(sp) | gp = *(var_10h);
0x000266d8 lw a1, -0x7fd0(gp) | a1 = *((gp - 8180));
| }
| label_15:
0x000266dc lw t9, -0x7f10(gp) | t9 = sym.Curl_infof;
0x000266e0 addiu v0, zero, 1 | v0 = 1;
0x000266e4 sb v0, 0x3fc(s1) | *((s1 + 1020)) = v0;
0x000266e8 sw s2, 0x3f8(s1) | *((s1 + 254)) = s2;
0x000266ec move a0, s1 | a0 = s1;
| /* str.Issue_another_request_to_this_URL:__s_n */
0x000266f0 addiu a1, a1, 0x2890 | a1 += 0x2890;
0x000266f4 move a2, s2 | a2 = s2;
0x000266f8 bal 0x12200 | sym_Curl_infof ();
0x000266fc lui v0, 1 | v0 = 0x10000;
| /* aav.0x00010000 */
0x00026700 addu v0, s1, v0 | v0 = s1 + v0;
0x00026704 lw v0, -0x7994(v0) | v0 = *((v0 - 7781));
0x00026708 addiu v1, zero, 0x12e | v1 = 0x12e;
0x0002670c lw gp, 0x10(sp) | gp = *(var_10h);
| if (v0 == v1) {
0x00026710 beq v0, v1, 0x26b0c | goto label_16;
| }
0x00026714 addiu v1, zero, 0x12f | v1 = 0x12f;
0x00026718 addiu v1, zero, 0x12d | v1 = 0x12d;
| if (v0 == v1) {
0x0002671c beq v0, v1, 0x26b50 | goto label_17;
| }
| if (v0 == v1) {
0x00026720 beq v0, v1, 0x26aa0 | goto label_18;
| }
0x00026724 nop |
| label_5:
0x00026728 lw t9, -0x7fc0(gp) | t9 = sym.Curl_pgrsTime;
| label_3:
0x0002672c move a0, s1 | a0 = s1;
| label_4:
0x00026730 addiu a1, zero, 9 | a1 = 9;
0x00026734 bal 0x68c0 | sym_Curl_pgrsTime ();
0x00026738 lw gp, 0x10(sp) | gp = *(var_10h);
0x0002673c lw t9, -0x7ca0(gp) | t9 = sym.Curl_pgrsResetTimesSizes;
0x00026740 move a0, s1 | a0 = s1;
0x00026744 bal 0x6878 | sym_Curl_pgrsResetTimesSizes ();
0x00026748 lw ra, 0x54(sp) | ra = *(var_54h);
0x0002674c lw s7, 0x50(sp) | s7 = *(var_50h);
0x00026750 lw s6, 0x4c(sp) | s6 = *(var_4ch);
0x00026754 lw s5, 0x48(sp) | s5 = *(var_48h);
0x00026758 lw s4, 0x44(sp) | s4 = *(var_44h);
0x0002675c lw s3, 0x40(sp) | s3 = *(var_40h);
0x00026760 lw s2, 0x3c(sp) | s2 = *(var_3ch);
0x00026764 lw s1, 0x38(sp) | s1 = *(var_38h);
0x00026768 lw s0, 0x34(sp) | s0 = *(var_34h);
0x0002676c move v0, zero | v0 = 0;
0x00026770 addiu sp, sp, 0x58 |
0x00026774 jr ra | return v0;
0x00026778 lw a2, 0x148(a0) | a2 = *((a0 + 82));
0x0002677c addiu v0, zero, -1 | v0 = -1;
0x00026780 addiu a1, zero, 1 | a1 = 1;
| if (a2 == v0) {
0x00026784 beq a2, v0, 0x26ae4 | goto label_19;
| }
0x00026788 lw v0, 0x144(a0) | v0 = *((a0 + 81));
0x0002678c slt v1, v0, a2 | v1 = (v0 < a2) ? 1 : 0;
0x00026790 addiu v0, v0, 1 | v0++;
| if (v1 == 0) {
0x00026794 beqz v1, 0x26a60 | goto label_20;
| }
0x00026798 lbu v1, 0x2c6(s1) | v1 = *((s1 + 710));
0x0002679c lui a0, 1 | a0 = 0x10000;
| /* aav.0x00010000 */
0x000267a0 addu a0, s1, a0 | a0 = s1 + a0;
0x000267a4 addiu a1, zero, 1 | a1 = 1;
0x000267a8 sb a1, -0x7ab8(a0) | *((a0 - 31416)) = a1;
0x000267ac sw v0, 0x144(s1) | *((s1 + 81)) = v0;
0x000267b0 beqz v1, 0x265f8 |
| }
0x000267b4 lbu v0, 0x404(s1) | v0 = *(s1);
| label_6:
0x000267b8 lw v0, -0x7fc4(gp) | v0 = *(gp);
| if (v0 != 0) {
0x000267bc beqz v0, 0x267e8 |
0x000267c0 lw a0, 0x400(s1) | a0 = *((s1 + 256));
0x000267c4 lw v0, -0x7fc8(gp) | v0 = *(gp);
| if (a0 != 0) {
0x000267c8 beqz a0, 0x267e0 |
0x000267cc lw t9, (v0) | t9 = *(v0);
0x000267d0 jalr t9 | t9 ();
0x000267d4 nop |
0x000267d8 lw gp, 0x10(sp) | gp = *(var_10h);
0x000267dc sw zero, 0x400(s1) | *((s1 + 256)) = 0;
| }
0x000267e0 sb zero, 0x404(s1) | *(s1) = 0;
0x000267e4 lw v0, -0x7fc4(gp) | v0 = *(gp);
| }
0x000267e8 lw t9, (v0) | t9 = *(v0);
0x000267ec lw a0, 0x3f8(s1) | a0 = *((s1 + 254));
0x000267f0 jalr t9 | t9 ();
0x000267f4 lw gp, 0x10(sp) | gp = *(var_10h);
0x000267f8 sw v0, 0x400(s1) | *((s1 + 256)) = v0;
| if (v0 == 0) {
0x000267fc beqz v0, 0x2681c | goto label_13;
| }
0x00026800 addiu v0, zero, 1 | v0 = 1;
0x00026804 sb v0, 0x404(s1) | *(s1) = v0;
0x00026808 b 0x265f8 | goto label_0;
| label_1:
0x0002680c lw v0, -0x7fc8(gp) | v0 = *(gp);
0x00026810 lw t9, (v0) | t9 = *(v0);
0x00026814 move a0, s6 | a0 = s6;
0x00026818 jalr t9 | t9 ();
| do {
| label_13:
0x0002681c lw ra, 0x54(sp) | ra = *(var_54h);
0x00026820 lw s7, 0x50(sp) | s7 = *(var_50h);
0x00026824 lw s6, 0x4c(sp) | s6 = *(var_4ch);
0x00026828 lw s5, 0x48(sp) | s5 = *(var_48h);
0x0002682c lw s4, 0x44(sp) | s4 = *(var_44h);
0x00026830 lw s3, 0x40(sp) | s3 = *(var_40h);
0x00026834 lw s2, 0x3c(sp) | s2 = *(var_3ch);
0x00026838 lw s1, 0x38(sp) | s1 = *(var_38h);
0x0002683c lw s0, 0x34(sp) | s0 = *(var_34h);
0x00026840 addiu v0, zero, 0x1b | v0 = 0x1b;
0x00026844 addiu sp, sp, 0x58 |
0x00026848 jr ra | return v0;
| label_12:
0x0002684c lw v0, -0x7fc4(gp) | v0 = *(gp);
0x00026850 lw t9, (v0) | t9 = *(v0);
0x00026854 lw a0, 0x3f8(s1) | a0 = *((s1 + 254));
0x00026858 jalr t9 | t9 ();
0x0002685c move s6, v0 | s6 = v0;
0x00026860 lw gp, 0x10(sp) | gp = *(var_10h);
0x00026864 beqz v0, 0x2681c |
| } while (v0 == 0);
0x00026868 lw a1, -0x7fd0(gp) | a1 = *((gp - 8180));
0x0002686c lw t9, -0x7638(gp) | t9 = sym.imp.strstr;
0x00026870 move a0, v0 | a0 = v0;
| /* esilref: '//' */
0x00026874 addiu a1, a1, -0x500 | a1 += -0x500;
0x00026878 jalr t9 | t9 ();
0x0002687c lb s7, (s2) | s7 = *(s2);
0x00026880 addiu s4, v0, 2 | s4 = v0 + 2;
| if (v0 != 0) {
0x00026884 movz s4, s6, v0 | s4 = s6;
| }
0x00026888 addiu v0, zero, 0x2f | v0 = 0x2f;
0x0002688c lw gp, 0x10(sp) | gp = *(var_10h);
| if (s7 == v0) {
0x00026890 beq s7, v0, 0x26ba0 | goto label_21;
| }
0x00026894 lw t9, -0x7668(gp) | t9 = sym.imp.strchr;
0x00026898 move a0, s4 | a0 = s4;
0x0002689c addiu a1, zero, 0x3f | a1 = 0x3f;
0x000268a0 jalr t9 | t9 ();
0x000268a4 lw gp, 0x10(sp) | gp = *(var_10h);
| if (v0 != 0) {
0x000268a8 beqz v0, 0x268b4 |
0x000268ac sb zero, (v0) | *(v0) = 0;
0x000268b0 lb s7, (s2) | s7 = *(s2);
| }
0x000268b4 addiu v0, zero, 0x3f | v0 = 0x3f;
0x000268b8 lw t9, -0x76a8(gp) | t9 = sym.imp.strrchr;
| if (s7 != v0) {
0x000268bc beq s7, v0, 0x268dc |
0x000268c0 move a0, s4 | a0 = s4;
0x000268c4 addiu a1, zero, 0x2f | a1 = 0x2f;
0x000268c8 jalr t9 | t9 ();
0x000268cc lw gp, 0x10(sp) | gp = *(var_10h);
| if (v0 == 0) {
0x000268d0 beqz v0, 0x268dc | goto label_22;
| }
0x000268d4 sb zero, (v0) | *(v0) = 0;
0x000268d8 lb s7, (s2) | s7 = *(s2);
| }
| label_22:
0x000268dc lw t9, -0x7668(gp) | t9 = sym.imp.strchr;
0x000268e0 move a0, s4 | a0 = s4;
0x000268e4 addiu a1, zero, 0x2f | a1 = 0x2f;
0x000268e8 jalr t9 | t9 ();
0x000268ec addiu s4, v0, 1 | s4 = v0 + 1;
| if (v0 != 0) {
0x000268f0 movz s4, zero, v0 | s4 = 0;
| }
0x000268f4 addiu v0, zero, 0x2e | v0 = 0x2e;
0x000268f8 lw gp, 0x10(sp) | gp = *(var_10h);
| if (s7 == v0) {
0x000268fc beq s7, v0, 0x26bf4 | goto label_23;
| }
0x00026900 move s0, s2 | s0 = s2;
0x00026904 move s3, zero | s3 = 0;
| label_8:
0x00026908 lw t9, -0x7fa8(gp) | t9 = *((gp - 8170));
| if (s4 == 0) {
0x0002690c beqz s4, 0x2694c | goto label_24;
| }
| /* sym.strlen_url */
0x00026910 addiu t9, t9, 0x4910 | t9 += 0x4910;
| if (s3 != 0) {
0x00026914 bnez s3, 0x26928 | goto label_25;
| }
0x00026918 b 0x26950 | goto label_26;
0x0002691c nop |
| do {
0x00026920 sb zero, (v0) | *(v0) = 0;
| if (s3 == 0) {
0x00026924 beqz s3, 0x26948 | goto label_7;
| }
| label_25:
0x00026928 lw t9, -0x76a8(gp) | t9 = sym.imp.strrchr;
0x0002692c move a0, s4 | a0 = s4;
0x00026930 addiu a1, zero, 0x2f | a1 = 0x2f;
0x00026934 jalr t9 | t9 ();
0x00026938 addiu s3, s3, -1 | s3 += -1;
0x0002693c lw gp, 0x10(sp) | gp = *(var_10h);
0x00026940 bnez v0, 0x26920 |
| } while (v0 != 0);
0x00026944 sb zero, (s4) | *(s4) = 0;
| label_7:
0x00026948 lw t9, -0x7fa8(gp) | t9 = *((gp - 8170));
| /* sym.strlen_url */
| label_24:
0x0002694c addiu t9, t9, 0x4910 | t9 += 0x4910;
| label_26:
0x00026950 move a0, s0 | a0 = s0;
0x00026954 bal 0x24910 | sym_strlen_url ();
0x00026958 lw gp, 0x10(sp) | gp = *(var_10h);
0x0002695c move a0, s6 | a0 = s6;
0x00026960 lw t9, -0x79e8(gp) | t9 = sym.imp.strlen;
0x00026964 move s3, v0 | s3 = v0;
0x00026968 jalr t9 | t9 ();
0x0002696c lw gp, 0x10(sp) | gp = *(var_10h);
0x00026970 addu a0, s3, v0 | a0 = s3 + v0;
0x00026974 move s7, v0 | s7 = v0;
0x00026978 lw v0, -0x7fac(gp) | v0 = *(gp);
0x0002697c lw t9, (v0) | t9 = *(v0);
0x00026980 addiu a0, a0, 2 | a0 += 2;
0x00026984 jalr t9 | t9 ();
0x00026988 move s3, v0 | s3 = v0;
0x0002698c lw gp, 0x10(sp) | gp = *(var_10h);
| if (v0 == 0) {
0x00026990 beqz v0, 0x2680c | goto label_1;
| }
0x00026994 lw t9, -0x7728(gp) | t9 = sym.imp.memcpy;
0x00026998 move a0, v0 | a0 = v0;
0x0002699c move a1, s6 | a1 = s6;
0x000269a0 move a2, s7 | a2 = s7;
0x000269a4 jalr t9 | t9 ();
0x000269a8 lb v0, (s0) | v0 = *(s0);
0x000269ac addiu v1, zero, 0x2f | v1 = 0x2f;
0x000269b0 lw gp, 0x10(sp) | gp = *(var_10h);
| if (v0 != v1) {
0x000269b4 beq v0, v1, 0x269e4 |
0x000269b8 addiu v1, zero, 0x3f | v1 = 0x3f;
| if (s4 != 0) {
0x000269bc beqz s4, 0x269d0 |
0x000269c0 lb v1, (s4) | v1 = *(s4);
0x000269c4 lw t9, -0x7fa8(gp) | t9 = *((gp - 8170));
| if (v1 == 0) {
0x000269c8 beqz v1, 0x269e8 | goto label_27;
| }
0x000269cc addiu v1, zero, 0x3f | v1 = 0x3f;
| }
0x000269d0 addu v0, s3, s7 | v0 = s3 + s7;
| if (v0 == v1) {
0x000269d4 beq v0, v1, 0x269e4 | goto label_28;
| }
0x000269d8 addiu v1, zero, 0x2f | v1 = 0x2f;
0x000269dc sb v1, (v0) | *(v0) = v1;
0x000269e0 addiu s7, s7, 1 | s7++;
| }
| label_28:
0x000269e4 lw t9, -0x7fa8(gp) | t9 = *((gp - 8170));
| label_27:
0x000269e8 lw s4, -0x7fc8(gp) | s4 = *(gp);
0x000269ec move a1, s0 | a1 = s0;
| /* sym.strcpy_url */
0x000269f0 addiu t9, t9, 0x4970 | t9 += 0x4970;
0x000269f4 addu a0, s3, s7 | a0 = s3 + s7;
0x000269f8 bal 0x24970 | sym_strcpy_url ()
0x000269fc lw t9, (s4) | t9 = *(s4);
0x00026a00 move a0, s6 | a0 = s6;
0x00026a04 jalr t9 | t9 ();
0x00026a08 lw t9, (s4) | t9 = *(s4);
0x00026a0c move a0, s2 | a0 = s2;
0x00026a10 move s2, s3 | s2 = s3;
0x00026a14 jalr t9 | t9 ();
0x00026a18 addiu v0, zero, 1 | v0 = 1;
0x00026a1c lw gp, 0x10(sp) | gp = *(var_10h);
| if (s5 != v0) {
0x00026a20 bne s5, v0, 0x266b0 | goto label_2;
| }
| label_14:
0x00026a24 lw ra, 0x54(sp) | ra = *(var_54h);
0x00026a28 lui v0, 1 | v0 = 0x10000;
| /* aav.0x00010000 */
0x00026a2c addu s1, s1, v0 | s1 += v0;
0x00026a30 sw s2, -0x7968(s1) | *((s1 - 7770)) = s2;
0x00026a34 lw s7, 0x50(sp) | s7 = *(var_50h);
0x00026a38 lw s6, 0x4c(sp) | s6 = *(var_4ch);
0x00026a3c lw s5, 0x48(sp) | s5 = *(var_48h);
0x00026a40 lw s4, 0x44(sp) | s4 = *(var_44h);
0x00026a44 lw s3, 0x40(sp) | s3 = *(var_40h);
0x00026a48 lw s2, 0x3c(sp) | s2 = *(var_3ch);
0x00026a4c lw s1, 0x38(sp) | s1 = *(var_38h);
0x00026a50 lw s0, 0x34(sp) | s0 = *(var_34h);
0x00026a54 move v0, zero | v0 = 0;
0x00026a58 addiu sp, sp, 0x58 |
0x00026a5c jr ra | return v0;
| label_20:
0x00026a60 lw a1, -0x7fd0(gp) | a1 = *((gp - 8180));
0x00026a64 lw t9, -0x7f24(gp) | t9 = sym.Curl_failf;
| /* str.Maximum___ld__redirects_followed */
0x00026a68 addiu a1, a1, 0x285c | a1 += 0x285c;
0x00026a6c bal 0x11910 | sym_Curl_failf ();
0x00026a70 lw ra, 0x54(sp) | ra = *(var_54h);
0x00026a74 lw s7, 0x50(sp) | s7 = *(var_50h);
0x00026a78 lw s6, 0x4c(sp) | s6 = *(var_4ch);
0x00026a7c lw s5, 0x48(sp) | s5 = *(var_48h);
0x00026a80 lw s4, 0x44(sp) | s4 = *(var_44h);
0x00026a84 lw s3, 0x40(sp) | s3 = *(var_40h);
0x00026a88 lw s2, 0x3c(sp) | s2 = *(var_3ch);
0x00026a8c lw s1, 0x38(sp) | s1 = *(var_38h);
0x00026a90 lw s0, 0x34(sp) | s0 = *(var_34h);
0x00026a94 addiu v0, zero, 0x2f | v0 = 0x2f;
0x00026a98 addiu sp, sp, 0x58 |
0x00026a9c jr ra | return v0;
| label_18:
0x00026aa0 lw v0, 0x23c(s1) | v0 = *((s1 + 143));
0x00026aa4 addiu v0, v0, -2 | v0 += -2;
0x00026aa8 sltiu v0, v0, 2 | v0 = (v0 < 2) ? 1 : 0;
0x00026aac lw t9, -0x7fc0(gp) | t9 = sym.Curl_pgrsTime;
| if (v0 == 0) {
0x00026ab0 beqz v0, 0x2672c | goto label_3;
| }
0x00026ab4 lw v0, 0x14c(s1) | v0 = *((s1 + 83));
0x00026ab8 andi v0, v0, 1 | v0 &= 1;
0x00026abc move a0, s1 | a0 = s1;
| if (v0 != 0) {
0x00026ac0 bnez v0, 0x26730 | goto label_4;
| }
0x00026ac4 lw a1, -0x7fd0(gp) | a1 = *((gp - 8180));
0x00026ac8 lw t9, -0x7f10(gp) | t9 = sym.Curl_infof;
| /* str.Violate_RFC_2616_10.3.2_and_switch_from_POST_to_GET_n */
0x00026acc addiu a1, a1, 0x28bc | a1 += 0x28bc;
0x00026ad0 bal 0x12200 | sym_Curl_infof ();
0x00026ad4 addiu v0, zero, 1 | v0 = 1;
0x00026ad8 lw gp, 0x10(sp) | gp = *(var_10h);
0x00026adc sw v0, 0x23c(s1) | *((s1 + 143)) = v0;
0x00026ae0 b 0x26728 | goto label_5;
| label_19:
0x00026ae4 lw v0, 0x144(a0) | v0 = *((a0 + 81));
0x00026ae8 lbu v1, 0x2c6(s1) | v1 = *((s1 + 710));
0x00026aec lui a0, 1 | a0 = 0x10000;
| /* aav.0x00010000 */
0x00026af0 addu a0, s1, a0 | a0 = s1 + a0;
0x00026af4 addiu v0, v0, 1 | v0++;
0x00026af8 sb a1, -0x7ab8(a0) | *((a0 - 31416)) = a1;
0x00026afc sw v0, 0x144(s1) | *((s1 + 81)) = v0;
| if (v1 == 0) {
0x00026b00 beqz v1, 0x265f8 | goto label_0;
| }
0x00026b04 lbu v0, 0x404(s1) | v0 = *(s1);
0x00026b08 b 0x267b8 | goto label_6;
| label_16:
0x00026b0c lw v0, 0x23c(s1) | v0 = *((s1 + 143));
0x00026b10 addiu v0, v0, -2 | v0 += -2;
0x00026b14 sltiu v0, v0, 2 | v0 = (v0 < 2) ? 1 : 0;
0x00026b18 lw t9, -0x7fc0(gp) | t9 = sym.Curl_pgrsTime;
| if (v0 == 0) {
0x00026b1c beqz v0, 0x2672c | goto label_3;
| }
0x00026b20 lw v0, 0x14c(s1) | v0 = *((s1 + 83));
0x00026b24 andi v0, v0, 2 | v0 &= 2;
0x00026b28 move a0, s1 | a0 = s1;
| if (v0 != 0) {
0x00026b2c bnez v0, 0x26730 | goto label_4;
| }
0x00026b30 lw a1, -0x7fd0(gp) | a1 = *((gp - 8180));
0x00026b34 lw t9, -0x7f10(gp) | t9 = sym.Curl_infof;
| /* str.Violate_RFC_2616_10.3.3_and_switch_from_POST_to_GET_n */
0x00026b38 addiu a1, a1, 0x28f4 | a1 += 0x28f4;
0x00026b3c bal 0x12200 | sym_Curl_infof ();
0x00026b40 addiu v0, zero, 1 | v0 = 1;
0x00026b44 lw gp, 0x10(sp) | gp = *(var_10h);
0x00026b48 sw v0, 0x23c(s1) | *((s1 + 143)) = v0;
0x00026b4c b 0x26728 | goto label_5;
| label_17:
0x00026b50 lw v1, 0x23c(s1) | v1 = *((s1 + 143));
0x00026b54 addiu v0, zero, 1 | v0 = 1;
0x00026b58 lw t9, -0x7fc0(gp) | t9 = sym.Curl_pgrsTime;
| if (v1 == v0) {
0x00026b5c beq v1, v0, 0x2672c | goto label_3;
| }
0x00026b60 lw v1, 0x14c(s1) | v1 = *((s1 + 83));
0x00026b64 andi v1, v1, 4 | v1 &= 4;
0x00026b68 move a0, s1 | a0 = s1;
| if (v1 != 0) {
0x00026b6c bnez v1, 0x26730 | goto label_4;
| }
0x00026b70 lbu v1, 0x2c7(s1) | v1 = *((s1 + 711));
0x00026b74 sw v0, 0x23c(s1) | *((s1 + 143)) = v0;
| if (v1 == 0) {
0x00026b78 beqz v1, 0x26c58 | goto label_29;
| }
0x00026b7c lw a2, -0x7fd0(gp) | a2 = *((gp - 8180));
| /* str.HEAD */
0x00026b80 addiu a2, a2, -0x628 | a2 += -0x628;
| label_10:
0x00026b84 lw a1, -0x7fd0(gp) | a1 = *((gp - 8180));
0x00026b88 lw t9, -0x7f10(gp) | t9 = sym.Curl_infof;
0x00026b8c move a0, s1 | a0 = s1;
| /* str.Disables_POST__goes_with__s_n */
0x00026b90 addiu a1, a1, 0x292c | a1 += 0x292c;
0x00026b94 bal 0x12200 | sym_Curl_infof ();
0x00026b98 lw gp, 0x10(sp) | gp = *(var_10h);
0x00026b9c b 0x26728 | goto label_5;
| label_21:
0x00026ba0 lb v0, 1(s2) | v0 = *((s2 + 1));
0x00026ba4 lw t9, -0x7668(gp) | t9 = sym.imp.strchr;
| if (v0 == s7) {
0x00026ba8 beq v0, s7, 0x26c98 | goto label_30;
| }
0x00026bac move a0, s4 | a0 = s4;
0x00026bb0 addiu a1, zero, 0x2f | a1 = 0x2f;
0x00026bb4 jalr t9 | t9 ();
0x00026bb8 lw gp, 0x10(sp) | gp = *(var_10h);
0x00026bbc move s0, v0 | s0 = v0;
0x00026bc0 move a0, s4 | a0 = s4;
0x00026bc4 lw t9, -0x7668(gp) | t9 = sym.imp.strchr;
0x00026bc8 addiu a1, zero, 0x3f | a1 = 0x3f;
| if (v0 == 0) {
0x00026bcc beqz v0, 0x26c7c | goto label_31;
| }
0x00026bd0 jalr t9 | t9 ();
0x00026bd4 nop |
0x00026bd8 lw gp, 0x10(sp) | gp = *(var_10h);
| if (v0 != 0) {
0x00026bdc beqz v0, 0x26be8 |
0x00026be0 sltu v1, v0, s0 | v1 = (v0 < s0) ? 1 : 0;
| if (v1 != 0) {
0x00026be4 movn s0, v0, v1 | s0 = v0;
| goto label_32;
| }
| }
| label_32:
0x00026be8 sb zero, (s0) | *(s0) = 0;
0x00026bec move s0, s2 | s0 = s2;
0x00026bf0 b 0x26948 | goto label_7;
| label_23:
0x00026bf4 lb v1, 1(s2) | v1 = *((s2 + 1));
0x00026bf8 addiu v0, zero, 0x2f | v0 = 0x2f;
0x00026bfc move s0, s2 | s0 = s2;
| if (v1 == v0) {
0x00026c00 beq v1, v0, 0x26c64 | goto label_33;
| }
| label_11:
0x00026c04 addiu v0, zero, 0x2e | v0 = 0x2e;
0x00026c08 addiu v0, zero, 0x2f | v0 = 0x2f;
| if (v1 != v0) {
0x00026c0c bne v1, v0, 0x26ca4 | goto label_34;
| }
0x00026c10 lb v1, 2(s0) | v1 = *((s0 + 2));
0x00026c14 move s3, zero | s3 = 0;
| if (v1 != v0) {
0x00026c18 bne v1, v0, 0x26908 | goto label_8;
| }
0x00026c1c addiu v0, zero, 0x2e | v0 = 0x2e;
0x00026c20 addiu a0, zero, 0x2f | a0 = 0x2f;
0x00026c24 b 0x26c40 | goto label_35;
| label_9:
0x00026c28 lb v1, 1(s0) | v1 = *((s0 + 1));
| if (v1 != v0) {
0x00026c2c bne v1, v0, 0x26908 | goto label_8;
| }
0x00026c30 nop |
0x00026c34 lb v1, 2(s0) | v1 = *((s0 + 2));
| if (v1 != a0) {
0x00026c38 bne v1, a0, 0x26908 | goto label_8;
| }
0x00026c3c nop |
| label_35:
0x00026c40 addiu s0, s0, 3 | s0 += 3;
0x00026c44 lb v1, (s0) | v1 = *(s0);
0x00026c48 addiu s3, s3, 1 | s3++;
| if (v1 == v0) {
0x00026c4c beq v1, v0, 0x26c28 | goto label_9;
| }
0x00026c50 b 0x26908 | goto label_8;
0x00026c54 nop |
| label_29:
0x00026c58 lw a2, -0x7fd0(gp) | a2 = *((gp - 8180));
| /* esilref: 'GET' */
0x00026c5c addiu a2, a2, -0x61c | a2 += -0x61c;
0x00026c60 b 0x26b84 | goto label_10;
| label_33:
0x00026c64 lb v0, 2(s2) | v0 = *((s2 + 2));
0x00026c68 addiu s0, s2, 2 | s0 = s2 + 2;
0x00026c6c move s3, zero | s3 = 0;
| if (v0 != s7) {
0x00026c70 bne v0, s7, 0x26908 | goto label_8;
| }
0x00026c74 lb v1, 3(s2) | v1 = *((s2 + 3));
0x00026c78 b 0x26c04 | goto label_11;
| label_31:
0x00026c7c jalr t9 | t9 ();
0x00026c80 nop |
0x00026c84 lw gp, 0x10(sp) | gp = *(var_10h);
| if (v0 != 0) {
0x00026c88 beqz v0, 0x26cac |
0x00026c8c sb zero, (v0) | *(v0) = 0;
0x00026c90 move s0, s2 | s0 = s2;
0x00026c94 b 0x26948 | goto label_7;
| label_30:
0x00026c98 sb zero, (s4) | *(s4) = 0;
0x00026c9c addiu s0, s2, 2 | s0 = s2 + 2;
0x00026ca0 b 0x26948 | goto label_7;
| label_34:
0x00026ca4 move s3, zero | s3 = 0;
0x00026ca8 b 0x26908 | goto label_8;
| }
0x00026cac move s0, s2 | s0 = s2;
0x00026cb0 b 0x26948 | goto label_7;
| }
[*] Function strcpy used 5 times libcurl.so.4.3.0