63 lines
1.8 KiB
C
63 lines
1.8 KiB
C
/* DBCServer_Release_x64.exe sha256 d9e4fccdf3482e50247686d4452c0b13c75a53efc4bd7320668eece8d1ce828c
|
|
* Ghidra 12.1.2 decompiler output for 0x14019eca0 FUN_14019eca0
|
|
* Pseudocode, not original source. */
|
|
|
|
uint FUN_14019eca0(longlong param_1)
|
|
|
|
{
|
|
uint uVar1;
|
|
uint uVar2;
|
|
uint *puVar3;
|
|
uint *puVar4;
|
|
uint *puVar5;
|
|
uint *puVar6;
|
|
uint uVar7;
|
|
int iVar8;
|
|
uint *puVar9;
|
|
|
|
if (*(int *)(param_1 + 0x9d8) < -1) {
|
|
FUN_14019eb90();
|
|
}
|
|
*(undefined4 *)(param_1 + 0x9d8) = 0x26f;
|
|
*(longlong *)(param_1 + 0x9d0) = param_1 + 0xc;
|
|
iVar8 = 0xe3;
|
|
puVar3 = (uint *)(param_1 + 0x10);
|
|
puVar5 = (uint *)(param_1 + 8);
|
|
uVar1 = *(uint *)(param_1 + 0xc);
|
|
uVar2 = *(uint *)(param_1 + 8);
|
|
do {
|
|
uVar7 = uVar1;
|
|
puVar4 = puVar3 + 1;
|
|
puVar6 = puVar5 + 1;
|
|
iVar8 = iVar8 + -1;
|
|
*puVar5 = ((uVar7 ^ uVar2) & 0x7ffffffe ^ uVar2) >> 1 ^ -(uint)((uVar7 & 1) != 0) & 0x9908b0df ^
|
|
*(uint *)((longlong)puVar3 + ((param_1 + 0x63c) - (param_1 + 0x10)));
|
|
uVar1 = *puVar3;
|
|
puVar3 = puVar4;
|
|
puVar5 = puVar6;
|
|
uVar2 = uVar7;
|
|
} while (iVar8 != 0);
|
|
iVar8 = 0x18c;
|
|
puVar3 = (uint *)(param_1 + 8);
|
|
do {
|
|
uVar2 = uVar1;
|
|
puVar5 = puVar6 + 1;
|
|
puVar9 = puVar3 + 1;
|
|
iVar8 = iVar8 + -1;
|
|
*puVar6 = ((uVar2 ^ uVar7) & 0x7ffffffe ^ uVar7) >> 1 ^ -(uint)((uVar2 & 1) != 0) & 0x9908b0df ^
|
|
*puVar3;
|
|
uVar1 = *puVar4;
|
|
puVar4 = puVar4 + 1;
|
|
puVar6 = puVar5;
|
|
puVar3 = puVar9;
|
|
uVar7 = uVar2;
|
|
} while (iVar8 != 0);
|
|
uVar1 = *(uint *)(param_1 + 8);
|
|
uVar7 = uVar1 ^ uVar1 >> 0xb;
|
|
*puVar5 = ((uVar1 ^ uVar2) & 0x7ffffffe ^ uVar2) >> 1 ^ -(uint)((uVar1 & 1) != 0) & 0x9908b0df ^
|
|
*puVar9;
|
|
uVar7 = uVar7 ^ (uVar7 & 0xff3a58ad) << 7;
|
|
uVar7 = uVar7 ^ (uVar7 & 0xffffdf8c) << 0xf;
|
|
return uVar7 >> 0x12 ^ uVar7;
|
|
}
|
|
|