/* DBCServer_Release_x64.exe sha256 d9e4fccdf3482e50247686d4452c0b13c75a53efc4bd7320668eece8d1ce828c * Ghidra 12.1.2 decompiler output for 0x140156650 FUN_140156650 * Pseudocode, not original source. */ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ /* WARNING: Type propagation algorithm not settling */ undefined8 FUN_140156650(longlong param_1,LPCWSTR param_2) { char **ppcVar1; WCHAR WVar2; char cVar3; int iVar4; char **ppcVar5; undefined8 uVar6; char *pcVar7; char *pcVar8; char *pcVar9; char *pcVar10; char *pcVar11; longlong lVar12; ulonglong uVar13; longlong lVar14; longlong lVar15; longlong lVar16; wchar_t *_Format; longlong *plVar17; longlong *plVar18; char *pcVar19; char *pcVar20; char *pcVar21; char *pcVar22; LPCWSTR pWVar23; char *pcVar24; LPCSTR pCVar25; WCHAR *pWVar26; LPCSTR pCVar27; bool bVar28; undefined1 auStackY_4e8 [32]; char *local_4a8; longlong local_4a0; undefined **local_498; undefined8 local_490; undefined8 local_488; undefined8 local_480; undefined4 local_478; longlong *local_470; undefined8 local_468; undefined8 *local_460; void *local_458; undefined8 local_450; undefined8 local_448; undefined1 local_440; undefined4 local_43c; undefined8 *local_438; void *local_430; undefined4 local_428; undefined8 local_424; undefined1 local_41c; char *local_418; char *local_410; char *local_408; char *local_400; char *local_3f8; char *local_3f0; undefined8 local_3e8; undefined2 local_3d8; undefined6 uStack_3d6; undefined8 local_3c8; ulonglong local_3c0; undefined8 local_3b0; undefined8 local_3a8; undefined8 local_3a0; undefined1 local_398; undefined7 uStack_397; undefined8 local_388; ulonglong local_380; CHAR local_368 [272]; WCHAR local_258 [264]; ulonglong local_48; local_3e8 = 0xfffffffffffffffe; local_48 = DAT_1403463c0 ^ (ulonglong)auStackY_4e8; local_368[0] = '\0'; local_4a0 = param_1; memset(local_368 + 1,0,0x103); lVar12 = -1; pWVar23 = param_2; do { if (lVar12 == 0) break; lVar12 = lVar12 + -1; WVar2 = *pWVar23; pWVar23 = pWVar23 + 1; } while (WVar2 != L'\0'); pcVar19 = (char *)0x0; WideCharToMultiByte(0,0,param_2,~(uint)lVar12,local_368,0x104,(LPCSTR)0x0,(LPBOOL)0x0); local_490 = 0xffffffffffffffff; local_488 = 0; local_460 = &DAT_140352f70; local_480 = 0; local_478 = 0; local_470 = (longlong *)0x0; local_468 = 0; local_450 = 0; local_448 = 0; local_498 = TiXmlDocument::vftable; local_438 = &DAT_140352f70; local_424 = 0xffffffffffffffff; local_428 = 4; local_41c = 0; uVar13 = 0xffffffffffffffff; pcVar7 = local_368; do { if (uVar13 == 0) break; uVar13 = uVar13 - 1; cVar3 = *pcVar7; pcVar7 = pcVar7 + 1; } while (cVar3 != '\0'); FUN_140163670(&local_460,local_368,~uVar13 - 1); local_440 = 0; local_43c = 0; FUN_140163670(&local_438,&DAT_14029e010,0); local_424 = 0; DAT_140349a98 = 0; cVar3 = FUN_1401621e0(&local_498); if (cVar3 == '\0') { FUN_140160930("Error : %d - %s",local_43c,local_438 + 2); local_498 = TiXmlDocument::vftable; if (local_438 != &DAT_140352f70) { operator_delete__(local_430); } local_498 = TiXmlNode::vftable; plVar18 = local_470; while (plVar18 != (longlong *)0x0) { plVar17 = (longlong *)plVar18[10]; (**(code **)*plVar18)(plVar18,1); plVar18 = plVar17; } if (local_460 != &DAT_140352f70) { operator_delete__(local_458); } return 0; } memset(local_258,0,0x208); for (plVar18 = local_470; plVar18 != (longlong *)0x0; plVar18 = (longlong *)plVar18[10]) { bVar28 = (char *)(plVar18[7] + 0x10) == (char *)0x0; lVar12 = 7; pcVar7 = (char *)(plVar18[7] + 0x10); pcVar8 = "server"; do { if (lVar12 == 0) break; lVar12 = lVar12 + -1; bVar28 = *pcVar7 == *pcVar8; pcVar7 = pcVar7 + 1; pcVar8 = pcVar8 + 1; } while (bVar28); if (bVar28) goto LAB_140156866; } goto LAB_140157036; LAB_140156866: while (lVar12 = (**(code **)(*plVar18 + 0x30))(plVar18), lVar12 == 0) { do { plVar18 = (longlong *)plVar18[10]; if (plVar18 == (longlong *)0x0) goto LAB_140157036; bVar28 = (char *)(plVar18[7] + 0x10) == (char *)0x0; lVar12 = 7; pcVar7 = (char *)(plVar18[7] + 0x10); pcVar8 = "server"; do { if (lVar12 == 0) break; lVar12 = lVar12 + -1; bVar28 = *pcVar7 == *pcVar8; pcVar7 = pcVar7 + 1; pcVar8 = pcVar8 + 1; } while (bVar28); } while (!bVar28); } lVar12 = (**(code **)(*plVar18 + 0x30))(); if (lVar12 != 0) { lVar16 = lVar12 + 0x58; for (lVar14 = *(longlong *)(lVar12 + 0xa0); lVar14 != lVar16; lVar14 = *(longlong *)(lVar14 + 0x48)) { pcVar7 = (char *)(*(longlong *)(lVar14 + 0x20) + 0x10); bVar28 = pcVar7 == (char *)0x0; lVar15 = 5; pcVar8 = "name"; do { if (lVar15 == 0) break; lVar15 = lVar15 + -1; bVar28 = *pcVar7 == *pcVar8; pcVar7 = pcVar7 + 1; pcVar8 = pcVar8 + 1; } while (bVar28); if (bVar28) { local_418 = (char *)(*(longlong *)(lVar14 + 0x30) + 0x10); goto LAB_1401568f5; } } local_418 = (char *)0x0; LAB_1401568f5: for (lVar14 = *(longlong *)(lVar12 + 0xa0); lVar14 != lVar16; lVar14 = *(longlong *)(lVar14 + 0x48)) { pcVar7 = (char *)(*(longlong *)(lVar14 + 0x20) + 0x10); bVar28 = pcVar7 == (char *)0x0; lVar15 = 5; pcVar8 = "code"; do { if (lVar15 == 0) break; lVar15 = lVar15 + -1; bVar28 = *pcVar7 == *pcVar8; pcVar7 = pcVar7 + 1; pcVar8 = pcVar8 + 1; } while (bVar28); if (bVar28) { local_400 = (char *)(*(longlong *)(lVar14 + 0x30) + 0x10); goto LAB_140156935; } } local_400 = (char *)0x0; LAB_140156935: for (lVar14 = *(longlong *)(lVar12 + 0xa0); lVar14 != lVar16; lVar14 = *(longlong *)(lVar14 + 0x48)) { pcVar7 = (char *)(*(longlong *)(lVar14 + 0x20) + 0x10); bVar28 = pcVar7 == (char *)0x0; lVar15 = 0xb; pcVar8 = "private_ip"; do { if (lVar15 == 0) break; lVar15 = lVar15 + -1; bVar28 = *pcVar7 == *pcVar8; pcVar7 = pcVar7 + 1; pcVar8 = pcVar8 + 1; } while (bVar28); if (bVar28) { local_4a8 = (char *)(*(longlong *)(lVar14 + 0x30) + 0x10); goto LAB_140156977; } } local_4a8 = (char *)0x0; LAB_140156977: for (lVar14 = *(longlong *)(lVar12 + 0xa0); lVar14 != lVar16; lVar14 = *(longlong *)(lVar14 + 0x48)) { pcVar7 = (char *)(*(longlong *)(lVar14 + 0x20) + 0x10); bVar28 = pcVar7 == (char *)0x0; lVar15 = 0xd; pcVar8 = "private_port"; do { if (lVar15 == 0) break; lVar15 = lVar15 + -1; bVar28 = *pcVar7 == *pcVar8; pcVar7 = pcVar7 + 1; pcVar8 = pcVar8 + 1; } while (bVar28); if (bVar28) { local_408 = (char *)(*(longlong *)(lVar14 + 0x30) + 0x10); goto LAB_1401569b5; } } local_408 = (char *)0x0; LAB_1401569b5: for (lVar14 = *(longlong *)(lVar12 + 0xa0); lVar14 != lVar16; lVar14 = *(longlong *)(lVar14 + 0x48)) { pcVar7 = (char *)(*(longlong *)(lVar14 + 0x20) + 0x10); bVar28 = pcVar7 == (char *)0x0; lVar15 = 10; pcVar8 = "public_ip"; do { if (lVar15 == 0) break; lVar15 = lVar15 + -1; bVar28 = *pcVar7 == *pcVar8; pcVar7 = pcVar7 + 1; pcVar8 = pcVar8 + 1; } while (bVar28); if (bVar28) { local_410 = (char *)(*(longlong *)(lVar14 + 0x30) + 0x10); goto LAB_1401569f5; } } local_410 = (char *)0x0; LAB_1401569f5: for (lVar14 = *(longlong *)(lVar12 + 0xa0); lVar14 != lVar16; lVar14 = *(longlong *)(lVar14 + 0x48)) { pcVar7 = (char *)(*(longlong *)(lVar14 + 0x20) + 0x10); bVar28 = pcVar7 == (char *)0x0; lVar15 = 0xc; pcVar8 = "public_port"; do { if (lVar15 == 0) break; lVar15 = lVar15 + -1; bVar28 = *pcVar7 == *pcVar8; pcVar7 = pcVar7 + 1; pcVar8 = pcVar8 + 1; } while (bVar28); if (bVar28) { local_3f0 = (char *)(*(longlong *)(lVar14 + 0x30) + 0x10); goto LAB_140156a35; } } local_3f0 = (char *)0x0; LAB_140156a35: for (lVar14 = *(longlong *)(lVar12 + 0xa0); lVar14 != lVar16; lVar14 = *(longlong *)(lVar14 + 0x48)) { pcVar7 = (char *)(*(longlong *)(lVar14 + 0x20) + 0x10); bVar28 = pcVar7 == (char *)0x0; lVar15 = 0xf; pcVar8 = "public_udpport"; do { if (lVar15 == 0) break; lVar15 = lVar15 + -1; bVar28 = *pcVar7 == *pcVar8; pcVar7 = pcVar7 + 1; pcVar8 = pcVar8 + 1; } while (bVar28); if (bVar28) { local_3f8 = (char *)(*(longlong *)(lVar14 + 0x30) + 0x10); goto LAB_140156a75; } } local_3f8 = (char *)0x0; LAB_140156a75: for (lVar14 = *(longlong *)(lVar12 + 0xa0); pCVar27 = pcVar19, lVar14 != lVar16; lVar14 = *(longlong *)(lVar14 + 0x48)) { pcVar7 = (char *)(*(longlong *)(lVar14 + 0x20) + 0x10); bVar28 = pcVar7 == (char *)0x0; lVar15 = 0xb; pcVar8 = "thread_num"; do { if (lVar15 == 0) break; lVar15 = lVar15 + -1; bVar28 = *pcVar7 == *pcVar8; pcVar7 = pcVar7 + 1; pcVar8 = pcVar8 + 1; } while (bVar28); if (bVar28) { pCVar27 = (LPCSTR)(*(longlong *)(lVar14 + 0x30) + 0x10); break; } } for (lVar14 = *(longlong *)(lVar12 + 0xa0); pcVar7 = pcVar19, lVar14 != lVar16; lVar14 = *(longlong *)(lVar14 + 0x48)) { pcVar7 = (char *)(*(longlong *)(lVar14 + 0x20) + 0x10); bVar28 = pcVar7 == (char *)0x0; lVar15 = 6; pcVar8 = "agent"; do { if (lVar15 == 0) break; lVar15 = lVar15 + -1; bVar28 = *pcVar7 == *pcVar8; pcVar7 = pcVar7 + 1; pcVar8 = pcVar8 + 1; } while (bVar28); if (bVar28) { pcVar7 = (char *)(*(longlong *)(lVar14 + 0x30) + 0x10); break; } } for (lVar14 = *(longlong *)(lVar12 + 0xa0); pcVar8 = pcVar19, lVar14 != lVar16; lVar14 = *(longlong *)(lVar14 + 0x48)) { pcVar8 = (char *)(*(longlong *)(lVar14 + 0x20) + 0x10); bVar28 = pcVar8 == (char *)0x0; lVar15 = 6; pcVar9 = "debug"; do { if (lVar15 == 0) break; lVar15 = lVar15 + -1; bVar28 = *pcVar8 == *pcVar9; pcVar8 = pcVar8 + 1; pcVar9 = pcVar9 + 1; } while (bVar28); if (bVar28) { pcVar8 = (char *)(*(longlong *)(lVar14 + 0x30) + 0x10); break; } } for (lVar14 = *(longlong *)(lVar12 + 0xa0); lVar14 != lVar16; lVar14 = *(longlong *)(lVar14 + 0x48)) { pcVar9 = (char *)(*(longlong *)(lVar14 + 0x20) + 0x10); bVar28 = pcVar9 == (char *)0x0; lVar15 = 6; pcVar10 = "world"; do { if (lVar15 == 0) break; lVar15 = lVar15 + -1; bVar28 = *pcVar9 == *pcVar10; pcVar9 = pcVar9 + 1; pcVar10 = pcVar10 + 1; } while (bVar28); if (bVar28) { pcVar19 = (char *)(*(longlong *)(lVar14 + 0x30) + 0x10); break; } } for (lVar14 = *(longlong *)(lVar12 + 0xa0); lVar14 != lVar16; lVar14 = *(longlong *)(lVar14 + 0x48)) { pcVar9 = (char *)(*(longlong *)(lVar14 + 0x20) + 0x10); bVar28 = pcVar9 == (char *)0x0; lVar15 = 10; pcVar10 = "udp_count"; do { if (lVar15 == 0) break; lVar15 = lVar15 + -1; bVar28 = *pcVar9 == *pcVar10; pcVar9 = pcVar9 + 1; pcVar10 = pcVar10 + 1; } while (bVar28); if (bVar28) { pcVar9 = (char *)(*(longlong *)(lVar14 + 0x30) + 0x10); goto LAB_140156bb6; } } pcVar9 = (char *)0x0; LAB_140156bb6: pcVar10 = (char *)0x0; for (lVar14 = *(longlong *)(lVar12 + 0xa0); lVar14 != lVar16; lVar14 = *(longlong *)(lVar14 + 0x48)) { pcVar11 = (char *)(*(longlong *)(lVar14 + 0x20) + 0x10); bVar28 = pcVar11 == (char *)0x0; lVar15 = 0xc; pcVar21 = "private_dns"; do { if (lVar15 == 0) break; lVar15 = lVar15 + -1; bVar28 = *pcVar11 == *pcVar21; pcVar11 = pcVar11 + 1; pcVar21 = pcVar21 + 1; } while (bVar28); if (bVar28) { pcVar10 = (char *)(*(longlong *)(lVar14 + 0x30) + 0x10); break; } } for (lVar12 = *(longlong *)(lVar12 + 0xa0); lVar12 != lVar16; lVar12 = *(longlong *)(lVar12 + 0x48)) { pcVar11 = (char *)(*(longlong *)(lVar12 + 0x20) + 0x10); bVar28 = pcVar11 == (char *)0x0; lVar14 = 0xb; pcVar21 = "public_dns"; do { if (lVar14 == 0) break; lVar14 = lVar14 + -1; bVar28 = *pcVar11 == *pcVar21; pcVar11 = pcVar11 + 1; pcVar21 = pcVar21 + 1; } while (bVar28); if (bVar28) { pcVar11 = (char *)(*(longlong *)(lVar12 + 0x30) + 0x10); goto LAB_140156c33; } } pcVar11 = (char *)0x0; LAB_140156c33: if (pcVar10 != (char *)0x0) { local_380 = 0xf; local_388 = 0; local_398 = 0; lVar12 = -1; pcVar21 = pcVar10; do { if (lVar12 == 0) break; lVar12 = lVar12 + -1; cVar3 = *pcVar21; pcVar21 = pcVar21 + 1; } while (cVar3 != '\0'); FUN_14004c670(&local_398,pcVar10); uVar6 = FUN_1402193a0(&local_3d8,&local_398); FUN_14015ad20(local_4a0 + 0x30,uVar6); if (7 < local_3c0) { operator_delete((void *)CONCAT62(uStack_3d6,local_3d8)); } local_3c0 = 7; local_3c8 = 0; local_3d8 = 0; if (0xf < local_380) { operator_delete((void *)CONCAT71(uStack_397,local_398)); } } if (local_4a8 != (char *)0x0) { local_380 = 0xf; local_388 = 0; local_398 = 0; lVar12 = -1; pcVar10 = local_4a8; do { if (lVar12 == 0) break; lVar12 = lVar12 + -1; cVar3 = *pcVar10; pcVar10 = pcVar10 + 1; } while (cVar3 != '\0'); FUN_14004c670(&local_398); uVar6 = FUN_1402193a0(&local_3d8,&local_398); FUN_14015ad20(local_4a0 + 0x30,uVar6); if (7 < local_3c0) { operator_delete((void *)CONCAT62(uStack_3d6,local_3d8)); } local_3c0 = 7; local_3c8 = 0; local_3d8 = 0; if (0xf < local_380) { operator_delete((void *)CONCAT71(uStack_397,local_398)); } } lVar12 = local_4a0; if (pcVar11 != (char *)0x0) { local_380 = 0xf; local_388 = 0; local_398 = 0; lVar12 = -1; pcVar10 = pcVar11; do { if (lVar12 == 0) break; lVar12 = lVar12 + -1; cVar3 = *pcVar10; pcVar10 = pcVar10 + 1; } while (cVar3 != '\0'); FUN_14004c670(&local_398,pcVar11); uVar6 = FUN_1402193a0(&local_3d8,&local_398); lVar12 = local_4a0; FUN_14015ad20(local_4a0 + 0x58,uVar6); if (7 < local_3c0) { operator_delete((void *)CONCAT62(uStack_3d6,local_3d8)); } local_3c0 = 7; local_3c8 = 0; local_3d8 = 0; if (0xf < local_380) { operator_delete((void *)CONCAT71(uStack_397,local_398)); } } if (local_410 != (char *)0x0) { local_380 = 0xf; local_388 = 0; local_398 = 0; lVar14 = -1; pcVar10 = local_410; do { if (lVar14 == 0) break; lVar14 = lVar14 + -1; cVar3 = *pcVar10; pcVar10 = pcVar10 + 1; } while (cVar3 != '\0'); FUN_14004c670(&local_398); uVar6 = FUN_1402193a0(&local_3d8,&local_398); FUN_14015ad20(lVar12 + 0x58,uVar6); if (7 < local_3c0) { operator_delete((void *)CONCAT62(uStack_3d6,local_3d8)); } local_3c0 = 7; local_3c8 = 0; local_3d8 = 0; if (0xf < local_380) { operator_delete((void *)CONCAT71(uStack_397,local_398)); } } if (local_408 != (char *)0x0) { iVar4 = atoi(local_408); *(int *)(lVar12 + 0x80) = iVar4; } if (local_3f0 != (char *)0x0) { iVar4 = atoi(local_3f0); *(int *)(lVar12 + 0x84) = iVar4; } if (local_3f8 != (char *)0x0) { iVar4 = atoi(local_3f8); *(int *)(lVar12 + 0x88) = iVar4; } if (local_418 != (char *)0x0) { local_380 = 0xf; local_388 = 0; local_398 = 0; lVar14 = -1; pcVar10 = local_418; do { if (lVar14 == 0) break; lVar14 = lVar14 + -1; cVar3 = *pcVar10; pcVar10 = pcVar10 + 1; } while (cVar3 != '\0'); FUN_14004c670(&local_398); FUN_1402193a0(&local_3d8,&local_398); FUN_14015ad20(lVar12 + 8); if (7 < local_3c0) { operator_delete((void *)CONCAT62(uStack_3d6,local_3d8)); } local_3c0 = 7; local_3c8 = 0; local_3d8 = 0; if (0xf < local_380) { operator_delete((void *)CONCAT71(uStack_397,local_398)); } } if (pCVar27 == (LPCSTR)0x0) { *(undefined4 *)(local_4a0 + 0x15c) = 1; param_1 = local_4a0; } else { memset(local_258,0,0x208); MultiByteToWideChar(0,1,pCVar27,0x104,local_258,0x104); param_1 = local_4a0; ppcVar1 = (char **)(local_4a0 + 0x15c); iVar4 = _wtoi(local_258); *(int *)ppcVar1 = iVar4; local_4a8 = (char *)CONCAT44(local_4a8._4_4_,1); ppcVar5 = &local_4a8; if (1 < *(int *)ppcVar1) { ppcVar5 = ppcVar1; } *(int *)ppcVar1 = *(int *)ppcVar5; } if (local_400 != (char *)0x0) { iVar4 = atoi(local_400); *(int *)(param_1 + 0x154) = iVar4; } if (pcVar7 != (char *)0x0) { iVar4 = atoi(pcVar7); *(bool *)(param_1 + 0x150) = iVar4 == 1; } if (pcVar8 != (char *)0x0) { iVar4 = atoi(pcVar8); *(bool *)(param_1 + 0x165) = iVar4 == 1; } if (pcVar19 != (char *)0x0) { iVar4 = atoi(pcVar19); *(int *)(param_1 + 0x140) = iVar4; } if (pcVar9 != (char *)0x0) { iVar4 = atoi(pcVar9); *(int *)(param_1 + 0x8c) = iVar4; } } LAB_140157036: pcVar7 = (char *)0x0; for (plVar18 = local_470; plVar17 = local_470, plVar18 != (longlong *)0x0; plVar18 = (longlong *)plVar18[10]) { bVar28 = (char *)(plVar18[7] + 0x10) == (char *)0x0; lVar12 = 0xb; pcVar19 = (char *)(plVar18[7] + 0x10); pcVar8 = "db_account"; do { if (lVar12 == 0) break; lVar12 = lVar12 + -1; bVar28 = *pcVar19 == *pcVar8; pcVar19 = pcVar19 + 1; pcVar8 = pcVar8 + 1; } while (bVar28); if (bVar28) goto LAB_140157073; } joined_r0x0001401570d0: do { plVar18 = local_470; if (plVar17 == (longlong *)0x0) goto joined_r0x000140157160; bVar28 = (char *)(plVar17[7] + 0x10) == (char *)0x0; lVar12 = 7; pcVar19 = (char *)(plVar17[7] + 0x10); pcVar8 = "db_web"; do { if (lVar12 == 0) break; lVar12 = lVar12 + -1; bVar28 = *pcVar19 == *pcVar8; pcVar19 = pcVar19 + 1; pcVar8 = pcVar8 + 1; } while (bVar28); if (bVar28) goto LAB_140157103; plVar17 = (longlong *)plVar17[10]; } while( true ); LAB_140157073: while (lVar12 = (**(code **)(*plVar18 + 0x30))(plVar18), lVar12 == 0) { do { plVar18 = (longlong *)plVar18[10]; plVar17 = local_470; if (plVar18 == (longlong *)0x0) goto joined_r0x0001401570d0; bVar28 = (char *)(plVar18[7] + 0x10) == (char *)0x0; lVar12 = 0xb; pcVar19 = (char *)(plVar18[7] + 0x10); pcVar8 = "db_account"; do { if (lVar12 == 0) break; lVar12 = lVar12 + -1; bVar28 = *pcVar19 == *pcVar8; pcVar19 = pcVar19 + 1; pcVar8 = pcVar8 + 1; } while (bVar28); } while (!bVar28); } lVar12 = (**(code **)(*plVar18 + 0x30))(plVar18); plVar17 = local_470; if (lVar12 != 0) { FUN_1401584e0(param_1 + 0x90,param_1 + 0x130); plVar17 = local_470; } goto joined_r0x0001401570d0; LAB_140157103: while (lVar12 = (**(code **)(*plVar17 + 0x30))(plVar17), lVar12 == 0) { do { plVar17 = (longlong *)plVar17[10]; plVar18 = local_470; if (plVar17 == (longlong *)0x0) goto joined_r0x000140157160; bVar28 = (char *)(plVar17[7] + 0x10) == (char *)0x0; lVar12 = 7; pcVar19 = (char *)(plVar17[7] + 0x10); pcVar8 = "db_web"; do { if (lVar12 == 0) break; lVar12 = lVar12 + -1; bVar28 = *pcVar19 == *pcVar8; pcVar19 = pcVar19 + 1; pcVar8 = pcVar8 + 1; } while (bVar28); } while (!bVar28); } lVar12 = (**(code **)(*plVar17 + 0x30))(plVar17); plVar18 = local_470; if (lVar12 != 0) { FUN_1401584e0(param_1 + 0xb8,param_1 + 0x134); plVar18 = local_470; } joined_r0x000140157160: do { plVar17 = local_470; if (plVar18 == (longlong *)0x0) goto joined_r0x0001401571f0; bVar28 = (char *)(plVar18[7] + 0x10) == (char *)0x0; lVar12 = 8; pcVar19 = (char *)(plVar18[7] + 0x10); pcVar8 = "db_game"; do { if (lVar12 == 0) break; lVar12 = lVar12 + -1; bVar28 = *pcVar19 == *pcVar8; pcVar19 = pcVar19 + 1; pcVar8 = pcVar8 + 1; } while (bVar28); if (bVar28) break; plVar18 = (longlong *)plVar18[10]; } while( true ); while (lVar12 = (**(code **)(*plVar18 + 0x30))(plVar18), lVar12 == 0) { do { plVar18 = (longlong *)plVar18[10]; plVar17 = local_470; if (plVar18 == (longlong *)0x0) goto joined_r0x0001401571f0; bVar28 = (char *)(plVar18[7] + 0x10) == (char *)0x0; lVar12 = 8; pcVar19 = (char *)(plVar18[7] + 0x10); pcVar8 = "db_game"; do { if (lVar12 == 0) break; lVar12 = lVar12 + -1; bVar28 = *pcVar19 == *pcVar8; pcVar19 = pcVar19 + 1; pcVar8 = pcVar8 + 1; } while (bVar28); } while (!bVar28); } lVar12 = (**(code **)(*plVar18 + 0x30))(plVar18); plVar17 = local_470; if (lVar12 != 0) { FUN_1401584e0(param_1 + 0xe0,param_1 + 0x138); plVar17 = local_470; } joined_r0x0001401571f0: do { plVar18 = local_470; if (plVar17 == (longlong *)0x0) goto joined_r0x000140157280; bVar28 = (char *)(plVar17[7] + 0x10) == (char *)0x0; lVar12 = 0xc; pcVar19 = (char *)(plVar17[7] + 0x10); pcVar8 = "db_game_log"; do { if (lVar12 == 0) break; lVar12 = lVar12 + -1; bVar28 = *pcVar19 == *pcVar8; pcVar19 = pcVar19 + 1; pcVar8 = pcVar8 + 1; } while (bVar28); if (bVar28) break; plVar17 = (longlong *)plVar17[10]; } while( true ); while (lVar12 = (**(code **)(*plVar17 + 0x30))(plVar17), lVar12 == 0) { do { plVar17 = (longlong *)plVar17[10]; plVar18 = local_470; if (plVar17 == (longlong *)0x0) goto joined_r0x000140157280; bVar28 = (char *)(plVar17[7] + 0x10) == (char *)0x0; lVar12 = 0xc; pcVar19 = (char *)(plVar17[7] + 0x10); pcVar8 = "db_game_log"; do { if (lVar12 == 0) break; lVar12 = lVar12 + -1; bVar28 = *pcVar19 == *pcVar8; pcVar19 = pcVar19 + 1; pcVar8 = pcVar8 + 1; } while (bVar28); } while (!bVar28); } lVar12 = (**(code **)(*plVar17 + 0x30))(plVar17); plVar18 = local_470; if (lVar12 != 0) { FUN_1401584e0(param_1 + 0x108,param_1 + 0x13c); plVar18 = local_470; } joined_r0x000140157280: do { plVar17 = local_470; if (plVar18 == (longlong *)0x0) goto joined_r0x000140157352; bVar28 = (char *)(plVar18[7] + 0x10) == (char *)0x0; lVar12 = 4; pcVar19 = (char *)(plVar18[7] + 0x10); pcVar8 = "dbc"; do { if (lVar12 == 0) break; lVar12 = lVar12 + -1; bVar28 = *pcVar19 == *pcVar8; pcVar19 = pcVar19 + 1; pcVar8 = pcVar8 + 1; } while (bVar28); if (bVar28) break; plVar18 = (longlong *)plVar18[10]; } while( true ); while (lVar12 = (**(code **)(*plVar18 + 0x30))(plVar18), lVar12 == 0) { do { plVar18 = (longlong *)plVar18[10]; plVar17 = local_470; if (plVar18 == (longlong *)0x0) goto joined_r0x000140157352; bVar28 = (char *)(plVar18[7] + 0x10) == (char *)0x0; lVar12 = 4; pcVar19 = (char *)(plVar18[7] + 0x10); pcVar8 = "dbc"; do { if (lVar12 == 0) break; lVar12 = lVar12 + -1; bVar28 = *pcVar19 == *pcVar8; pcVar19 = pcVar19 + 1; pcVar8 = pcVar8 + 1; } while (bVar28); } while (!bVar28); } lVar12 = (**(code **)(*plVar18 + 0x30))(plVar18); plVar17 = local_470; if (lVar12 != 0) { for (lVar14 = *(longlong *)(lVar12 + 0xa0); lVar14 != lVar12 + 0x58; lVar14 = *(longlong *)(lVar14 + 0x48)) { pcVar19 = (char *)(*(longlong *)(lVar14 + 0x20) + 0x10); bVar28 = pcVar19 == (char *)0x0; lVar16 = 0x13; pcVar8 = "write_thread_count"; do { if (lVar16 == 0) break; lVar16 = lVar16 + -1; bVar28 = *pcVar19 == *pcVar8; pcVar19 = pcVar19 + 1; pcVar8 = pcVar8 + 1; } while (bVar28); if (bVar28) { pcVar19 = (char *)(*(longlong *)(lVar14 + 0x30) + 0x10); if (pcVar19 != (char *)0x0) { iVar4 = atoi(pcVar19); *(int *)(param_1 + 0x14c) = iVar4; plVar17 = local_470; } break; } } } joined_r0x000140157352: do { plVar18 = local_470; if (plVar17 == (longlong *)0x0) goto joined_r0x000140157422; bVar28 = (char *)(plVar17[7] + 0x10) == (char *)0x0; lVar12 = 9; pcVar19 = (char *)(plVar17[7] + 0x10); pcVar8 = "db_cache"; do { if (lVar12 == 0) break; lVar12 = lVar12 + -1; bVar28 = *pcVar19 == *pcVar8; pcVar19 = pcVar19 + 1; pcVar8 = pcVar8 + 1; } while (bVar28); if (bVar28) break; plVar17 = (longlong *)plVar17[10]; } while( true ); while (lVar12 = (**(code **)(*plVar17 + 0x30))(plVar17), lVar12 == 0) { do { plVar17 = (longlong *)plVar17[10]; plVar18 = local_470; if (plVar17 == (longlong *)0x0) goto joined_r0x000140157422; bVar28 = (char *)(plVar17[7] + 0x10) == (char *)0x0; lVar12 = 9; pcVar19 = (char *)(plVar17[7] + 0x10); pcVar8 = "db_cache"; do { if (lVar12 == 0) break; lVar12 = lVar12 + -1; bVar28 = *pcVar19 == *pcVar8; pcVar19 = pcVar19 + 1; pcVar8 = pcVar8 + 1; } while (bVar28); } while (!bVar28); } lVar12 = (**(code **)(*plVar17 + 0x30))(plVar17); plVar18 = local_470; if (lVar12 != 0) { for (lVar14 = *(longlong *)(lVar12 + 0xa0); lVar14 != lVar12 + 0x58; lVar14 = *(longlong *)(lVar14 + 0x48)) { pcVar19 = (char *)(*(longlong *)(lVar14 + 0x20) + 0x10); bVar28 = pcVar19 == (char *)0x0; lVar16 = 0xe; pcVar8 = "session_count"; do { if (lVar16 == 0) break; lVar16 = lVar16 + -1; bVar28 = *pcVar19 == *pcVar8; pcVar19 = pcVar19 + 1; pcVar8 = pcVar8 + 1; } while (bVar28); if (bVar28) { pcVar19 = (char *)(*(longlong *)(lVar14 + 0x30) + 0x10); if (pcVar19 != (char *)0x0) { iVar4 = atoi(pcVar19); *(int *)(param_1 + 0x144) = iVar4; plVar18 = local_470; } break; } } } joined_r0x000140157422: do { if (plVar18 == (longlong *)0x0) goto LAB_1401574e5; bVar28 = (char *)(plVar18[7] + 0x10) == (char *)0x0; lVar12 = 0xd; pcVar19 = (char *)(plVar18[7] + 0x10); pcVar8 = "db_log_cache"; do { if (lVar12 == 0) break; lVar12 = lVar12 + -1; bVar28 = *pcVar19 == *pcVar8; pcVar19 = pcVar19 + 1; pcVar8 = pcVar8 + 1; } while (bVar28); if (bVar28) break; plVar18 = (longlong *)plVar18[10]; } while( true ); while (lVar12 = (**(code **)(*plVar18 + 0x30))(plVar18), lVar12 == 0) { do { plVar18 = (longlong *)plVar18[10]; if (plVar18 == (longlong *)0x0) goto LAB_1401574e5; bVar28 = (char *)(plVar18[7] + 0x10) == (char *)0x0; lVar12 = 0xd; pcVar19 = (char *)(plVar18[7] + 0x10); pcVar8 = "db_log_cache"; do { if (lVar12 == 0) break; lVar12 = lVar12 + -1; bVar28 = *pcVar19 == *pcVar8; pcVar19 = pcVar19 + 1; pcVar8 = pcVar8 + 1; } while (bVar28); } while (!bVar28); } lVar12 = (**(code **)(*plVar18 + 0x30))(plVar18); if (lVar12 == 0) { LAB_1401574e5: iVar4 = *(int *)(param_1 + 0x144); LAB_1401574ec: *(int *)(param_1 + 0x148) = iVar4; plVar18 = local_470; } else { for (lVar14 = *(longlong *)(lVar12 + 0xa0); plVar18 = local_470, lVar14 != lVar12 + 0x58; lVar14 = *(longlong *)(lVar14 + 0x48)) { pcVar19 = (char *)(*(longlong *)(lVar14 + 0x20) + 0x10); bVar28 = pcVar19 == (char *)0x0; lVar16 = 0xe; pcVar8 = "session_count"; do { if (lVar16 == 0) break; lVar16 = lVar16 + -1; bVar28 = *pcVar19 == *pcVar8; pcVar19 = pcVar19 + 1; pcVar8 = pcVar8 + 1; } while (bVar28); if (bVar28) { pcVar19 = (char *)(*(longlong *)(lVar14 + 0x30) + 0x10); if (pcVar19 != (char *)0x0) { iVar4 = atoi(pcVar19); goto LAB_1401574ec; } break; } } } do { plVar17 = local_470; if (plVar18 == (longlong *)0x0) goto joined_r0x000140157578; bVar28 = (char *)(plVar18[7] + 0x10) == (char *)0x0; lVar12 = 0xd; pcVar19 = (char *)(plVar18[7] + 0x10); pcVar8 = "agentmanager"; do { if (lVar12 == 0) break; lVar12 = lVar12 + -1; bVar28 = *pcVar19 == *pcVar8; pcVar19 = pcVar19 + 1; pcVar8 = pcVar8 + 1; } while (bVar28); if (bVar28) break; plVar18 = (longlong *)plVar18[10]; } while( true ); while (lVar12 = (**(code **)(*plVar18 + 0x30))(plVar18), lVar12 == 0) { do { plVar18 = (longlong *)plVar18[10]; plVar17 = local_470; if (plVar18 == (longlong *)0x0) goto joined_r0x000140157578; bVar28 = (char *)(plVar18[7] + 0x10) == (char *)0x0; lVar12 = 0xd; pcVar19 = (char *)(plVar18[7] + 0x10); pcVar8 = "agentmanager"; do { if (lVar12 == 0) break; lVar12 = lVar12 + -1; bVar28 = *pcVar19 == *pcVar8; pcVar19 = pcVar19 + 1; pcVar8 = pcVar8 + 1; } while (bVar28); } while (!bVar28); } lVar12 = (**(code **)(*plVar18 + 0x30))(plVar18); plVar17 = local_470; if (lVar12 != 0) { FUN_1401585c0(param_1,lVar12); plVar17 = local_470; } joined_r0x000140157578: do { plVar18 = local_470; if (plVar17 == (longlong *)0x0) goto joined_r0x0001401575f8; bVar28 = (char *)(plVar17[7] + 0x10) == (char *)0x0; lVar12 = 9; pcVar19 = (char *)(plVar17[7] + 0x10); pcVar8 = "db_cache"; do { if (lVar12 == 0) break; lVar12 = lVar12 + -1; bVar28 = *pcVar19 == *pcVar8; pcVar19 = pcVar19 + 1; pcVar8 = pcVar8 + 1; } while (bVar28); if (bVar28) break; plVar17 = (longlong *)plVar17[10]; } while( true ); while (lVar12 = (**(code **)(*plVar17 + 0x30))(plVar17), lVar12 == 0) { do { plVar17 = (longlong *)plVar17[10]; plVar18 = local_470; if (plVar17 == (longlong *)0x0) goto joined_r0x0001401575f8; bVar28 = (char *)(plVar17[7] + 0x10) == (char *)0x0; lVar12 = 9; pcVar19 = (char *)(plVar17[7] + 0x10); pcVar8 = "db_cache"; do { if (lVar12 == 0) break; lVar12 = lVar12 + -1; bVar28 = *pcVar19 == *pcVar8; pcVar19 = pcVar19 + 1; pcVar8 = pcVar8 + 1; } while (bVar28); } while (!bVar28); } lVar12 = (**(code **)(*plVar17 + 0x30))(plVar17); plVar18 = local_470; if (lVar12 != 0) { FUN_1401585c0(param_1,lVar12); plVar18 = local_470; } joined_r0x0001401575f8: do { plVar17 = local_470; if (plVar18 == (longlong *)0x0) goto joined_r0x000140157678; bVar28 = (char *)(plVar18[7] + 0x10) == (char *)0x0; lVar12 = 0xd; pcVar19 = (char *)(plVar18[7] + 0x10); pcVar8 = "db_log_cache"; do { if (lVar12 == 0) break; lVar12 = lVar12 + -1; bVar28 = *pcVar19 == *pcVar8; pcVar19 = pcVar19 + 1; pcVar8 = pcVar8 + 1; } while (bVar28); if (bVar28) break; plVar18 = (longlong *)plVar18[10]; } while( true ); while (lVar12 = (**(code **)(*plVar18 + 0x30))(plVar18), lVar12 == 0) { do { plVar18 = (longlong *)plVar18[10]; plVar17 = local_470; if (plVar18 == (longlong *)0x0) goto joined_r0x000140157678; bVar28 = (char *)(plVar18[7] + 0x10) == (char *)0x0; lVar12 = 0xd; pcVar19 = (char *)(plVar18[7] + 0x10); pcVar8 = "db_log_cache"; do { if (lVar12 == 0) break; lVar12 = lVar12 + -1; bVar28 = *pcVar19 == *pcVar8; pcVar19 = pcVar19 + 1; pcVar8 = pcVar8 + 1; } while (bVar28); } while (!bVar28); } lVar12 = (**(code **)(*plVar18 + 0x30))(plVar18); plVar17 = local_470; if (lVar12 != 0) { FUN_1401585c0(param_1,lVar12); plVar17 = local_470; } joined_r0x000140157678: do { plVar18 = local_470; if (plVar17 == (longlong *)0x0) goto joined_r0x0001401576f8; bVar28 = (char *)(plVar17[7] + 0x10) == (char *)0x0; lVar12 = 0xb; pcVar19 = (char *)(plVar17[7] + 0x10); pcVar8 = "msg_server"; do { if (lVar12 == 0) break; lVar12 = lVar12 + -1; bVar28 = *pcVar19 == *pcVar8; pcVar19 = pcVar19 + 1; pcVar8 = pcVar8 + 1; } while (bVar28); if (bVar28) break; plVar17 = (longlong *)plVar17[10]; } while( true ); while (lVar12 = (**(code **)(*plVar17 + 0x30))(plVar17), lVar12 == 0) { do { plVar17 = (longlong *)plVar17[10]; plVar18 = local_470; if (plVar17 == (longlong *)0x0) goto joined_r0x0001401576f8; bVar28 = (char *)(plVar17[7] + 0x10) == (char *)0x0; lVar12 = 0xb; pcVar19 = (char *)(plVar17[7] + 0x10); pcVar8 = "msg_server"; do { if (lVar12 == 0) break; lVar12 = lVar12 + -1; bVar28 = *pcVar19 == *pcVar8; pcVar19 = pcVar19 + 1; pcVar8 = pcVar8 + 1; } while (bVar28); } while (!bVar28); } lVar12 = (**(code **)(*plVar17 + 0x30))(plVar17); plVar18 = local_470; if (lVar12 != 0) { FUN_1401585c0(param_1,lVar12); plVar18 = local_470; } joined_r0x0001401576f8: do { plVar17 = local_470; if (plVar18 == (longlong *)0x0) goto joined_r0x000140157778; bVar28 = (char *)(plVar18[7] + 0x10) == (char *)0x0; lVar12 = 10; pcVar19 = (char *)(plVar18[7] + 0x10); pcVar8 = "gm_server"; do { if (lVar12 == 0) break; lVar12 = lVar12 + -1; bVar28 = *pcVar19 == *pcVar8; pcVar19 = pcVar19 + 1; pcVar8 = pcVar8 + 1; } while (bVar28); if (bVar28) break; plVar18 = (longlong *)plVar18[10]; } while( true ); while (lVar12 = (**(code **)(*plVar18 + 0x30))(plVar18), lVar12 == 0) { do { plVar18 = (longlong *)plVar18[10]; plVar17 = local_470; if (plVar18 == (longlong *)0x0) goto joined_r0x000140157778; bVar28 = (char *)(plVar18[7] + 0x10) == (char *)0x0; lVar12 = 10; pcVar19 = (char *)(plVar18[7] + 0x10); pcVar8 = "gm_server"; do { if (lVar12 == 0) break; lVar12 = lVar12 + -1; bVar28 = *pcVar19 == *pcVar8; pcVar19 = pcVar19 + 1; pcVar8 = pcVar8 + 1; } while (bVar28); } while (!bVar28); } lVar12 = (**(code **)(*plVar18 + 0x30))(plVar18); plVar17 = local_470; if (lVar12 != 0) { FUN_1401585c0(param_1,lVar12); plVar17 = local_470; } joined_r0x000140157778: do { plVar18 = local_470; if (plVar17 == (longlong *)0x0) goto joined_r0x0001401577f8; bVar28 = (char *)(plVar17[7] + 0x10) == (char *)0x0; lVar12 = 0xf; pcVar19 = (char *)(plVar17[7] + 0x10); pcVar8 = "auction_server"; do { if (lVar12 == 0) break; lVar12 = lVar12 + -1; bVar28 = *pcVar19 == *pcVar8; pcVar19 = pcVar19 + 1; pcVar8 = pcVar8 + 1; } while (bVar28); if (bVar28) break; plVar17 = (longlong *)plVar17[10]; } while( true ); while (lVar12 = (**(code **)(*plVar17 + 0x30))(plVar17), lVar12 == 0) { do { plVar17 = (longlong *)plVar17[10]; plVar18 = local_470; if (plVar17 == (longlong *)0x0) goto joined_r0x0001401577f8; bVar28 = (char *)(plVar17[7] + 0x10) == (char *)0x0; lVar12 = 0xf; pcVar19 = (char *)(plVar17[7] + 0x10); pcVar8 = "auction_server"; do { if (lVar12 == 0) break; lVar12 = lVar12 + -1; bVar28 = *pcVar19 == *pcVar8; pcVar19 = pcVar19 + 1; pcVar8 = pcVar8 + 1; } while (bVar28); } while (!bVar28); } lVar12 = (**(code **)(*plVar17 + 0x30))(plVar17); plVar18 = local_470; if (lVar12 != 0) { FUN_1401585c0(param_1,lVar12); plVar18 = local_470; } joined_r0x0001401577f8: do { plVar17 = local_470; if (plVar18 == (longlong *)0x0) goto joined_r0x000140157878; bVar28 = (char *)(plVar18[7] + 0x10) == (char *)0x0; lVar12 = 0xf; pcVar19 = (char *)(plVar18[7] + 0x10); pcVar8 = "manager_server"; do { if (lVar12 == 0) break; lVar12 = lVar12 + -1; bVar28 = *pcVar19 == *pcVar8; pcVar19 = pcVar19 + 1; pcVar8 = pcVar8 + 1; } while (bVar28); if (bVar28) break; plVar18 = (longlong *)plVar18[10]; } while( true ); while (lVar12 = (**(code **)(*plVar18 + 0x30))(plVar18), lVar12 == 0) { do { plVar18 = (longlong *)plVar18[10]; plVar17 = local_470; if (plVar18 == (longlong *)0x0) goto joined_r0x000140157878; bVar28 = (char *)(plVar18[7] + 0x10) == (char *)0x0; lVar12 = 0xf; pcVar19 = (char *)(plVar18[7] + 0x10); pcVar8 = "manager_server"; do { if (lVar12 == 0) break; lVar12 = lVar12 + -1; bVar28 = *pcVar19 == *pcVar8; pcVar19 = pcVar19 + 1; pcVar8 = pcVar8 + 1; } while (bVar28); } while (!bVar28); } lVar12 = (**(code **)(*plVar18 + 0x30))(plVar18); plVar17 = local_470; if (lVar12 != 0) { FUN_1401585c0(param_1,lVar12); plVar17 = local_470; } joined_r0x000140157878: do { plVar18 = local_470; if (plVar17 == (longlong *)0x0) goto joined_r0x0001401578f8; bVar28 = (char *)(plVar17[7] + 0x10) == (char *)0x0; lVar12 = 0xd; pcVar19 = (char *)(plVar17[7] + 0x10); pcVar8 = "match_server"; do { if (lVar12 == 0) break; lVar12 = lVar12 + -1; bVar28 = *pcVar19 == *pcVar8; pcVar19 = pcVar19 + 1; pcVar8 = pcVar8 + 1; } while (bVar28); if (bVar28) break; plVar17 = (longlong *)plVar17[10]; } while( true ); while (lVar12 = (**(code **)(*plVar17 + 0x30))(plVar17), lVar12 == 0) { do { plVar17 = (longlong *)plVar17[10]; plVar18 = local_470; if (plVar17 == (longlong *)0x0) goto joined_r0x0001401578f8; bVar28 = (char *)(plVar17[7] + 0x10) == (char *)0x0; lVar12 = 0xd; pcVar19 = (char *)(plVar17[7] + 0x10); pcVar8 = "match_server"; do { if (lVar12 == 0) break; lVar12 = lVar12 + -1; bVar28 = *pcVar19 == *pcVar8; pcVar19 = pcVar19 + 1; pcVar8 = pcVar8 + 1; } while (bVar28); } while (!bVar28); } lVar12 = (**(code **)(*plVar17 + 0x30))(plVar17); plVar18 = local_470; if (lVar12 != 0) { FUN_1401585c0(param_1,lVar12); plVar18 = local_470; } joined_r0x0001401578f8: do { plVar17 = local_470; if (plVar18 == (longlong *)0x0) goto joined_r0x000140157978; bVar28 = (char *)(plVar18[7] + 0x10) == (char *)0x0; lVar12 = 0xd; pcVar19 = (char *)(plVar18[7] + 0x10); pcVar8 = "agent_server"; do { if (lVar12 == 0) break; lVar12 = lVar12 + -1; bVar28 = *pcVar19 == *pcVar8; pcVar19 = pcVar19 + 1; pcVar8 = pcVar8 + 1; } while (bVar28); if (bVar28) break; plVar18 = (longlong *)plVar18[10]; } while( true ); while (lVar12 = (**(code **)(*plVar18 + 0x30))(plVar18), lVar12 == 0) { do { plVar18 = (longlong *)plVar18[10]; plVar17 = local_470; if (plVar18 == (longlong *)0x0) goto joined_r0x000140157978; bVar28 = (char *)(plVar18[7] + 0x10) == (char *)0x0; lVar12 = 0xd; pcVar19 = (char *)(plVar18[7] + 0x10); pcVar8 = "agent_server"; do { if (lVar12 == 0) break; lVar12 = lVar12 + -1; bVar28 = *pcVar19 == *pcVar8; pcVar19 = pcVar19 + 1; pcVar8 = pcVar8 + 1; } while (bVar28); } while (!bVar28); } lVar12 = (**(code **)(*plVar18 + 0x30))(plVar18); plVar17 = local_470; if (lVar12 != 0) { FUN_1401585c0(param_1,lVar12); plVar17 = local_470; } joined_r0x000140157978: do { plVar18 = local_470; if (plVar17 == (longlong *)0x0) goto joined_r0x0001401579f8; bVar28 = (char *)(plVar17[7] + 0x10) == (char *)0x0; lVar12 = 4; pcVar19 = (char *)(plVar17[7] + 0x10); pcVar8 = "api"; do { if (lVar12 == 0) break; lVar12 = lVar12 + -1; bVar28 = *pcVar19 == *pcVar8; pcVar19 = pcVar19 + 1; pcVar8 = pcVar8 + 1; } while (bVar28); if (bVar28) break; plVar17 = (longlong *)plVar17[10]; } while( true ); while (lVar12 = (**(code **)(*plVar17 + 0x30))(plVar17), lVar12 == 0) { do { plVar17 = (longlong *)plVar17[10]; plVar18 = local_470; if (plVar17 == (longlong *)0x0) goto joined_r0x0001401579f8; bVar28 = (char *)(plVar17[7] + 0x10) == (char *)0x0; lVar12 = 4; pcVar19 = (char *)(plVar17[7] + 0x10); pcVar8 = "api"; do { if (lVar12 == 0) break; lVar12 = lVar12 + -1; bVar28 = *pcVar19 == *pcVar8; pcVar19 = pcVar19 + 1; pcVar8 = pcVar8 + 1; } while (bVar28); } while (!bVar28); } lVar12 = (**(code **)(*plVar17 + 0x30))(plVar17); plVar18 = local_470; if (lVar12 != 0) { FUN_1401585c0(param_1,lVar12); plVar18 = local_470; } joined_r0x0001401579f8: do { plVar17 = local_470; if (plVar18 == (longlong *)0x0) goto joined_r0x000140157ac7; bVar28 = (char *)(plVar18[7] + 0x10) == (char *)0x0; lVar12 = 4; pcVar19 = (char *)(plVar18[7] + 0x10); pcVar8 = "dns"; do { if (lVar12 == 0) break; lVar12 = lVar12 + -1; bVar28 = *pcVar19 == *pcVar8; pcVar19 = pcVar19 + 1; pcVar8 = pcVar8 + 1; } while (bVar28); if (bVar28) break; plVar18 = (longlong *)plVar18[10]; } while( true ); while (lVar12 = (**(code **)(*plVar18 + 0x30))(plVar18), lVar12 == 0) { do { plVar18 = (longlong *)plVar18[10]; plVar17 = local_470; if (plVar18 == (longlong *)0x0) goto joined_r0x000140157ac7; bVar28 = (char *)(plVar18[7] + 0x10) == (char *)0x0; lVar12 = 4; pcVar19 = (char *)(plVar18[7] + 0x10); pcVar8 = "dns"; do { if (lVar12 == 0) break; lVar12 = lVar12 + -1; bVar28 = *pcVar19 == *pcVar8; pcVar19 = pcVar19 + 1; pcVar8 = pcVar8 + 1; } while (bVar28); } while (!bVar28); } lVar12 = (**(code **)(*plVar18 + 0x30))(plVar18); plVar17 = local_470; if (lVar12 != 0) { for (lVar14 = *(longlong *)(lVar12 + 0xa0); lVar14 != lVar12 + 0x58; lVar14 = *(longlong *)(lVar14 + 0x48)) { pcVar19 = (char *)(*(longlong *)(lVar14 + 0x20) + 0x10); bVar28 = pcVar19 == (char *)0x0; lVar16 = 4; pcVar8 = "dns"; do { if (lVar16 == 0) break; lVar16 = lVar16 + -1; bVar28 = *pcVar19 == *pcVar8; pcVar19 = pcVar19 + 1; pcVar8 = pcVar8 + 1; } while (bVar28); if (bVar28) { pcVar19 = (char *)(*(longlong *)(lVar14 + 0x30) + 0x10); if (pcVar19 != (char *)0x0) { iVar4 = atoi(pcVar19); *(bool *)(param_1 + 0x151) = 0 < iVar4; plVar17 = local_470; } break; } } } joined_r0x000140157ac7: do { plVar18 = local_470; if (plVar17 == (longlong *)0x0) goto joined_r0x000140157c01; bVar28 = (char *)(plVar17[7] + 0x10) == (char *)0x0; lVar12 = 8; pcVar19 = (char *)(plVar17[7] + 0x10); pcVar8 = "setting"; do { if (lVar12 == 0) break; lVar12 = lVar12 + -1; bVar28 = *pcVar19 == *pcVar8; pcVar19 = pcVar19 + 1; pcVar8 = pcVar8 + 1; } while (bVar28); if (bVar28) break; plVar17 = (longlong *)plVar17[10]; } while( true ); while (lVar12 = (**(code **)(*plVar17 + 0x30))(plVar17), lVar12 == 0) { do { plVar17 = (longlong *)plVar17[10]; plVar18 = local_470; if (plVar17 == (longlong *)0x0) goto joined_r0x000140157c01; bVar28 = (char *)(plVar17[7] + 0x10) == (char *)0x0; lVar12 = 8; pcVar19 = (char *)(plVar17[7] + 0x10); pcVar8 = "setting"; do { if (lVar12 == 0) break; lVar12 = lVar12 + -1; bVar28 = *pcVar19 == *pcVar8; pcVar19 = pcVar19 + 1; pcVar8 = pcVar8 + 1; } while (bVar28); } while (!bVar28); } lVar12 = (**(code **)(*plVar17 + 0x30))(plVar17); plVar18 = local_470; if (lVar12 != 0) { for (lVar14 = *(longlong *)(lVar12 + 0xa0); pcVar19 = pcVar7, lVar14 != lVar12 + 0x58; lVar14 = *(longlong *)(lVar14 + 0x48)) { pcVar19 = (char *)(*(longlong *)(lVar14 + 0x20) + 0x10); bVar28 = pcVar19 == (char *)0x0; lVar16 = 6; pcVar8 = "multi"; do { if (lVar16 == 0) break; lVar16 = lVar16 + -1; bVar28 = *pcVar19 == *pcVar8; pcVar19 = pcVar19 + 1; pcVar8 = pcVar8 + 1; } while (bVar28); if (bVar28) { pcVar19 = (char *)(*(longlong *)(lVar14 + 0x30) + 0x10); break; } } for (lVar14 = *(longlong *)(lVar12 + 0xa0); pcVar8 = pcVar7, lVar14 != lVar12 + 0x58; lVar14 = *(longlong *)(lVar14 + 0x48)) { pcVar8 = (char *)(*(longlong *)(lVar14 + 0x20) + 0x10); bVar28 = pcVar8 == (char *)0x0; lVar16 = 5; pcVar9 = "lock"; do { if (lVar16 == 0) break; lVar16 = lVar16 + -1; bVar28 = *pcVar8 == *pcVar9; pcVar8 = pcVar8 + 1; pcVar9 = pcVar9 + 1; } while (bVar28); if (bVar28) { pcVar8 = (char *)(*(longlong *)(lVar14 + 0x30) + 0x10); break; } } if (pcVar19 != (char *)0x0) { iVar4 = atoi(pcVar19); *(bool *)(param_1 + 0x166) = 0 < iVar4; } plVar18 = local_470; if (pcVar8 != (char *)0x0) { iVar4 = atoi(pcVar8); *(double *)(param_1 + 0x168) = (double)iVar4; plVar18 = local_470; } } joined_r0x000140157c01: do { if (plVar18 == (longlong *)0x0) goto LAB_140157d93; bVar28 = (char *)(plVar18[7] + 0x10) == (char *)0x0; lVar12 = 5; pcVar19 = (char *)(plVar18[7] + 0x10); pcVar8 = "auto"; do { if (lVar12 == 0) break; lVar12 = lVar12 + -1; bVar28 = *pcVar19 == *pcVar8; pcVar19 = pcVar19 + 1; pcVar8 = pcVar8 + 1; } while (bVar28); if (bVar28) goto LAB_140157c36; plVar18 = (longlong *)plVar18[10]; } while( true ); joined_r0x000140158054: if (pcVar7 == pcVar19) goto LAB_140158099; bVar28 = (char *)(*(longlong *)(pcVar7 + 0x20) + 0x10) == (char *)0x0; lVar12 = 3; pcVar21 = (char *)(*(longlong *)(pcVar7 + 0x20) + 0x10); pcVar20 = "id"; do { if (lVar12 == 0) break; lVar12 = lVar12 + -1; bVar28 = *pcVar21 == *pcVar20; pcVar21 = pcVar21 + 1; pcVar20 = pcVar20 + 1; } while (bVar28); if (bVar28) { pcVar22 = (char *)(*(longlong *)(pcVar7 + 0x30) + 0x10); goto LAB_140158099; } pcVar7 = *(char **)(pcVar7 + 0x48); goto joined_r0x000140158054; LAB_140157c36: while (lVar12 = (**(code **)(*plVar18 + 0x30))(plVar18), lVar12 == 0) { do { plVar18 = (longlong *)plVar18[10]; if (plVar18 == (longlong *)0x0) goto LAB_140157d93; bVar28 = (char *)(plVar18[7] + 0x10) == (char *)0x0; lVar12 = 5; pcVar19 = (char *)(plVar18[7] + 0x10); pcVar8 = "auto"; do { if (lVar12 == 0) break; lVar12 = lVar12 + -1; bVar28 = *pcVar19 == *pcVar8; pcVar19 = pcVar19 + 1; pcVar8 = pcVar8 + 1; } while (bVar28); } while (!bVar28); } lVar12 = (**(code **)(*plVar18 + 0x30))(plVar18); if (lVar12 != 0) { lVar14 = lVar12 + 0x58; for (lVar16 = *(longlong *)(lVar12 + 0xa0); pcVar19 = pcVar7, lVar16 != lVar14; lVar16 = *(longlong *)(lVar16 + 0x48)) { pcVar19 = (char *)(*(longlong *)(lVar16 + 0x20) + 0x10); bVar28 = pcVar19 == (char *)0x0; lVar15 = 0xd; pcVar8 = "start_server"; do { if (lVar15 == 0) break; lVar15 = lVar15 + -1; bVar28 = *pcVar19 == *pcVar8; pcVar19 = pcVar19 + 1; pcVar8 = pcVar8 + 1; } while (bVar28); if (bVar28) { pcVar19 = (char *)(*(longlong *)(lVar16 + 0x30) + 0x10); break; } } for (lVar16 = *(longlong *)(lVar12 + 0xa0); pcVar8 = pcVar7, lVar16 != lVar14; lVar16 = *(longlong *)(lVar16 + 0x48)) { pcVar8 = (char *)(*(longlong *)(lVar16 + 0x20) + 0x10); bVar28 = pcVar8 == (char *)0x0; lVar15 = 0xe; pcVar9 = "revive_server"; do { if (lVar15 == 0) break; lVar15 = lVar15 + -1; bVar28 = *pcVar8 == *pcVar9; pcVar8 = pcVar8 + 1; pcVar9 = pcVar9 + 1; } while (bVar28); if (bVar28) { pcVar8 = (char *)(*(longlong *)(lVar16 + 0x30) + 0x10); break; } } for (lVar12 = *(longlong *)(lVar12 + 0xa0); pcVar9 = pcVar7, lVar12 != lVar14; lVar12 = *(longlong *)(lVar12 + 0x48)) { pcVar9 = (char *)(*(longlong *)(lVar12 + 0x20) + 0x10); bVar28 = pcVar9 == (char *)0x0; lVar16 = 0xd; pcVar10 = "open_channel"; do { if (lVar16 == 0) break; lVar16 = lVar16 + -1; bVar28 = *pcVar9 == *pcVar10; pcVar9 = pcVar9 + 1; pcVar10 = pcVar10 + 1; } while (bVar28); if (bVar28) { pcVar9 = (char *)(*(longlong *)(lVar12 + 0x30) + 0x10); break; } } if (pcVar19 != (char *)0x0) { iVar4 = atoi(pcVar19); *(double *)(param_1 + 0x178) = (double)iVar4; } if (pcVar8 != (char *)0x0) { iVar4 = atoi(pcVar8); *(bool *)(param_1 + 0x171) = 0 < iVar4; } if (pcVar9 != (char *)0x0) { iVar4 = atoi(pcVar9); *(bool *)(param_1 + 0x170) = 0 < iVar4; } } LAB_140157d93: lVar12 = FUN_140161840(&local_498,"guildlobby"); if (lVar12 != 0) { for (lVar14 = *(longlong *)(lVar12 + 0xa0); lVar14 != lVar12 + 0x58; lVar14 = *(longlong *)(lVar14 + 0x48)) { pcVar19 = (char *)(*(longlong *)(lVar14 + 0x20) + 0x10); bVar28 = pcVar19 == (char *)0x0; lVar16 = 6; pcVar8 = "value"; do { if (lVar16 == 0) break; lVar16 = lVar16 + -1; bVar28 = *pcVar19 == *pcVar8; pcVar19 = pcVar19 + 1; pcVar8 = pcVar8 + 1; } while (bVar28); if (bVar28) { pcVar19 = (char *)(*(longlong *)(lVar14 + 0x30) + 0x10); if (pcVar19 != (char *)0x0) { iVar4 = atoi(pcVar19); *(uint *)(param_1 + 0x158) = (uint)(0 < iVar4); } break; } } } DAT_140352f24 = 0; lVar12 = FUN_140161840(&local_498,"lua_send"); if (lVar12 != 0) { for (lVar14 = *(longlong *)(lVar12 + 0xa0); lVar14 != lVar12 + 0x58; lVar14 = *(longlong *)(lVar14 + 0x48)) { pcVar19 = (char *)(*(longlong *)(lVar14 + 0x20) + 0x10); bVar28 = pcVar19 == (char *)0x0; lVar16 = 5; pcVar8 = "send"; do { if (lVar16 == 0) break; lVar16 = lVar16 + -1; bVar28 = *pcVar19 == *pcVar8; pcVar19 = pcVar19 + 1; pcVar8 = pcVar8 + 1; } while (bVar28); if (bVar28) { pcVar7 = (char *)(*(longlong *)(lVar14 + 0x30) + 0x10); break; } } iVar4 = atoi(pcVar7); DAT_140352f24 = 0 < iVar4; } if ((*(int *)(param_1 + 0x154) == 0) && (lVar12 = FUN_140161840(&local_498,"Option"), lVar12 != 0) ) { uVar6 = FUN_140161840(&local_498,"Option"); pcVar7 = (char *)FUN_140161840(uVar6,"channel"); local_4a8 = pcVar7; while (pcVar7 != (char *)0x0) { pcVar9 = (char *)0x0; pcVar19 = pcVar7 + 0x58; for (pcVar8 = *(char **)(pcVar7 + 0xa0); pCVar27 = pcVar9, pcVar8 != pcVar19; pcVar8 = *(char **)(pcVar8 + 0x48)) { bVar28 = (char *)(*(longlong *)(pcVar8 + 0x20) + 0x10) == (char *)0x0; lVar12 = 5; pcVar10 = (char *)(*(longlong *)(pcVar8 + 0x20) + 0x10); pcVar11 = "name"; do { if (lVar12 == 0) break; lVar12 = lVar12 + -1; bVar28 = *pcVar10 == *pcVar11; pcVar10 = pcVar10 + 1; pcVar11 = pcVar11 + 1; } while (bVar28); if (bVar28) { pCVar27 = (LPCSTR)(*(longlong *)(pcVar8 + 0x30) + 0x10); break; } } for (pcVar8 = *(char **)(pcVar7 + 0xa0); pcVar10 = pcVar9, pcVar8 != pcVar19; pcVar8 = *(char **)(pcVar8 + 0x48)) { bVar28 = (char *)(*(longlong *)(pcVar8 + 0x20) + 0x10) == (char *)0x0; lVar12 = 7; pcVar10 = (char *)(*(longlong *)(pcVar8 + 0x20) + 0x10); pcVar11 = "minlev"; do { if (lVar12 == 0) break; lVar12 = lVar12 + -1; bVar28 = *pcVar10 == *pcVar11; pcVar10 = pcVar10 + 1; pcVar11 = pcVar11 + 1; } while (bVar28); if (bVar28) { pcVar10 = (char *)(*(longlong *)(pcVar8 + 0x30) + 0x10); break; } } for (pcVar8 = *(char **)(pcVar7 + 0xa0); pcVar11 = pcVar9, pcVar8 != pcVar19; pcVar8 = *(char **)(pcVar8 + 0x48)) { bVar28 = (char *)(*(longlong *)(pcVar8 + 0x20) + 0x10) == (char *)0x0; lVar12 = 7; pcVar11 = (char *)(*(longlong *)(pcVar8 + 0x20) + 0x10); pcVar21 = "maxlev"; do { if (lVar12 == 0) break; lVar12 = lVar12 + -1; bVar28 = *pcVar11 == *pcVar21; pcVar11 = pcVar11 + 1; pcVar21 = pcVar21 + 1; } while (bVar28); if (bVar28) { pcVar11 = (char *)(*(longlong *)(pcVar8 + 0x30) + 0x10); break; } } for (pcVar8 = *(char **)(pcVar7 + 0xa0); pcVar8 != pcVar19; pcVar8 = *(char **)(pcVar8 + 0x48) ) { bVar28 = (char *)(*(longlong *)(pcVar8 + 0x20) + 0x10) == (char *)0x0; lVar12 = 6; pcVar21 = (char *)(*(longlong *)(pcVar8 + 0x20) + 0x10); pcVar22 = "group"; do { if (lVar12 == 0) break; lVar12 = lVar12 + -1; bVar28 = *pcVar21 == *pcVar22; pcVar21 = pcVar21 + 1; pcVar22 = pcVar22 + 1; } while (bVar28); if (bVar28) { pcVar9 = (char *)(*(longlong *)(pcVar8 + 0x30) + 0x10); break; } } for (pcVar8 = *(char **)(pcVar7 + 0xa0); pcVar8 != pcVar19; pcVar8 = *(char **)(pcVar8 + 0x48) ) { bVar28 = (char *)(*(longlong *)(pcVar8 + 0x20) + 0x10) == (char *)0x0; lVar12 = 5; pcVar21 = (char *)(*(longlong *)(pcVar8 + 0x20) + 0x10); pcVar22 = "type"; do { if (lVar12 == 0) break; lVar12 = lVar12 + -1; bVar28 = *pcVar21 == *pcVar22; pcVar21 = pcVar21 + 1; pcVar22 = pcVar22 + 1; } while (bVar28); if (bVar28) { pcVar8 = (char *)(*(longlong *)(pcVar8 + 0x30) + 0x10); goto LAB_140158016; } } pcVar8 = (char *)0x0; LAB_140158016: pcVar22 = (char *)0x0; for (pcVar21 = *(char **)(pcVar7 + 0xa0); pcVar21 != pcVar19; pcVar21 = *(char **)(pcVar21 + 0x48)) { bVar28 = (char *)(*(longlong *)(pcVar21 + 0x20) + 0x10) == (char *)0x0; lVar12 = 3; pcVar20 = (char *)(*(longlong *)(pcVar21 + 0x20) + 0x10); pcVar24 = "id"; do { if (lVar12 == 0) break; lVar12 = lVar12 + -1; bVar28 = *pcVar20 == *pcVar24; pcVar20 = pcVar20 + 1; pcVar24 = pcVar24 + 1; } while (bVar28); if (bVar28) { if (*(longlong *)(pcVar21 + 0x30) != -0x10) { pcVar7 = *(char **)(pcVar7 + 0xa0); goto joined_r0x000140158054; } break; } } pcVar22 = "1"; LAB_140158099: memset(local_258,0,0x208); lVar12 = -1; pCVar25 = pCVar27; do { if (lVar12 == 0) break; lVar12 = lVar12 + -1; cVar3 = *pCVar25; pCVar25 = pCVar25 + 1; } while (cVar3 != '\0'); MultiByteToWideChar(0,1,pCVar27,~(uint)lVar12,local_258,0x104); local_3c0 = 7; local_3c8 = 0; local_3d8 = 0; local_3b0 = 0; local_3a8 = 0; local_3a0 = 0; lVar12 = -1; pWVar26 = local_258; do { if (lVar12 == 0) break; lVar12 = lVar12 + -1; WVar2 = *pWVar26; pWVar26 = pWVar26 + 1; } while (WVar2 != L'\0'); FUN_140056040(&local_3d8,local_258); if (pcVar10 != (char *)0x0) { iVar4 = atoi(pcVar10); local_3b0 = CONCAT44(local_3b0._4_4_,iVar4); } if (pcVar11 != (char *)0x0) { iVar4 = atoi(pcVar11); local_3b0 = CONCAT44(iVar4,(undefined4)local_3b0); } if (pcVar9 != (char *)0x0) { iVar4 = atoi(pcVar9); local_3a8 = CONCAT44(local_3a8._4_4_,iVar4); } if (pcVar8 != (char *)0x0) { iVar4 = atoi(pcVar8); local_3a0 = CONCAT44(local_3a0._4_4_,iVar4); } if (pcVar22 != (char *)0x0) { iVar4 = atoi(pcVar22); local_3a8 = CONCAT44(iVar4,(undefined4)local_3a8); } param_1 = local_4a0; FUN_140159040(local_4a0 + 0x188,&local_3d8); for (plVar18 = *(longlong **)(local_4a8 + 0x50); plVar18 != (longlong *)0x0; plVar18 = (longlong *)plVar18[10]) { lVar12 = (**(code **)(*plVar18 + 0x30))(plVar18); if (lVar12 != 0) { pcVar7 = (char *)(**(code **)(*plVar18 + 0x30))(plVar18); goto LAB_1401581d0; } } pcVar7 = (char *)0x0; LAB_1401581d0: local_4a8 = pcVar7; if (7 < local_3c0) { operator_delete((void *)CONCAT62(uStack_3d6,local_3d8)); } } if ((*(longlong *)(param_1 + 400) - *(longlong *)(param_1 + 0x188) & 0xffffffffffffffc0U) == 0) { local_3c0 = 7; local_3c8 = 0; local_3d8 = 0; local_3b0 = 0; local_3a8 = 0; local_3a0 = 0; FUN_140056040(&local_3d8,&DAT_1402af130,3); local_3b0 = 0x6400000001; local_3a8 = 0x100000001; local_3a0 = CONCAT44(local_3a0._4_4_,1); FUN_140159040(param_1 + 0x188,&local_3d8); if (7 < local_3c0) { operator_delete((void *)CONCAT62(uStack_3d6,local_3d8)); } } } DAT_140352f20 = 0; DAT_140352f21 = 0; DAT_140352f22 = 0; DAT_140352f23 = 0; DAT_140352f25 = 1; DAT_140352f26 = 1; lVar12 = FUN_140161840(&local_498,"develop"); if (lVar12 != 0) { pcVar7 = (char *)FUN_140161b20(lVar12,"preload"); pcVar19 = (char *)FUN_140161b20(lVar12,"preload_char"); pcVar8 = (char *)FUN_140161b20(lVar12,"enemy_debug"); pcVar9 = (char *)FUN_140161b20(lVar12,"enemy_one"); pcVar10 = (char *)FUN_140161b20(lVar12,"player_debug"); pcVar11 = (char *)FUN_140161b20(lVar12,"lua_text"); if (pcVar7 != (char *)0x0) { iVar4 = atoi(pcVar7); DAT_140352f25 = 0 < iVar4; } if (pcVar19 != (char *)0x0) { iVar4 = atoi(pcVar19); DAT_140352f26 = 0 < iVar4; } if (pcVar9 != (char *)0x0) { iVar4 = atoi(pcVar9); DAT_140352f21 = 0 < iVar4; } if (pcVar8 != (char *)0x0) { iVar4 = atoi(pcVar8); DAT_140352f20 = 0 < iVar4; } if (pcVar10 != (char *)0x0) { iVar4 = atoi(pcVar10); DAT_140352f22 = 0 < iVar4; } if (pcVar11 != (char *)0x0) { iVar4 = atoi(pcVar11); DAT_140352f23 = 0 < iVar4; } } _Format = L"=================DNS. ServerParseOption============== \n"; if (*(char *)(param_1 + 0x151) == '\0') { _Format = L"=================IP. ServerParseOption============== \n"; } wprintf(_Format); wprintf(L"(PRIVATE)\t[ADDRESS:%s] [PORT:%d] \n"); wprintf(L"(PUBLIC)\t[ADDRESS:%s] [PORT:%d] [UDP:%d] [UDPCOUNT:%d] \n"); wprintf(L"==================================================== \n"); local_498 = TiXmlDocument::vftable; if (local_438 != &DAT_140352f70) { operator_delete__(local_430); } FUN_140161640(&local_498); return 1; }