/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 * Ghidra 12.1.2 decompiler output for 0x1400e7f20 Catch@1400e7f20 * Pseudocode, not original source. */ undefined * Catch_1400e7f20(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_1400806d0((undefined4 *)(param_2 + 0x40)); FUN_1400801a0(param_2 + 0x40,uVar4,param_3,param_4); FUN_140080830((int *)(param_2 + 0x40),0x800,param_3,param_4); uVar4 = 0; FUN_140080830((int *)(param_2 + 0x40),0,param_3,param_4); FUN_14001ba80(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_140081aa0(param_2 + 0x40,0,param_3,param_4); FUN_14003b870((undefined8 *)(param_2 + 0x118)); lVar1 = *(longlong *)(param_2 + 0x30); piVar2 = (int *)(**(code **)(*(longlong *)(lVar1 + 0x108) + 0x10))(); *(int **)(param_2 + 0xb8) = piVar2; FUN_14002e6e0(piVar2); *(undefined1 *)(param_2 + 0xc0) = 1; lVar3 = FUN_140041760(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_14009c2b0(*(char **)(lVar1 + 0x748),lVar3,pSVar5,param_4); FUN_140040950(param_2 + 0x1a0,lVar3,pSVar5,param_4); FUN_14002e770((longlong)piVar2); *(longlong *)(param_2 + 0x30) = param_2 + 0x48; FUN_140095270((longlong *)(param_2 + 0x48)); if ((*(longlong *)(param_2 + 0x50) != 0) && (*(int *)(param_2 + 0x5c) < 0)) { /* WARNING: Subroutine does not return */ FUN_14002f590(); } return &DAT_14008b8c3; }