84 lines
3.6 KiB
C
84 lines
3.6 KiB
C
/* DBCServer_Release_x64.exe sha256 d9e4fccdf3482e50247686d4452c0b13c75a53efc4bd7320668eece8d1ce828c
|
|
* Ghidra 12.1.2 decompiler output for 0x1401ea130 FUN_1401ea130
|
|
* Pseudocode, not original source. */
|
|
|
|
void FUN_1401ea130(longlong param_1)
|
|
|
|
{
|
|
ushort uVar1;
|
|
int iVar2;
|
|
int iVar3;
|
|
|
|
iVar2 = *(int *)(param_1 + 0x1714);
|
|
*(ushort *)(param_1 + 0x1710) = *(ushort *)(param_1 + 0x1710) | 2 << ((byte)iVar2 & 0x1f);
|
|
if (iVar2 < 0xe) {
|
|
iVar2 = iVar2 + 3;
|
|
}
|
|
else {
|
|
*(undefined1 *)((ulonglong)*(uint *)(param_1 + 0x28) + *(longlong *)(param_1 + 0x10)) =
|
|
*(undefined1 *)(param_1 + 0x1710);
|
|
*(int *)(param_1 + 0x28) = *(int *)(param_1 + 0x28) + 1;
|
|
*(undefined1 *)((ulonglong)*(uint *)(param_1 + 0x28) + *(longlong *)(param_1 + 0x10)) =
|
|
*(undefined1 *)(param_1 + 0x1711);
|
|
*(int *)(param_1 + 0x28) = *(int *)(param_1 + 0x28) + 1;
|
|
*(ushort *)(param_1 + 0x1710) = 2 >> (0x10U - (char)*(int *)(param_1 + 0x1714) & 0x1f);
|
|
iVar2 = *(int *)(param_1 + 0x1714) + -0xd;
|
|
}
|
|
*(int *)(param_1 + 0x1714) = iVar2;
|
|
uVar1 = 0;
|
|
*(ushort *)(param_1 + 0x1710) = *(ushort *)(param_1 + 0x1710) | 0 << ((byte)iVar2 & 0x1f);
|
|
if (iVar2 < 10) {
|
|
iVar2 = iVar2 + 7;
|
|
}
|
|
else {
|
|
*(undefined1 *)((ulonglong)*(uint *)(param_1 + 0x28) + *(longlong *)(param_1 + 0x10)) =
|
|
*(undefined1 *)(param_1 + 0x1710);
|
|
*(int *)(param_1 + 0x28) = *(int *)(param_1 + 0x28) + 1;
|
|
*(undefined1 *)((ulonglong)*(uint *)(param_1 + 0x28) + *(longlong *)(param_1 + 0x10)) =
|
|
*(undefined1 *)(param_1 + 0x1711);
|
|
*(int *)(param_1 + 0x28) = *(int *)(param_1 + 0x28) + 1;
|
|
*(ushort *)(param_1 + 0x1710) = 0 >> (0x10U - (char)*(int *)(param_1 + 0x1714) & 0x1f);
|
|
iVar2 = *(int *)(param_1 + 0x1714) + -9;
|
|
}
|
|
*(int *)(param_1 + 0x1714) = iVar2;
|
|
FUN_1401e9610(param_1);
|
|
iVar2 = *(int *)(param_1 + 0x1714);
|
|
if ((*(int *)(param_1 + 0x170c) - iVar2) + 0xb < 9) {
|
|
if (iVar2 < 0xe) {
|
|
iVar3 = iVar2 + 3;
|
|
*(ushort *)(param_1 + 0x1710) = *(ushort *)(param_1 + 0x1710) | 2 << ((byte)iVar2 & 0x1f);
|
|
}
|
|
else {
|
|
*(ushort *)(param_1 + 0x1710) = *(ushort *)(param_1 + 0x1710) | 2 << ((byte)iVar2 & 0x1f);
|
|
*(undefined1 *)((ulonglong)*(uint *)(param_1 + 0x28) + *(longlong *)(param_1 + 0x10)) =
|
|
*(undefined1 *)(param_1 + 0x1710);
|
|
*(int *)(param_1 + 0x28) = *(int *)(param_1 + 0x28) + 1;
|
|
*(undefined1 *)((ulonglong)*(uint *)(param_1 + 0x28) + *(longlong *)(param_1 + 0x10)) =
|
|
*(undefined1 *)(param_1 + 0x1711);
|
|
*(int *)(param_1 + 0x28) = *(int *)(param_1 + 0x28) + 1;
|
|
iVar3 = *(int *)(param_1 + 0x1714) + -0xd;
|
|
*(ushort *)(param_1 + 0x1710) = 2 >> (0x10U - (char)*(int *)(param_1 + 0x1714) & 0x1f);
|
|
}
|
|
*(int *)(param_1 + 0x1714) = iVar3;
|
|
if (iVar3 < 10) {
|
|
iVar2 = iVar3 + 7;
|
|
*(ushort *)(param_1 + 0x1710) = *(ushort *)(param_1 + 0x1710) | uVar1 << ((byte)iVar3 & 0x1f);
|
|
}
|
|
else {
|
|
*(ushort *)(param_1 + 0x1710) = *(ushort *)(param_1 + 0x1710) | uVar1 << ((byte)iVar3 & 0x1f);
|
|
*(undefined1 *)((ulonglong)*(uint *)(param_1 + 0x28) + *(longlong *)(param_1 + 0x10)) =
|
|
*(undefined1 *)(param_1 + 0x1710);
|
|
*(int *)(param_1 + 0x28) = *(int *)(param_1 + 0x28) + 1;
|
|
*(undefined1 *)((ulonglong)*(uint *)(param_1 + 0x28) + *(longlong *)(param_1 + 0x10)) =
|
|
*(undefined1 *)(param_1 + 0x1711);
|
|
*(int *)(param_1 + 0x28) = *(int *)(param_1 + 0x28) + 1;
|
|
iVar2 = *(int *)(param_1 + 0x1714) + -9;
|
|
*(ushort *)(param_1 + 0x1710) = uVar1 >> (0x10U - (char)*(int *)(param_1 + 0x1714) & 0x1f);
|
|
}
|
|
*(int *)(param_1 + 0x1714) = iVar2;
|
|
FUN_1401e9610(param_1);
|
|
}
|
|
*(undefined4 *)(param_1 + 0x170c) = 7;
|
|
return;
|
|
}
|
|
|