__off_t FUN_0040b504(void)
{
int __fd;
__off_t _Var1;
int iVar2;
__off_t _Var3;
int __offset;
__fd = open("/var/run/soap.lock",0x101,0x1a4) //possible issue identified - semgrep
if (-1 < __fd) {
__offset = 0;
do {
_Var1 = lseek(__fd,__offset,0);
if (_Var1 != __offset) {
return -1;
}
iVar2 = lockf(__fd,2,1);
if (iVar2 == 0) {
if (2 < __offset) {
return -1;
}
_Var3 = lseek(__fd,4,0);
if (_Var3 != 4) {
lockf(__fd,2,1);
return -1;
}
lockf(__fd,1,1);
return _Var1;
}
__offset = __offset + 1;
} while (__offset < 3);
}
return -1;
}