decomp DBCServer_Release and inspect/document database
This commit is contained in:
parent
4b267cbe05
commit
7834b98bf0
28222 changed files with 843300 additions and 144 deletions
186
decomp/DBCServer_Release_x64/full/functions/0x14013a450.c
Normal file
186
decomp/DBCServer_Release_x64/full/functions/0x14013a450.c
Normal file
|
|
@ -0,0 +1,186 @@
|
|||
/* DBCServer_Release_x64.exe sha256 d9e4fccdf3482e50247686d4452c0b13c75a53efc4bd7320668eece8d1ce828c
|
||||
* Ghidra 12.1.2 decompiler output for 0x14013a450 FUN_14013a450
|
||||
* Pseudocode, not original source. */
|
||||
|
||||
/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */
|
||||
|
||||
void FUN_14013a450(longlong param_1,undefined4 param_2,undefined4 param_3,char *param_4)
|
||||
|
||||
{
|
||||
int *piVar1;
|
||||
undefined *puVar2;
|
||||
int iVar3;
|
||||
int iVar4;
|
||||
undefined8 uVar5;
|
||||
undefined *puVar6;
|
||||
int iVar7;
|
||||
int iVar8;
|
||||
undefined1 auStack_128 [32];
|
||||
undefined **local_108;
|
||||
undefined *local_f8;
|
||||
undefined4 local_f0 [2];
|
||||
undefined8 local_e8;
|
||||
undefined8 local_e0;
|
||||
undefined1 local_d8;
|
||||
undefined8 local_d0;
|
||||
undefined4 local_c8;
|
||||
undefined2 local_c4;
|
||||
undefined8 local_c2;
|
||||
undefined8 local_ba;
|
||||
undefined8 local_b2;
|
||||
undefined8 local_aa;
|
||||
undefined1 local_a2;
|
||||
undefined2 local_98;
|
||||
undefined2 uStack_96;
|
||||
undefined4 uStack_94;
|
||||
undefined4 local_90;
|
||||
undefined2 local_8c;
|
||||
char local_8a [66];
|
||||
ulonglong local_48;
|
||||
|
||||
local_e8 = 0xfffffffffffffffe;
|
||||
local_48 = DAT_1403463c0 ^ (ulonglong)auStack_128;
|
||||
local_8c = 0;
|
||||
local_8a[0] = '\0';
|
||||
local_8a[1] = '\0';
|
||||
local_8a[2] = '\0';
|
||||
local_8a[3] = '\0';
|
||||
local_8a[4] = '\0';
|
||||
local_8a[5] = '\0';
|
||||
local_8a[6] = '\0';
|
||||
local_8a[7] = '\0';
|
||||
local_8a[8] = '\0';
|
||||
local_8a[9] = '\0';
|
||||
local_8a[10] = '\0';
|
||||
local_8a[0xb] = '\0';
|
||||
local_8a[0xc] = '\0';
|
||||
local_8a[0xd] = '\0';
|
||||
local_8a[0xe] = '\0';
|
||||
local_8a[0xf] = '\0';
|
||||
local_8a[0x10] = '\0';
|
||||
local_8a[0x11] = '\0';
|
||||
local_8a[0x12] = '\0';
|
||||
local_8a[0x13] = '\0';
|
||||
local_8a[0x14] = '\0';
|
||||
local_8a[0x15] = '\0';
|
||||
local_8a[0x16] = '\0';
|
||||
local_8a[0x17] = '\0';
|
||||
local_8a[0x18] = '\0';
|
||||
local_8a[0x19] = '\0';
|
||||
local_8a[0x1a] = '\0';
|
||||
local_8a[0x1b] = '\0';
|
||||
local_8a[0x1c] = '\0';
|
||||
local_8a[0x1d] = '\0';
|
||||
local_8a[0x1e] = '\0';
|
||||
local_8a[0x1f] = '\0';
|
||||
local_8a[0x20] = '\0';
|
||||
local_8a[0x21] = '\0';
|
||||
local_8a[0x22] = '\0';
|
||||
local_8a[0x23] = '\0';
|
||||
local_8a[0x24] = '\0';
|
||||
local_8a[0x25] = '\0';
|
||||
local_8a[0x26] = '\0';
|
||||
local_8a[0x27] = '\0';
|
||||
local_8a[0x28] = '\0';
|
||||
local_8a[0x29] = '\0';
|
||||
local_8a[0x2a] = '\0';
|
||||
local_8a[0x2b] = '\0';
|
||||
local_8a[0x2c] = '\0';
|
||||
local_8a[0x2d] = '\0';
|
||||
local_8a[0x2e] = '\0';
|
||||
local_8a[0x2f] = '\0';
|
||||
local_8a[0x30] = '\0';
|
||||
local_8a[0x31] = '\0';
|
||||
local_8a[0x32] = 0;
|
||||
local_d0 = 0;
|
||||
local_c8 = 0;
|
||||
local_c4 = 0;
|
||||
local_c2 = 0;
|
||||
local_ba = 0;
|
||||
local_b2 = 0;
|
||||
local_aa = 0;
|
||||
local_a2 = 0;
|
||||
uStack_96 = 0x520;
|
||||
local_98 = 0x41;
|
||||
uStack_94 = param_3;
|
||||
local_90 = param_2;
|
||||
strncpy(local_8a,param_4,0x32);
|
||||
local_c8 = local_90;
|
||||
local_c4 = 0x17d;
|
||||
local_d0 = CONCAT62((int6)(CONCAT44(uStack_94,CONCAT22(uStack_96,local_98)) >> 0x10),0x2f);
|
||||
FUN_14012d5a0(*(undefined8 *)(param_1 + 0xe0),&local_98,&local_d0);
|
||||
*(int *)(param_1 + 0x6d8) = *(int *)(param_1 + 0x6d8) + 1;
|
||||
FUN_14016d8c0();
|
||||
local_f8 = PTR_DAT_140344098;
|
||||
iVar3 = FUN_14016d7e0(&local_c2);
|
||||
iVar7 = 0;
|
||||
iVar8 = iVar7;
|
||||
if ((local_f8 != (undefined *)0x0) && (local_f8 != PTR_DAT_140344098)) {
|
||||
iVar8 = *(int *)(local_f8 + -8);
|
||||
}
|
||||
iVar4 = iVar3;
|
||||
if (((iVar3 <= iVar8) && (iVar4 = iVar7, local_f8 != (undefined *)0x0)) &&
|
||||
(local_f8 != PTR_DAT_140344098)) {
|
||||
iVar4 = *(int *)(local_f8 + -8);
|
||||
}
|
||||
iVar8 = 1;
|
||||
if (1 < iVar4) {
|
||||
iVar8 = iVar4;
|
||||
}
|
||||
iVar4 = iVar7;
|
||||
if ((local_f8 != (undefined *)0x0) && (local_f8 != PTR_DAT_140344098)) {
|
||||
iVar4 = *(int *)(local_f8 + -8);
|
||||
}
|
||||
if (iVar4 < iVar8) {
|
||||
FUN_14013c520(&local_f8);
|
||||
}
|
||||
FUN_14013c600(&local_f8);
|
||||
puVar6 = local_f8;
|
||||
if (local_f8 == (undefined *)0x0) {
|
||||
puVar6 = PTR_DAT_140344098;
|
||||
}
|
||||
FUN_14016d810(puVar6,&local_c2,iVar3);
|
||||
puVar6 = local_f8;
|
||||
if (local_f8 == (undefined *)0x0) {
|
||||
puVar6 = PTR_DAT_140344098;
|
||||
}
|
||||
iVar3 = FUN_14016d7e0(puVar6);
|
||||
iVar8 = 0;
|
||||
if (0 < iVar3) {
|
||||
iVar8 = iVar3;
|
||||
}
|
||||
iVar3 = iVar7;
|
||||
if ((local_f8 != (undefined *)0x0) && (local_f8 != PTR_DAT_140344098)) {
|
||||
iVar3 = *(int *)(local_f8 + -8);
|
||||
}
|
||||
if ((iVar3 <= iVar8) && (iVar8 = iVar7, local_f8 != (undefined *)0x0)) {
|
||||
if (local_f8 == PTR_DAT_140344098) goto LAB_14013a63e;
|
||||
iVar8 = *(int *)(local_f8 + -8);
|
||||
}
|
||||
if (((local_f8 != PTR_DAT_140344098) && (local_f8 != (undefined *)0x0)) &&
|
||||
(piVar1 = (int *)(local_f8 + -8), piVar1 != (int *)0x0)) {
|
||||
*piVar1 = iVar8;
|
||||
*(undefined1 *)((longlong)iVar8 + 8 + (longlong)piVar1) = 0;
|
||||
}
|
||||
LAB_14013a63e:
|
||||
local_108 = &local_f8;
|
||||
local_f0[0] = param_3;
|
||||
(**(code **)(*(longlong *)(param_1 + 0xa8) + 0x4f0))
|
||||
((longlong *)(param_1 + 0xa8),param_2,&DAT_1403440f0,local_f0);
|
||||
puVar6 = local_f8;
|
||||
if (((local_f8 != (undefined *)0x0) && (local_f8 != PTR_DAT_140344098)) &&
|
||||
(puVar2 = local_f8 + -8, puVar2 != (undefined *)0x0)) {
|
||||
uVar5 = FUN_14016d8c0();
|
||||
local_e0 = uVar5;
|
||||
FUN_14016db50(uVar5);
|
||||
local_d8 = 1;
|
||||
piVar1 = (int *)(puVar6 + -4);
|
||||
*piVar1 = *piVar1 + -1;
|
||||
if (*piVar1 == 0) {
|
||||
FUN_14016d970(puVar2);
|
||||
}
|
||||
FUN_14016dbe0(uVar5);
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue