server-re/decomp/MessageServer_Release_x64/full/functions/0x14004f230.c

34 lines
1 KiB
C

/* MessageServer_Release_x64.exe sha256 7911b15c4379625eaa12ff227708aa3a033bc6ac2cf6b34283136e3a62df25f1
* Ghidra 12.1.2 decompiler output for 0x14004f230 FUN_14004f230
* Pseudocode, not original source. */
void FUN_14004f230(ulonglong *param_1,void *param_2)
{
void *pvVar1;
longlong lVar2;
pvVar1 = (void *)param_1[1];
if ((param_2 < pvVar1) && ((void *)*param_1 <= param_2)) {
lVar2 = (longlong)param_2 - (longlong)*param_1;
lVar2 = lVar2 + SUB168(SEXT816(-0x608b85ead287c92f) * SEXT816(lVar2),8);
if (pvVar1 == (void *)param_1[2]) {
FUN_140051f20((longlong *)param_1,1);
}
if ((void *)param_1[1] != (void *)0x0) {
memcpy((void *)param_1[1],(void *)(((lVar2 >> 9) - (lVar2 >> 0x3f)) * 0x336 + *param_1),0x336)
;
}
param_1[1] = param_1[1] + 0x336;
return;
}
if (pvVar1 == (void *)param_1[2]) {
FUN_140051f20((longlong *)param_1,1);
}
if ((void *)param_1[1] != (void *)0x0) {
memcpy((void *)param_1[1],param_2,0x336);
}
param_1[1] = param_1[1] + 0x336;
return;
}