/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 * Ghidra 12.1.2 decompiler output for 0x1400abb70 FUN_1400abb70 * Pseudocode, not original source. */ void FUN_1400abb70(IMAGE_DOS_HEADER *param_1,longlong *param_2,wchar_t *param_3,undefined ***param_4 ) { int iVar1; int iVar2; longlong lVar3; undefined8 uVar4; double dVar5; FUN_140075880(*(longlong **)¶m_1[2].e_cparhdr,param_2,param_3,param_4); FUN_1400a4f60((longlong)param_1,param_2,param_3,(longlong **)param_4); FUN_1400a40f0((longlong)param_1,param_2,(undefined *)param_3,(undefined1 *)param_4); do { dVar5 = (double)(**(code **)(*(longlong *)(*(longlong *)¶m_1[2].e_cparhdr + 0x70) + 0x1c0)) (*(longlong *)¶m_1[2].e_cparhdr + 0x70); if ((0.0 < *(double *)(param_1[1].e_program + 0x10)) && (dVar5 = dVar5 - *(double *)(param_1[1].e_program + 0x10), *(double *)(param_1[1].e_program + 0x18) <= dVar5 && dVar5 != *(double *)(param_1[1].e_program + 0x18))) { iVar2._0_1_ = param_1[2].e_magic[0]; iVar2._1_1_ = param_1[2].e_magic[1]; iVar2._2_2_ = param_1[2].e_cblp; if (iVar2 < 4) { lVar3 = *(longlong *)¶m_1[2].e_cparhdr; param_1->e_program[0] = 0; param_1->e_program[1] = 0; param_1->e_program[2] = 0; param_1->e_program[3] = 0; param_1[2].e_magic[0] = '\x04'; param_1[2].e_magic[1] = '\0'; param_1[2].e_cblp = 0; uVar4 = (**(code **)(*(longlong *)(lVar3 + 0x70) + 0x1c0))(lVar3 + 0x70); param_1[1].e_magic[0] = (char)uVar4; param_1[1].e_magic[1] = (char)((ulonglong)uVar4 >> 8); param_1[1].e_cblp = (short)((ulonglong)uVar4 >> 0x10); param_1[1].e_cp = (short)((ulonglong)uVar4 >> 0x20); param_1[1].e_crlc = (short)((ulonglong)uVar4 >> 0x30); param_1[1].e_program[0] = 0; } return; } uVar4 = FUN_1400ab2e0(param_1,param_2,param_3,param_4); iVar1._0_1_ = param_1[2].e_magic[0]; iVar1._1_1_ = param_1[2].e_magic[1]; iVar1._2_2_ = param_1[2].e_cblp; if (iVar1 == 4) { return; } } while ((char)uVar4 != '\0'); return; }