/* MessageServer_Release_x64.exe sha256 7911b15c4379625eaa12ff227708aa3a033bc6ac2cf6b34283136e3a62df25f1 * Ghidra 12.1.2 decompiler output for 0x14005ceb0 FUN_14005ceb0 * Pseudocode, not original source. */ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ /* WARNING: Type propagation algorithm not settling */ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ undefined8 FUN_14005ceb0(longlong param_1,int param_2,undefined8 param_3,undefined8 param_4) { short sVar1; int iVar2; undefined **ppuVar3; undefined **extraout_RAX; longlong lVar4; undefined **extraout_RAX_00; ulonglong uVar5; longlong lVar6; longlong lVar7; longlong lVar8; short *psVar9; char *******pppppppcVar10; longlong *plVar11; longlong *plVar12; char *pcVar13; char *pcVar14; char *pcVar15; char *pcVar16; char *pcVar17; char *pcVar18; short *psVar19; char *pcVar20; char *_Str; bool bVar21; undefined1 auStack_268 [32]; undefined **local_248 [5]; longlong *local_220; undefined8 *local_210; void *local_208; uint local_1ec; undefined8 *local_1e8; void *local_1e0; undefined ***local_1c8; undefined8 local_1c0; basic_ios_> *local_1b8; longlong local_1a8; undefined **local_1a0 [4]; undefined8 *local_180; undefined8 *local_178; undefined8 *local_158; undefined4 *local_140; undefined8 local_130; uint local_128; basic_ios_> local_120 [104]; WCHAR local_b8; undefined6 uStack_b6; undefined8 local_a8; ulonglong local_a0; void *local_90 [2]; undefined8 local_80; ulonglong local_78; char *******local_68 [3]; ulonglong local_50; ulonglong local_40; local_1c0 = 0xfffffffffffffffe; local_40 = DAT_1401ac5a0 ^ (ulonglong)auStack_268; psVar9 = &DAT_1401b35a8; if (7 < DAT_1401b35c0) { psVar9 = _DAT_1401b35a8; } local_a0 = 7; _Str = (char *)0x0; local_a8 = 0; local_b8 = L'\0'; uVar5 = 0xffffffffffffffff; psVar19 = psVar9; do { if (uVar5 == 0) break; uVar5 = uVar5 - 1; sVar1 = *psVar19; psVar19 = psVar19 + 1; } while (sVar1 != 0); FUN_140001830((ulonglong *)&local_b8,psVar9,~uVar5 - 1); FUN_140118aa0((ulonglong *)local_68,&local_b8); if (7 < local_a0) { operator_delete((void *)CONCAT62(uStack_b6,local_b8)); } local_a0 = 7; local_a8 = 0; local_b8 = L'\0'; pppppppcVar10 = (char *******)local_68; if (0xf < local_50) { pppppppcVar10 = local_68[0]; } FUN_14000c2a0(local_248,(char *)pppppppcVar10); DAT_1401b33e8 = 0; uVar5 = FUN_14000c370((longlong *)local_248,(char *)(local_210 + 2)); if ((char)uVar5 == '\0') { FUN_14000abd0("Error : %d - %s",(ulonglong)local_1ec,local_1e8 + 2,param_4); local_248[0] = TiXmlDocument::vftable; if (local_1e8 != &DAT_1401bcf30) { operator_delete__(local_1e0); } local_248[0] = TiXmlNode::vftable; while (local_220 != (longlong *)0x0) { plVar12 = (longlong *)local_220[10]; (**(code **)*local_220)(local_220,1); local_220 = plVar12; } if (local_210 != &DAT_1401bcf30) { operator_delete__(local_208); } ppuVar3 = TiXmlBase::vftable; local_248[0] = TiXmlBase::vftable; if (0xf < local_50) { operator_delete(local_68[0]); ppuVar3 = extraout_RAX; } return (ulonglong)ppuVar3 & 0xffffffffffffff00; } if ((*(byte *)(param_1 + 0x1e8) < 0xd) || (plVar12 = local_220, (byte)(*(byte *)(param_1 + 0x1e8) - 0x11) < 3)) { FUN_1400602b0(param_1); plVar12 = local_220; } for (; plVar12 != (longlong *)0x0; plVar12 = (longlong *)plVar12[10]) { bVar21 = (char *)(plVar12[7] + 0x10) == (char *)0x0; lVar6 = 0xd; pcVar13 = (char *)(plVar12[7] + 0x10); pcVar14 = "agentmanager"; do { if (lVar6 == 0) break; lVar6 = lVar6 + -1; bVar21 = *pcVar13 == *pcVar14; pcVar13 = pcVar13 + 1; pcVar14 = pcVar14 + 1; } while (bVar21); if (bVar21) goto LAB_14005d0c3; } LAB_14005d124: *(int *)(param_1 + 0x154) = param_2; *(undefined1 *)(param_1 + 0x150) = 1; FUN_1400605f0((basic_ostream_> *)&local_1a8); std::basic_ostream_>::operator<< ((basic_ostream_> *)&local_1a8,param_2); FUN_140060690((longlong)&local_1a8,local_90); for (plVar12 = local_220; plVar11 = local_220, plVar12 != (longlong *)0x0; plVar12 = (longlong *)plVar12[10]) { bVar21 = (char *)(plVar12[7] + 0x10) == (char *)0x0; lVar6 = 0xc; pcVar13 = (char *)(plVar12[7] + 0x10); pcVar14 = "each_option"; do { if (lVar6 == 0) break; lVar6 = lVar6 + -1; bVar21 = *pcVar13 == *pcVar14; pcVar13 = pcVar13 + 1; pcVar14 = pcVar14 + 1; } while (bVar21); if (bVar21) goto LAB_14005d196; } joined_r0x00014005d31b: do { plVar12 = local_220; if (plVar11 == (longlong *)0x0) goto joined_r0x00014005d3e7; bVar21 = (char *)(plVar11[7] + 0x10) == (char *)0x0; lVar6 = 4; pcVar13 = (char *)(plVar11[7] + 0x10); pcVar14 = "dns"; do { if (lVar6 == 0) break; lVar6 = lVar6 + -1; bVar21 = *pcVar13 == *pcVar14; pcVar13 = pcVar13 + 1; pcVar14 = pcVar14 + 1; } while (bVar21); if (bVar21) goto LAB_14005d347; plVar11 = (longlong *)plVar11[10]; } while( true ); LAB_14005d0c3: while (lVar6 = (**(code **)(*plVar12 + 0x30))(plVar12), lVar6 == 0) { do { plVar12 = (longlong *)plVar12[10]; if (plVar12 == (longlong *)0x0) goto LAB_14005d124; bVar21 = (char *)(plVar12[7] + 0x10) == (char *)0x0; lVar6 = 0xd; pcVar13 = (char *)(plVar12[7] + 0x10); pcVar14 = "agentmanager"; do { if (lVar6 == 0) break; lVar6 = lVar6 + -1; bVar21 = *pcVar13 == *pcVar14; pcVar13 = pcVar13 + 1; pcVar14 = pcVar14 + 1; } while (bVar21); } while (!bVar21); } lVar6 = (**(code **)(*plVar12 + 0x30))(plVar12); if ((lVar6 != 0) && (lVar6 = FUN_14000b9d0(lVar6,0x1401632d0), lVar6 != 0)) { FUN_14005fb60(param_1,lVar6,0x15); } goto LAB_14005d124; LAB_14005d196: while (lVar6 = (**(code **)(*plVar12 + 0x30))(plVar12), lVar6 == 0) { do { plVar12 = (longlong *)plVar12[10]; plVar11 = local_220; if (plVar12 == (longlong *)0x0) goto joined_r0x00014005d31b; bVar21 = (char *)(plVar12[7] + 0x10) == (char *)0x0; lVar6 = 0xc; pcVar13 = (char *)(plVar12[7] + 0x10); pcVar14 = "each_option"; do { if (lVar6 == 0) break; lVar6 = lVar6 + -1; bVar21 = *pcVar13 == *pcVar14; pcVar13 = pcVar13 + 1; pcVar14 = pcVar14 + 1; } while (bVar21); } while (!bVar21); } lVar6 = (**(code **)(*plVar12 + 0x30))(plVar12); plVar11 = local_220; if (lVar6 != 0) { for (plVar12 = *(longlong **)(lVar6 + 0x28); pcVar13 = _Str, plVar12 != (longlong *)0x0; plVar12 = (longlong *)plVar12[10]) { lVar6 = (**(code **)(*plVar12 + 0x30))(plVar12); if (lVar6 != 0) { pcVar13 = (char *)(**(code **)(*plVar12 + 0x30))(plVar12); break; } } joined_r0x00014005d213: plVar11 = local_220; if (pcVar13 != (char *)0x0) { pcVar14 = (char *)(*(longlong *)(pcVar13 + 0x38) + 0x10); if (pcVar14 != (char *)0x0) { for (pcVar15 = *(char **)(pcVar13 + 0xa0); pcVar15 != pcVar13 + 0x58; pcVar15 = *(char **)(pcVar15 + 0x48)) { bVar21 = (char *)(*(longlong *)(pcVar15 + 0x20) + 0x10) == (char *)0x0; lVar6 = 5; pcVar16 = (char *)(*(longlong *)(pcVar15 + 0x20) + 0x10); pcVar17 = "code"; do { if (lVar6 == 0) break; lVar6 = lVar6 + -1; bVar21 = *pcVar16 == *pcVar17; pcVar16 = pcVar16 + 1; pcVar17 = pcVar17 + 1; } while (bVar21); if (bVar21) { if ((char *)(*(longlong *)(pcVar15 + 0x30) + 0x10) != (char *)0x0) { pcVar16 = (char *)local_90; if (0xf < local_78) { pcVar16 = (char *)CONCAT71(local_90[0]._1_7_,(char)local_90[0]); } iVar2 = _stricmp(pcVar16,(char *)(*(longlong *)(pcVar15 + 0x30) + 0x10)); if (iVar2 == 0) { iVar2 = _stricmp(pcVar14,"guild"); if (iVar2 == 0) { *(undefined4 *)(param_1 + 0x158) = 1; } else { iVar2 = _stricmp(pcVar14,"api"); if (iVar2 == 0) { FUN_14005fb60(param_1,(longlong)pcVar13,0x17); } } } } break; } } } for (plVar12 = *(longlong **)(pcVar13 + 0x50); pcVar13 = _Str, plVar12 != (longlong *)0x0; plVar12 = (longlong *)plVar12[10]) { lVar6 = (**(code **)(*plVar12 + 0x30))(plVar12); if (lVar6 != 0) { pcVar13 = (char *)(**(code **)(*plVar12 + 0x30))(plVar12); break; } } goto joined_r0x00014005d213; } } goto joined_r0x00014005d31b; LAB_14005d347: while (lVar6 = (**(code **)(*plVar11 + 0x30))(plVar11), lVar6 == 0) { do { plVar11 = (longlong *)plVar11[10]; plVar12 = local_220; if (plVar11 == (longlong *)0x0) goto joined_r0x00014005d3e7; bVar21 = (char *)(plVar11[7] + 0x10) == (char *)0x0; lVar6 = 4; pcVar13 = (char *)(plVar11[7] + 0x10); pcVar14 = "dns"; do { if (lVar6 == 0) break; lVar6 = lVar6 + -1; bVar21 = *pcVar13 == *pcVar14; pcVar13 = pcVar13 + 1; pcVar14 = pcVar14 + 1; } while (bVar21); } while (!bVar21); } lVar6 = (**(code **)(*plVar11 + 0x30))(plVar11); plVar12 = local_220; if (lVar6 != 0) { for (lVar8 = *(longlong *)(lVar6 + 0xa0); lVar8 != lVar6 + 0x58; lVar8 = *(longlong *)(lVar8 + 0x48)) { pcVar13 = (char *)(*(longlong *)(lVar8 + 0x20) + 0x10); bVar21 = pcVar13 == (char *)0x0; lVar4 = 4; pcVar14 = "dns"; do { if (lVar4 == 0) break; lVar4 = lVar4 + -1; bVar21 = *pcVar13 == *pcVar14; pcVar13 = pcVar13 + 1; pcVar14 = pcVar14 + 1; } while (bVar21); if (bVar21) { pcVar13 = (char *)(*(longlong *)(lVar8 + 0x30) + 0x10); if (pcVar13 != (char *)0x0) { iVar2 = atoi(pcVar13); *(bool *)(param_1 + 0x151) = 0 < iVar2; plVar12 = local_220; } break; } } } joined_r0x00014005d3e7: do { plVar11 = local_220; if (plVar12 == (longlong *)0x0) goto joined_r0x00014005d4b7; bVar21 = (char *)(plVar12[7] + 0x10) == (char *)0x0; lVar6 = 0xb; pcVar13 = (char *)(plVar12[7] + 0x10); pcVar14 = "code_start"; do { if (lVar6 == 0) break; lVar6 = lVar6 + -1; bVar21 = *pcVar13 == *pcVar14; pcVar13 = pcVar13 + 1; pcVar14 = pcVar14 + 1; } while (bVar21); if (bVar21) break; plVar12 = (longlong *)plVar12[10]; } while( true ); while (lVar6 = (**(code **)(*plVar12 + 0x30))(plVar12), lVar6 == 0) { do { plVar12 = (longlong *)plVar12[10]; plVar11 = local_220; if (plVar12 == (longlong *)0x0) goto joined_r0x00014005d4b7; bVar21 = (char *)(plVar12[7] + 0x10) == (char *)0x0; lVar6 = 0xb; pcVar13 = (char *)(plVar12[7] + 0x10); pcVar14 = "code_start"; do { if (lVar6 == 0) break; lVar6 = lVar6 + -1; bVar21 = *pcVar13 == *pcVar14; pcVar13 = pcVar13 + 1; pcVar14 = pcVar14 + 1; } while (bVar21); } while (!bVar21); } lVar6 = (**(code **)(*plVar12 + 0x30))(plVar12); plVar11 = local_220; if (lVar6 != 0) { for (lVar8 = *(longlong *)(lVar6 + 0xa0); lVar8 != lVar6 + 0x58; lVar8 = *(longlong *)(lVar8 + 0x48)) { pcVar13 = (char *)(*(longlong *)(lVar8 + 0x20) + 0x10); bVar21 = pcVar13 == (char *)0x0; lVar4 = 0xb; pcVar14 = "code_start"; do { if (lVar4 == 0) break; lVar4 = lVar4 + -1; bVar21 = *pcVar13 == *pcVar14; pcVar13 = pcVar13 + 1; pcVar14 = pcVar14 + 1; } while (bVar21); if (bVar21) { pcVar13 = (char *)(*(longlong *)(lVar8 + 0x30) + 0x10); if (pcVar13 != (char *)0x0) { iVar2 = atoi(pcVar13); *(bool *)(param_1 + 0x152) = 0 < iVar2; plVar11 = local_220; } break; } } } joined_r0x00014005d4b7: do { if (plVar11 == (longlong *)0x0) goto LAB_14005d6fc; bVar21 = (char *)(plVar11[7] + 0x10) == (char *)0x0; lVar6 = 8; pcVar13 = (char *)(plVar11[7] + 0x10); pcVar14 = "setting"; do { if (lVar6 == 0) break; lVar6 = lVar6 + -1; bVar21 = *pcVar13 == *pcVar14; pcVar13 = pcVar13 + 1; pcVar14 = pcVar14 + 1; } while (bVar21); if (bVar21) break; plVar11 = (longlong *)plVar11[10]; } while( true ); while (lVar6 = (**(code **)(*plVar11 + 0x30))(plVar11), lVar6 == 0) { do { plVar11 = (longlong *)plVar11[10]; if (plVar11 == (longlong *)0x0) goto LAB_14005d6fc; bVar21 = (char *)(plVar11[7] + 0x10) == (char *)0x0; lVar6 = 8; pcVar13 = (char *)(plVar11[7] + 0x10); pcVar14 = "setting"; do { if (lVar6 == 0) break; lVar6 = lVar6 + -1; bVar21 = *pcVar13 == *pcVar14; pcVar13 = pcVar13 + 1; pcVar14 = pcVar14 + 1; } while (bVar21); } while (!bVar21); } lVar6 = (**(code **)(*plVar11 + 0x30))(plVar11); if (lVar6 != 0) { lVar4 = lVar6 + 0x58; for (lVar8 = *(longlong *)(lVar6 + 0xa0); pcVar13 = _Str, lVar8 != lVar4; lVar8 = *(longlong *)(lVar8 + 0x48)) { pcVar13 = (char *)(*(longlong *)(lVar8 + 0x20) + 0x10); bVar21 = pcVar13 == (char *)0x0; lVar7 = 6; pcVar14 = "multi"; do { if (lVar7 == 0) break; lVar7 = lVar7 + -1; bVar21 = *pcVar13 == *pcVar14; pcVar13 = pcVar13 + 1; pcVar14 = pcVar14 + 1; } while (bVar21); if (bVar21) { pcVar13 = (char *)(*(longlong *)(lVar8 + 0x30) + 0x10); break; } } for (lVar8 = *(longlong *)(lVar6 + 0xa0); pcVar14 = _Str, lVar8 != lVar4; lVar8 = *(longlong *)(lVar8 + 0x48)) { pcVar14 = (char *)(*(longlong *)(lVar8 + 0x20) + 0x10); bVar21 = pcVar14 == (char *)0x0; lVar7 = 5; pcVar15 = "lock"; do { if (lVar7 == 0) break; lVar7 = lVar7 + -1; bVar21 = *pcVar14 == *pcVar15; pcVar14 = pcVar14 + 1; pcVar15 = pcVar15 + 1; } while (bVar21); if (bVar21) { pcVar14 = (char *)(*(longlong *)(lVar8 + 0x30) + 0x10); break; } } for (lVar8 = *(longlong *)(lVar6 + 0xa0); pcVar15 = _Str, lVar8 != lVar4; lVar8 = *(longlong *)(lVar8 + 0x48)) { pcVar15 = (char *)(*(longlong *)(lVar8 + 0x20) + 0x10); bVar21 = pcVar15 == (char *)0x0; lVar7 = 0xd; pcVar16 = "start_server"; do { if (lVar7 == 0) break; lVar7 = lVar7 + -1; bVar21 = *pcVar15 == *pcVar16; pcVar15 = pcVar15 + 1; pcVar16 = pcVar16 + 1; } while (bVar21); if (bVar21) { pcVar15 = (char *)(*(longlong *)(lVar8 + 0x30) + 0x10); break; } } for (lVar8 = *(longlong *)(lVar6 + 0xa0); pcVar16 = _Str, lVar8 != lVar4; lVar8 = *(longlong *)(lVar8 + 0x48)) { pcVar16 = (char *)(*(longlong *)(lVar8 + 0x20) + 0x10); bVar21 = pcVar16 == (char *)0x0; lVar7 = 0xe; pcVar17 = "revive_server"; do { if (lVar7 == 0) break; lVar7 = lVar7 + -1; bVar21 = *pcVar16 == *pcVar17; pcVar16 = pcVar16 + 1; pcVar17 = pcVar17 + 1; } while (bVar21); if (bVar21) { pcVar16 = (char *)(*(longlong *)(lVar8 + 0x30) + 0x10); break; } } for (lVar6 = *(longlong *)(lVar6 + 0xa0); pcVar17 = _Str, lVar6 != lVar4; lVar6 = *(longlong *)(lVar6 + 0x48)) { pcVar17 = (char *)(*(longlong *)(lVar6 + 0x20) + 0x10); bVar21 = pcVar17 == (char *)0x0; lVar8 = 0xd; pcVar18 = "open_channel"; do { if (lVar8 == 0) break; lVar8 = lVar8 + -1; bVar21 = *pcVar17 == *pcVar18; pcVar17 = pcVar17 + 1; pcVar18 = pcVar18 + 1; } while (bVar21); if (bVar21) { pcVar17 = (char *)(*(longlong *)(lVar6 + 0x30) + 0x10); break; } } if (pcVar13 != (char *)0x0) { iVar2 = atoi(pcVar13); *(bool *)(param_1 + 0x166) = 0 < iVar2; } if (pcVar16 != (char *)0x0) { iVar2 = atoi(pcVar16); *(bool *)(param_1 + 0x171) = 0 < iVar2; } if (pcVar17 != (char *)0x0) { iVar2 = atoi(pcVar17); *(bool *)(param_1 + 0x170) = 0 < iVar2; } if (pcVar14 != (char *)0x0) { iVar2 = atoi(pcVar14); *(double *)(param_1 + 0x168) = (double)iVar2; } if (pcVar15 != (char *)0x0) { iVar2 = atoi(pcVar15); *(double *)(param_1 + 0x178) = (double)iVar2; } } LAB_14005d6fc: DAT_1401bcf08 = 0; DAT_1401bcf09 = 0; DAT_1401bcf0a = 0; DAT_1401bcf0b = 0; DAT_1401bcf0c = 0; DAT_1401bcf0d = 1; DAT_1401bcf0e = 1; for (plVar12 = local_220; plVar12 != (longlong *)0x0; plVar12 = (longlong *)plVar12[10]) { bVar21 = (char *)(plVar12[7] + 0x10) == (char *)0x0; lVar6 = 8; pcVar13 = (char *)(plVar12[7] + 0x10); pcVar14 = "develop"; do { if (lVar6 == 0) break; lVar6 = lVar6 + -1; bVar21 = *pcVar13 == *pcVar14; pcVar13 = pcVar13 + 1; pcVar14 = pcVar14 + 1; } while (bVar21); if (bVar21) goto LAB_14005d766; } goto LAB_14005da13; LAB_14005d766: while (lVar6 = (**(code **)(*plVar12 + 0x30))(plVar12), lVar6 == 0) { do { plVar12 = (longlong *)plVar12[10]; if (plVar12 == (longlong *)0x0) goto LAB_14005da13; bVar21 = (char *)(plVar12[7] + 0x10) == (char *)0x0; lVar6 = 8; pcVar13 = (char *)(plVar12[7] + 0x10); pcVar14 = "develop"; do { if (lVar6 == 0) break; lVar6 = lVar6 + -1; bVar21 = *pcVar13 == *pcVar14; pcVar13 = pcVar13 + 1; pcVar14 = pcVar14 + 1; } while (bVar21); } while (!bVar21); } lVar6 = (**(code **)(*plVar12 + 0x30))(plVar12); if (lVar6 != 0) { lVar4 = lVar6 + 0x58; for (lVar8 = *(longlong *)(lVar6 + 0xa0); pcVar13 = _Str, lVar8 != lVar4; lVar8 = *(longlong *)(lVar8 + 0x48)) { pcVar13 = (char *)(*(longlong *)(lVar8 + 0x20) + 0x10); bVar21 = pcVar13 == (char *)0x0; lVar7 = 8; pcVar14 = "preload"; do { if (lVar7 == 0) break; lVar7 = lVar7 + -1; bVar21 = *pcVar13 == *pcVar14; pcVar13 = pcVar13 + 1; pcVar14 = pcVar14 + 1; } while (bVar21); if (bVar21) { pcVar13 = (char *)(*(longlong *)(lVar8 + 0x30) + 0x10); break; } } for (lVar8 = *(longlong *)(lVar6 + 0xa0); lVar8 != lVar4; lVar8 = *(longlong *)(lVar8 + 0x48)) { pcVar14 = (char *)(*(longlong *)(lVar8 + 0x20) + 0x10); bVar21 = pcVar14 == (char *)0x0; lVar7 = 0xd; pcVar15 = "preload_char"; do { if (lVar7 == 0) break; lVar7 = lVar7 + -1; bVar21 = *pcVar14 == *pcVar15; pcVar14 = pcVar14 + 1; pcVar15 = pcVar15 + 1; } while (bVar21); if (bVar21) { _Str = (char *)(*(longlong *)(lVar8 + 0x30) + 0x10); break; } } for (lVar8 = *(longlong *)(lVar6 + 0xa0); lVar8 != lVar4; lVar8 = *(longlong *)(lVar8 + 0x48)) { pcVar14 = (char *)(*(longlong *)(lVar8 + 0x20) + 0x10); bVar21 = pcVar14 == (char *)0x0; lVar7 = 0xc; pcVar15 = "enemy_debug"; do { if (lVar7 == 0) break; lVar7 = lVar7 + -1; bVar21 = *pcVar14 == *pcVar15; pcVar14 = pcVar14 + 1; pcVar15 = pcVar15 + 1; } while (bVar21); if (bVar21) { pcVar14 = (char *)(*(longlong *)(lVar8 + 0x30) + 0x10); goto LAB_14005d870; } } pcVar14 = (char *)0x0; LAB_14005d870: for (lVar8 = *(longlong *)(lVar6 + 0xa0); lVar8 != lVar4; lVar8 = *(longlong *)(lVar8 + 0x48)) { pcVar15 = (char *)(*(longlong *)(lVar8 + 0x20) + 0x10); bVar21 = pcVar15 == (char *)0x0; lVar7 = 10; pcVar16 = "enemy_one"; do { if (lVar7 == 0) break; lVar7 = lVar7 + -1; bVar21 = *pcVar15 == *pcVar16; pcVar15 = pcVar15 + 1; pcVar16 = pcVar16 + 1; } while (bVar21); if (bVar21) { pcVar15 = (char *)(*(longlong *)(lVar8 + 0x30) + 0x10); goto LAB_14005d8b0; } } pcVar15 = (char *)0x0; LAB_14005d8b0: for (lVar8 = *(longlong *)(lVar6 + 0xa0); lVar8 != lVar4; lVar8 = *(longlong *)(lVar8 + 0x48)) { pcVar16 = (char *)(*(longlong *)(lVar8 + 0x20) + 0x10); bVar21 = pcVar16 == (char *)0x0; lVar7 = 0xd; pcVar17 = "player_debug"; do { if (lVar7 == 0) break; lVar7 = lVar7 + -1; bVar21 = *pcVar16 == *pcVar17; pcVar16 = pcVar16 + 1; pcVar17 = pcVar17 + 1; } while (bVar21); if (bVar21) { pcVar16 = (char *)(*(longlong *)(lVar8 + 0x30) + 0x10); goto LAB_14005d8f0; } } pcVar16 = (char *)0x0; LAB_14005d8f0: for (lVar8 = *(longlong *)(lVar6 + 0xa0); lVar8 != lVar4; lVar8 = *(longlong *)(lVar8 + 0x48)) { pcVar17 = (char *)(*(longlong *)(lVar8 + 0x20) + 0x10); bVar21 = pcVar17 == (char *)0x0; lVar7 = 9; pcVar18 = "lua_text"; do { if (lVar7 == 0) break; lVar7 = lVar7 + -1; bVar21 = *pcVar17 == *pcVar18; pcVar17 = pcVar17 + 1; pcVar18 = pcVar18 + 1; } while (bVar21); if (bVar21) { pcVar17 = (char *)(*(longlong *)(lVar8 + 0x30) + 0x10); goto LAB_14005d92f; } } pcVar17 = (char *)0x0; LAB_14005d92f: for (lVar6 = *(longlong *)(lVar6 + 0xa0); lVar6 != lVar4; lVar6 = *(longlong *)(lVar6 + 0x48)) { pcVar18 = (char *)(*(longlong *)(lVar6 + 0x20) + 0x10); bVar21 = pcVar18 == (char *)0x0; lVar8 = 9; pcVar20 = "lua_send"; do { if (lVar8 == 0) break; lVar8 = lVar8 + -1; bVar21 = *pcVar18 == *pcVar20; pcVar18 = pcVar18 + 1; pcVar20 = pcVar20 + 1; } while (bVar21); if (bVar21) { pcVar18 = (char *)(*(longlong *)(lVar6 + 0x30) + 0x10); goto LAB_14005d96f; } } pcVar18 = (char *)0x0; LAB_14005d96f: if (pcVar13 != (char *)0x0) { iVar2 = atoi(pcVar13); DAT_1401bcf0d = 0 < iVar2; } if (_Str != (char *)0x0) { iVar2 = atoi(_Str); DAT_1401bcf0e = 0 < iVar2; } if (pcVar15 != (char *)0x0) { iVar2 = atoi(pcVar15); DAT_1401bcf09 = 0 < iVar2; } if (pcVar14 != (char *)0x0) { iVar2 = atoi(pcVar14); DAT_1401bcf08 = 0 < iVar2; } if (pcVar16 != (char *)0x0) { iVar2 = atoi(pcVar16); DAT_1401bcf0a = 0 < iVar2; } if (pcVar17 != (char *)0x0) { iVar2 = atoi(pcVar17); DAT_1401bcf0b = 0 < iVar2; } if (pcVar18 != (char *)0x0) { iVar2 = atoi(pcVar18); DAT_1401bcf0c = 0 < iVar2; } } LAB_14005da13: if (0xf < local_78) { operator_delete((void *)CONCAT71(local_90[0]._1_7_,(char)local_90[0])); } local_78 = 0xf; local_80 = 0; local_90[0]._0_1_ = '\0'; local_1b8 = local_120; *(undefined ***)((longlong)local_1a0 + (longlong)*(int *)(local_1a8 + 4) + -8) = std::basic_ostringstream,std::allocator_>::vftable; local_1c8 = local_1a0; local_1a0[0] = std::basic_stringbuf,std::allocator_>::vftable; if ((local_128 & 1) != 0) { operator_delete((void *)*local_180); } std::basic_streambuf_>::setg ((basic_streambuf_> *)local_1a0,(char *)0x0,(char *)0x0, (char *)0x0); *local_178 = 0; *local_158 = 0; *local_140 = 0; local_130 = 0; local_128 = local_128 & 0xfffffffe; std::basic_streambuf_>::~basic_streambuf_> ((basic_streambuf_> *)local_1a0); *(code **)((longlong)local_1a0 + (longlong)*(int *)(local_1a8 + 4) + -8) = _vftable__exref; std::basic_ios_>::~basic_ios_>(local_120); local_248[0] = TiXmlDocument::vftable; if (local_1e8 != &DAT_1401bcf30) { operator_delete__(local_1e0); } local_248[0] = TiXmlNode::vftable; while (local_220 != (longlong *)0x0) { plVar12 = (longlong *)local_220[10]; (**(code **)*local_220)(local_220,1); local_220 = plVar12; } if (local_210 != &DAT_1401bcf30) { operator_delete__(local_208); } ppuVar3 = TiXmlBase::vftable; local_248[0] = TiXmlBase::vftable; if (0xf < local_50) { operator_delete(local_68[0]); ppuVar3 = extraout_RAX_00; } return CONCAT71((int7)((ulonglong)ppuVar3 >> 8),1); }