Private Function beagle.usub_402737.txt

Calls out:


DLL:kernel32.ReleaseMutex
DLL:kernel32.LocalFree
DLL:kernel32.GlobalFree
usub_4021c7
DLL:kernel32.WaitForSingleObject
DLL:kernel32.GlobalAlloc
DLL:kernel32.CreateMutexA

Incoming calls for beagle.usub_402737.txt


beagle.usub_401835.txt

Decompiled source code follows:

Global4227398 = CreateMutexA(0,0,NULL)
Global4227370 = 0
Global4227374 = 0
LLocal1 = 5
Do While (FLocal26 = 0)
      LLocal1 = (LLocal1 - 1)
Loop While (LLocal1 != 0)
Return GlobalAlloc(64,12)
Do While (FLocal26 = 0)
      WaitForSingleObject(Global4227398,4294967295)
      If (([OFFSET-CONTAINER] 1 #ARG4 4 NUMBER) = 0)
            Return (OFFSET-CONTAINER 1 #ARG4 4 NUMBER 8 NUMBER)
            (OFFSET-CONTAINER 1 #ARG4 4 NUMBER) = (OFFSET-CONTAINER 1 #ARG4 4 NUMBER 8 NUMBER)
            GlobalFree(([OFFSET-CONTAINER] 1 #ARG4 4 NUMBER))
            ReleaseMutex(Global4227398)
            Do While (FLocal26 = 0)
                  FLocal26 = usub_4021c7
                  LLocal2 = (LLocal2 - 1)
            Loop While (FLocal26 = 0)
            GlobalFree((OFFSET-CONTAINER 1 #ARG4 4 NUMBER 4 NUMBER))
            LocalFree((OFFSET-CONTAINER 1 #ARG4 4 NUMBER 4 NUMBER))
            LocalFree((OFFSET-CONTAINER 1 #ARG4 4 NUMBER 4 NUMBER))
      Else
            ReleaseMutex(Global4227398)
      End If
      Return ((OFFSET-CONTAINER 1 #ARG4) - 1)
      (OFFSET-CONTAINER 1 #ARG4) = ((OFFSET-CONTAINER 1 #ARG4) - 1)
Loop While ((OFFSET-CONTAINER 1 #ARG4) != 0)
Return 0
End Sub