/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ undefined8 FUN_140034220(longlong param_1) { short sVar1; undefined8 *puVar2; undefined1 auVar3 [16]; undefined1 auVar4 [16]; FILE *_File; errno_t eVar5; ulonglong uVar6; longlong *plVar7; longlong *plVar8; char *pcVar9; ulonglong *puVar10; char *******pppppppcVar11; longlong *plVar12; undefined **ppuVar13; undefined **extraout_RAX; longlong lVar14; short *psVar15; undefined2 *puVar16; short *psVar17; longlong *plVar18; char *pcVar19; uint uVar20; bool bVar21; undefined1 auStack_1c8 [32]; FILE *local_1a8 [2]; undefined **local_198 [5]; longlong *local_170; undefined8 *local_160; void *local_158; undefined8 *local_138; void *local_130; char local_11c; undefined8 local_118; undefined2 local_110; undefined6 uStack_10e; undefined8 local_100; ulonglong local_f8; char ******local_e8 [2]; char *****local_d8; char *****local_d0; undefined1 local_b8; undefined7 uStack_b7; undefined8 local_a8; ulonglong local_a0; undefined2 local_78; undefined6 uStack_76; undefined8 local_68; ulonglong local_60; ulonglong local_38; local_118 = 0xfffffffffffffffe; local_38 = DAT_14016f5a0 ^ (ulonglong)auStack_1c8; pcVar9 = (char *)&DAT_140175100; if (0xf < DAT_140175118) { pcVar9 = DAT_140175100; } FUN_14001f6d0(local_198,pcVar9); DAT_140174c28 = 0; uVar6 = FUN_14001f7a0((longlong *)local_198,(char *)(local_160 + 2)); plVar12 = (longlong *)0x0; plVar7 = local_170; if ((char)uVar6 == '\0') { local_1a8[0] = operator_new(0x88); plVar7 = plVar12; if (local_1a8[0] != (FILE *)0x0) { plVar7 = FUN_140020550(&local_1a8[0]->_ptr); } FUN_14001ed00((longlong *)local_198,plVar7); plVar7 = local_170; } for (; plVar8 = plVar12, plVar7 != (longlong *)0x0; plVar7 = (longlong *)plVar7[10]) { bVar21 = (char *)(plVar7[7] + 0x10) == (char *)0x0; lVar14 = 7; pcVar9 = (char *)(plVar7[7] + 0x10); pcVar19 = "server"; do { if (lVar14 == 0) break; lVar14 = lVar14 + -1; bVar21 = *pcVar9 == *pcVar19; pcVar9 = pcVar9 + 1; pcVar19 = pcVar19 + 1; } while (bVar21); if (bVar21) goto LAB_140034303; } LAB_140034345: if (plVar8 == (longlong *)0x0) { local_1a8[0] = operator_new(0xa8); plVar8 = plVar12; if (local_1a8[0] != (FILE *)0x0) { plVar8 = FUN_14001ef00(&local_1a8[0]->_ptr,"server"); } FUN_14001ed00((longlong *)local_198,plVar8); } for (pcVar9 = *(char **)(DAT_14017cf50 + 8); plVar7 = plVar12, pcVar9 != *(char **)(DAT_14017cf50 + 0x10); pcVar9 = pcVar9 + 0x30) { if (*pcVar9 == '\x18') { plVar7 = (longlong *)(pcVar9 + 8); if (7 < *(ulonglong *)(pcVar9 + 0x20)) { plVar7 = *(longlong **)(pcVar9 + 8); } break; } } local_f8 = 7; local_100 = 0; local_110._0_1_ = '\0'; local_110._1_1_ = 0; uVar6 = 0xffffffffffffffff; plVar18 = plVar7; do { if (uVar6 == 0) break; uVar6 = uVar6 - 1; lVar14 = *plVar18; plVar18 = (longlong *)((longlong)plVar18 + 2); } while ((short)lVar14 != 0); FUN_140001710((ulonglong *)&local_110,plVar7,~uVar6 - 1); FUN_1400ed7b0((ulonglong *)&local_b8,&local_110); if (7 < local_f8) { operator_delete((void *)CONCAT62(uStack_10e,CONCAT11(local_110._1_1_,(char)local_110))); } local_f8 = 7; local_100 = 0; local_110._0_1_ = '\0'; local_110._1_1_ = 0; psVar15 = (short *)(param_1 + 0x30); if (7 < *(ulonglong *)(param_1 + 0x48)) { psVar15 = *(short **)psVar15; } local_d0 = (char *****)0x7; local_d8 = (char *****)0x0; local_e8[0] = (char ******)((ulonglong)local_e8[0] & 0xffffffffffff0000); uVar6 = 0xffffffffffffffff; psVar17 = psVar15; do { if (uVar6 == 0) break; uVar6 = uVar6 - 1; sVar1 = *psVar17; psVar17 = psVar17 + 1; } while (sVar1 != 0); FUN_140001710((ulonglong *)local_e8,psVar15,~uVar6 - 1); puVar10 = FUN_1400ed7b0((ulonglong *)&local_78,(LPCWSTR)local_e8); if (0xf < puVar10[3]) { puVar10 = (ulonglong *)*puVar10; } FUN_14001f130(plVar8,"ip",(char *)puVar10); if (0xf < local_60) { operator_delete((void *)CONCAT62(uStack_76,CONCAT11(local_78._1_1_,(char)local_78))); } local_60 = 0xf; local_68 = 0; local_78._0_1_ = '\0'; if (7 < local_d0) { operator_delete(local_e8[0]); } FUN_140020c20((char *)&local_78,0x40,"%d",0xc3b1); FUN_14001f130(plVar8,"port",(char *)&local_78); pcVar9 = &local_b8; if (0xf < local_a0) { pcVar9 = (char *)CONCAT71(uStack_b7,local_b8); } FUN_14001f130(plVar8,"file",pcVar9); plVar7 = local_170; if (0xf < local_a0) { operator_delete((void *)CONCAT71(uStack_b7,local_b8)); plVar7 = local_170; } for (; plVar8 = plVar12, plVar7 != (longlong *)0x0; plVar7 = (longlong *)plVar7[10]) { bVar21 = (char *)(plVar7[7] + 0x10) == (char *)0x0; lVar14 = 8; pcVar9 = (char *)(plVar7[7] + 0x10); pcVar19 = "connect"; do { if (lVar14 == 0) break; lVar14 = lVar14 + -1; bVar21 = *pcVar9 == *pcVar19; pcVar9 = pcVar9 + 1; pcVar19 = pcVar19 + 1; } while (bVar21); if (bVar21) goto LAB_140034543; } LAB_140034585: if (plVar8 == (longlong *)0x0) { local_1a8[0] = operator_new(0xa8); plVar8 = plVar12; if (local_1a8[0] != (FILE *)0x0) { plVar8 = FUN_14001ef00(&local_1a8[0]->_ptr,"connect"); } FUN_14001ed00((longlong *)local_198,plVar8); } plVar7 = plVar12; if (*(longlong *)(param_1 + 0x1c8) != 0) { auVar3._8_8_ = 0; auVar3._0_8_ = *(ulonglong *)(param_1 + 0x1b0); for (puVar2 = *(undefined8 **) (*(longlong *)(param_1 + 0x1a8) + SUB168((ZEXT816(0) << 0x40 | ZEXT816(0x15)) % auVar3,0) * 8); puVar2 != (undefined8 *)0x0; puVar2 = (undefined8 *)*puVar2) { if (*(char *)(puVar2 + 1) == '\x15') { if (((puVar2 != (undefined8 *)0x0) && (lVar14 = puVar2[2], lVar14 != puVar2[3])) && (plVar7 = (longlong *)(lVar14 + 0x30), 7 < *(ulonglong *)(lVar14 + 0x48))) { plVar7 = *(longlong **)(lVar14 + 0x30); } break; } } } local_f8 = 7; local_100 = 0; local_110._0_1_ = '\0'; local_110._1_1_ = 0; uVar6 = 0xffffffffffffffff; plVar18 = plVar7; do { if (uVar6 == 0) break; uVar6 = uVar6 - 1; lVar14 = *plVar18; plVar18 = (longlong *)((longlong)plVar18 + 2); } while ((short)lVar14 != 0); FUN_140001710((ulonglong *)&local_110,plVar7,~uVar6 - 1); FUN_1400ed7b0((ulonglong *)&local_b8,&local_110); if (7 < local_f8) { operator_delete((void *)CONCAT62(uStack_10e,CONCAT11(local_110._1_1_,(char)local_110))); } local_f8 = 7; local_100 = 0; local_110._0_1_ = '\0'; local_110._1_1_ = 0; uVar20 = 0; if (*(longlong *)(param_1 + 0x1c8) != 0) { auVar4._8_8_ = 0; auVar4._0_8_ = *(ulonglong *)(param_1 + 0x1b0); for (puVar2 = *(undefined8 **) (*(longlong *)(param_1 + 0x1a8) + SUB168((ZEXT816(0) << 0x40 | ZEXT816(0x15)) % auVar4,0) * 8); puVar2 != (undefined8 *)0x0; puVar2 = (undefined8 *)*puVar2) { if (*(char *)(puVar2 + 1) == '\x15') { if ((puVar2 != (undefined8 *)0x0) && (puVar2[2] != puVar2[3])) { uVar20 = *(uint *)(puVar2[2] + 4); } break; } } } pcVar9 = &local_b8; if (0xf < local_a0) { pcVar9 = (char *)CONCAT71(uStack_b7,local_b8); } FUN_14001f130(plVar8,"ip",pcVar9); FUN_140020c20((char *)&local_78,0x40,"%d",(ulonglong)uVar20); FUN_14001f130(plVar8,"port",(char *)&local_78); if (0xf < local_a0) { operator_delete((void *)CONCAT71(uStack_b7,local_b8)); } local_f8 = 0xf; local_100 = 0; local_110._0_1_ = '\0'; local_d0 = (char *****)0xf; local_d8 = (char *****)0x0; local_e8[0] = (char ******)((ulonglong)local_e8[0] & 0xffffffffffffff00); if (*(char *)(param_1 + 0x1e8) == '\r') { uVar6 = 5; pcVar9 = "agent"; LAB_140034791: FUN_14000c9e0((ulonglong *)&local_110,pcVar9,uVar6); puVar16 = (undefined2 *)CONCAT62(uStack_10e,CONCAT11(local_110._1_1_,(char)local_110)); if (local_f8 < 0x10) goto LAB_1400347a5; } else { if (*(char *)(param_1 + 0x1e8) == '\x15') { uVar6 = 0xc; pcVar9 = "agentmanager"; goto LAB_140034791; } LAB_1400347a5: puVar16 = &local_110; } plVar7 = (longlong *)FUN_14001ee20((longlong)local_198,(longlong)puVar16); if (plVar7 == (longlong *)0x0) { local_1a8[0] = operator_new(0xa8); plVar7 = plVar12; if (local_1a8[0] != (FILE *)0x0) { pcVar9 = (char *)&local_110; if (0xf < local_f8) { pcVar9 = (char *)CONCAT62(uStack_10e,CONCAT11(local_110._1_1_,(char)local_110)); } plVar7 = FUN_14001ef00(&local_1a8[0]->_ptr,pcVar9); } FUN_14001ed00((longlong *)local_198,plVar7); } for (pcVar9 = *(char **)(DAT_14017cf50 + 8); plVar8 = plVar12, pcVar9 != *(char **)(DAT_14017cf50 + 0x10); pcVar9 = pcVar9 + 0x30) { if (*pcVar9 == *(char *)(param_1 + 0x1e8)) { plVar8 = (longlong *)(pcVar9 + 8); if (7 < *(ulonglong *)(pcVar9 + 0x20)) { plVar8 = *(longlong **)(pcVar9 + 8); } break; } } local_60 = 7; local_68 = 0; local_78._0_1_ = '\0'; local_78._1_1_ = 0; uVar6 = 0xffffffffffffffff; plVar18 = plVar8; do { if (uVar6 == 0) break; uVar6 = uVar6 - 1; lVar14 = *plVar18; plVar18 = (longlong *)((longlong)plVar18 + 2); } while ((short)lVar14 != 0); FUN_140001710((ulonglong *)&local_78,plVar8,~uVar6 - 1); pppppppcVar11 = (char *******)FUN_1400ed7b0((ulonglong *)&local_b8,&local_78); if (local_e8 != pppppppcVar11) { if ((char ******)0xf < local_d0) { operator_delete(local_e8[0]); } local_d0 = (char *****)0xf; local_d8 = (char *****)0x0; local_e8[0] = (char ******)((ulonglong)local_e8[0] & 0xffffffffffffff00); if (pppppppcVar11[3] < (char ******)0x10) { memmove(local_e8,pppppppcVar11,(longlong)pppppppcVar11[2] + 1); } else { local_e8[0] = *pppppppcVar11; *pppppppcVar11 = (char ******)0x0; } local_d8 = (char *****)pppppppcVar11[2]; local_d0 = (char *****)pppppppcVar11[3]; pppppppcVar11[3] = (char ******)0xf; pppppppcVar11[2] = (char ******)0x0; *(undefined1 *)pppppppcVar11 = 0; } if (0xf < local_a0) { operator_delete((void *)CONCAT71(uStack_b7,local_b8)); } local_a0 = 0xf; local_a8 = 0; local_b8 = '\0'; if (7 < local_60) { operator_delete((void *)CONCAT62(uStack_76,CONCAT11(local_78._1_1_,(char)local_78))); } pppppppcVar11 = local_e8; if ((char ******)0xf < local_d0) { pppppppcVar11 = (char *******)local_e8[0]; } FUN_14001f130(plVar7,"file",(char *)pppppppcVar11); FUN_140020c20(&local_b8,0x40,"%d",(ulonglong)*(uint *)(param_1 + 0x154)); FUN_14001f130(plVar7,"code",&local_b8); if ((char ******)0xf < local_d0) { operator_delete(local_e8[0]); } local_d0 = (char *****)0xf; local_d8 = (char *****)0x0; local_e8[0] = (char ******)((ulonglong)local_e8[0] & 0xffffffffffffff00); if (0xf < local_f8) { operator_delete((void *)CONCAT62(uStack_10e,CONCAT11(local_110._1_1_,(char)local_110))); } plVar7 = local_170; if (*(char *)(param_1 + 0x151) != '\0') { for (; plVar8 = plVar12, plVar7 != (longlong *)0x0; plVar7 = (longlong *)plVar7[10]) { bVar21 = (char *)(plVar7[7] + 0x10) == (char *)0x0; lVar14 = 4; pcVar9 = (char *)(plVar7[7] + 0x10); pcVar19 = "dns"; do { if (lVar14 == 0) break; lVar14 = lVar14 + -1; bVar21 = *pcVar9 == *pcVar19; pcVar9 = pcVar9 + 1; pcVar19 = pcVar19 + 1; } while (bVar21); if (bVar21) goto LAB_1400349e3; } LAB_140034a25: if (plVar8 == (longlong *)0x0) { local_1a8[0] = operator_new(0xa8); if (local_1a8[0] != (FILE *)0x0) { plVar12 = FUN_14001ef00(&local_1a8[0]->_ptr,"dns"); } FUN_14001ed00((longlong *)local_198,plVar12); plVar8 = plVar12; } FUN_140020c20(&local_b8,0x40,"%d",1); FUN_14001f130(plVar8,"dns",&local_b8); } pcVar9 = (char *)&DAT_140175100; if (0xf < DAT_140175118) { pcVar9 = DAT_140175100; } local_1a8[0] = (FILE *)0x0; eVar5 = fopen_s(local_1a8,pcVar9,"w"); _File = local_1a8[0]; if ((eVar5 == 0) && (local_1a8[0] != (FILE *)0x0)) { if (local_11c != '\0') { fputc(0xef,local_1a8[0]); fputc(0xbb,_File); fputc(0xbf,_File); } (*(code *)local_198[0][1])(local_198,_File,0); ferror(_File); fclose(_File); } printf("Create Patch Option File Succeed \n"); local_198[0] = TiXmlDocument::vftable; if (local_138 != &DAT_14017ce88) { operator_delete__(local_130); } ppuVar13 = TiXmlNode::vftable; local_198[0] = TiXmlNode::vftable; while (local_170 != (longlong *)0x0) { plVar7 = (longlong *)local_170[10]; ppuVar13 = (undefined **)(**(code **)*local_170)(local_170,1); local_170 = plVar7; } if (local_160 != &DAT_14017ce88) { operator_delete__(local_158); ppuVar13 = extraout_RAX; } return CONCAT71((int7)((ulonglong)ppuVar13 >> 8),1); LAB_140034303: while (lVar14 = (**(code **)(*plVar7 + 0x30))(plVar7), lVar14 == 0) { do { plVar7 = (longlong *)plVar7[10]; if (plVar7 == (longlong *)0x0) goto LAB_140034345; bVar21 = (char *)(plVar7[7] + 0x10) == (char *)0x0; lVar14 = 7; pcVar9 = (char *)(plVar7[7] + 0x10); pcVar19 = "server"; do { if (lVar14 == 0) break; lVar14 = lVar14 + -1; bVar21 = *pcVar9 == *pcVar19; pcVar9 = pcVar9 + 1; pcVar19 = pcVar19 + 1; } while (bVar21); } while (!bVar21); } plVar8 = (longlong *)(**(code **)(*plVar7 + 0x30))(plVar7); goto LAB_140034345; LAB_140034543: while (lVar14 = (**(code **)(*plVar7 + 0x30))(plVar7), lVar14 == 0) { do { plVar7 = (longlong *)plVar7[10]; if (plVar7 == (longlong *)0x0) goto LAB_140034585; bVar21 = (char *)(plVar7[7] + 0x10) == (char *)0x0; lVar14 = 8; pcVar9 = (char *)(plVar7[7] + 0x10); pcVar19 = "connect"; do { if (lVar14 == 0) break; lVar14 = lVar14 + -1; bVar21 = *pcVar9 == *pcVar19; pcVar9 = pcVar9 + 1; pcVar19 = pcVar19 + 1; } while (bVar21); } while (!bVar21); } plVar8 = (longlong *)(**(code **)(*plVar7 + 0x30))(plVar7); goto LAB_140034585; LAB_1400349e3: while (lVar14 = (**(code **)(*plVar7 + 0x30))(plVar7), lVar14 == 0) { do { plVar7 = (longlong *)plVar7[10]; if (plVar7 == (longlong *)0x0) goto LAB_140034a25; bVar21 = (char *)(plVar7[7] + 0x10) == (char *)0x0; lVar14 = 4; pcVar9 = (char *)(plVar7[7] + 0x10); pcVar19 = "dns"; do { if (lVar14 == 0) break; lVar14 = lVar14 + -1; bVar21 = *pcVar9 == *pcVar19; pcVar9 = pcVar9 + 1; pcVar19 = pcVar19 + 1; } while (bVar21); } while (!bVar21); } plVar8 = (longlong *)(**(code **)(*plVar7 + 0x30))(plVar7); goto LAB_140034a25; }