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

50 lines
2 KiB
C

/* MessageServer_Release_x64.exe sha256 7911b15c4379625eaa12ff227708aa3a033bc6ac2cf6b34283136e3a62df25f1
* Ghidra 12.1.2 decompiler output for 0x140124ab0 Catch@140124ab0
* Pseudocode, not original source. */
undefined * Catch_140124ab0(undefined8 param_1,longlong param_2,SIZE_T param_3,undefined8 param_4)
{
longlong lVar1;
int *piVar2;
longlong lVar3;
undefined8 uVar4;
SIZE_T *pSVar5;
uVar4 = *(undefined8 *)(param_2 + 0x140);
(**(code **)(**(longlong **)(*(longlong *)(*(longlong *)(param_2 + 0xb8) + 0x148) + 0x758) + 0x20)
)();
FUN_1400bca00((undefined4 *)(param_2 + 0x40));
FUN_1400bc4d0(param_2 + 0x40,uVar4,param_3,param_4);
FUN_1400bcb60((int *)(param_2 + 0x40),0x800,param_3,param_4);
uVar4 = 0;
FUN_1400bcb60((int *)(param_2 + 0x40),0,param_3,param_4);
FUN_140054a10(param_2 + 0x40,CONCAT71((int7)((ulonglong)uVar4 >> 8),9),param_3,param_4);
*(undefined8 *)(param_2 + 0x120) = 0;
*(undefined8 *)(param_2 + 0x128) = 0;
*(undefined8 *)(param_2 + 0x130) = 0;
*(undefined8 *)(param_2 + 0x138) = 0;
*(undefined ***)(param_2 + 0x118) = Proud::ByteArray::vftable;
FUN_1400bddd0(param_2 + 0x40,0,param_3,param_4);
FUN_140078360((undefined8 *)(param_2 + 0x118));
lVar1 = *(longlong *)(param_2 + 0x30);
piVar2 = (int *)(**(code **)(*(longlong *)(lVar1 + 0x108) + 0x10))();
*(int **)(param_2 + 0xb8) = piVar2;
FUN_14006b350(piVar2);
*(undefined1 *)(param_2 + 0xc0) = 1;
lVar3 = FUN_14007db50(param_2 + 0x1a0,param_2 + 0x40,param_3);
*(undefined8 *)(param_2 + 0x30) = 0;
*(undefined1 *)(param_2 + 0x38) = 1;
pSVar5 = (SIZE_T *)(param_2 + 0x30);
FUN_1400d87b0(*(char **)(lVar1 + 0x748),lVar3,pSVar5,param_4);
FUN_14007ca50(param_2 + 0x1a0,lVar3,pSVar5,param_4);
FUN_14006b3e0((longlong)piVar2);
*(longlong *)(param_2 + 0x30) = param_2 + 0x48;
FUN_1400d1800((longlong *)(param_2 + 0x48));
if ((*(longlong *)(param_2 + 0x50) != 0) && (*(int *)(param_2 + 0x5c) < 0)) {
/* WARNING: Subroutine does not return */
FUN_14006be00();
}
return &DAT_1400c7aa3;
}