/* AgentManager_Release_x64.exe sha256 8fd8ca91725858651a7839d34257b10c2970ac16c97e60c523b8b0c983fcb186 * Ghidra 12.1.2 decompiler output for 0x14003d280 FUN_14003d280 * Pseudocode, not original source. */ void FUN_14003d280(longlong *param_1,LPCWSTR param_2,UINT param_3) { code *pcVar1; int iVar2; int iVar3; DWORD DVar4; bool bVar5; if (param_2 == (LPCWSTR)0x0) { *param_1 = 0; return; } iVar2 = lstrlenW(param_2); iVar2 = iVar2 + 1; FUN_14003d1b0(param_1,iVar2 * 4,param_1 + 1,0x80); iVar3 = WideCharToMultiByte(param_3,0,param_2,iVar2,(LPSTR)*param_1,iVar2 * 4,(LPCSTR)0x0, (LPBOOL)0x0); if (iVar3 == 0) { DVar4 = GetLastError(); bVar5 = true; if (DVar4 == 0x7a) { iVar3 = WideCharToMultiByte(param_3,0,param_2,iVar2,(LPSTR)0x0,0,(LPCSTR)0x0,(LPBOOL)0x0); FUN_14003d1b0(param_1,iVar3,param_1 + 1,0x80); iVar2 = WideCharToMultiByte(param_3,0,param_2,iVar2,(LPSTR)*param_1,iVar3,(LPCSTR)0x0, (LPBOOL)0x0); bVar5 = iVar2 == 0; } if (bVar5) { FUN_1400050f0(); pcVar1 = (code *)swi(3); (*pcVar1)(); return; } } return; }