server-re/decomp/DBCServer_Release_x64/full/functions/0x1401e3ea0.c

67 lines
3.3 KiB
C

/* DBCServer_Release_x64.exe sha256 d9e4fccdf3482e50247686d4452c0b13c75a53efc4bd7320668eece8d1ce828c
* Ghidra 12.1.2 decompiler output for 0x1401e3ea0 FUN_1401e3ea0
* Pseudocode, not original source. */
undefined8 FUN_1401e3ea0(longlong *param_1,undefined1 *param_2)
{
uint uVar1;
if ((param_1 != (longlong *)0x0) && (param_2 != (undefined1 *)0x0)) {
uVar1 = *(uint *)((longlong)param_1 + 0x1c);
if (uVar1 < 0x40) {
*param_1 = *param_1 + (ulonglong)(uVar1 * 8);
*(undefined1 *)((ulonglong)uVar1 + 0x20 + (longlong)param_1) = 0x80;
*(int *)((longlong)param_1 + 0x1c) = *(int *)((longlong)param_1 + 0x1c) + 1;
uVar1 = *(uint *)((longlong)param_1 + 0x1c);
if (0x38 < uVar1) {
while (uVar1 < 0x40) {
*(undefined1 *)((ulonglong)uVar1 + 0x20 + (longlong)param_1) = 0;
*(int *)((longlong)param_1 + 0x1c) = *(int *)((longlong)param_1 + 0x1c) + 1;
uVar1 = *(uint *)((longlong)param_1 + 0x1c);
}
FUN_1401e38b0(param_1,param_1 + 4);
*(undefined4 *)((longlong)param_1 + 0x1c) = 0;
}
uVar1 = *(uint *)((longlong)param_1 + 0x1c);
while (uVar1 < 0x38) {
*(undefined1 *)((ulonglong)*(uint *)((longlong)param_1 + 0x1c) + 0x20 + (longlong)param_1) =
0;
*(int *)((longlong)param_1 + 0x1c) = *(int *)((longlong)param_1 + 0x1c) + 1;
uVar1 = *(uint *)((longlong)param_1 + 0x1c);
}
*(undefined1 *)(param_1 + 0xb) = *(undefined1 *)((longlong)param_1 + 7);
*(undefined1 *)((longlong)param_1 + 0x59) = *(undefined1 *)((longlong)param_1 + 6);
*(undefined1 *)((longlong)param_1 + 0x5a) = *(undefined1 *)((longlong)param_1 + 5);
*(undefined1 *)((longlong)param_1 + 0x5b) = *(undefined1 *)((longlong)param_1 + 4);
*(undefined1 *)((longlong)param_1 + 0x5c) = *(undefined1 *)((longlong)param_1 + 3);
*(undefined1 *)((longlong)param_1 + 0x5d) = *(undefined1 *)((longlong)param_1 + 2);
*(undefined1 *)((longlong)param_1 + 0x5e) = *(undefined1 *)((longlong)param_1 + 1);
*(char *)((longlong)param_1 + 0x5f) = (char)*param_1;
FUN_1401e38b0(param_1,param_1 + 4);
*param_2 = *(undefined1 *)((longlong)param_1 + 0xb);
param_2[1] = *(undefined1 *)((longlong)param_1 + 10);
param_2[2] = *(undefined1 *)((longlong)param_1 + 9);
param_2[3] = (char)param_1[1];
param_2[4] = *(undefined1 *)((longlong)param_1 + 0xf);
param_2[5] = *(undefined1 *)((longlong)param_1 + 0xe);
param_2[6] = *(undefined1 *)((longlong)param_1 + 0xd);
param_2[7] = *(undefined1 *)((longlong)param_1 + 0xc);
param_2[8] = *(undefined1 *)((longlong)param_1 + 0x13);
param_2[9] = *(undefined1 *)((longlong)param_1 + 0x12);
param_2[10] = *(undefined1 *)((longlong)param_1 + 0x11);
param_2[0xb] = (char)param_1[2];
param_2[0xc] = *(undefined1 *)((longlong)param_1 + 0x17);
param_2[0xd] = *(undefined1 *)((longlong)param_1 + 0x16);
param_2[0xe] = *(undefined1 *)((longlong)param_1 + 0x15);
param_2[0xf] = *(undefined1 *)((longlong)param_1 + 0x14);
param_2[0x10] = *(undefined1 *)((longlong)param_1 + 0x1b);
param_2[0x11] = *(undefined1 *)((longlong)param_1 + 0x1a);
param_2[0x12] = *(undefined1 *)((longlong)param_1 + 0x19);
param_2[0x13] = (char)param_1[3];
return 0;
}
}
return 0x10;
}