/* DBCServer_Release_x64.exe sha256 d9e4fccdf3482e50247686d4452c0b13c75a53efc4bd7320668eece8d1ce828c * Ghidra 12.1.2 decompiler output for 0x1401be4e0 FUN_1401be4e0 * Pseudocode, not original source. */ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_1401be4e0(longlong param_1) { longlong lVar1; int iVar2; int iVar3; int iVar4; int iVar5; undefined *puVar6; int *piVar7; uint uVar8; ulonglong uVar9; int iVar10; double dVar11; undefined1 auStack_ab8 [32]; undefined *local_a98; undefined *local_a90; longlong local_a88; undefined1 local_a80; int local_a7c; longlong local_a78; undefined1 local_a70; undefined8 local_a68; undefined1 local_a58 [2592]; ulonglong local_38; local_a68 = 0xfffffffffffffffe; local_38 = DAT_1403463c0 ^ (ulonglong)auStack_ab8; FUN_14019ea70(local_a58); FUN_14019eb90(local_a58); if (*(char *)(param_1 + 0x1040) == '\0') { do { dVar11 = (double)FUN_1401bbd00(local_a58); lVar1 = param_1 + 0x28; iVar10 = 0; iVar5 = 0; if (dVar11 <= 0.9) { local_a88 = lVar1; local_a7c = FUN_1401be310(lVar1); local_a80 = 1; piVar7 = (int *)(param_1 + 0x80); iVar10 = *piVar7; uVar9 = 0; do { if (iVar10 != *piVar7) { FUN_14016d8c0(); local_a98 = PTR_DAT_1403440a0; iVar4 = FUN_14016d740(&DAT_140289ae0); iVar10 = iVar5; if ((local_a98 != (undefined *)0x0) && (local_a98 != PTR_DAT_1403440a0)) { iVar10 = *(int *)(local_a98 + -8); } iVar2 = iVar4; if (((iVar4 <= iVar10) && (iVar2 = iVar5, local_a98 != (undefined *)0x0)) && (local_a98 != PTR_DAT_1403440a0)) { iVar2 = *(int *)(local_a98 + -8); } iVar10 = 1; if (1 < iVar2) { iVar10 = iVar2; } iVar2 = iVar5; if ((local_a98 != (undefined *)0x0) && (local_a98 != PTR_DAT_1403440a0)) { iVar2 = *(int *)(local_a98 + -8); } if (iVar2 < iVar10) { FUN_14004e770(&local_a98); } FUN_14004e850(&local_a98); puVar6 = local_a98; if (local_a98 == (undefined *)0x0) { puVar6 = PTR_DAT_1403440a0; } FUN_14016d770(puVar6,&DAT_140289ae0,iVar4); puVar6 = local_a98; if (local_a98 == (undefined *)0x0) { puVar6 = PTR_DAT_1403440a0; } iVar4 = FUN_14016d740(puVar6); iVar10 = 0; if (0 < iVar4) { iVar10 = iVar4; } iVar4 = iVar5; if ((local_a98 != (undefined *)0x0) && (local_a98 != PTR_DAT_1403440a0)) { iVar4 = *(int *)(local_a98 + -8); } if ((iVar10 < iVar4) || (iVar10 = iVar5, local_a98 == (undefined *)0x0)) { LAB_1401be84e: if (((local_a98 != PTR_DAT_1403440a0) && (local_a98 != (undefined *)0x0)) && ((int *)(local_a98 + -8) != (int *)0x0)) { *(int *)(local_a98 + -8) = iVar10; *(undefined2 *)(local_a98 + (longlong)iVar10 * 2) = 0; } } else if (local_a98 != PTR_DAT_1403440a0) { iVar10 = *(int *)(local_a98 + -8); goto LAB_1401be84e; } FUN_140193bc0(*(undefined8 *)(param_1 + 0x1088),&local_a98); *(undefined1 *)(param_1 + 0x1040) = 1; FUN_1401be390(lVar1); goto LAB_1401be88f; } uVar9 = uVar9 + 1; piVar7 = piVar7 + 1; } while ((longlong)uVar9 < 1000); if (1 < local_a7c) { *(undefined1 *)(param_1 + 0x1080) = 1; } FUN_1401be390(lVar1); local_a80 = 0; } else { local_a78 = lVar1; FUN_1401be3c0(); local_a70 = 1; piVar7 = (int *)(param_1 + 0x80); iVar4 = *piVar7; uVar9 = 0; do { iVar2 = *piVar7; *piVar7 = iVar2 + 1; if (iVar4 + 1 != iVar2 + 1) { FUN_14016d8c0(); local_a90 = PTR_DAT_1403440a0; iVar2 = FUN_14016d740(&DAT_140289b50); iVar4 = iVar10; if ((local_a90 != (undefined *)0x0) && (local_a90 != PTR_DAT_1403440a0)) { iVar4 = *(int *)(local_a90 + -8); } iVar3 = iVar2; if (((iVar2 <= iVar4) && (iVar3 = iVar10, local_a90 != (undefined *)0x0)) && (local_a90 != PTR_DAT_1403440a0)) { iVar3 = *(int *)(local_a90 + -8); } iVar10 = 1; if (1 < iVar3) { iVar10 = iVar3; } iVar4 = iVar5; if ((local_a90 != (undefined *)0x0) && (local_a90 != PTR_DAT_1403440a0)) { iVar4 = *(int *)(local_a90 + -8); } if (iVar4 < iVar10) { FUN_14004e770(&local_a90); } FUN_14004e850(&local_a90); puVar6 = local_a90; if (local_a90 == (undefined *)0x0) { puVar6 = PTR_DAT_1403440a0; } FUN_14016d770(puVar6,&DAT_140289b50,iVar2); puVar6 = local_a90; if (local_a90 == (undefined *)0x0) { puVar6 = PTR_DAT_1403440a0; } iVar4 = FUN_14016d740(puVar6); iVar10 = 0; if (0 < iVar4) { iVar10 = iVar4; } iVar4 = iVar5; if ((local_a90 != (undefined *)0x0) && (local_a90 != PTR_DAT_1403440a0)) { iVar4 = *(int *)(local_a90 + -8); } if ((iVar10 < iVar4) || (iVar10 = iVar5, local_a90 == (undefined *)0x0)) { LAB_1401be71d: if (((local_a90 != PTR_DAT_1403440a0) && (local_a90 != (undefined *)0x0)) && ((int *)(local_a90 + -8) != (int *)0x0)) { *(int *)(local_a90 + -8) = iVar10; *(undefined2 *)(local_a90 + (longlong)iVar10 * 2) = 0; } } else if (local_a90 != PTR_DAT_1403440a0) { iVar10 = *(int *)(local_a90 + -8); goto LAB_1401be71d; } FUN_140193bc0(*(undefined8 *)(param_1 + 0x1088),&local_a90); *(undefined1 *)(param_1 + 0x1040) = 1; FUN_1401be450(lVar1); goto LAB_1401be88f; } uVar8 = (int)uVar9 + 1; uVar9 = (ulonglong)uVar8; piVar7 = piVar7 + 1; } while ((int)uVar8 < 1000); FUN_1401be450(lVar1); local_a70 = 0; } Sleep(0); } while (*(char *)(param_1 + 0x1040) == '\0'); } LAB_1401be88f: FUN_14019eab0(local_a58); return; }