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

39 lines
1.2 KiB
C

/* MessageServer_Release_x64.exe sha256 7911b15c4379625eaa12ff227708aa3a033bc6ac2cf6b34283136e3a62df25f1
* Ghidra 12.1.2 decompiler output for 0x140071ef0 FUN_140071ef0
* Pseudocode, not original source. */
undefined8 FUN_140071ef0(longlong param_1,undefined1 param_2,uint *param_3)
{
int iVar1;
ulonglong in_RAX;
ulonglong uVar2;
uint local_res8 [2];
uint local_res20 [2];
if ((*(int *)(param_1 + 0x240) == 0x103) || (in_RAX = 0, *(char *)(param_1 + 0x280) == '\0')) {
return in_RAX & 0xffffffffffffff00;
}
uVar2 = WSAGetOverlappedResult
(*(undefined8 *)(param_1 + 0x3d0),(int *)(param_1 + 0x240),local_res8,param_2,
local_res20);
iVar1 = (int)uVar2;
if (iVar1 == 0) {
uVar2 = Ordinal_111();
if ((int)uVar2 == 0x3e4) {
LAB_140071f9f:
return uVar2 & 0xffffffffffffff00;
}
}
else if ((local_res8[0] == 0) && (local_res20[0] == 0)) goto LAB_140071f9f;
uVar2 = (ulonglong)local_res20[0];
param_3[6] = local_res8[0];
*param_3 = local_res20[0];
if (iVar1 == 0) {
uVar2 = Ordinal_111();
param_3[1] = (uint)uVar2;
}
*(undefined1 *)(param_1 + 0x280) = 0;
return CONCAT71((int7)(uVar2 >> 8),1);
}