/* MessageServer_Release_x64.exe sha256 7911b15c4379625eaa12ff227708aa3a033bc6ac2cf6b34283136e3a62df25f1 * Ghidra 12.1.2 decompiler output for 0x14001c940 FUN_14001c940 * Pseudocode, not original source. */ undefined1 FUN_14001c940(longlong *param_1,undefined8 param_2,SIZE_T param_3,ushort *param_4,uint *param_5, undefined8 *param_6,longlong *param_7,longlong *param_8,longlong *param_9, longlong *param_10) { undefined1 uVar1; uint *puVar2; undefined8 *puVar3; SIZE_T SVar4; ushort *puVar5; undefined4 local_res10 [2]; undefined4 local_30 [2]; longlong local_28; longlong local_20; int local_14; local_res10[0] = (undefined4)param_2; SVar4 = param_3; puVar5 = param_4; FUN_1400bca00(local_30); FUN_1400bc4d0((longlong)local_30,param_2,SVar4,puVar5); FUN_140054930((longlong)local_30,0x2f17,SVar4,puVar5); FUN_140054930((longlong)local_30,(ulonglong)*param_4,SVar4,puVar5); FUN_140014500((longlong)local_30,(ulonglong)*param_5,SVar4,puVar5); FUN_1400d9b40((longlong)local_30,param_6,SVar4,puVar5); FUN_140014500((longlong)local_30,param_7[1] - *param_7 >> 4,SVar4,puVar5); puVar3 = (undefined8 *)*param_7; if (puVar3 != (undefined8 *)param_7[1]) { do { FUN_1400d9b40((longlong)local_30,puVar3,SVar4,puVar5); puVar3 = puVar3 + 2; } while (puVar3 != (undefined8 *)param_7[1]); } FUN_140014500((longlong)local_30,param_8[1] - *param_8 >> 2,SVar4,puVar5); puVar2 = (uint *)*param_8; if (puVar2 != (uint *)param_8[1]) { do { FUN_140014500((longlong)local_30,(ulonglong)*puVar2,SVar4,puVar5); puVar2 = puVar2 + 1; } while (puVar2 != (uint *)param_8[1]); } FUN_140014500((longlong)local_30,param_9[1] - *param_9 >> 2,SVar4,puVar5); puVar2 = (uint *)*param_9; if (puVar2 != (uint *)param_9[1]) { do { FUN_140014500((longlong)local_30,(ulonglong)*puVar2,SVar4,puVar5); puVar2 = puVar2 + 1; } while (puVar2 != (uint *)param_9[1]); } FUN_140014500((longlong)local_30,param_10[1] - *param_10 >> 4,SVar4,puVar5); puVar3 = (undefined8 *)*param_10; if (puVar3 != (undefined8 *)param_10[1]) { do { FUN_1400d9b40((longlong)local_30,puVar3,SVar4,puVar5); puVar3 = puVar3 + 2; } while (puVar3 != (undefined8 *)param_10[1]); } uVar1 = (**(code **)(*param_1 + 0x18)) (param_1,local_res10,1,param_3,local_30,L"REQ_MAIL_ITEM_MOVE",0x2f17); FUN_1400d1800(&local_28); if ((local_20 != 0) && (local_14 < 0)) { /* WARNING: Subroutine does not return */ FUN_14006be00(); } return uVar1; }