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

42 lines
1.4 KiB
C

/* MessageServer_Release_x64.exe sha256 7911b15c4379625eaa12ff227708aa3a033bc6ac2cf6b34283136e3a62df25f1
* Ghidra 12.1.2 decompiler output for 0x14008a380 FUN_14008a380
* Pseudocode, not original source. */
longlong * FUN_14008a380(longlong *param_1,longlong *param_2,undefined8 param_3,undefined8 param_4)
{
undefined8 *puVar1;
longlong lVar2;
longlong lVar3;
exception local_50 [72];
lVar3 = 0;
puVar1 = (undefined8 *)
(**(code **)(*param_2 + 8))(param_2,0x30,param_3,param_4,0xfffffffffffffffe);
if (puVar1 != (undefined8 *)0x0) {
*puVar1 = Proud::CFastArray<Proud::CCompressedFrameNumbers::Elem,1>::vftable;
puVar1[1] = 0;
puVar1[2] = 0;
puVar1[3] = 0;
*(undefined4 *)(puVar1 + 4) = 0;
*(undefined4 *)((longlong)puVar1 + 0x24) = 1;
}
FUN_14007ff90(param_1,param_2,(longlong)puVar1,param_4);
lVar2 = lVar3;
if ((longlong *)*param_1 != (longlong *)0x0) {
lVar2 = *(longlong *)*param_1;
}
*(longlong **)(lVar2 + 0x28) = param_2;
if ((longlong *)*param_1 != (longlong *)0x0) {
lVar3 = *(longlong *)*param_1;
}
if (*(int *)(lVar3 + 0x1c) < 1) {
*(longlong **)(lVar3 + 8) = param_2;
return param_1;
}
FUN_14006ba50(local_50,(wchar_t *)PTR_u_Collection_object_can_use_fast_h_1401ac1d0,puVar1,param_4)
;
/* WARNING: Subroutine does not return */
_CxxThrowException(local_50,(ThrowInfo *)&DAT_1401a93e8);
}