/* DBCServer_Release_x64.exe sha256 d9e4fccdf3482e50247686d4452c0b13c75a53efc4bd7320668eece8d1ce828c * Ghidra 12.1.2 decompiler output for 0x14013a8b0 FUN_14013a8b0 * Pseudocode, not original source. */ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_14013a8b0(longlong param_1,undefined4 param_2,undefined4 param_3,char *param_4, undefined8 param_5,undefined4 param_6,char *param_7,char *param_8,char *param_9) { int *piVar1; undefined *puVar2; int iVar3; int iVar4; int iVar5; undefined8 uVar6; undefined *puVar7; undefined1 auStack_1b8 [32]; undefined8 *local_198; undefined1 *local_190; int *local_188; undefined1 *local_180; undefined8 *local_178; int *local_170; longlong local_168; undefined4 *local_160; undefined **local_158; undefined1 local_148 [8]; undefined *local_140; undefined4 local_138; undefined4 local_134; int local_130; int local_12c [3]; undefined8 local_120; undefined1 local_118; undefined8 local_110; undefined4 local_108; short local_104; undefined8 local_102; undefined8 local_fa; undefined1 local_f2; short local_f1; undefined1 local_ef; undefined8 local_ee; undefined4 local_e6 [3]; undefined2 local_d8; undefined2 uStack_d6; undefined4 uStack_d4; undefined4 local_d0; undefined2 local_cc; char local_ca [105]; undefined4 local_61; ulonglong local_58; local_12c[1] = -2; local_12c[2] = -1; local_58 = DAT_1403463c0 ^ (ulonglong)auStack_1b8; local_cc = 0; local_61 = 0; local_ca[0] = '\0'; local_ca[1] = '\0'; local_ca[2] = '\0'; local_ca[3] = '\0'; local_ca[4] = '\0'; local_ca[5] = '\0'; local_ca[6] = '\0'; local_ca[7] = '\0'; local_ca[8] = '\0'; local_ca[9] = '\0'; local_ca[10] = '\0'; local_ca[0xb] = '\0'; local_ca[0xc] = '\0'; local_ca[0xd] = '\0'; local_ca[0xe] = '\0'; local_ca[0xf] = '\0'; local_ca[0x10] = '\0'; local_ca[0x11] = '\0'; local_ca[0x12] = '\0'; local_ca[0x13] = '\0'; local_ca[0x14] = '\0'; local_ca[0x15] = '\0'; local_ca[0x16] = '\0'; local_ca[0x17] = '\0'; local_ca[0x18] = '\0'; local_ca[0x19] = '\0'; local_ca[0x1a] = '\0'; local_ca[0x1b] = '\0'; local_ca[0x1c] = '\0'; local_ca[0x1d] = '\0'; local_ca[0x1e] = '\0'; local_ca[0x1f] = '\0'; local_ca[0x20] = '\0'; local_ca[0x21] = '\0'; local_ca[0x22] = '\0'; local_ca[0x23] = '\0'; local_ca[0x24] = '\0'; local_ca[0x25] = '\0'; local_ca[0x26] = '\0'; local_ca[0x27] = '\0'; local_ca[0x28] = '\0'; local_ca[0x29] = '\0'; local_ca[0x2a] = '\0'; local_ca[0x2b] = '\0'; local_ca[0x2c] = '\0'; local_ca[0x2d] = '\0'; local_ca[0x2e] = '\0'; local_ca[0x2f] = '\0'; local_ca[0x30] = '\0'; local_ca[0x31] = '\0'; local_ca[0x32] = 0; local_ca[0x33] = '\0'; local_ca[0x34] = '\0'; local_ca[0x35] = '\0'; local_ca[0x36] = '\0'; local_ca[0x37] = '\0'; local_ca[0x38] = '\0'; local_ca[0x39] = '\0'; local_ca[0x3a] = '\0'; local_ca[0x3b] = '\0'; local_ca[0x3c] = '\0'; local_ca[0x3d] = '\0'; local_ca[0x3e] = '\0'; local_ca[0x3f] = '\0'; local_ca[0x40] = '\0'; local_ca[0x41] = '\0'; local_ca[0x42] = '\0'; local_ca[0x43] = '\0'; local_ca[0x44] = '\0'; local_ca[0x45] = '\0'; local_ca[0x46] = '\0'; local_ca[0x47] = '\0'; local_ca[0x48] = '\0'; local_ca[0x49] = '\0'; local_ca[0x4a] = '\0'; local_ca[0x4b] = '\0'; local_ca[0x4c] = '\0'; local_ca[0x4d] = '\0'; local_ca[0x4e] = '\0'; local_ca[0x4f] = '\0'; local_ca[0x50] = '\0'; local_ca[0x51] = '\0'; local_ca[0x52] = '\0'; local_ca[0x53] = '\0'; local_ca[0x54] = '\0'; local_ca[0x55] = '\0'; local_ca[0x56] = '\0'; local_ca[0x57] = '\0'; local_ca[0x58] = '\0'; local_ca[0x59] = '\0'; local_ca[0x5a] = '\0'; local_ca[0x5b] = '\0'; local_ca[0x5c] = '\0'; local_ca[0x5d] = '\0'; local_ca[0x5e] = '\0'; local_ca[0x5f] = '\0'; local_ca[0x60] = '\0'; local_ca[0x61] = '\0'; local_ca[0x62] = '\0'; local_ca[99] = '\0'; local_ca[100] = '\0'; local_ca[0x65] = '\0'; local_ca[0x66] = '\0'; local_ca[0x67] = '\0'; local_ca[0x68] = '\0'; local_110 = 0; local_108 = 0; local_104 = 0; local_102 = 0; local_fa = 0; local_f2 = 0; local_f1 = 0; local_ef = 0; local_ee = 0; local_e6[0] = 0; uStack_d6 = 0x446; local_d8 = 0x7b; local_134 = param_3; uStack_d4 = param_3; local_d0 = param_2; strncpy(local_ca,param_4,0x32); strncpy(local_ca + 0x33,param_7,0x12); strncpy(local_ca + 0x45,param_8,0x12); strncpy(local_ca + 0x57,param_9,0x12); local_61 = param_6; local_108 = local_d0; local_104 = 0x6f; local_110 = CONCAT62((int6)(CONCAT44(uStack_d4,CONCAT22(uStack_d6,local_d8)) >> 0x10),0x2e); FUN_14012dda0(*(undefined8 *)(param_1 + 0xe0),&local_d8,&local_110); FUN_1401338d0(*(undefined8 *)(param_1 + 0xe0),param_5,&local_110); *(int *)(param_1 + 0x5ac) = *(int *)(param_1 + 0x5ac) + 1; FUN_14016d8c0(); local_140 = PTR_DAT_140344098; iVar3 = FUN_14016d7e0(param_4); if (local_140 == (undefined *)0x0) { iVar5 = 0; } else if (local_140 == PTR_DAT_140344098) { iVar5 = 0; } else { iVar5 = *(int *)(local_140 + -8); } iVar4 = iVar3; if (iVar3 <= iVar5) { if (local_140 == (undefined *)0x0) { iVar4 = 0; } else if (local_140 == PTR_DAT_140344098) { iVar4 = 0; } else { iVar4 = *(int *)(local_140 + -8); } } iVar5 = 1; if (1 < iVar4) { iVar5 = iVar4; } if (local_140 == (undefined *)0x0) { iVar4 = 0; } else if (local_140 == PTR_DAT_140344098) { iVar4 = 0; } else { iVar4 = *(int *)(local_140 + -8); } if (iVar4 < iVar5) { FUN_14013c520(&local_140); } FUN_14013c600(&local_140); puVar7 = local_140; if (local_140 == (undefined *)0x0) { puVar7 = PTR_DAT_140344098; } FUN_14016d810(puVar7,param_4,iVar3); iVar5 = FUN_14016d7e0(); iVar3 = 0; if (0 < iVar5) { iVar3 = iVar5; } if (local_140 == (undefined *)0x0) { iVar5 = 0; } else if (local_140 == PTR_DAT_140344098) { iVar5 = 0; } else { iVar5 = *(int *)(local_140 + -8); } if (iVar5 <= iVar3) { if (local_140 == (undefined *)0x0) { iVar3 = 0; } else if (local_140 == PTR_DAT_140344098) { iVar3 = 0; } else { iVar3 = *(int *)(local_140 + -8); } } if (((local_140 != PTR_DAT_140344098) && (local_140 != (undefined *)0x0)) && (piVar1 = (int *)(local_140 + -8), piVar1 != (int *)0x0)) { *piVar1 = iVar3; *(undefined1 *)((longlong)iVar3 + 8 + (longlong)piVar1) = 0; } local_12c[0] = (int)local_104; local_148[0] = local_ef; local_130 = (int)local_f1; local_138 = local_134; local_158 = &local_140; local_160 = local_e6; local_168 = (longlong)&local_ee + 4; local_170 = local_12c; local_178 = &local_ee; local_180 = local_148; local_188 = &local_130; local_190 = &local_f2; local_198 = &local_102; (**(code **)(*(longlong *)(param_1 + 0xa8) + 0x40)) ((longlong *)(param_1 + 0xa8),param_2,&DAT_1403440f0,&local_138); puVar7 = local_140; if (((local_140 != (undefined *)0x0) && (local_140 != PTR_DAT_140344098)) && (puVar2 = local_140 + -8, puVar2 != (undefined *)0x0)) { uVar6 = FUN_14016d8c0(); local_120 = uVar6; FUN_14016db50(uVar6); local_118 = 1; piVar1 = (int *)(puVar7 + -4); *piVar1 = *piVar1 + -1; if (*piVar1 == 0) { FUN_14016d970(puVar2); } FUN_14016dbe0(uVar6); } return; }