Files
SnakeAppleSecurityFiles/VII. Antivirus/mac/_LSLaunchWithRunningboard.c
Karmaz95 a7ab18bcb7
2024-06-19 15:37:16 +02:00

6169 lines
222 KiB
C

__int64 __fastcall _LSLaunchWithRunningboard(
LSContext *a1,
void *a2,
unsigned int a3,
void *a4,
void *a5,
const AEDesc *a6,
const AEDesc *a7,
void *a8,
const __CFDictionary *a9,
unsigned int a10,
const audit_token_t *a11,
void *a12,
__int64 a13,
NSError **a14)
{
os_log_s *v17; // x22
int v18; // w21
const char *v19; // x24
__CFString *v20; // x19
__CFString *v21; // x27
__CFString *v22; // x21
__CFString *v23; // x28
__CFString *v24; // x25
__CFString *v25; // x23
__CFString *v26; // x26
int v27; // w19
id v28; // x0
__int64 v29; // x9
int v30; // w8
__int64 v31; // x22
NSString *v32; // x20
const LSBundleData *v33; // x0
id v34; // x24
NSString *v35; // x22
char *v36; // x25
id v37; // x26
char *v38; // x0
char *v39; // x27
_BOOL4 v40; // w19
size_t v41; // x0
os_log_s *v42; // x20
void *v43; // x22
int v44; // w8
id v45; // x24
unsigned __int8 v46; // w0
int v47; // w21
NSDictionary *v48; // x22
id v49; // x20
dispatch_queue_global_s *v50; // x19
os_log_s *v51; // x20
id v52; // x19
int v53; // w8
os_log_s *v54; // x20
id v55; // x22
void *v56; // x24
int v57; // w8
__int64 v58; // x22
id v59; // x24
id v60; // x26
int v61; // w20
__int64 v62; // x0
__int64 v63; // x20
id v64; // x28
__int128 v65; // q1
__int128 v66; // q1
__int128 v67; // q1
__int128 v68; // q1
__int128 v69; // q0
os_log_s *v70; // x22
os_log_s *v71; // x22
__int64 v72; // x8
id v73; // x22
LSSliceInfo *v74; // x25
unsigned __int8 v75; // w19
id v76; // x19
NSMutableSet *v77; // x25
id v78; // x21
NSMutableSet *v79; // x25
NSArray *v80; // x27
NSUInteger v81; // x19
os_log_s *v82; // x22
os_log_s *v83; // x0
os_log_s *v84; // x20
void *v85; // x22
id v86; // x20
const char *v87; // x3
int v88; // w19
os_log_s *v89; // x21
id v90; // x25
id v91; // x22
void *v92; // x27
const char *v93; // x3
os_log_s *v94; // x1
uint32_t v95; // w5
os_log_s *v96; // x20
void *v97; // x22
id v98; // x20
void *v99; // x22
const char *v100; // x3
os_log_s *v101; // x22
id v102; // x20
id v103; // x25
void *v104; // x27
os_log_s *v105; // x0
__int64 v106; // x26
id v107; // x24
char v108; // w19
id v109; // x0
void *v110; // x22
int v111; // w20
__int64 v112; // x0
os_log_s *v113; // x25
id v114; // x26
void *v115; // x27
NSError *v116; // x22
__int64 v117; // x0
os_log_s *v118; // x20
id v119; // x25
void *v120; // x24
os_log_s *v121; // x20
void *v122; // x25
void *v123; // x26
__int64 v124; // x19
id v125; // x24
__int64 v126; // x0
int v127; // w25
__int64 v128; // x0
os_log_s *v129; // x20
os_log_s *v130; // x0
NSString *v131; // x20
NSError *v132; // x22
__int64 v133; // x0
os_log_s *v134; // x20
void *v135; // x24
int v136; // w0
id v137; // x0
void *v138; // x24
void *v139; // x20
const __CFArray *v140; // x0
const __CFArray *v141; // x25
const __CFArray *v142; // x22
int v143; // w8
void *v144; // x22
void *v145; // x19
id v146; // x22
__int64 SPExecutionPolicyClass; // x0
void *v148; // x24
__int64 v149; // x20
id v150; // x25
os_log_s *v151; // x26
unsigned int v152; // w19
id v153; // x0
void *v154; // x26
os_log_s *v155; // x20
void *v156; // x25
const char *v157; // x3
os_log_s *v158; // x1
os_log_type_t v159; // w2
uint32_t v160; // w5
__LSASN *v161; // x24
_LSPlistHint *v162; // x3
__int64 v163; // x2
id v164; // x19
__int64 v165; // x25
NSString *v166; // x22
NSString *v167; // x27
NSString *v168; // x20
const __CFArray *v169; // x0
const __CFArray *v170; // x24
const void *v171; // x0
const void *v172; // x20
const void *v173; // x8
const void *v174; // x24
CFTypeID TypeID; // x19
int v176; // w19
__int64 v177; // x0
os_log_s *v178; // x24
int v179; // w19
__int64 v180; // x0
os_log_s *v181; // x20
int v182; // w19
NSObject *v183; // x27
_LSPlistHint *v184; // x3
__int64 isKindOfClass_2; // x0
void *v186; // x26
__int64 v187; // x0
void *v188; // x20
int v189; // w19
NSError *v190; // x28
__int64 v191; // x0
__int64 v192; // x0
id v193; // x0
id v194; // x21
os_log_s *v195; // x19
CFIndex Count; // x26
CFIndex v197; // x27
bool v198; // w21
const void *ValueAtIndex; // x25
int v200; // w19
const void *v201; // x0
const __CFNumber *v202; // x0
const __CFNumber *v203; // x25
int Value; // w19
int v205; // w21
int v206; // w0
int v207; // w8
__int64 v208; // x0
os_log_s *v209; // x20
id v210; // x22
void *v211; // x25
__int64 v212; // x0
os_log_s *v213; // x20
int v214; // w19
const char *v215; // x3
os_log_s *v216; // x1
os_log_type_t v217; // w2
uint32_t v218; // w5
const void *v219; // x0
__int64 v220; // x0
int v221; // w19
int v222; // w8
__int128 v223; // q1
unsigned __int64 MajorComponent; // x8
const __LSASN *v225; // x0
const void *v226; // x20
const void *v227; // x24
unsigned __int64 v228; // x0
const void *v229; // x0
int v230; // w19
const void *v231; // x0
__int64 v232; // x0
const void *v233; // x0
__int64 v234; // x0
int v235; // w19
const void *v236; // x22
CFTypeID v237; // x19
__int64 v238; // x0
int v239; // w19
os_log_s *v240; // x20
int v241; // w19
__int64 v242; // x0
os_log_s *v243; // x20
NSObject *v244; // x0
__int64 v245; // x0
const _LSOpen2Options *v246; // x2
int v247; // w8
__int64 v248; // x28
os_log_s *v249; // x19
void *v250; // x20
__int64 v251; // x26
id v252; // x19
const __LSASN *v253; // x0
__LSASN *v254; // x27
unsigned __int8 v255; // w20
const __LSASN *v256; // x19
NSNumber *v257; // x20
NSNumber *v258; // x20
NSNumber *v259; // x19
NSNumber *v260; // x19
NSNumber *v261; // x19
void *v262; // x19
int v263; // w0
void *v264; // x19
int v265; // w0
void *v266; // x19
id v267; // x19
__CFString **v268; // x8
__int64 v269; // x8
NSNumber *v270; // x19
__int64 v271; // x0
os_log_s *v272; // x19
NSNumber *v273; // x20
NSURL *v274; // x19
NSNumber *v275; // x21
int IsAppManagedAtURL; // w20
__int64 v277; // x0
os_log_s *v278; // x19
NSURL *v279; // x0
NSURL *v280; // x20
void *v281; // x26
__int64 v282; // x21
void *j; // x28
id v284; // x20
void *v285; // x0
void *v286; // x22
unsigned int v287; // w25
__int64 v288; // x0
NSNumber *v289; // x19
os_log_s *v290; // x20
os_log_s *v291; // x19
void *v292; // x20
NSString *v293; // x19
unsigned int v294; // w0
os_log_s *v295; // x20
void *v296; // x25
__int64 v297; // x0
__int64 v298; // x0
void *v299; // x0
os_log_s *v300; // x20
char v301; // w19
os_log_s *v302; // x20
int v303; // w19
os_log_s *v304; // x26
__int64 v305; // x0
os_log_s *v306; // x20
const _LSOpen2Options *v307; // x2
void *v308; // x19
bool v309; // zf
int v310; // w23
id v311; // x20
NSString *v312; // x19
NSString *v313; // x20
id v314; // x22
unsigned __int8 v315; // w25
id v316; // x20
NSString *v317; // x20
NSString *v318; // x0
NSString *v319; // x19
NSString *v320; // x0
NSString *v321; // x19
__CFString *v322; // x2
void *v323; // x0
int v324; // w25
__int64 v325; // x8
os_log_s *v326; // x19
NSDictionary *v327; // x22
id v328; // x26
void *v329; // x19
NSNumber *v330; // x19
NSNumber *v331; // x19
__CFBundle *v332; // x0
__CFBundle *v333; // x20
CFURLRef v334; // x25
FSNode *v335; // x19
id v336; // x20
NSNumber *v337; // x20
NSNumber *v338; // x20
void *v339; // x0
os_log_s *v340; // x19
void *v341; // x0
os_log_s *v342; // x19
id v343; // x20
id v344; // x22
NSMutableArray *v345; // x23
__int64 v346; // x26
id v347; // x0
void *v348; // x22
NSMutableArray *v349; // x19
int v350; // w19
void *v351; // x27
id v352; // x20
id v353; // x27
NSMutableArray *v354; // x0
NSMutableArray *v355; // x25
NSMutableArray *v356; // x27
NSMutableArray *v357; // x19
void *v358; // x20
__int64 v359; // x23
void *k; // x26
void *v361; // x25
os_log_s *v362; // x20
__int128 *v363; // x21
id v364; // x25
void *v365; // x26
__int64 v366; // x20
NSObject *v367; // x19
unsigned int v368; // w22
LSSliceInfo *v369; // x22
NSArray *v370; // x19
__int64 WouldBeSupportedIfCambriaWereInstalled; // x0
char v372; // w20
os_log_s *v373; // x22
uint64_t v374; // x20
id v375; // x19
NSString *v376; // x19
id v377; // x22
NSString *v378; // x21
NSDictionary *v379; // x0
NSDictionary *v380; // x27
const char *v381; // x0
int v382; // w0
int v383; // w19
_LSPlistHint *v384; // x3
bool v385; // w4
__int64 v386; // x9
int v387; // w8
id v388; // x0
os_log_s *v389; // x19
os_log_s *v390; // x19
id v391; // x26
LaunchServices::PrefsStorage *v392; // x0
__int64 Shared; // x0
unsigned __int16 PointerKeysEnabledPreferenceForNode; // w20
id v395; // x0
void *v396; // x19
os_log_s *v397; // x25
id v398; // x28
void *v399; // x26
bool v400; // cf
char v401; // w20
char v402; // w23
int v403; // w22
NSString *v404; // x19
NSString *v405; // x26
__CFString *v406; // x20
NSString *v407; // x25
NSString *v408; // x25
__CFString *v409; // x0
id v410; // x0
void *v411; // x26
os_log_s *v412; // x19
int v413; // w20
NSDictionary *v414; // x27
NSMutableDictionary *v415; // x19
int v416; // w28
int v417; // w22
NSError *v418; // x0
NSString *v419; // x19
unsigned int v420; // w20
NSDictionary *v421; // x20
id v422; // x19
void *v423; // x20
unsigned int v424; // w25
os_log_s *v425; // x20
char v426; // w25
NSString *v427; // x23
int v428; // w21
bool v429; // w4
id v430; // x20
id v431; // x22
id v432; // x25
NSError *v433; // x19
NSError *v434; // x0
NSError *v435; // x20
NSDictionary *v436; // x19
id v437; // x22
void *v438; // x20
NSString *v439; // x25
unsigned int v440; // w26
NSString *v441; // x20
unsigned int v442; // w25
NSInteger v443; // x0
os_log_s *v444; // x19
const char *v445; // x3
os_log_s *v446; // x1
uint32_t v447; // w5
NSString *v448; // x20
unsigned int v449; // w19
__int64 v450; // x0
__int64 v451; // x0
os_log_s *v452; // x19
int v453; // w8
const char *v454; // x3
int v455; // w8
NSError *v456; // x19
__int64 v457; // x0
os_log_s *v458; // x20
void *v459; // x19
void *v460; // x20
void *v461; // x22
NSObject *v462; // x20
int v463; // w19
NSString *v464; // x0
NSArray *v465; // x19
id v466; // x0
void *v467; // x20
NSArray *v468; // x19
NSArray *v469; // x19
void *v470; // x19
__int64 v471; // x0
id v472; // x25
void *v473; // x22
__CFString *v474; // x21
__int64 v475; // x28
__CFString *v476; // x26
void *i; // x23
__CFString *v478; // x20
__int64 v479; // x0
unsigned __int8 v480; // w0
__CFString *v481; // x2
__CFString *v482; // x0
__CFString *v483; // x19
__CFString *v484; // x2
__int64 v485; // x0
os_log_s *v486; // x19
int v487; // w8
const char *v488; // x3
__int64 v489; // x0
int v490; // w8
NSDictionary *v491; // x19
__int64 v492; // x0
os_log_s *v493; // x19
int v494; // w8
__int64 v495; // x0
int v496; // w8
__int64 v497; // x0
__int64 v498; // x0
int v499; // w8
__int64 v500; // x19
NSDictionary *v501; // x20
id v502; // x19
os_log_s *v503; // x19
int v504; // w23
int v505; // w25
unsigned int v506; // w22
NSString *v507; // x20
__CFString *v508; // x8
unsigned __int8 v509; // w20
id v510; // x0
void *v511; // x19
void *v512; // x22
os_log_s *v513; // x19
int v514; // w20
__int64 v515; // x0
os_log_s *v516; // x19
int v517; // w20
int v518; // w21
void *v519; // x21
NSNumber *v520; // x19
const char *v521; // x1
NSData *v522; // x19
NSNumber *v523; // x19
void *v524; // x19
id v525; // x20
_LSDisplayNameConstructor *v526; // x0
_LSDisplayNameConstructor *v527; // x26
id v528; // x20
__int64 v529; // x8
unsigned int v530; // w1
__CFString *v531; // x21
__CFString *v532; // x25
NSNumber *v533; // x20
void *v534; // x20
const void *v535; // x0
__int64 v536; // x0
const __CFDictionary *v537; // x20
__int64 v538; // x0
__int64 v539; // x21
const void *v540; // x0
const void *v541; // x20
__int64 v542; // x23
dispatch_queue_s *v543; // x21
NSString *v544; // x19
__int64 v545; // x8
unsigned int v546; // w20
__LSASN *v547; // x0
__LSASN *v548; // x19
os_log_s *v549; // x20
unsigned int v550; // w21
unsigned __int64 v551; // x22
unsigned int v552; // w0
os_log_s *v553; // x19
int v554; // w20
int v555; // w21
unsigned int v556; // w0
os_log_s *v557; // x19
int v558; // w20
int v559; // w21
unsigned int v560; // w0
FSNode *v561; // x1
__int64 v562; // x0
os_log_s *v563; // x19
int v564; // w20
const char *v565; // x3
os_log_s *v566; // x1
os_log_type_t v567; // w2
int v568; // w20
int v569; // w20
NSDictionary *v570; // x19
NSMutableDictionary *v571; // x20
NSNumber *v572; // x21
unsigned int v573; // w20
id v574; // x0
void *v575; // x19
id v576; // x21
os_log_s *v577; // x22
int v578; // w23
int v579; // w25
__int128 *v580; // x8
__int64 v581; // x0
os_log_s *v582; // x22
int v583; // w23
int v584; // w25
__int128 *v585; // x8
const LSBundleData *v586; // x22
_LSOpen2Options *v587; // x0
_LSOpen2Options *v588; // x21
__CFString *v589; // x25
__CFString *v590; // x0
NSString *v591; // x21
NSString *v592; // x22
void *v593; // x0
void *v594; // x26
void *v595; // x0
os_log_s *v596; // x25
int v597; // w23
os_log_s *v598; // x25
int v599; // w23
__int64 v600; // x0
id v601; // x27
int v602; // w23
const char *v603; // x3
unsigned __int64 v604; // x25
unsigned __int64 v605; // x0
os_log_s *v606; // x25
int v607; // w23
os_log_s *v608; // x25
int v609; // w23
__int64 v610; // x0
int v611; // w23
__int64 IsStopped; // x0
CFTypeID v613; // x25
pid_t v614; // w25
int v615; // w23
__int64 v616; // x22
int *v617; // x0
int v618; // w28
os_log_s *v619; // x26
os_log_s *v620; // x22
int v621; // w23
os_log_s *v622; // x22
int v623; // w23
os_log_s *v624; // x22
int v625; // w23
__int64 v626; // x22
__int64 v627; // x0
NSDictionary *IsConnected; // x0
int v629; // w26
bool v630; // w25
os_log_s *v631; // x27
int v632; // w23
const char *v633; // x3
os_log_s *v634; // x1
os_log_type_t v635; // w2
bool v636; // w8
int v637; // w23
os_log_s *v638; // x25
int v639; // w23
NSArray *v640; // x0
NSArray *v641; // x19
os_log_s *v642; // x21
int v643; // w23
int v644; // w25
void *v645; // x22
void *v646; // x19
int v647; // w8
void *v648; // x19
os_log_s *v649; // x21
void *v650; // x22
id v651; // x21
void *v652; // x22
_BOOL8 v653; // x0
os_log_s *v654; // x19
int v655; // w20
const char *v656; // x3
os_log_s *v657; // x19
int v658; // w20
__int64 v659; // x0
os_log_s *v660; // x19
int v661; // w20
int v662; // w20
__int64 v663; // x19
os_log_s *v665; // x20
int v666; // w19
void *v667; // x0
os_log_s *v668; // x19
int v669; // w20
int v670; // w21
unsigned int v671; // w0
os_log_s *v672; // x20
void *v673; // x22
os_log_s *v674; // x20
void *v675; // x22
void *v676; // x0
os_log_s *v677; // x20
void *v678; // x22
NSURL *v679; // x20
FSNode *v680; // x22
os_log_s *v681; // x20
void *v682; // x22
void *v683; // x0
void *v684; // x26
id v685; // x20
os_log_s *v686; // x20
void *v687; // x22
__int64 v688; // x0
FSNode *v689; // x25
id v690; // x27
__int64 v691; // x0
os_log_s *v692; // x22
const char *v693; // x3
int v694; // w19
__int64 v695; // x0
os_log_s *v696; // x20
__int64 v697; // x0
os_log_s *v698; // x20
void *v699; // x22
os_log_s *v700; // x20
void *v701; // x22
void *v702; // x0
__int64 v703; // x0
os_log_s *v704; // x22
id v705; // x25
int v706; // [xsp+28h] [xbp-5B8h]
id v707; // [xsp+40h] [xbp-5A0h]
uint64_t v708; // [xsp+50h] [xbp-590h]
unsigned int v709; // [xsp+58h] [xbp-588h]
int v710; // [xsp+60h] [xbp-580h]
int v711; // [xsp+64h] [xbp-57Ch]
void *v712; // [xsp+68h] [xbp-578h]
int v713; // [xsp+74h] [xbp-56Ch]
id v714; // [xsp+78h] [xbp-568h]
void *v715; // [xsp+88h] [xbp-558h]
void *v716; // [xsp+90h] [xbp-550h]
void *v717; // [xsp+98h] [xbp-548h]
id v718; // [xsp+A0h] [xbp-540h]
NSMutableArray *v719; // [xsp+A8h] [xbp-538h]
id v720; // [xsp+B0h] [xbp-530h]
id v721; // [xsp+B8h] [xbp-528h]
int v722; // [xsp+CCh] [xbp-514h]
_LSOpen2Options *v723; // [xsp+D0h] [xbp-510h]
NSString *v724; // [xsp+D8h] [xbp-508h]
unsigned int v725; // [xsp+E0h] [xbp-500h]
void *v726; // [xsp+E0h] [xbp-500h]
NSNumber *v727; // [xsp+E8h] [xbp-4F8h]
id v728; // [xsp+E8h] [xbp-4F8h]
NSError *v729; // [xsp+E8h] [xbp-4F8h]
NSError *v730; // [xsp+E8h] [xbp-4F8h]
NSURL *v731; // [xsp+F0h] [xbp-4F0h]
NSNumber *v732; // [xsp+F0h] [xbp-4F0h]
unsigned int v733; // [xsp+F0h] [xbp-4F0h]
id v734; // [xsp+F0h] [xbp-4F0h]
void *v735; // [xsp+F0h] [xbp-4F0h]
NSString *v736; // [xsp+F8h] [xbp-4E8h]
NSError *v737; // [xsp+F8h] [xbp-4E8h]
NSError *v738; // [xsp+F8h] [xbp-4E8h]
void *v739; // [xsp+100h] [xbp-4E0h]
id v740; // [xsp+100h] [xbp-4E0h]
void *v741; // [xsp+100h] [xbp-4E0h]
void *v742; // [xsp+100h] [xbp-4E0h]
__CFString *v743; // [xsp+108h] [xbp-4D8h]
LSBundleData *v744; // [xsp+108h] [xbp-4D8h]
id v745; // [xsp+108h] [xbp-4D8h]
id v746; // [xsp+108h] [xbp-4D8h]
id v747; // [xsp+110h] [xbp-4D0h]
NSString *v748; // [xsp+110h] [xbp-4D0h]
id v750; // [xsp+120h] [xbp-4C0h]
void *v751; // [xsp+120h] [xbp-4C0h]
__CFString *v753; // [xsp+130h] [xbp-4B0h]
NSString *v754; // [xsp+138h] [xbp-4A8h]
id v755; // [xsp+140h] [xbp-4A0h]
NSDate *v756; // [xsp+148h] [xbp-498h]
void *v757; // [xsp+150h] [xbp-490h]
NSDictionary *v758; // [xsp+150h] [xbp-490h]
void *v759; // [xsp+150h] [xbp-490h]
id v760; // [xsp+160h] [xbp-480h]
id v761; // [xsp+168h] [xbp-478h]
NSString *v763; // [xsp+178h] [xbp-468h]
id v764; // [xsp+180h] [xbp-460h]
_LSOpen2Options *v765; // [xsp+188h] [xbp-458h]
const void *v766; // [xsp+190h] [xbp-450h]
void *v768; // [xsp+198h] [xbp-448h]
id v769; // [xsp+1A0h] [xbp-440h]
void *v770; // [xsp+1A8h] [xbp-438h]
void *v771; // [xsp+1B0h] [xbp-430h]
NSError *v772; // [xsp+1B0h] [xbp-430h]
NSMutableArray *v773; // [xsp+1B0h] [xbp-430h]
id v774; // [xsp+1B8h] [xbp-428h]
unsigned int v775; // [xsp+1B8h] [xbp-428h]
id v776; // [xsp+1C0h] [xbp-420h] BYREF
id v777; // [xsp+1C8h] [xbp-418h] BYREF
id v778; // [xsp+1D0h] [xbp-410h] BYREF
id v779; // [xsp+1D8h] [xbp-408h] BYREF
__int128 v780; // [xsp+1E0h] [xbp-400h] BYREF
__int128 v781; // [xsp+1F0h] [xbp-3F0h]
__int128 v782; // [xsp+200h] [xbp-3E0h]
__int128 v783; // [xsp+210h] [xbp-3D0h]
__int64 v784[5]; // [xsp+228h] [xbp-3B8h] BYREF
__int64 v785[4]; // [xsp+250h] [xbp-390h] BYREF
NSString *v786; // [xsp+270h] [xbp-370h]
__int64 *v787; // [xsp+278h] [xbp-368h]
__int128 *v788; // [xsp+280h] [xbp-360h]
__int128 *v789; // [xsp+288h] [xbp-358h]
NSError *v790; // [xsp+290h] [xbp-350h]
NSError *v791; // [xsp+298h] [xbp-348h] BYREF
id v792; // [xsp+2A0h] [xbp-340h] BYREF
id v793; // [xsp+2A8h] [xbp-338h] BYREF
unsigned __int8 v794; // [xsp+2B7h] [xbp-329h] BYREF
__int64 v795; // [xsp+2B8h] [xbp-328h] BYREF
__int64 *v796; // [xsp+2C0h] [xbp-320h]
__int64 v797; // [xsp+2C8h] [xbp-318h]
int v798; // [xsp+2D0h] [xbp-310h]
__int64 v799; // [xsp+2D8h] [xbp-308h] BYREF
__int64 *v800; // [xsp+2E0h] [xbp-300h]
__int64 v801; // [xsp+2E8h] [xbp-2F8h]
int v802; // [xsp+2F0h] [xbp-2F0h]
char *v803; // [xsp+2F8h] [xbp-2E8h] BYREF
char v804; // [xsp+30Fh] [xbp-2D1h]
int v805; // [xsp+314h] [xbp-2CCh] BYREF
void *v806; // [xsp+318h] [xbp-2C8h] BYREF
__CFString *v807; // [xsp+320h] [xbp-2C0h] BYREF
NSError *v808; // [xsp+328h] [xbp-2B8h] BYREF
char v809[128]; // [xsp+330h] [xbp-2B0h] BYREF
__int64 v810[2]; // [xsp+3B0h] [xbp-230h] BYREF
__int64 v811[2]; // [xsp+3C0h] [xbp-220h] BYREF
__int64 v812[2]; // [xsp+3D0h] [xbp-210h] BYREF
const __LSASN *v813[4]; // [xsp+3E0h] [xbp-200h] BYREF
_BYTE v814[32]; // [xsp+400h] [xbp-1E0h] BYREF
__int128 v815; // [xsp+420h] [xbp-1C0h] BYREF
__int128 v816; // [xsp+430h] [xbp-1B0h]
__int128 v817; // [xsp+440h] [xbp-1A0h] BYREF
__int128 v818; // [xsp+450h] [xbp-190h]
__int128 v819; // [xsp+460h] [xbp-180h] BYREF
__int128 v820; // [xsp+470h] [xbp-170h]
__int128 v821[2]; // [xsp+480h] [xbp-160h] BYREF
_BYTE v822[58]; // [xsp+4A0h] [xbp-140h] BYREF
__int16 v823; // [xsp+4DAh] [xbp-106h]
__CFString *v824; // [xsp+4DCh] [xbp-104h]
__int16 v825; // [xsp+4E4h] [xbp-FCh]
__CFString *v826; // [xsp+4E6h] [xbp-FAh]
__int16 v827; // [xsp+4EEh] [xbp-F2h]
__CFString *v828; // [xsp+4F0h] [xbp-F0h]
__int16 v829; // [xsp+4F8h] [xbp-E8h]
__CFString *v830; // [xsp+4FAh] [xbp-E6h]
__int16 v831; // [xsp+502h] [xbp-DEh]
_LSOpen2Options *v832; // [xsp+504h] [xbp-DCh]
__int16 v833; // [xsp+50Ch] [xbp-D4h]
__CFString *v834; // [xsp+50Eh] [xbp-D2h]
__int128 v835[2]; // [xsp+520h] [xbp-C0h] BYREF
__int128 v836; // [xsp+540h] [xbp-A0h]
__int128 v837; // [xsp+550h] [xbp-90h]
v760 = objc_retain(a2);
v764 = objc_retain(a8);
v765 = objc_retain(a12);
v17 = objc_retainAutoreleasedReturnValue((_LSOpenLog)());
v18 = a10;
if ( j__os_log_type_enabled_3(v17, OS_LOG_TYPE_INFO) )
{
v774 = objc_retain(objc_retainAutoreleasedReturnValue(bundleIdentifierForBundleID(a1, a10)));
v771 = objc_retainAutoreleasedReturnValue(objc_msgSend(v760, "URL"));
if ( a6 )
{
appleEventSuiteAndIDasString(a6);
if ( v804 >= 0 )
v19 = &v803;
else
v19 = v803;
}
else
{
v19 = "-";
}
v757 = a5;
if ( a5 )
v20 = objc_retainAutoreleasedReturnValue(objc_msgSend(a5, "componentsJoinedByString:", CFSTR(" ")));
else
v20 = CFSTR("-");
v21 = &stru_1ED1C6B98;
if ( (a3 & 0x200) != 0 )
v22 = CFSTR("dontSwitch ");
else
v22 = &stru_1ED1C6B98;
if ( (a3 & 0x10000) != 0 )
v23 = CFSTR("async ");
else
v23 = &stru_1ED1C6B98;
if ( (a3 & 0x80000) != 0 )
v24 = CFSTR("newInstance ");
else
v24 = &stru_1ED1C6B98;
if ( (a3 & 0x100000) != 0 )
v25 = CFSTR("hide ");
else
v25 = &stru_1ED1C6B98;
if ( (a3 & 0x200000) != 0 )
v26 = CFSTR("hideOthers ");
else
v26 = &stru_1ED1C6B98;
if ( v764 )
v21 = objc_retainAutoreleasedReturnValue(objc_msgSend(v764, "componentsJoinedByString:", CFSTR(",")));
*v822 = 138546179;
*&v822[4] = v774;
*&v822[12] = 2113;
*&v822[14] = v771;
*&v822[22] = 2082;
*&v822[24] = v19;
*&v822[32] = 2114;
*&v822[34] = v20;
*&v822[42] = 1024;
*&v822[44] = a3;
*&v822[48] = 2112;
*&v822[50] = v22;
v823 = 2112;
v824 = v23;
v825 = 2112;
v826 = v24;
v827 = 2112;
v828 = v25;
v829 = 2112;
v830 = v26;
v831 = 2114;
v832 = v765;
v833 = 2114;
v834 = v21;
j___os_log_impl_1(
&dword_180981000,
v17,
OS_LOG_TYPE_INFO,
"_LSLaunchRB(%{public}@ %{private}@, event=%{public}s, args=%{public}@ 0x%x/%@%@%@%@%@ opts=%{public}@ %{public}@",
v822,
0x76u);
if ( v764 )
objc_release(v21);
a5 = v757;
v18 = a10;
if ( v757 )
objc_release(v20);
if ( a6 && v804 < 0 )
operator delete(v803);
objc_release(v771);
objc_release(v774);
objc_release(v774);
}
objc_release(v17);
v799 = 0LL;
v800 = &v799;
v801 = 0x2020000000LL;
v802 = 0;
v795 = 0LL;
v796 = &v795;
v797 = 0x2020000000LL;
v798 = v18;
v794 = 0;
v755 = objc_retain(v760);
v756 = objc_retainAutoreleasedReturnValue(+[NSDate date](&OBJC_CLASS___NSDate, "date"));
if ( a14 )
*a14 = 0LL;
if ( (((a3 >> 14) & 0x200 | a3) & 0x80000000) == 0 )
v27 = (a3 >> 14) & 0x200 | a3;
else
v27 = a3 | 0x200;
v28 = objc_retain(v755);
v775 = v27;
v770 = v28;
if ( (v27 & 0x20000000) != 0 )
{
v31 = *(v796 + 6);
v32 = objc_retainAutoreleasedReturnValue(objc_msgSend(v28, "pathWithError:", 0LL));
if ( v32 )
{
v33 = _LSBundleGet(a1->db, v31);
v34 = objc_retainAutoreleasedReturnValue(constructExecutablePathFromBundleData(a1, v31, v33, v32, 0));
if ( v34 )
{
v35 = objc_retainAutorelease(v32);
v36 = j__realpath_DARWIN_EXTSN_2(-[NSString fileSystemRepresentation](v35, "fileSystemRepresentation"), 0LL);
v37 = objc_retainAutorelease(v34);
v38 = j__realpath_DARWIN_EXTSN_2(objc_msgSend(v37, "fileSystemRepresentation"), 0LL);
v39 = v38;
v40 = 1;
if ( v36 && v38 )
{
v41 = j__strlen_10(v36);
v40 = j__strncmp_4(v39, v36, v41) == 0;
}
j__free_12(v36);
j__free_12(v39);
objc_release(v37);
objc_release(v35);
if ( v40 )
v30 = 0;
else
v30 = -10827;
goto LABEL_52;
}
objc_release(v32);
}
v30 = 0;
LABEL_52:
v29 = v800;
*(v800 + 6) = v30;
goto LABEL_53;
}
v29 = v800;
v30 = *(v800 + 6);
LABEL_53:
if ( (v775 & 0x40000) != 0 && !v30 )
{
*(v29 + 24) = -10828;
v42 = objc_retainAutoreleasedReturnValue((_LSOpenLog)());
if ( j__os_log_type_enabled_3(v42, OS_LOG_TYPE_ERROR) )
{
v43 = objc_retainAutoreleasedReturnValue(objc_msgSend(v770, "URL"));
v44 = *(v800 + 6);
*v822 = 138478083;
*&v822[4] = v43;
*&v822[12] = 1024;
*&v822[14] = v44;
j___os_log_impl_1(
&dword_180981000,
v42,
OS_LOG_TYPE_ERROR,
"LAUNCH:kLSLaunchInClassic is not supported, node=%{private}@ status=%d",
v822,
0x12u);
objc_release(v43);
}
objc_release(v42);
v30 = *(v800 + 6);
}
if ( v30 )
{
v772 = 0LL;
}
else
{
v45 = objc_retain(v770);
*&v835[0] = 0LL;
v46 = objc_msgSend(v45, "getWriterBundleIdentifier:error:", v835, 0LL);
v47 = v46 & (*&v835[0] != 0LL);
if ( v47 == 1 )
{
*&v819 = CFSTR("LSUpdaterBundleID");
*&v821[0] = *&v835[0];
v48 = objc_retainAutoreleasedReturnValue(
+[NSDictionary dictionaryWithObjects:forKeys:count:](
&OBJC_CLASS___NSDictionary,
"dictionaryWithObjects:forKeys:count:",
v821,
&v819,
1LL));
v49 = objc_autorelease(objc_retainAutoreleasedReturnValue(_LSMakeNSErrorImpl(
CFSTR("NSOSStatusErrorDomain"),
-10699LL,
"isAppStoreInTheProcesSOfUpdatingApplication",
552LL,
v48)));
objc_release(v48);
if ( *&v835[0] && !objc_msgSend(*&v835[0], "caseInsensitiveCompare:", CFSTR("com.apple.storeagent")) )
{
v50 = objc_retainAutoreleasedReturnValue(j__dispatch_get_global_queue_2(0LL, 0LL));
*v822 = &OBJC_CLASS_____NSStackBlock__;
*&v822[8] = 3254779904LL;
*&v822[16] = ___ZL43isAppStoreInTheProcesSOfUpdatingApplicationP9LSContextjP6FSNodePU15__autoreleasingP7NSError_block_invoke;
*&v822[24] = &__block_descriptor_40_ea8_32s_e5_v8__0l;
*&v822[32] = objc_retain(v45);
j__dispatch_async_3(v50, v822);
objc_release(v50);
objc_release(*&v822[32]);
}
}
else
{
v49 = 0LL;
}
objc_release(*&v835[0]);
objc_release(v45);
v772 = objc_retain(v49);
if ( v47 )
{
*(v800 + 6) = -10699;
v51 = objc_retainAutoreleasedReturnValue((_LSOpenLog)());
if ( j__os_log_type_enabled_3(v51, OS_LOG_TYPE_ERROR) )
{
v52 = objc_retain(objc_retainAutoreleasedReturnValue(bundleIdentifierForBundleID(a1, *(v796 + 6))));
v53 = *(v800 + 6);
*v822 = 138544131;
*&v822[4] = v52;
*&v822[12] = 2113;
*&v822[14] = v45;
*&v822[22] = 1024;
*&v822[24] = v53;
*&v822[28] = 2114;
*&v822[30] = v772;
j___os_log_impl_1(
&dword_180981000,
v51,
OS_LOG_TYPE_ERROR,
"LAUNCH:Refusing to launch application because it is being updated by the AppStore, %{public}@ node=%{private}@"
" status=%d error=%{public}@",
v822,
0x26u);
objc_release(v52);
objc_release(v52);
}
objc_release(v51);
if ( a14 )
{
v772 = objc_retainAutorelease(v772);
*a14 = v772;
}
}
}
if ( !*(v800 + 6) && objc_msgSend(v770, "isInTrash") )
{
*(v800 + 6) = -10660;
v54 = objc_retainAutoreleasedReturnValue((_LSOpenLog)());
if ( j__os_log_type_enabled_3(v54, OS_LOG_TYPE_ERROR) )
{
v55 = objc_retain(objc_retainAutoreleasedReturnValue(bundleIdentifierForBundleID(a1, *(v796 + 6))));
v56 = objc_retainAutoreleasedReturnValue(objc_msgSend(v770, "URL"));
v57 = *(v800 + 6);
*v822 = 138543875;
*&v822[4] = v55;
*&v822[12] = 2113;
*&v822[14] = v56;
*&v822[22] = 1024;
*&v822[24] = v57;
j___os_log_impl_1(
&dword_180981000,
v54,
OS_LOG_TYPE_ERROR,
"LAUNCH:Refusing to launch application .inTrash = YES, %{public}@ node=%{private}@ status=%d",
v822,
0x1Cu);
objc_release(v56);
objc_release(v55);
objc_release(v55);
}
objc_release(v54);
}
if ( *(v800 + 6) )
{
v761 = 0LL;
v769 = v770;
goto LABEL_173;
}
v58 = *(v796 + 6);
v59 = objc_retain(v770);
v60 = objc_retain(v764);
if ( !a1 )
{
v61 = 0;
goto LABEL_147;
}
v61 = 0;
if ( v58 && a1->db )
{
v62 = _LSBundleGet(a1->db, v58);
v63 = v62;
if ( !v62 )
{
v64 = objc_retainAutoreleasedReturnValue((_LSOpenLog)());
if ( !j__os_log_type_enabled_3(v64, OS_LOG_TYPE_ERROR) )
{
v61 = -10814;
LABEL_146:
objc_release(v64);
goto LABEL_147;
}
v82 = objc_retainAutoreleasedReturnValue(objc_msgSend(v59, "URL"));
*v822 = 138478083;
*&v822[4] = v82;
*&v822[12] = 1024;
v61 = -10814;
*&v822[14] = -10814;
j___os_log_impl_1(
&dword_180981000,
v64,
OS_LOG_TYPE_ERROR,
"LAUNCH:Unable to launch application because it there was no bundleData for node=%{private}@ status=%d",
v822,
0x12u);
v83 = v82;
LABEL_145:
objc_release(v83);
goto LABEL_146;
}
v64 = _CSStringCopyCFString(a1->db->store, *(v62 + 12));
if ( !_LSBundleMeetsMinimumVersionRequirement(a1->db, v58, v63) )
{
v84 = objc_retainAutoreleasedReturnValue((_LSOpenLog)());
if ( j__os_log_type_enabled_3(v84, OS_LOG_TYPE_ERROR) )
{
v85 = objc_retainAutoreleasedReturnValue(objc_msgSend(v59, "URL"));
*v822 = 138543875;
*&v822[4] = v64;
*&v822[12] = 2113;
*&v822[14] = v85;
*&v822[22] = 1026;
*&v822[24] = -10664;
j___os_log_impl_1(
&dword_180981000,
v84,
OS_LOG_TYPE_ERROR,
"LAUNCH: Application being launched requires a later version of the operating system to execute, %{public}@ nod"
"e=%{private}@ status=%{public}d",
v822,
0x1Cu);
objc_release(v85);
}
objc_release(v84);
v61 = -10664;
goto LABEL_146;
}
if ( (*(v63 + 149) & 0x10) != 0 )
goto LABEL_88;
v65 = *(v63 + 224);
v821[0] = *(v63 + 208);
v821[1] = v65;
v66 = *(v63 + 256);
v819 = *(v63 + 240);
v820 = v66;
if ( _LSBundleDataMinSystemVersionAllowsCurrentSystem(v63) )
{
*v822 = v819;
*&v822[16] = v820;
memset(v835, 0, sizeof(v835));
if ( !_LSVersionNumberCompare(v822, v835)
|| (v817 = v819,
v818 = v820,
v67 = *(v63 + 256),
v815 = *(v63 + 240),
v816 = v67,
_LSVersionNumberCompare(&v817, &v815) != -1) )
{
v68 = *(v63 + 292);
*v814 = *(v63 + 276);
*&v814[16] = v68;
v69 = *(v63 + 292);
*v822 = *(v63 + 276);
*&v822[16] = v69;
memset(v835, 0, sizeof(v835));
if ( _LSVersionNumberCompare(v822, v835) && !_LSBundleDataExecMinOSVersionAllowsCurrentSystem(v63) )
{
v101 = objc_retainAutoreleasedReturnValue((_LSOpenLog)());
if ( j__os_log_type_enabled_3(v101, OS_LOG_TYPE_ERROR) )
{
v835[0] = *v814;
v835[1] = *&v814[16];
v102 = objc_retain(objc_retainAutoreleasedReturnValue(_LSVersionNumberGetStringRepresentation(v835)));
_LSGetCurrentSystemVersion(v813);
v103 = objc_retainAutoreleasedReturnValue(_LSVersionNumberGetStringRepresentation(v813));
v104 = objc_retainAutoreleasedReturnValue(objc_msgSend(v59, "URL"));
*v822 = 138544387;
*&v822[4] = v102;
*&v822[12] = 2114;
*&v822[14] = v103;
*&v822[22] = 2114;
*&v822[24] = v64;
*&v822[32] = 2113;
*&v822[34] = v104;
*&v822[42] = 1026;
*&v822[44] = -10825;
j___os_log_impl_1(
&dword_180981000,
v101,
OS_LOG_TYPE_ERROR,
"LAUNCH: Application being launched requires conditional %{public}@, but is being run on an earlier version"
" of the operating system %{public}@ to execute, is on %{public}@ node=%{private}@ status=%{public}d",
v822,
0x30u);
objc_release(v104);
objc_release(v102);
objc_release(v103);
objc_release(v102);
}
v105 = v101;
LABEL_984:
objc_release(v105);
v61 = -10825;
goto LABEL_146;
}
if ( !*(v63 + 524) && !j__getenv_8("__FORCE_MANAGED_USER") )
goto LABEL_1052;
LABEL_88:
if ( canThisProcessLaunchManagedApplications(void)::sOnce != -1 )
j__dispatch_once_3(&canThisProcessLaunchManagedApplications(void)::sOnce, &__block_literal_global_174);
if ( !canThisProcessLaunchManagedApplications(void)::sResult )
goto LABEL_123;
v70 = objc_retainAutoreleasedReturnValue((_LSOpenLog)());
if ( j__os_log_type_enabled_3(v70, OS_LOG_TYPE_DEBUG) )
{
*v822 = 0;
j___os_log_impl_1(
&dword_180981000,
v70,
OS_LOG_TYPE_DEBUG,
"LAUNCH: This process can directly launch managed applications.",
v822,
2u);
}
objc_release(v70);
if ( !canThisProcessLaunchManagedApplications(void)::sResult )
{
LABEL_123:
v86 = objc_retainAutoreleasedReturnValue((_LSOpenLog)());
if ( !j__os_log_type_enabled_3(v86, OS_LOG_TYPE_INFO) )
{
LABEL_133:
objc_release(v86);
v61 = -10668;
goto LABEL_146;
}
*v822 = 0;
v87 = "LAUNCH: Application being launched has managed personas, so returning kLSLaunchNeedsToGoThruHelperErr to"
" force it to launch tru CSUI.";
}
else
{
LABEL_1052:
if ( *(v63 + 20) != 2 )
goto LABEL_103;
if ( canThisProcessLaunchContainerizedApplications(void)::sOnce != -1 )
j__dispatch_once_3(&canThisProcessLaunchContainerizedApplications(void)::sOnce, &__block_literal_global_179);
if ( canThisProcessLaunchContainerizedApplications(void)::sResult )
{
v71 = objc_retainAutoreleasedReturnValue((_LSOpenLog)());
if ( j__os_log_type_enabled_3(v71, OS_LOG_TYPE_DEBUG) )
{
*v822 = 0;
j___os_log_impl_1(
&dword_180981000,
v71,
OS_LOG_TYPE_DEBUG,
"LAUNCH: This process can directly launch ios apps.",
v822,
2u);
}
objc_release(v71);
if ( canThisProcessLaunchContainerizedApplications(void)::sResult )
{
LABEL_103:
if ( (*(v63 + 161) & 1) != 0 )
{
v96 = objc_retainAutoreleasedReturnValue((_LSOpenLog)());
if ( j__os_log_type_enabled_3(v96, OS_LOG_TYPE_ERROR) )
{
v97 = objc_retainAutoreleasedReturnValue(objc_msgSend(v59, "URL"));
*v822 = 138543875;
*&v822[4] = v64;
*&v822[12] = 2113;
*&v822[14] = v97;
*&v822[22] = 1024;
*&v822[24] = -10828;
j___os_log_impl_1(
&dword_180981000,
v96,
OS_LOG_TYPE_ERROR,
"LAUNCH:Unable to launch kLSItemInfoIsClassicApp for %{public}@ node=%{private}@ status=%d",
v822,
0x1Cu);
objc_release(v97);
}
objc_release(v96);
v61 = -10828;
goto LABEL_146;
}
v72 = *(v63 + 148);
if ( (v72 & 0x800000000LL) != 0 )
{
v98 = objc_retainAutoreleasedReturnValue((_LSOpenLog)());
if ( !j__os_log_type_enabled_3(v98, OS_LOG_TYPE_ERROR) )
{
LABEL_701:
objc_release(v98);
v61 = -10657;
goto LABEL_146;
}
v99 = objc_retainAutoreleasedReturnValue(objc_msgSend(v59, "URL"));
*v822 = 138543875;
*&v822[4] = v64;
*&v822[12] = 2113;
*&v822[14] = v99;
*&v822[22] = 1024;
*&v822[24] = 0;
v100 = "LAUNCH:Unable to launch application in snapshots directory, %{public}@ node=%{private}@ status=%d";
}
else
{
if ( (v72 & 0x1000000000LL) == 0 )
{
if ( (isApplicationRequiredVersionAcceptable(v63) & 1) != 0 )
{
if ( (*(v63 + 158) & 0x80) == 0 )
{
if ( !*(v63 + 192) )
{
v681 = objc_retainAutoreleasedReturnValue((_LSOpenLog)());
if ( j__os_log_type_enabled_3(v681, OS_LOG_TYPE_ERROR) )
{
v682 = objc_retainAutoreleasedReturnValue(objc_msgSend(v59, "URL"));
*v822 = 138543875;
*&v822[4] = v64;
*&v822[12] = 2113;
*&v822[14] = v682;
*&v822[22] = 1024;
*&v822[24] = -10827;
j___os_log_impl_1(
&dword_180981000,
v681,
OS_LOG_TYPE_ERROR,
"LAUNCH:Returning kLSNoExecutableErr because bundle has no inode, %{public}@ node=%{private}@ status=%d",
v822,
0x1Cu);
objc_release(v682);
}
objc_release(v681);
v61 = -10827;
goto LABEL_146;
}
if ( v60 )
{
v73 = objc_retain(v60);
v74 = -[LSSliceInfo initWithType:subtype:](
objc_alloc(&OBJC_CLASS___LSSliceInfo),
"initWithType:subtype:",
0xFFFFFFFFLL,
0xFFFFFFFFLL);
v75 = objc_msgSend(v73, "containsObject:", v74);
objc_release(v74);
if ( (v75 & 1) != 0 || (*(v63 + 148) & 0x10) != 0 )
{
objc_release(v73);
}
else
{
v76 = objc_retain(v73);
v77 = objc_alloc_init(&OBJC_CLASS___NSMutableSet);
*v822 = &OBJC_CLASS_____NSStackBlock__;
*&v822[8] = 3254779904LL;
*&v822[16] = ___ZL41filterRequestedArchitecturesForBundleDataPK12LSBundleDataP7NSArrayIP11LSSliceInfoE_block_invoke;
*&v822[24] = &__block_descriptor_56_ea8_32s40s_e26_v24__0_LSSliceData_ii_8_16l;
*&v822[48] = v63;
v78 = objc_retain(v76);
*&v822[32] = v78;
v79 = objc_retain(v77);
*&v822[40] = v79;
_LSEnumerateSliceMask(*(v63 + 140), v822);
v80 = objc_retainAutoreleasedReturnValue(-[NSSet allObjects](v79, "allObjects"));
objc_release(*&v822[40]);
objc_release(*&v822[32]);
objc_release(v79);
objc_release(v78);
v81 = -[NSArray count](v80, "count");
objc_release(v80);
objc_release(v78);
if ( !v81 )
{
if ( requestedArchitectureWouldBeSupportedIfCambriaWereInstalled(v63, v78) )
v61 = -10669;
else
v61 = -10661;
goto LABEL_146;
}
}
}
}
if ( (*(v63 + 149) & 0x20) != 0 )
{
v688 = _LSLoadJavaLaunchingFramework();
if ( !_LSIsJavaInstalled(v688) )
{
v697 = _LSRequestRuntimeInstall(v59);
v698 = objc_retainAutoreleasedReturnValue(_LSOpenLog(v697));
if ( j__os_log_type_enabled_3(v698, OS_LOG_TYPE_ERROR) )
{
v699 = objc_retainAutoreleasedReturnValue(objc_msgSend(v59, "URL"));
*v822 = 138543875;
*&v822[4] = v64;
*&v822[12] = 2113;
*&v822[14] = v699;
*&v822[22] = 1024;
*&v822[24] = -10658;
j___os_log_impl_1(
&dword_180981000,
v698,
OS_LOG_TYPE_ERROR,
"LAUNCH:Application requires Java, which is not installed, so failing, %{public}@ node=%{priv"
"ate}@, status=%d",
v822,
0x1Cu);
objc_release(v699);
}
objc_release(v698);
v61 = -10658;
goto LABEL_146;
}
}
v689 = objc_retain(v59);
v690 = objc_retain(v64);
if ( !_LSBundleDataGetUnsupportedFormatFlag(a1->db, v63) )
{
if ( (_LSGetCPUType() & 0xFFFFFF) == 12
&& (_LS_oah_is_translation_available() & 1) == 0
&& (*(v63 + 173) & 0x10) == 0 )
{
*&v821[0] = 0LL;
*(&v821[0] + 1) = v821;
*&v821[1] = 0x2020000000LL;
BYTE8(v821[1]) = 0;
*&v819 = 0LL;
*(&v819 + 1) = &v819;
*&v820 = 0x2020000000LL;
BYTE8(v820) = 0;
*&v835[0] = &OBJC_CLASS_____NSStackBlock__;
*(&v835[0] + 1) = 3254779904LL;
*&v835[1] = ___ZL49applicationWouldBeSupportedIfCambriaWereInstalledPK12LSBundleData_block_invoke;
*(&v835[1] + 1) = &__block_descriptor_48_ea8_32r40r_e26_v24__0_LSSliceData_ii_8_16l;
*&v836 = v821;
*(&v836 + 1) = &v819;
_LSEnumerateSliceMask(*(v63 + 140), v835);
if ( *(*(&v819 + 1) + 24LL) )
{
v694 = *(*(&v821[0] + 1) + 24LL);
j___Block_object_dispose_6(&v819, 8);
j___Block_object_dispose_6(v821, 8);
if ( !v694 )
{
v696 = objc_retainAutoreleasedReturnValue(_LSOpenLog(v695));
if ( j__os_log_type_enabled_3(v696, OS_LOG_TYPE_INFO) )
{
LODWORD(v835[0]) = 138543875;
*(v835 + 4) = v690;
WORD6(v835[0]) = 2113;
*(v835 + 14) = v689;
WORD3(v835[1]) = 1026;
DWORD2(v835[1]) = -10669;
j___os_log_impl_1(
&dword_180981000,
v696,
OS_LOG_TYPE_INFO,
"LAUNCH: Application cannot be launched because Rosetta is not installed. %{public}@ node"
"=%{private}@ status=%{public}d",
v835,
0x1Cu);
}
objc_release(v696);
v61 = -10669;
goto LABEL_1042;
}
}
else
{
j___Block_object_dispose_6(&v819, 8);
j___Block_object_dispose_6(v821, 8);
}
}
objc_release(v690);
objc_release(v689);
v703 = preflightLaunchWithSystemPolicy(v63, v689);
v61 = v703;
if ( !v703 )
{
LABEL_1049:
v64 = v690;
goto LABEL_146;
}
v704 = objc_retainAutoreleasedReturnValue(_LSOpenLog(v703));
if ( j__os_log_type_enabled_3(v704, OS_LOG_TYPE_ERROR) )
{
v705 = objc_retainAutoreleasedReturnValue(-[FSNode URL](v689, "URL"));
*v822 = 138543875;
*&v822[4] = v690;
*&v822[12] = 2113;
*&v822[14] = v705;
*&v822[22] = 1024;
*&v822[24] = v61;
j___os_log_impl_1(
&dword_180981000,
v704,
OS_LOG_TYPE_ERROR,
"LAUNCH: failed launch-imminent GateKeeper preflight %{public}@ node=%{private}@, status=%d",
v822,
0x1Cu);
objc_release(v705);
}
v702 = v704;
LABEL_1048:
objc_release(v702);
goto LABEL_1049;
}
*&v835[0] = 0LL;
*(&v835[0] + 1) = v835;
*&v835[1] = 0x2020000000LL;
BYTE8(v835[1]) = 0;
*&v821[0] = 0LL;
*(&v821[0] + 1) = v821;
*&v821[1] = 0x2020000000LL;
BYTE8(v821[1]) = 1;
*&v819 = 0LL;
*(&v819 + 1) = &v819;
*&v820 = 0x2020000000LL;
BYTE8(v820) = 0;
*v822 = &OBJC_CLASS_____NSStackBlock__;
*&v822[8] = 3254779904LL;
*&v822[16] = ___ZL28ensureApplicationIsSupportedP9LSContextPK12LSBundleDataP6FSNodeP8NSString_block_invoke;
*&v822[24] = &__block_descriptor_56_ea8_32r40r48r_e26_v24__0_LSSliceData_ii_8_16l;
*&v822[32] = v835;
*&v822[40] = v821;
*&v822[48] = &v819;
v691 = _LSEnumerateSliceMask(*(v63 + 140), v822);
if ( *(v63 + 132) == 9 )
{
v692 = objc_retainAutoreleasedReturnValue(_LSOpenLog(v691));
v61 = -10667;
if ( j__os_log_type_enabled_3(v692, OS_LOG_TYPE_ERROR) )
{
*v814 = 138543875;
*&v814[4] = v690;
*&v814[12] = 2113;
*&v814[14] = v689;
*&v814[22] = 1024;
*&v814[24] = -10667;
v693 = "LAUNCH:Application in a ROSP-controlled folder should not be launched, %{public}@ node=%{"
"private}@ status=%d";
LABEL_1040:
j___os_log_impl_1(&dword_180981000, v692, OS_LOG_TYPE_ERROR, v693, v814, 0x1Cu);
}
}
else if ( *(*(&v835[0] + 1) + 24LL) && *(*(&v821[0] + 1) + 24LL) )
{
v692 = objc_retainAutoreleasedReturnValue(_LSOpenLog(v691));
v61 = -10665;
if ( j__os_log_type_enabled_3(v692, OS_LOG_TYPE_ERROR) )
{
*v814 = 138543875;
*&v814[4] = v690;
*&v814[12] = 2113;
*&v814[14] = v689;
*&v814[22] = 1024;
*&v814[24] = -10665;
v693 = "LAUNCH:Application requires PowerPC Rosetta and cannot be launched, %{public}@ node=%{pri"
"vate}@ status=%d";
goto LABEL_1040;
}
}
else if ( (*(v63 + 142) & 2) != 0 )
{
v692 = objc_retainAutoreleasedReturnValue(_LSOpenLog(v691));
v61 = -10666;
if ( j__os_log_type_enabled_3(v692, OS_LOG_TYPE_ERROR) )
{
*v814 = 138543875;
*&v814[4] = v690;
*&v814[12] = 2113;
*&v814[14] = v689;
*&v814[22] = 1024;
*&v814[24] = -10666;
v693 = "LAUNCH:Application requires garbage collection and cannot be launched, %{public}@ node=%{"
"private}@ status=%d";
goto LABEL_1040;
}
}
else if ( *(*(&v819 + 1) + 24LL) )
{
v692 = objc_retainAutoreleasedReturnValue(_LSOpenLog(v691));
v61 = -10386;
if ( j__os_log_type_enabled_3(v692, OS_LOG_TYPE_ERROR) )
{
*v814 = 138543875;
*&v814[4] = v690;
*&v814[12] = 2113;
*&v814[14] = v689;
*&v814[22] = 1024;
*&v814[24] = -10386;
v693 = "LAUNCH:Application requires i386 and cannot be launched, %{public}@ node=%{private}@ status=%d";
goto LABEL_1040;
}
}
else
{
v692 = objc_retainAutoreleasedReturnValue(_LSOpenLog(v691));
v61 = -10661;
if ( j__os_log_type_enabled_3(v692, OS_LOG_TYPE_ERROR) )
{
*v814 = 138543875;
*&v814[4] = v690;
*&v814[12] = 2113;
*&v814[14] = v689;
*&v814[22] = 1024;
*&v814[24] = -10661;
v693 = "LAUNCH:Application cannot be launched because its unsupported bit is set, %{public}@ node"
"=%{private}@ status=%d";
goto LABEL_1040;
}
}
objc_release(v692);
j___Block_object_dispose_6(&v819, 8);
j___Block_object_dispose_6(v821, 8);
j___Block_object_dispose_6(v835, 8);
LABEL_1042:
objc_release(v690);
v702 = v689;
goto LABEL_1048;
}
v672 = objc_retainAutoreleasedReturnValue((_LSOpenLog)());
if ( j__os_log_type_enabled_3(v672, OS_LOG_TYPE_ERROR) )
{
v673 = objc_retainAutoreleasedReturnValue(objc_msgSend(v59, "URL"));
*v822 = 138543875;
*&v822[4] = v64;
*&v822[12] = 2113;
*&v822[14] = v673;
*&v822[22] = 1024;
*&v822[24] = -10825;
j___os_log_impl_1(
&dword_180981000,
v672,
OS_LOG_TYPE_ERROR,
"LAUNCH:Returning kLSIncompatibleSystemVersionErr because system version is too old, %{public}@ nod"
"e=%{private}@ status=%d",
v822,
0x1Cu);
objc_release(v673);
}
v105 = v672;
goto LABEL_984;
}
v98 = objc_retainAutoreleasedReturnValue((_LSOpenLog)());
if ( !j__os_log_type_enabled_3(v98, OS_LOG_TYPE_ERROR) )
goto LABEL_701;
v99 = objc_retainAutoreleasedReturnValue(objc_msgSend(v59, "URL"));
*v822 = 138543875;
*&v822[4] = v64;
*&v822[12] = 2113;
*&v822[14] = v99;
*&v822[22] = 1024;
*&v822[24] = 0;
v100 = "LAUNCH:Unable to launch application in generational storage, %{public}@ node=%{private}@ status=%d";
}
j___os_log_impl_1(&dword_180981000, v98, OS_LOG_TYPE_ERROR, v100, v822, 0x1Cu);
objc_release(v99);
goto LABEL_701;
}
}
v86 = objc_retainAutoreleasedReturnValue((_LSOpenLog)());
if ( !j__os_log_type_enabled_3(v86, OS_LOG_TYPE_INFO) )
goto LABEL_133;
*v822 = 0;
v87 = "LAUNCH: Application being launched is PLATFORM_IOS, so returning kLSLaunchNeedsToGoThruHelperErr to forc"
"e it to launch tru CSUI.";
}
j___os_log_impl_1(&dword_180981000, v86, OS_LOG_TYPE_INFO, v87, v822, 2u);
goto LABEL_133;
}
v89 = objc_retainAutoreleasedReturnValue((_LSOpenLog)());
if ( !j__os_log_type_enabled_3(v89, OS_LOG_TYPE_ERROR) )
{
v61 = -10664;
goto LABEL_144;
}
v835[0] = v819;
v835[1] = v820;
v90 = objc_retain(objc_retainAutoreleasedReturnValue(_LSVersionNumberGetStringRepresentation(v835)));
_LSGetCurrentSystemVersion(v814);
v91 = objc_retainAutoreleasedReturnValue(_LSVersionNumberGetStringRepresentation(v814));
v92 = objc_retainAutoreleasedReturnValue(objc_msgSend(v59, "URL"));
*v822 = 138544387;
*&v822[4] = v90;
*&v822[12] = 2114;
*&v822[14] = v91;
*&v822[22] = 2114;
*&v822[24] = v64;
*&v822[32] = 2113;
*&v822[34] = v92;
*&v822[42] = 1026;
v61 = -10664;
*&v822[44] = -10664;
v93 = "LAUNCH: Application being launched requires a later version of the operating system, %{public}@, to execute,"
" is on %{public}@, %{public}@ node=%{private}@ status=%{public}d";
v94 = v89;
v95 = 48;
}
else
{
v88 = *(v63 + 204);
v89 = objc_retainAutoreleasedReturnValue((_LSOpenLog)());
if ( !j__os_log_type_enabled_3(v89, OS_LOG_TYPE_ERROR) )
{
v61 = -10825;
LABEL_144:
v83 = v89;
goto LABEL_145;
}
v835[0] = v821[0];
v835[1] = v821[1];
v90 = objc_retain(objc_retainAutoreleasedReturnValue(_LSVersionNumberGetStringRepresentation(v835)));
_LSGetCurrentSystemVersion(&v817);
v91 = objc_retainAutoreleasedReturnValue(_LSVersionNumberGetStringRepresentation(&v817));
v92 = objc_retainAutoreleasedReturnValue(objc_msgSend(v59, "URL"));
*v822 = 138544643;
*&v822[4] = v90;
*&v822[12] = 1026;
*&v822[14] = v88;
*&v822[18] = 2114;
*&v822[20] = v91;
*&v822[28] = 2114;
*&v822[30] = v64;
*&v822[38] = 2113;
*&v822[40] = v92;
*&v822[48] = 1026;
v61 = -10825;
*&v822[50] = -10825;
v93 = "LAUNCH: Application being launched requires %{public}@ on platform %{public}d, but is being run on an earlie"
"r version of the operating system %{public}@ to execute, is on %{public}@ node=%{private}@ status=%{public}d";
v94 = v89;
v95 = 54;
}
j___os_log_impl_1(&dword_180981000, v94, OS_LOG_TYPE_ERROR, v93, v822, v95);
objc_release(v92);
objc_release(v90);
objc_release(v91);
objc_release(v90);
goto LABEL_144;
}
LABEL_147:
objc_release(v60);
objc_release(v59);
*(v800 + 6) = v61;
if ( v61 )
{
v761 = 0LL;
v769 = v59;
goto LABEL_173;
}
v106 = *(v796 + 6);
v793 = v59;
v792 = 0LL;
v107 = objc_retain(v59);
v794 = 0;
*&v835[0] = 0LL;
v108 = _LSGetTranslocatedAppNodeAndSecureDirectory(a1, v106, v107, &v793, &v792, 0LL, &v794, v835);
v109 = objc_retainAutorelease(objc_retain(*&v835[0]));
v110 = v109;
if ( (v108 & 1) != 0 )
{
v111 = 0;
}
else
{
v112 = _LSGetOSStatusFromNSError(v109);
v111 = v112;
v113 = objc_retainAutoreleasedReturnValue(_LSOpenLog(v112));
if ( j__os_log_type_enabled_3(v113, OS_LOG_TYPE_ERROR) )
{
v114 = objc_retainAutoreleasedReturnValue(bundleIdentifierForBundleID(a1, v106));
v115 = objc_retainAutoreleasedReturnValue(objc_msgSend(v107, "URL"));
*v822 = 138543619;
*&v822[4] = v114;
*&v822[12] = 2113;
*&v822[14] = v115;
j___os_log_impl_1(
&dword_180981000,
v113,
OS_LOG_TYPE_ERROR,
"LAUNCH: Failure %{public}@ %{private}@ could not be translocated.",
v822,
0x16u);
objc_release(v115);
objc_release(v114);
}
objc_release(v113);
}
objc_release(v110);
objc_release(v107);
v769 = objc_retain(v793);
objc_release(v107);
v761 = objc_retain(v792);
v116 = objc_retain(v110);
objc_release(v772);
*(v800 + 6) = v111;
if ( !v111 )
{
if ( v794 )
{
v121 = objc_retainAutoreleasedReturnValue(_LSOpenLog(v117));
if ( j__os_log_type_enabled_3(v121, OS_LOG_TYPE_INFO) )
{
v122 = objc_retainAutoreleasedReturnValue(objc_msgSend(v769, "URL"));
v123 = objc_retainAutoreleasedReturnValue(objc_msgSend(v107, "URL"));
*v822 = 138478083;
*&v822[4] = v122;
*&v822[12] = 2113;
*&v822[14] = v123;
j___os_log_impl_1(
&dword_180981000,
v121,
OS_LOG_TYPE_INFO,
"LAUNCH: translocate to %{private}@ from %{private}@",
v822,
0x16u);
objc_release(v123);
objc_release(v122);
}
objc_release(v121);
}
_LSTranslocateCoreAnalyticsAppLaunch(v107);
v124 = *(v796 + 6);
v125 = objc_retain(v769);
v126 = _LSBundleGet(a1->db, v124);
if ( v126 && *(v126 + 20) == 2 )
{
v127 = _LSFindOrRegisterBundleNode(a1, v125, 0LL, 0LL, 0LL, 0LL, 0LL);
objc_release(v125);
if ( !v127 )
{
LABEL_171:
v769 = v125;
goto LABEL_172;
}
v129 = objc_retainAutoreleasedReturnValue(_LSOpenLog(v128));
if ( j__os_log_type_enabled_3(v129, OS_LOG_TYPE_ERROR) )
{
*v822 = 134217984;
*&v822[4] = v127;
j___os_log_impl_1(
&dword_180981000,
v129,
OS_LOG_TYPE_ERROR,
"LAUNCH:pre-registering translocated app node failed, optimistically continuing anyway: %ld",
v822,
0xCu);
}
v130 = v129;
}
else
{
v130 = v125;
}
objc_release(v130);
goto LABEL_171;
}
v118 = objc_retainAutoreleasedReturnValue(_LSOpenLog(v117));
if ( j__os_log_type_enabled_3(v118, OS_LOG_TYPE_ERROR) )
{
v119 = objc_retain(objc_retainAutoreleasedReturnValue(bundleIdentifierForBundleID(a1, *(v796 + 6))));
v120 = objc_retainAutoreleasedReturnValue(objc_msgSend(v107, "URL"));
*v822 = 138543875;
*&v822[4] = v119;
*&v822[12] = 2113;
*&v822[14] = v120;
*&v822[22] = 2114;
*&v822[24] = v116;
j___os_log_impl_1(
&dword_180981000,
v118,
OS_LOG_TYPE_ERROR,
"LAUNCH:translocate failed, %{public}@ %{private}@, error=%{public}@",
v822,
0x20u);
objc_release(v120);
objc_release(v119);
objc_release(v119);
}
objc_release(v118);
if ( a14 )
{
v772 = objc_retainAutorelease(v116);
*a14 = v772;
goto LABEL_173;
}
LABEL_172:
v772 = v116;
LABEL_173:
if ( *(v800 + 6) )
{
v763 = 0LL;
}
else
{
v791 = v772;
v131 = objc_retainAutoreleasedReturnValue(objc_msgSend(v769, "pathWithError:", &v791));
v132 = objc_retain(v791);
objc_release(v772);
v763 = v131;
if ( !v131 )
{
v134 = objc_retainAutoreleasedReturnValue(_LSOpenLog(v133));
if ( j__os_log_type_enabled_3(v134, OS_LOG_TYPE_ERROR) )
{
v135 = objc_retainAutoreleasedReturnValue(objc_msgSend(v769, "URL"));
*v822 = 138478083;
*&v822[4] = v135;
*&v822[12] = 2114;
*&v822[14] = v132;
j___os_log_impl_1(
&dword_180981000,
v134,
OS_LOG_TYPE_ERROR,
"LAUNCH:Unable to determine path for bundle, node=%{private}@ error=%{public}@",
v822,
0x16u);
objc_release(v135);
}
objc_release(v134);
v136 = _LSGetOSStatusFromNSError(v132);
*(v800 + 6) = v136;
if ( a14 )
{
v763 = 0LL;
v772 = objc_retainAutorelease(v132);
*a14 = v772;
goto LABEL_181;
}
v763 = 0LL;
}
v772 = v132;
}
LABEL_181:
if ( (v775 & 0x80008) != 8 || *(v800 + 6) )
goto LABEL_190;
v137 = objc_retain(v769);
v138 = v137;
if ( !a11 )
goto LABEL_189;
v139 = objc_retainAutoreleasedReturnValue(objc_msgSend(v137, "pathWithError:", 0LL));
if ( !v139 || (v140 = _LSCopyApplicationsWithPath(4294967294LL, v139), (v141 = v140) == 0LL) )
{
objc_release(v139);
LABEL_189:
objc_release(v138);
goto LABEL_190;
}
if ( j__CFArrayGetCount(v140) < 1 )
v142 = 0LL;
else
v142 = j__CFRetain(v141);
j__CFRelease(v141);
objc_release(v139);
if ( !v142 )
goto LABEL_189;
Count = j__CFArrayGetCount(v142);
if ( Count < 1 )
{
v198 = 0;
}
else
{
v197 = 0LL;
v198 = 0;
do
{
ValueAtIndex = j__CFArrayGetValueAtIndex(v142, v197);
v200 = _LSGetPIDFromToken(a11);
if ( v200 == j__getpid_8() )
{
v201 = _LSGetCurrentApplicationASN();
v198 = j__CFEqual(ValueAtIndex, v201) != 0;
}
else
{
v202 = _LSCopyApplicationInformationItem(4294967294LL, ValueAtIndex, CFSTR("pid"));
v203 = v202;
if ( v202 )
{
*v822 = 0LL;
Value = j__CFNumberGetValue(v202, kCFNumberLongLongType, v822);
v205 = *v822;
v206 = _LSGetPIDFromToken(a11);
if ( Value )
v207 = v205;
else
v207 = 0;
v198 = v206 == v207;
j__CFRelease(v203);
}
}
++v197;
}
while ( v197 < Count && !v198 );
}
j__CFRelease(v142);
objc_release(v138);
if ( v198 )
{
v209 = objc_retainAutoreleasedReturnValue(_LSOpenLog(v208));
if ( j__os_log_type_enabled_3(v209, OS_LOG_TYPE_INFO) )
{
v210 = objc_retain(objc_retainAutoreleasedReturnValue(bundleIdentifierForBundleID(a1, *(v796 + 6))));
v211 = objc_retainAutoreleasedReturnValue(objc_msgSend(v138, "URL"));
*v822 = 138543619;
*&v822[4] = v210;
*&v822[12] = 2113;
*&v822[14] = v211;
j___os_log_impl_1(
&dword_180981000,
v209,
OS_LOG_TYPE_INFO,
"LAUNCH:Launch request matches current application and has kLSLaunchProbitSelf, and not kLSLaunchNewInstance, so "
"failing with err=kLSSelfProhibitedErr, path=%{public}@ %{private}@",
v822,
0x16u);
objc_release(v211);
objc_release(v210);
objc_release(v210);
}
objc_release(v209);
*(v800 + 6) = -10653;
}
LABEL_190:
v143 = *(v800 + 6);
if ( (!v143 || v143 == -10668) && (v775 & 0x4000000) != 0 )
{
v144 = objc_retainAutoreleasedReturnValue(objc_msgSend(v769, "URL"));
if ( v794 )
{
v145 = objc_retainAutoreleasedReturnValue(objc_msgSend(v770, "URL"));
objc_release(v144);
v144 = v145;
}
v146 = objc_retain(v144);
SPExecutionPolicyClass = getSPExecutionPolicyClass();
v148 = j__objc_opt_new_0(SPExecutionPolicyClass);
if ( a6 )
{
LODWORD(v817) = 0;
LODWORD(v815) = 0;
if ( _LSGetAppleEventClassAndID(a6, &v817, &v815) )
{
if ( v817 == 1634039412 && v815 == 1868853091 )
{
DWORD2(v821[0]) = 0;
*&v821[0] = 0LL;
v149 = AEGetParamDesc(a6, 0x2D2D2D2Du, 0x6C697374u, v821);
if ( !v149 )
{
*v822 = &OBJC_CLASS_____NSStackBlock__;
*&v822[8] = 3254779904LL;
*&v822[16] = ___ZL46notifySyspolicydAboutUnsignedApplicationLaunchPK6AEDescP5NSURL_block_invoke;
*&v822[24] = &__block_descriptor_40_ea8_32s_e49_i24__0r__AEDesc_I___OpaqueAEDataStorageType__8q16l;
*&v822[32] = objc_retain(v148);
v149 = _LSEnumerateAEDescList(v821, 707406378LL, v822);
AEDisposeDesc(v821);
objc_release(*&v822[32]);
}
if ( v149 )
{
*&v819 = 0LL;
_LSGetNSErrorFromOSStatusImpl(v149, &v819, "notifySyspolicydAboutUnsignedApplicationLaunch", 1360LL);
v150 = objc_retain(v819);
v151 = objc_retainAutoreleasedReturnValue(_LSOpenLog(v150));
if ( j__os_log_type_enabled_3(v151, OS_LOG_TYPE_INFO) )
{
LODWORD(v835[0]) = 67240450;
DWORD1(v835[0]) = v149;
WORD4(v835[0]) = 2112;
*(v835 + 10) = v150;
j___os_log_impl_1(
&dword_180981000,
v151,
OS_LOG_TYPE_INFO,
"LAUNCH: Could not inspect contents of odoc AppleEvent: %{public}d %@",
v835,
0x12u);
}
objc_release(v151);
objc_release(v150);
}
}
}
}
*&v821[0] = 0LL;
v152 = objc_msgSend(v148, "addGatekeeperUserIntent:error:", v146, v821);
v153 = objc_retain(*&v821[0]);
v154 = v153;
if ( v152 )
{
v155 = objc_retainAutoreleasedReturnValue(_LSOpenLog(v153));
if ( j__os_log_type_enabled_3(v155, OS_LOG_TYPE_DEBUG) )
{
v156 = objc_retainAutoreleasedReturnValue(objc_msgSend(v146, "path"));
LODWORD(v835[0]) = 138477827;
*(v835 + 4) = v156;
v157 = "LAUNCH:notified syspolicyd about %{private}@";
v158 = v155;
v159 = OS_LOG_TYPE_DEBUG;
v160 = 12;
LABEL_210:
j___os_log_impl_1(&dword_180981000, v158, v159, v157, v835, v160);
objc_release(v156);
}
}
else
{
v155 = objc_retainAutoreleasedReturnValue(_LSOpenLog(v153));
if ( j__os_log_type_enabled_3(v155, OS_LOG_TYPE_ERROR) )
{
v156 = objc_retainAutoreleasedReturnValue(objc_msgSend(v146, "path"));
LODWORD(v835[0]) = 138478083;
*(v835 + 4) = v156;
WORD6(v835[0]) = 2112;
*(v835 + 14) = v154;
v157 = "LAUNCH: could not notify syspolicyd about %{private}@: %@";
v158 = v155;
v159 = OS_LOG_TYPE_ERROR;
v160 = 22;
goto LABEL_210;
}
}
objc_release(v155);
objc_release(v154);
objc_release(v148);
objc_release(v146);
objc_release(v146);
v143 = *(v800 + 6);
}
if ( v143 )
{
v161 = 0LL;
goto LABEL_963;
}
*&v817 = 0LL;
*(&v817 + 1) = &v817;
v818 = 0x2020000000uLL;
*(&v818 + 1) = _LSBundleGet(a1->db, *(v796 + 6));
v753 = objc_retainAutoreleasedReturnValue(bundleIdentifierForBundleID(a1, *(v796 + 6)));
*&v815 = 0LL;
*(&v815 + 1) = &v815;
*&v816 = 0x2020000000LL;
BYTE8(v816) = 0;
v163 = *(*(&v817 + 1) + 24LL);
if ( v163 && (*(v163 + 158) & 0x80) != 0 )
{
v183 = objc_retainAutoreleasedReturnValue(_LSPlistGetValueForKey(
a1->db,
*(v163 + 120),
CFSTR("LSTemplateApplication"),
v162));
isKindOfClass_2 = objc_retainAutoreleasedReturnValue(_LSPlistGetValueForKey(
a1->db,
*(*(*(&v817 + 1) + 24LL) + 120LL),
CFSTR("LSTemplateApplicationParameters"),
v184));
v186 = isKindOfClass_2;
if ( !v183
|| (isKindOfClass_2 = boolValue(v183, 0), (isKindOfClass_2 & (v186 != 0LL)) != 1)
|| (v187 = j__objc_opt_class_3(&OBJC_CLASS___NSDictionary),
isKindOfClass_2 = j__objc_opt_isKindOfClass_2(v186, v187),
(isKindOfClass_2 & 1) == 0) )
{
v195 = objc_retainAutoreleasedReturnValue(_LSOpenLog(isKindOfClass_2));
if ( j__os_log_type_enabled_3(v195, OS_LOG_TYPE_ERROR) )
{
*v822 = 138477827;
*&v822[4] = v763;
j___os_log_impl_1(
&dword_180981000,
v195,
OS_LOG_TYPE_ERROR,
"LAUNCH: Unable to determine proxyApp parameters for template app launch of %{private}@",
v822,
0xCu);
}
objc_release(v195);
v750 = 0LL;
v754 = 0LL;
*(v800 + 6) = -50;
v190 = v772;
goto LABEL_248;
}
v188 = objc_retainAutoreleasedReturnValue(objc_msgSend(v769, "URL"));
v790 = v772;
v189 = _LSTemplateApplicationCheckSignatureBeforeLaunch();
v190 = objc_retain(v772);
objc_release(v772);
objc_release(v188);
if ( !v189 )
{
v291 = objc_retainAutoreleasedReturnValue(_LSOpenLog(v191));
if ( j__os_log_type_enabled_3(v291, OS_LOG_TYPE_ERROR) )
{
v292 = objc_retainAutoreleasedReturnValue(objc_msgSend(v769, "URL"));
*v822 = 138478083;
*&v822[4] = v292;
*&v822[12] = 2114;
*&v822[14] = v190;
j___os_log_impl_1(
&dword_180981000,
v291,
OS_LOG_TYPE_ERROR,
"LAUNCH: Launch failed because template application %{private}@ does not have permission to launch, error=%{public}@",
v822,
0x16u);
objc_release(v292);
}
objc_release(v291);
if ( v190 )
{
v293 = objc_retainAutoreleasedReturnValue(-[NSError domain](v190, "domain"));
if ( -[NSString isEqual:](v293, "isEqual:", CFSTR("NSOSStatusErrorDomain")) )
v294 = -[NSError code](v190, "code");
else
v294 = -10827;
*(v800 + 6) = v294;
objc_release(v293);
v750 = 0LL;
v754 = 0LL;
}
else
{
v750 = 0LL;
v754 = 0LL;
*(v800 + 6) = -10827;
}
goto LABEL_248;
}
v747 = objc_retainAutoreleasedReturnValue(objc_msgSend(v186, "objectForKeyedSubscript:", CFSTR("CFBundleIdentifier")));
if ( v747
&& (v192 = j__objc_opt_class_3(&OBJC_CLASS___NSString), (j__objc_opt_isKindOfClass_2(v747, v192) & 1) != 0) )
{
v193 = -[LSApplicationRecord _initWithNode:bundleIdentifier:placeholderBehavior:systemPlaceholder:itemID:forceInBundleContainer:context:error:](
objc_alloc(&OBJC_CLASS___LSApplicationRecord),
"_initWithNode:bundleIdentifier:placeholderBehavior:systemPlaceholder:itemID:forceInBundleContainer:context:error:",
0LL,
v747,
0LL,
0LL,
0LL,
0LL,
a1,
0LL);
v194 = v193;
}
else
{
v296 = objc_retainAutoreleasedReturnValue(objc_msgSend(v186, "objectForKeyedSubscript:", CFSTR("BundlePath")));
objc_release(v747);
if ( !v296
|| (v298 = j__objc_opt_class_3(&OBJC_CLASS___NSString),
v297 = j__objc_opt_isKindOfClass_2(v296, v298),
(v297 & 1) == 0) )
{
v302 = objc_retainAutoreleasedReturnValue(_LSOpenLog(v297));
if ( j__os_log_type_enabled_3(v302, OS_LOG_TYPE_ERROR) )
{
*v822 = 138477827;
*&v822[4] = v763;
j___os_log_impl_1(
&dword_180981000,
v302,
OS_LOG_TYPE_ERROR,
"LAUNCH: Unable to determine proxyApp for template app launch of %{private}@",
v822,
0xCu);
}
objc_release(v302);
v194 = 0LL;
*(v800 + 6) = -10674;
v301 = 1;
goto LABEL_652;
}
v747 = objc_retain(v296);
v299 = objc_msgSend(v747, "length");
if ( v299
&& (v299 = objc_msgSend(v747, "characterAtIndex:", 0LL), v299 == 47)
&& (v299 = objc_msgSend(v747, "containsString:", CFSTR("/..")), (v299 & 1) == 0)
&& (v299 = objc_msgSend(v747, "containsString:", CFSTR("/.")), (v299 & 1) == 0) )
{
v679 = objc_retainAutoreleasedReturnValue(+[NSURL fileURLWithPath:](&OBJC_CLASS___NSURL, "fileURLWithPath:", v747));
v680 = -[FSNode initWithURL:flags:error:](
objc_alloc(&OBJC_CLASS___FSNode),
"initWithURL:flags:error:",
v679,
1LL,
0LL);
v194 = -[LSApplicationRecord _initWithNode:bundleIdentifier:placeholderBehavior:systemPlaceholder:itemID:forceInBundleContainer:context:error:](
objc_alloc(&OBJC_CLASS___LSApplicationRecord),
"_initWithNode:bundleIdentifier:placeholderBehavior:systemPlaceholder:itemID:forceInBundleContainer:context:error:",
v680,
0LL,
0LL,
0LL,
0LL,
0LL,
a1,
0LL);
objc_release(v680);
objc_release(v679);
}
else
{
v300 = objc_retainAutoreleasedReturnValue(_LSOpenLog(v299));
if ( j__os_log_type_enabled_3(v300, OS_LOG_TYPE_ERROR) )
{
*v822 = 138478083;
*&v822[4] = v747;
*&v822[12] = 2113;
*&v822[14] = v763;
j___os_log_impl_1(
&dword_180981000,
v300,
OS_LOG_TYPE_ERROR,
"LAUNCH: Invalid BundlePath %{private}@ in template application %{private}@",
v822,
0x16u);
}
objc_release(v300);
v194 = 0LL;
*(v800 + 6) = -10674;
}
objc_release(v747);
}
if ( !v194 )
{
v301 = 1;
goto LABEL_651;
}
if ( *(v800 + 6) )
{
v301 = 0;
LABEL_651:
v296 = v747;
LABEL_652:
v458 = objc_retainAutoreleasedReturnValue(_LSOpenLog(v193));
if ( j__os_log_type_enabled_3(v458, OS_LOG_TYPE_ERROR) )
{
*v822 = 138478083;
*&v822[4] = v296;
*&v822[12] = 2113;
*&v822[14] = v763;
j___os_log_impl_1(
&dword_180981000,
v458,
OS_LOG_TYPE_ERROR,
"LAUNCH: Cannot find proxy-app record, path=%{private}@ in template application %{private}@",
v822,
0x16u);
}
objc_release(v458);
v754 = 0LL;
*(v800 + 6) = -10674;
v747 = v296;
goto LABEL_655;
}
v667 = objc_msgSend(v194, "isTemplateProxyApplication");
if ( (v667 & 1) == 0 )
{
v674 = objc_retainAutoreleasedReturnValue(_LSOpenLog(v667));
if ( j__os_log_type_enabled_3(v674, OS_LOG_TYPE_ERROR) )
{
v675 = objc_retainAutoreleasedReturnValue(objc_msgSend(v194, "URL"));
*v822 = 138477827;
*&v822[4] = v675;
j___os_log_impl_1(
&dword_180981000,
v674,
OS_LOG_TYPE_ERROR,
"LAUNCH: Template-proxy application %{private}@ is not properly specified.",
v822,
0xCu);
objc_release(v675);
}
objc_release(v674);
v301 = 0;
v754 = 0LL;
*(v800 + 6) = -10674;
goto LABEL_655;
}
if ( *(v800 + 6) )
goto LABEL_976;
v676 = objc_msgSend(v194, "isLaunchDisabled");
if ( v676 )
{
v742 = v186;
v746 = v194;
v738 = v190;
v677 = objc_retainAutoreleasedReturnValue(_LSOpenLog(v676));
if ( j__os_log_type_enabled_3(v677, OS_LOG_TYPE_ERROR) )
{
v678 = objc_retainAutoreleasedReturnValue(objc_msgSend(v194, "URL"));
*v822 = 138477827;
*&v822[4] = v678;
j___os_log_impl_1(
&dword_180981000,
v677,
OS_LOG_TYPE_ERROR,
"LAUNCH: Launch of template-proxy-app %{private}@ is disabled, so failing.",
v822,
0xCu);
objc_release(v678);
}
objc_release(v677);
v301 = 0;
v754 = 0LL;
*(v800 + 6) = -10674;
}
else
{
if ( *(v800 + 6) )
{
LABEL_976:
v301 = 0;
v754 = 0LL;
goto LABEL_655;
}
v738 = v190;
v742 = v186;
v746 = v194;
v683 = objc_retainAutoreleasedReturnValue(objc_msgSend(v194, "executableURL"));
v684 = v683;
if ( v683
&& (v683 = objc_msgSend(v683, "isFileURL"), v683)
&& (v685 = objc_retainAutorelease(v684), (v683 = objc_msgSend(v685, "fileSystemRepresentation")) != 0LL) )
{
v754 = objc_retainAutoreleasedReturnValue(
+[NSString stringWithUTF8String:](
&OBJC_CLASS___NSString,
"stringWithUTF8String:",
objc_msgSend(objc_retainAutorelease(v685), "fileSystemRepresentation")));
v686 = objc_retainAutoreleasedReturnValue(_LSOpenLog(v754));
if ( j__os_log_type_enabled_3(v686, OS_LOG_TYPE_INFO) )
{
v687 = objc_retainAutoreleasedReturnValue(objc_msgSend(v194, "bundleIdentifier"));
*v822 = 138478339;
*&v822[4] = v763;
*&v822[12] = 2114;
*&v822[14] = v687;
*&v822[22] = 2113;
*&v822[24] = v754;
j___os_log_impl_1(
&dword_180981000,
v686,
OS_LOG_TYPE_INFO,
"LAUNCH: Substituting executable for %{private}@, new executable bundleID is %{public}@ path=%{private}@",
v822,
0x20u);
objc_release(v687);
}
objc_release(v686);
}
else
{
v700 = objc_retainAutoreleasedReturnValue(_LSOpenLog(v683));
if ( j__os_log_type_enabled_3(v700, OS_LOG_TYPE_ERROR) )
{
v701 = objc_retainAutoreleasedReturnValue(objc_msgSend(v194, "URL"));
*v822 = 138477827;
*&v822[4] = v701;
j___os_log_impl_1(
&dword_180981000,
v700,
OS_LOG_TYPE_ERROR,
"LAUNCH: Launch of template-proxy-app %{private}@ can't determine proxyApp executable, so failing.",
v822,
0xCu);
objc_release(v701);
}
objc_release(v700);
v754 = 0LL;
*(v800 + 6) = -10674;
}
objc_release(v684);
if ( !*(v800 + 6) )
{
v785[0] = &OBJC_CLASS_____NSStackBlock__;
v785[1] = 3254779904LL;
v785[2] = ___ZL25_LSLaunchWithRunningboardP9LSContextP6FSNodejPvPK9__CFArrayPK6AEDescS9_P7NSArrayIP11LSSliceInfoEPK14__CFDictionaryjPK13audit_token_tPK15_LSOpen2OptionsP19ProcessSerialNumberPU15__autoreleasingP7NSError_block_invoke;
v785[3] = &__block_descriptor_64_ea8_32s40r48r56r_e32_v32__0__LSContext___8I16I20r_v24l;
v787 = &v795;
v788 = &v817;
v786 = objc_retain(v763);
v789 = &v815;
v784[0] = &OBJC_CLASS_____NSStackBlock__;
v784[1] = 3254779904LL;
v784[2] = ___ZL25_LSLaunchWithRunningboardP9LSContextP6FSNodejPvPK9__CFArrayPK6AEDescS9_P7NSArrayIP11LSSliceInfoEPK14__CFDictionaryjPK13audit_token_tPK15_LSOpen2OptionsP19ProcessSerialNumberPU15__autoreleasingP7NSError_block_invoke_126;
v784[3] = &__block_descriptor_40_ea8_32r_e5_v8__0l;
v784[4] = &v799;
objc_msgSend(v194, "_ifAttached:else:", v785, v784);
objc_release(v786);
}
v301 = 0;
}
v190 = v738;
v186 = v742;
v194 = v746;
LABEL_655:
v773 = j__objc_opt_new_0(&OBJC_CLASS___NSMutableArray);
if ( (v301 & 1) == 0 )
{
v459 = objc_retainAutoreleasedReturnValue(objc_msgSend(v194, "infoDictionary"));
objc_release(v459);
if ( v459 )
{
v460 = objc_retainAutoreleasedReturnValue(objc_msgSend(v194, "infoDictionary"));
v461 = objc_retainAutoreleasedReturnValue(
objc_msgSend(
v460,
"objectForKey:ofClass:",
CFSTR("LSTemplateProxyApplicationParameters"),
j__objc_opt_class_3(&OBJC_CLASS___NSDictionary)));
objc_release(v460);
if ( v461 )
{
v462 = objc_retainAutoreleasedReturnValue(objc_msgSend(v461, "objectForKeyedSubscript:", CFSTR("defaultarguments")));
v463 = boolValue(v462, 1);
objc_release(v462);
if ( !v463 )
goto LABEL_666;
}
v464 = v763;
if ( v763 )
{
v812[0] = CFSTR("--bundlepath");
v812[1] = v763;
v465 = objc_retainAutoreleasedReturnValue(+[NSArray arrayWithObjects:count:](&OBJC_CLASS___NSArray, "arrayWithObjects:count:", v812, 2LL));
-[NSMutableArray addObjectsFromArray:](v773, "addObjectsFromArray:", v465);
objc_release(v465);
v464 = v763;
}
v466 = objc_retainAutoreleasedReturnValue(sandboxExtensionForPath(v464));
v467 = v466;
if ( v466 )
{
v811[0] = CFSTR("--sandboxextension");
v811[1] = v466;
v468 = objc_retainAutoreleasedReturnValue(+[NSArray arrayWithObjects:count:](&OBJC_CLASS___NSArray, "arrayWithObjects:count:", v811, 2LL));
-[NSMutableArray addObjectsFromArray:](v773, "addObjectsFromArray:", v468);
objc_release(v468);
}
objc_release(v467);
if ( v753 )
{
v810[0] = CFSTR("--bundleidentifier");
v810[1] = v753;
v469 = objc_retainAutoreleasedReturnValue(+[NSArray arrayWithObjects:count:](&OBJC_CLASS___NSArray, "arrayWithObjects:count:", v810, 2LL));
-[NSMutableArray addObjectsFromArray:](v773, "addObjectsFromArray:", v469);
objc_release(v469);
}
-[NSMutableArray addObject:](v773, "addObject:", CFSTR("--"));
if ( v461 )
{
LABEL_666:
v470 = objc_retainAutoreleasedReturnValue(objc_msgSend(v461, "objectForKeyedSubscript:", CFSTR("arguments")));
if ( v470 )
{
v471 = j__objc_opt_class_3(&OBJC_CLASS___NSArray);
if ( (j__objc_opt_isKindOfClass_2(v470, v471) & 1) != 0 )
{
v751 = v461;
v741 = v186;
v745 = v194;
v735 = v470;
v737 = v190;
v759 = a5;
v782 = 0u;
v783 = 0u;
v780 = 0u;
v781 = 0u;
v472 = objc_retain(v470);
v473 = objc_msgSend(v472, "countByEnumeratingWithState:objects:count:", &v780, v809, 16LL);
if ( v473 )
{
if ( v753 )
v474 = v753;
else
v474 = CFSTR("-");
v475 = *v781;
if ( v763 )
v476 = v763;
else
v476 = CFSTR("-");
do
{
for ( i = 0LL; i != v473; i = i + 1 )
{
if ( *v781 != v475 )
j__objc_enumerationMutation_0(v472);
v478 = *(*(&v780 + 1) + 8LL * i);
v479 = j__objc_opt_class_3(&OBJC_CLASS___NSString);
if ( (j__objc_opt_isKindOfClass_2(v478, v479) & 1) != 0 )
{
v480 = -[__CFString isEqual:](v478, "isEqual:", CFSTR("%%BUNDLEPATH%%"));
v481 = v476;
if ( (v480 & 1) == 0 )
{
if ( -[__CFString isEqual:](v478, "isEqual:", CFSTR("%%BUNDLEPATHSANDBOXEXTENSION%%")) )
{
v482 = objc_retainAutoreleasedReturnValue(sandboxExtensionForPath(v763));
v483 = v482;
if ( v482 )
v484 = v482;
else
v484 = CFSTR("-");
-[NSMutableArray addObject:](v773, "addObject:", v484);
objc_release(v483);
}
if ( -[__CFString isEqual:](v478, "isEqual:", CFSTR("%%BUNDLEIDENTIFIER%%")) )
v481 = v474;
else
v481 = v478;
}
-[NSMutableArray addObject:](v773, "addObject:", v481);
}
}
v473 = objc_msgSend(v472, "countByEnumeratingWithState:objects:count:", &v780, v809, 16LL);
}
while ( v473 );
}
objc_release(v472);
v190 = v737;
v186 = v741;
v194 = v745;
v461 = v751;
v470 = v735;
-[NSMutableArray addObject:](v773, "addObject:", CFSTR("--"));
a5 = v759;
}
}
objc_release(v470);
}
if ( a5 )
-[NSMutableArray addObjectsFromArray:](v773, "addObjectsFromArray:", a5);
objc_release(v461);
}
}
v750 = -[NSObject copy](v773, "copy");
objc_release(v773);
objc_release(v747);
objc_release(v194);
LABEL_248:
objc_release(v186);
v161 = 0LL;
v772 = v190;
goto LABEL_328;
}
v164 = objc_retainAutoreleasedReturnValue(constructExecutablePathFromBundleData(a1, *(v796 + 6), v163, v763, v794));
v165 = *(*(&v817 + 1) + 24LL);
v166 = objc_retain(v753);
v167 = objc_retain(v763);
v754 = objc_retain(v164);
*v814 = 0LL;
if ( (v775 & 0x80000) != 0 || !v166 )
{
if ( (v775 & 0x80000) != 0 )
goto LABEL_273;
}
else
{
v168 = objc_retain(v167);
v169 = _LSCopyApplicationsWithPath(4294967294LL, v168);
v170 = v169;
if ( v169 )
{
if ( j__CFArrayGetCount(v169) >= 1 )
{
*v822 = &OBJC_CLASS_____NSStackBlock__;
*&v822[8] = 3254779904LL;
*&v822[16] = ___ZL56delayLaunchOfCatalystApplicationWhichMayBeExitingForABitP8NSString_block_invoke;
*&v822[24] = &__block_descriptor_40_ea8_32s_e9_B16__0_v8l;
*&v822[32] = objc_retain(v168);
CFArrayApplyBlock(v170, v822);
objc_release(*&v822[32]);
}
j__CFRelease(v170);
}
objc_release(v168);
}
v171 = copyExistingApplicationWithSameExecutablePath(v167, v754);
v172 = v171;
v173 = *v814;
if ( *v814 != v171 )
{
*v814 = v171;
v171 = v173;
}
if ( v171 )
{
j__CFRelease(v171);
v172 = *v814;
}
if ( v172 )
{
v174 = _LSCopyApplicationInformationItem(4294967294LL, v172, CFSTR("LSApplicationWasTerminatedByTALKey"));
if ( v174 )
{
TypeID = j__CFBooleanGetTypeID();
if ( TypeID && j__CFGetTypeID(v174) != TypeID )
{
j__CFRelease(v174);
}
else
{
v176 = j__CFBooleanGetValue(v174);
j__CFRelease(v174);
if ( v176 )
{
v178 = objc_retainAutoreleasedReturnValue(_LSOpenLog(v177));
if ( j__os_log_type_enabled_3(v178, OS_LOG_TYPE_DEBUG) )
{
LODWORD(v835[0]) = 0;
_LSASNExtractHighAndLowParts(v172, v835, 0LL);
v179 = v835[0];
LODWORD(v835[0]) = 0;
_LSASNExtractHighAndLowParts(v172, 0LL, v835);
*v822 = 67240448;
*&v822[4] = v179;
*&v822[8] = 1026;
*&v822[10] = v835[0];
j___os_log_impl_1(
&dword_180981000,
v178,
OS_LOG_TYPE_DEBUG,
"LAUNCH: Application 0x%{public}x-0x%{public}x is applicationIsTALTerminated.",
v822,
0xEu);
}
objc_release(v178);
v181 = objc_retainAutoreleasedReturnValue(_LSOpenLog(v180));
if ( j__os_log_type_enabled_3(v181, OS_LOG_TYPE_DEBUG) )
{
LODWORD(v835[0]) = 0;
_LSASNExtractHighAndLowParts(*v814, v835, 0LL);
v182 = v835[0];
LODWORD(v835[0]) = 0;
_LSASNExtractHighAndLowParts(*v814, 0LL, v835);
*v822 = 67240706;
*&v822[4] = v182;
*&v822[8] = 1026;
*&v822[10] = v835[0];
*&v822[14] = 2114;
*&v822[16] = v167;
j___os_log_impl_1(
&dword_180981000,
v181,
OS_LOG_TYPE_DEBUG,
"LAUNCH: Launching previously tal-terminated applications, 0x%{public}x-0x%{public}x/node=%{public}@.",
v822,
0x18u);
}
objc_release(v181);
goto LABEL_273;
}
}
}
v212 = _LSIsApplicationRunning(4294967294LL, *v814);
if ( v212 )
{
v213 = objc_retainAutoreleasedReturnValue(_LSOpenLog(v212));
if ( j__os_log_type_enabled_3(v213, OS_LOG_TYPE_DEBUG) )
{
LODWORD(v835[0]) = 0;
_LSASNExtractHighAndLowParts(*v814, v835, 0LL);
v214 = v835[0];
LODWORD(v835[0]) = 0;
_LSASNExtractHighAndLowParts(*v814, 0LL, v835);
*v822 = 67240706;
*&v822[4] = v214;
*&v822[8] = 1026;
*&v822[10] = v835[0];
*&v822[14] = 2114;
*&v822[16] = v167;
v215 = "LAUNCH: Application is already running, 0x%{public}x-0x%{public}x, so not launching it again, %{public}@.";
v216 = v213;
v217 = OS_LOG_TYPE_DEBUG;
v218 = 24;
LABEL_307:
j___os_log_impl_1(&dword_180981000, v216, v217, v215, v822, v218);
}
LABEL_308:
objc_release(v213);
v230 = -10652;
goto LABEL_310;
}
}
LABEL_273:
if ( !v165 )
goto LABEL_309;
if ( (*(v165 + 148) & 0x20) == 0 )
goto LABEL_281;
v219 = *v814;
*v814 = 0LL;
if ( v219 )
j__CFRelease(v219);
v220 = checkForMultipleLaunchProhibitedApplication(v166, v814);
if ( !v220 )
{
LABEL_281:
v222 = *(v165 + 20);
if ( v222 == 2 )
{
v231 = *v814;
*v814 = 0LL;
if ( v231 )
j__CFRelease(v231);
v232 = isBundleIdentifierAlreadyRunning(v166, v814);
if ( v232 )
{
if ( (v775 & 0x80000) == 0 )
{
v213 = objc_retainAutoreleasedReturnValue(_LSOpenLog(v232));
if ( !j__os_log_type_enabled_3(v213, OS_LOG_TYPE_ERROR) )
goto LABEL_308;
LABEL_306:
LODWORD(v835[0]) = 0;
_LSASNExtractHighAndLowParts(*v814, v835, 0LL);
v235 = v835[0];
LODWORD(v835[0]) = 0;
_LSASNExtractHighAndLowParts(*v814, 0LL, v835);
*v822 = 138544131;
*&v822[4] = v166;
*&v822[12] = 1026;
*&v822[14] = v235;
*&v822[18] = 1026;
*&v822[20] = v835[0];
*&v822[24] = 2113;
*&v822[26] = v167;
v215 = "LAUNCH: Platform restriction prohibiting additional launch of %{public}@, 0x%{public}x-0x%{public}x from %{private}@";
v216 = v213;
v217 = OS_LOG_TYPE_ERROR;
v218 = 34;
goto LABEL_307;
}
v295 = objc_retainAutoreleasedReturnValue(_LSOpenLog(v232));
if ( j__os_log_type_enabled_3(v295, OS_LOG_TYPE_ERROR) )
goto LABEL_423;
goto LABEL_424;
}
}
else if ( v222 == 6 )
{
if ( j___os_feature_enabled_simple_impl_1("RunningBoard", "allow_mac_multi_instance", 1LL) )
{
v813[0] = 0LL;
v223 = *(v165 + 76);
v835[0] = *(v165 + 60);
v835[1] = v223;
MajorComponent = _LSVersionNumberGetMajorComponent(v835);
v225 = v813[0];
v813[0] = 0LL;
if ( MajorComponent < 0xF )
{
if ( v225 )
j__CFRelease(v225);
if ( isBundleIdentifierAlreadyRunning(v166, v813) )
v230 = -10670;
else
v230 = 0;
}
else
{
if ( v225 )
j__CFRelease(v225);
if ( !isBundleIdentifierAlreadyRunning(v166, v813) )
goto LABEL_418;
v226 = _LSCopyApplicationInformationItem(4294967294LL, v813[0], CFSTR("LSExecutableSDKVersion"));
v227 = CFTypeCopyAsString(v226);
if ( v226 )
j__CFRelease(v226);
if ( v227 )
{
memset(v821, 0, sizeof(v821));
_LSGetVersionFromString(v821, v227);
v819 = v821[0];
v820 = v821[1];
v228 = _LSVersionNumberGetMajorComponent(&v819);
if ( v228 < 0xF )
{
v665 = objc_retainAutoreleasedReturnValue(_LSOpenLog(v228));
if ( j__os_log_type_enabled_3(v665, OS_LOG_TYPE_ERROR) )
{
v805 = 0;
_LSASNExtractHighAndLowParts(v813[0], &v805, 0LL);
v666 = v805;
v805 = 0;
_LSASNExtractHighAndLowParts(v813[0], 0LL, &v805);
*v822 = 138544387;
*&v822[4] = v227;
*&v822[12] = 2114;
*&v822[14] = v166;
*&v822[22] = 1026;
*&v822[24] = v666;
*&v822[28] = 1026;
*&v822[30] = v805;
*&v822[34] = 2113;
*&v822[36] = v167;
j___os_log_impl_1(
&dword_180981000,
v665,
OS_LOG_TYPE_ERROR,
"LAUNCH: Platform restriction prohibiting new-instance launch of Mac Catalyst pre-iOS SDK12.0 %{public}"
"@ %{public}@, 0x%{public}x-0x%{public}x from %{private}@",
v822,
0x2Cu);
}
objc_release(v665);
v230 = -10670;
}
else
{
v229 = *v814;
if ( *v814 )
{
*v814 = 0LL;
j__CFRelease(v229);
}
v230 = 0;
}
j__CFRelease(v227);
}
else
{
LABEL_418:
v230 = 0;
}
}
if ( v813[0] )
j__CFRelease(v813[0]);
goto LABEL_310;
}
v233 = *v814;
*v814 = 0LL;
if ( v233 )
j__CFRelease(v233);
v234 = isBundleIdentifierAlreadyRunning(v166, v814);
if ( v234 )
{
if ( (v775 & 0x80000) == 0 )
{
v213 = objc_retainAutoreleasedReturnValue(_LSOpenLog(v234));
if ( !j__os_log_type_enabled_3(v213, OS_LOG_TYPE_ERROR) )
goto LABEL_308;
goto LABEL_306;
}
v295 = objc_retainAutoreleasedReturnValue(_LSOpenLog(v234));
if ( j__os_log_type_enabled_3(v295, OS_LOG_TYPE_ERROR) )
{
LABEL_423:
LODWORD(v835[0]) = 0;
_LSASNExtractHighAndLowParts(*v814, v835, 0LL);
v303 = v835[0];
LODWORD(v835[0]) = 0;
_LSASNExtractHighAndLowParts(*v814, 0LL, v835);
*v822 = 138544131;
*&v822[4] = v166;
*&v822[12] = 1026;
*&v822[14] = v303;
*&v822[18] = 1026;
*&v822[20] = v835[0];
*&v822[24] = 2113;
*&v822[26] = v167;
j___os_log_impl_1(
&dword_180981000,
v295,
OS_LOG_TYPE_ERROR,
"LAUNCH: Platform restriction prohibiting new-instance launch of %{public}@, 0x%{public}x-0x%{public}x from %{private}@",
v822,
0x22u);
}
LABEL_424:
objc_release(v295);
v230 = -10670;
goto LABEL_310;
}
}
LABEL_309:
v230 = 0;
goto LABEL_310;
}
if ( *v814 )
{
v213 = objc_retainAutoreleasedReturnValue(_LSOpenLog(v220));
if ( j__os_log_type_enabled_3(v213, OS_LOG_TYPE_DEBUG) )
{
LODWORD(v835[0]) = 0;
_LSASNExtractHighAndLowParts(*v814, v835, 0LL);
v221 = v835[0];
LODWORD(v835[0]) = 0;
_LSASNExtractHighAndLowParts(*v814, 0LL, v835);
*v822 = 67240448;
*&v822[4] = v221;
*&v822[8] = 1026;
*&v822[10] = v835[0];
v215 = "LAUNCH: Application 0x%{public}x-0x%{public}x already running, so will just send initial AppleEvent and act"
"ivate if neccesary.";
v216 = v213;
v217 = OS_LOG_TYPE_DEBUG;
v218 = 14;
goto LABEL_307;
}
goto LABEL_308;
}
v290 = objc_retainAutoreleasedReturnValue(_LSOpenLog(v220));
if ( j__os_log_type_enabled_3(v290, OS_LOG_TYPE_ERROR) )
{
*v822 = 138543619;
*&v822[4] = v166;
*&v822[12] = 2113;
*&v822[14] = v167;
j___os_log_impl_1(
&dword_180981000,
v290,
OS_LOG_TYPE_ERROR,
"LAUNCH: Application %{public}@/%{private}@ already running in anther session, so returning kLSMultipleSessionsNotSupportedErr.",
v822,
0x16u);
}
objc_release(v290);
v230 = -10829;
LABEL_310:
v161 = *v814;
objc_release(v754);
objc_release(v167);
objc_release(v166);
*(v800 + 6) = v230;
if ( v230 == -10652 )
{
if ( applicationIsStopped(v161) )
{
v236 = _LSCopyApplicationInformationItem(4294967294LL, v161, CFSTR("LSLaunchedInQuarantine"));
if ( v236 )
{
v237 = j__CFBooleanGetTypeID();
if ( v237 && j__CFGetTypeID(v236) != v237 )
{
j__CFRelease(v236);
}
else
{
v238 = j__CFBooleanGetValue(v236);
v239 = v238;
if ( v161 && v238 )
{
v240 = objc_retainAutoreleasedReturnValue(_LSOpenLog(v238));
if ( j__os_log_type_enabled_3(v240, OS_LOG_TYPE_DEBUG) )
{
LODWORD(v835[0]) = 0;
_LSASNExtractHighAndLowParts(v161, v835, 0LL);
v241 = v835[0];
LODWORD(v835[0]) = 0;
_LSASNExtractHighAndLowParts(v161, 0LL, v835);
*v822 = 67240448;
*&v822[4] = v241;
*&v822[8] = 1026;
*&v822[10] = v835[0];
j___os_log_impl_1(
&dword_180981000,
v240,
OS_LOG_TYPE_DEBUG,
"LAUNCH: Application 0x%{public}x-0x%{public}x is launched quarantined.",
v822,
0xEu);
}
objc_release(v240);
j__CFRelease(v236);
goto LABEL_321;
}
j__CFRelease(v236);
if ( v239 )
{
LABEL_321:
v243 = objc_retainAutoreleasedReturnValue(_LSOpenLog(v242));
if ( j__os_log_type_enabled_3(v243, OS_LOG_TYPE_ERROR) )
{
*v822 = 138412290;
*&v822[4] = v167;
j___os_log_impl_1(
&dword_180981000,
v243,
OS_LOG_TYPE_ERROR,
"LAUNCH: cannot open an app or documents for an app while it is waiting for gatekeeper approval, app=%@",
v822,
0xCu);
}
objc_release(v243);
*(v800 + 6) = -10673;
}
}
}
}
}
v244 = objc_retain(a5);
v183 = v244;
if ( v244 )
v750 = -[NSObject copy](v244, "copy");
else
v750 = 0LL;
LABEL_328:
objc_release(v183);
v247 = *(v800 + 6);
if ( v247 )
{
v248 = 0LL;
goto LABEL_823;
}
v249 = objc_retainAutoreleasedReturnValue(_LSOpenLog(v245));
if ( j__os_log_type_enabled_3(v249, OS_LOG_TYPE_INFO) )
{
v250 = objc_retainAutoreleasedReturnValue(objc_msgSend(v769, "URL"));
*v822 = 138543619;
*&v822[4] = v753;
*&v822[12] = 2113;
*&v822[14] = v250;
j___os_log_impl_1(
&dword_180981000,
v249,
OS_LOG_TYPE_INFO,
"LAUNCH: _LSLaunchThruRunningboard: %{public}@ / %{private}@",
v822,
0x16u);
objc_release(v250);
}
objc_release(v249);
v251 = _LSBundleGet(a1->db, *(v796 + 6));
v252 = objc_retain(v769);
v748 = objc_retain(v763);
v736 = objc_retain(v754);
v739 = v252;
v743 = objc_retain(v753);
v758 = objc_retainAutoreleasedReturnValue(+[NSDictionary dictionary](&OBJC_CLASS___NSMutableDictionary, "dictionary"));
v805 = 0;
*&v819 = 0LL;
*v814 = 0LL;
LODWORD(v252) = objc_msgSend(v252, "getDeviceNumber:error:", &v805, v814);
v253 = objc_retain(*v814);
v254 = v253;
if ( v252 )
{
v813[0] = v253;
v255 = objc_msgSend(v739, "getInodeNumber:error:", &v819, v813);
v256 = objc_retain(v813[0]);
objc_release(v254);
if ( (v255 & (v805 != 0)) == 1 && v819 )
{
v257 = objc_retainAutoreleasedReturnValue(+[NSNumber numberWithLong:](&OBJC_CLASS___NSNumber, "numberWithLong:"));
-[NSDictionary setObject:forKeyedSubscript:](
v758,
"setObject:forKeyedSubscript:",
v257,
CFSTR("LSBundlePathDeviceID"));
objc_release(v257);
v258 = objc_retainAutoreleasedReturnValue(+[NSNumber numberWithLong:](&OBJC_CLASS___NSNumber, "numberWithLong:", v819));
-[NSDictionary setObject:forKeyedSubscript:](
v758,
"setObject:forKeyedSubscript:",
v258,
CFSTR("LSBundlePathINode"));
objc_release(v258);
v254 = v256;
goto LABEL_338;
}
v254 = v256;
}
v805 = 0;
*&v819 = 0LL;
LABEL_338:
-[NSDictionary setObject:forKeyedSubscript:](v758, "setObject:forKeyedSubscript:", v748);
-[NSDictionary setObject:forKeyedSubscript:](v758, "setObject:forKeyedSubscript:", v736);
if ( v251 )
{
if ( v805 && v819 && *(v251 + 184) == v819 && v819 == *(v251 + 192) )
{
v259 = objc_retainAutoreleasedReturnValue(+[NSNumber numberWithLong:](&OBJC_CLASS___NSNumber, "numberWithLong:"));
-[NSDictionary setObject:forKeyedSubscript:](
v758,
"setObject:forKeyedSubscript:",
v259,
CFSTR("CFBundleExecutablePathDeviceID"));
objc_release(v259);
v260 = objc_retainAutoreleasedReturnValue(+[NSNumber numberWithUnsignedLongLong:](&OBJC_CLASS___NSNumber, "numberWithUnsignedLongLong:", v819));
-[NSDictionary setObject:forKeyedSubscript:](
v758,
"setObject:forKeyedSubscript:",
v260,
CFSTR("CFBundleExecutablePathINode"));
}
else
{
v261 = objc_retainAutoreleasedReturnValue(+[NSNumber numberWithLong:](&OBJC_CLASS___NSNumber, "numberWithLong:"));
-[NSDictionary setObject:forKeyedSubscript:](
v758,
"setObject:forKeyedSubscript:",
v261,
CFSTR("CFBundleExecutablePathDeviceID"));
objc_release(v261);
v260 = objc_retainAutoreleasedReturnValue(
+[NSNumber numberWithUnsignedLongLong:](
&OBJC_CLASS___NSNumber,
"numberWithUnsignedLongLong:",
*(v251 + 192)));
-[NSDictionary setObject:forKeyedSubscript:](
v758,
"setObject:forKeyedSubscript:",
v260,
CFSTR("CFBundleExecutablePathINode"));
}
objc_release(v260);
v262 = _CSStringCopyCFString(a1->db->store, *(v251 + 100));
-[NSDictionary setObject:forKeyedSubscript:](v758, "setObject:forKeyedSubscript:", v262, CFSTR("CFBundleName"));
objc_release(v262);
if ( v743 )
-[NSDictionary setObject:forKeyedSubscript:](
v758,
"setObject:forKeyedSubscript:",
v743,
CFSTR("CFBundleIdentifier"));
v263 = *(v251 + 176);
if ( v263 && v263 != 1061109567 )
{
v264 = _LSCopyStringForOSType();
-[NSDictionary setObject:forKeyedSubscript:](
v758,
"setObject:forKeyedSubscript:",
v264,
CFSTR("CFBundlePackageType"));
objc_release(v264);
}
v265 = *(v251 + 180);
if ( v265 && v265 != 1061109567 )
{
v266 = _LSCopyStringForOSType();
-[NSDictionary setObject:forKeyedSubscript:](
v758,
"setObject:forKeyedSubscript:",
v266,
CFSTR("CFBundleSignature"));
objc_release(v266);
}
if ( (*(v251 + 148) & 0x20) != 0 )
-[NSDictionary setObject:forKeyedSubscript:](
v758,
"setObject:forKeyedSubscript:",
&__kCFBooleanTrue,
CFSTR("LSMultipleInstancesProhibited"));
v267 = objc_retainAutoreleasedReturnValue(applicationTypeKeyForBundleData(v251));
-[NSDictionary setObject:forKeyedSubscript:](v758, "setObject:forKeyedSubscript:", v267, CFSTR("ApplicationType"));
objc_release(v267);
if ( (*(v251 + 148) & 0x10LL) != 0 )
v268 = _kLSExecutableFormatPoundBangKey;
else
v268 = _kLSExecutableFormatMachOKey;
-[NSDictionary setObject:forKeyedSubscript:](
v758,
"setObject:forKeyedSubscript:",
*v268,
CFSTR("LSExecutableFormat"));
v269 = *(v251 + 148);
if ( (v269 & 0x400) != 0 )
{
-[NSDictionary setObject:forKeyedSubscript:](
v758,
"setObject:forKeyedSubscript:",
&__kCFBooleanTrue,
CFSTR("LSLaunchedInQuarantine"));
v269 = *(v251 + 148);
}
if ( (v269 & 0x200000) != 0 )
-[NSDictionary setObject:forKeyedSubscript:](
v758,
"setObject:forKeyedSubscript:",
&__kCFBooleanTrue,
CFSTR("LSApplicationIsBetaKey"));
if ( *(v251 + 440) )
{
v270 = objc_retainAutoreleasedReturnValue(+[NSNumber numberWithUnsignedLongLong:](&OBJC_CLASS___NSNumber, "numberWithUnsignedLongLong:"));
-[NSDictionary setObject:forKeyedSubscript:](
v758,
"setObject:forKeyedSubscript:",
v270,
CFSTR("LSApplicationApplicationGenreKey"));
objc_release(v270);
v272 = objc_retainAutoreleasedReturnValue(_LSOpenLog(v271));
if ( j__os_log_type_enabled_3(v272, OS_LOG_TYPE_DEBUG) )
{
v273 = objc_retainAutoreleasedReturnValue(
+[NSNumber numberWithUnsignedLongLong:](
&OBJC_CLASS___NSNumber,
"numberWithUnsignedLongLong:",
*(v251 + 440)));
*v822 = 138543875;
*&v822[4] = v743;
*&v822[12] = 2113;
*&v822[14] = v748;
*&v822[22] = 2114;
*&v822[24] = v273;
j___os_log_impl_1(
&dword_180981000,
v272,
OS_LOG_TYPE_DEBUG,
"LAUNCH: app %{public}@ %{private}@, genreID=%{public}@",
v822,
0x20u);
objc_release(v273);
}
objc_release(v272);
}
if ( v748 && v743 && *(v251 + 524) )
{
v731 = -[NSURL initFileURLWithPath:isDirectory:](
objc_alloc(&OBJC_CLASS___NSURL),
"initFileURLWithPath:isDirectory:",
v748,
1LL);
v274 = objc_retain(objc_retainAutoreleasedReturnValue(-[NSURL absoluteURL](v731, "absoluteURL")));
v275 = objc_retain(v743);
if ( softLinkCP_ManagedAppsIsAppManagedAtURL )
{
IsAppManagedAtURL = softLinkCP_ManagedAppsIsAppManagedAtURL(v274, v275);
v727 = v275;
objc_release(v275);
objc_release(v274);
objc_release(v274);
if ( !IsAppManagedAtURL )
{
LABEL_436:
objc_release(v731);
goto LABEL_437;
}
v278 = objc_retainAutoreleasedReturnValue(_LSOpenLog(v277));
if ( j__os_log_type_enabled_3(v278, OS_LOG_TYPE_INFO) )
{
*v822 = 138543619;
*&v822[4] = v275;
*&v822[12] = 2113;
*&v822[14] = v748;
j___os_log_impl_1(
&dword_180981000,
v278,
OS_LOG_TYPE_INFO,
"LAUNCH: app %{public}@ %{private}@ is managed, so determining an appropriate persona for launch.",
v822,
0x16u);
}
objc_release(v278);
v279 = objc_retainAutoreleasedReturnValue(_LSDatabaseGetStringArray(a1->db, *(v251 + 524)));
v280 = v279;
if ( !v279 || !-[NSURL count](v279, "count") )
{
LABEL_435:
objc_release(v280);
goto LABEL_436;
}
v836 = 0u;
v837 = 0u;
memset(v835, 0, sizeof(v835));
v274 = objc_retain(v280);
v281 = -[NSURL countByEnumeratingWithState:objects:count:](
v274,
"countByEnumeratingWithState:objects:count:",
v835,
v822,
16LL);
if ( v281 )
{
v282 = **&v835[1];
while ( 2 )
{
for ( j = 0LL; j != v281; j = j + 1 )
{
if ( **&v835[1] != v282 )
j__objc_enumerationMutation_0(v274);
v284 = objc_retain(*(*(&v835[0] + 1) + 8LL * j));
if ( getUMUserPersonaAttributesClass() )
{
v285 = objc_retainAutoreleasedReturnValue(
objc_msgSend(
getUMUserPersonaAttributesClass(),
"personaAttributesForPersonaUniqueString:",
v284));
v286 = v285;
if ( v285 )
{
v287 = objc_msgSend(v285, "userPersona_id");
objc_release(v286);
if ( v287 )
{
v304 = objc_retainAutoreleasedReturnValue(_LSOpenLog(v288));
if ( j__os_log_type_enabled_3(v304, OS_LOG_TYPE_DEBUG) )
{
LODWORD(v821[0]) = 138543618;
*(v821 + 4) = v284;
WORD6(v821[0]) = 1026;
*(v821 + 14) = v287;
j___os_log_impl_1(
&dword_180981000,
v304,
OS_LOG_TYPE_DEBUG,
"LAUNCH: personaStringToUID(%{public}@ => %{public}d)",
v821,
0x12u);
}
objc_release(v304);
objc_release(v284);
v306 = objc_retainAutoreleasedReturnValue(_LSOpenLog(v305));
if ( j__os_log_type_enabled_3(v306, OS_LOG_TYPE_INFO) )
{
LODWORD(v821[0]) = 138543618;
*(v821 + 4) = v727;
WORD6(v821[0]) = 1026;
*(v821 + 14) = v287;
j___os_log_impl_1(
&dword_180981000,
v306,
OS_LOG_TYPE_INFO,
"LAUNCH:45683955: Launching application %{public}@ with persona %{public}d",
v821,
0x12u);
}
objc_release(v306);
v275 = objc_retainAutoreleasedReturnValue(
+[NSNumber numberWithUnsignedLong:](
&OBJC_CLASS___NSNumber,
"numberWithUnsignedLong:",
v287));
-[NSDictionary setObject:forKeyedSubscript:](
v758,
"setObject:forKeyedSubscript:",
v275,
CFSTR("LSLaunchedPersonaUID"));
goto LABEL_433;
}
}
}
objc_release(v284);
}
v281 = -[NSURL countByEnumeratingWithState:objects:count:](
v274,
"countByEnumeratingWithState:objects:count:",
v835,
v822,
16LL);
if ( v281 )
continue;
break;
}
}
}
else
{
LABEL_433:
objc_release(v275);
}
objc_release(v274);
v280 = v274;
goto LABEL_435;
}
}
else if ( (objc_msgSend(v739, "isDirectory") & 1) == 0 )
{
-[NSDictionary setObject:forKeyedSubscript:](
v758,
"setObject:forKeyedSubscript:",
v748,
CFSTR("CFBundleExecutablePath"));
if ( v805 )
{
if ( v819 )
{
v289 = objc_retainAutoreleasedReturnValue(+[NSNumber numberWithLong:](&OBJC_CLASS___NSNumber, "numberWithLong:"));
-[NSDictionary setObject:forKeyedSubscript:](
v758,
"setObject:forKeyedSubscript:",
v289,
CFSTR("CFBundleExecutablePathDeviceID"));
objc_release(v289);
v732 = objc_retainAutoreleasedReturnValue(+[NSNumber numberWithUnsignedLongLong:](&OBJC_CLASS___NSNumber, "numberWithUnsignedLongLong:", v819));
-[NSDictionary setObject:forKeyedSubscript:](v758, "setObject:forKeyedSubscript:");
objc_release(v732);
}
}
}
LABEL_437:
objc_release(v254);
objc_release(v743);
objc_release(v736);
objc_release(v748);
objc_release(v739);
v772 = objc_retain(v772);
objc_release(v772);
v740 = objc_retainAutoreleasedReturnValue(createLaunchModifiers(v775, a4, v307));
if ( *(*(&v815 + 1) + 24LL) )
-[NSDictionary setObject:forKeyedSubscript:](
v758,
"setObject:forKeyedSubscript:",
&__kCFBooleanTrue,
CFSTR("LSTemplateApplication"));
v308 = objc_retainAutoreleasedReturnValue(objc_msgSend(v740, "valueForKey:", CFSTR("LSLaunchModifierLaunchWithASLRDisabled")));
v733 = objc_msgSend(v308, "boolValue");
objc_release(v308);
if ( a6 )
v309 = 0;
else
v309 = (v775 & 0x2001000) == 0;
v310 = v309;
if ( (v775 & 0x80000000) != 0 )
{
v311 = objc_retainAutoreleasedReturnValue(-[NSDictionary objectForKeyedSubscript:](v758, "objectForKeyedSubscript:", CFSTR("ApplicationType")));
objc_msgSend(v740, "setObject:forKeyedSubscript:", v311, CFSTR("LSLaunchModifierOverriddenApplicationType"));
objc_release(v311);
-[NSDictionary setObject:forKeyedSubscript:](
v758,
"setObject:forKeyedSubscript:",
CFSTR("BackgroundOnly"),
CFSTR("ApplicationType"));
}
v312 = objc_retainAutoreleasedReturnValue(-[_LSOpen2Options overrideApplicationType](v765, "overrideApplicationType"));
objc_release(v312);
if ( v312 )
{
v313 = objc_retainAutoreleasedReturnValue(-[_LSOpen2Options overrideApplicationType](v765, "overrideApplicationType"));
v314 = objc_retainAutoreleasedReturnValue(-[NSDictionary objectForKeyedSubscript:](v758, "objectForKeyedSubscript:", CFSTR("ApplicationType")));
v315 = -[NSString isEqual:](v313, "isEqual:", v314);
objc_release(v314);
objc_release(v313);
if ( (v315 & 1) == 0 )
{
v316 = objc_retainAutoreleasedReturnValue(-[NSDictionary objectForKeyedSubscript:](v758, "objectForKeyedSubscript:", CFSTR("ApplicationType")));
objc_msgSend(v740, "setObject:forKeyedSubscript:", v316, CFSTR("LSLaunchModifierOverriddenApplicationType"));
objc_release(v316);
v317 = objc_retainAutoreleasedReturnValue(-[_LSOpen2Options overrideApplicationType](v765, "overrideApplicationType"));
-[NSDictionary setObject:forKeyedSubscript:](v758, "setObject:forKeyedSubscript:", v317, CFSTR("ApplicationType"));
objc_release(v317);
}
}
if ( (v775 & 0x80000000) != 0 )
{
v318 = objc_retainAutoreleasedReturnValue(-[_LSOpen2Options overrideBackgroundPriorityName](v765, "overrideBackgroundPriorityName"));
if ( v318 )
{
objc_release(v318);
}
else
{
v319 = objc_retainAutoreleasedReturnValue(-[_LSOpen2Options launchReason](v765, "launchReason"));
objc_release(v319);
if ( !v319 )
goto LABEL_458;
}
v320 = objc_retainAutoreleasedReturnValue(-[_LSOpen2Options overrideBackgroundPriorityName](v765, "overrideBackgroundPriorityName"));
v321 = v320;
if ( v320 )
v322 = v320;
else
v322 = &stru_1ED1C6B98;
-[NSDictionary setObject:forKeyedSubscript:](
v758,
"setObject:forKeyedSubscript:",
v322,
CFSTR("LSApplicationOverriddenBackgroundDomainName"));
objc_release(v321);
}
LABEL_458:
v323 = -[_LSOpen2Options notRelaunchedForTAL](v765, "notRelaunchedForTAL");
if ( v323 )
v323 = -[NSDictionary setObject:forKeyedSubscript:](
v758,
"setObject:forKeyedSubscript:",
&__kCFBooleanTrue,
CFSTR("LSApplicationShouldNotBeRelaunchedByTAL"));
v324 = (v775 >> 25) & 1;
v325 = *(*(&v817 + 1) + 24LL);
if ( v325 && !(((*(v325 + 150) & 0x20) == 0) | (v775 >> 25) & 1 | (v775 >> 12) & 1) )
{
v326 = objc_retainAutoreleasedReturnValue(_LSOpenLog(v323));
if ( j__os_log_type_enabled_3(v326, OS_LOG_TYPE_DEBUG) )
{
*v822 = 138543362;
*&v822[4] = v743;
j___os_log_impl_1(
&dword_180981000,
v326,
OS_LOG_TYPE_DEBUG,
"LAUNCH: launching beta app %{public}@ in stopped state",
v822,
0xCu);
}
objc_release(v326);
objc_msgSend(v740, "setObject:forKeyedSubscript:", &__kCFBooleanTrue, CFSTR("LSLaunchStopped"));
v722 = 1;
}
else
{
v722 = 0;
}
if ( v794 )
{
v327 = objc_retain(v758);
v328 = objc_retain(v770);
v329 = objc_retainAutoreleasedReturnValue(objc_msgSend(v328, "pathWithError:", 0LL));
if ( v329 )
-[NSDictionary setObject:forKeyedSubscript:](
v327,
"setObject:forKeyedSubscript:",
v329,
CFSTR("LSLaunchBeforeTranslocationLaunchBundlePathKey"));
objc_release(v329);
LODWORD(v821[0]) = 0;
if ( objc_msgSend(v328, "getDeviceNumber:error:", v821, 0LL) )
{
v330 = objc_retainAutoreleasedReturnValue(+[NSNumber numberWithLong:](&OBJC_CLASS___NSNumber, "numberWithLong:", SLODWORD(v821[0])));
-[NSDictionary setObject:forKeyedSubscript:](
v327,
"setObject:forKeyedSubscript:",
v330,
CFSTR("LSLaunchBeforeTranslocationLaunchBundlePathDeviceIDKey"));
objc_release(v330);
}
*v822 = 0LL;
if ( objc_msgSend(v328, "getInodeNumber:error:", v822, 0LL) )
{
v331 = objc_retainAutoreleasedReturnValue(+[NSNumber numberWithUnsignedLongLong:](&OBJC_CLASS___NSNumber, "numberWithUnsignedLongLong:", *v822));
-[NSDictionary setObject:forKeyedSubscript:](
v327,
"setObject:forKeyedSubscript:",
v331,
CFSTR("LSLaunchBeforeTranslocationLaunchBundlePathINodeKey"));
objc_release(v331);
}
v332 = objc_msgSend(v328, "copyCFBundleWithError:", 0LL);
v333 = v332;
if ( v332 )
{
v334 = j__CFBundleCopyExecutableURL(v332);
v335 = v334
? -[FSNode initWithURL:flags:error:](
objc_alloc(&OBJC_CLASS___FSNode),
"initWithURL:flags:error:",
v334,
0LL,
0LL)
: 0LL;
objc_release(v334);
j__CFRelease(v333);
if ( v335 )
{
v336 = objc_retainAutoreleasedReturnValue(-[FSNode pathWithError:](v335, "pathWithError:", 0LL));
if ( v336 )
-[NSDictionary setObject:forKeyedSubscript:](
v327,
"setObject:forKeyedSubscript:",
v336,
CFSTR("LSLaunchBeforeTranslocationLaunchExecutablePathKey"));
objc_release(v336);
LODWORD(v819) = 0;
if ( -[FSNode getDeviceNumber:error:](v335, "getDeviceNumber:error:", &v819, 0LL) )
{
v337 = objc_retainAutoreleasedReturnValue(+[NSNumber numberWithLong:](&OBJC_CLASS___NSNumber, "numberWithLong:", v819));
-[NSDictionary setObject:forKeyedSubscript:](
v327,
"setObject:forKeyedSubscript:",
v337,
CFSTR("LSLaunchBeforeTranslocationExecutablePathDeviceID"));
objc_release(v337);
}
*&v835[0] = 0LL;
if ( -[FSNode getInodeNumber:error:](v335, "getInodeNumber:error:", v835, 0LL) )
{
v338 = objc_retainAutoreleasedReturnValue(
+[NSNumber numberWithUnsignedLongLong:](
&OBJC_CLASS___NSNumber,
"numberWithUnsignedLongLong:",
*&v835[0]));
-[NSDictionary setObject:forKeyedSubscript:](
v327,
"setObject:forKeyedSubscript:",
v338,
CFSTR("LSLaunchBeforeTranslocationExecutablePathINode"));
objc_release(v338);
}
objc_release(v335);
}
}
objc_release(v328);
objc_release(v327);
v324 = (v775 >> 25) & 1;
}
if ( !*(v800 + 6) && isForegroundApplication(v758) )
{
if ( (v775 & 0x100200) != 0 )
{
v339 = -[NSDictionary setObject:forKeyedSubscript:](
v758,
"setObject:forKeyedSubscript:",
&__kCFBooleanTrue,
CFSTR("LSLaunchDoNotBringFrontmost"));
if ( (v775 & 0x100000) != 0 )
{
v340 = objc_retainAutoreleasedReturnValue(_LSOpenLog(v339));
if ( j__os_log_type_enabled_3(v340, OS_LOG_TYPE_DEBUG) )
{
*v822 = 138543362;
*&v822[4] = v743;
j___os_log_impl_1(
&dword_180981000,
v340,
OS_LOG_TYPE_DEBUG,
"LAUNCH: Setting up launched app to hide itself forward at registration, app=%{public}@",
v822,
0xCu);
}
objc_release(v340);
-[NSDictionary setObject:forKeyedSubscript:](
v758,
"setObject:forKeyedSubscript:",
&__kCFBooleanTrue,
CFSTR("LSLaunchedHidden"));
}
}
else
{
-[NSDictionary setObject:forKeyedSubscript:](
v758,
"setObject:forKeyedSubscript:",
&__kCFBooleanFalse,
CFSTR("LSLaunchDoNotBringFrontmost"));
-[NSDictionary setObject:forKeyedSubscript:](
v758,
"setObject:forKeyedSubscript:",
&__kCFBooleanTrue,
CFSTR("LSWantsToComeForwardAtRegistrationTimeKey"));
-[NSDictionary setObject:forKeyedSubscript:](
v758,
"setObject:forKeyedSubscript:",
_LSCopyMetaApplicationInformationItem(4294967294LL, CFSTR("LSFrontApplicationSeed")),
CFSTR("LSFrontApplicationSeed"));
v341 = -[NSDictionary setObject:forKeyedSubscript:](
v758,
"setObject:forKeyedSubscript:",
_LSCopyMetaApplicationInformationItem(4294967294LL, CFSTR("LSUserActivityCount")),
CFSTR("LSUserActivityCount"));
v342 = objc_retainAutoreleasedReturnValue(_LSOpenLog(v341));
if ( j__os_log_type_enabled_3(v342, OS_LOG_TYPE_DEBUG) )
{
v343 = objc_retainAutoreleasedReturnValue(
-[NSDictionary objectForKeyedSubscript:](
v758,
"objectForKeyedSubscript:",
CFSTR("LSFrontApplicationSeed")));
v344 = objc_retainAutoreleasedReturnValue(
-[NSDictionary objectForKeyedSubscript:](
v758,
"objectForKeyedSubscript:",
CFSTR("LSUserActivityCount")));
*v822 = 138543874;
*&v822[4] = v343;
*&v822[12] = 2114;
*&v822[14] = v344;
*&v822[22] = 2114;
*&v822[24] = v743;
j___os_log_impl_1(
&dword_180981000,
v342,
OS_LOG_TYPE_DEBUG,
"LAUNCH: Setting up launched app to bring itself forward at registration, seed=%{public}@ userActitityCount=%{p"
"ublic}@ app=%{public}@",
v822,
0x20u);
objc_release(v344);
objc_release(v343);
}
objc_release(v342);
}
}
if ( !*(v800 + 6) )
{
v710 = v324;
v725 = *(v796 + 6);
v346 = *(*(&v817 + 1) + 24LL);
v728 = objc_retain(v770);
v347 = objc_retain(v764);
v348 = v347;
v711 = v310;
if ( v347 )
{
v349 = objc_msgSend(v347, "copy");
if ( !v346 )
goto LABEL_526;
}
else
{
if ( !v346 )
goto LABEL_507;
if ( (*(v346 + 148) & 0x10) == 0 )
{
*&v835[0] = 0LL;
*(&v835[0] + 1) = v835;
*&v835[1] = 0x2020000000LL;
DWORD2(v835[1]) = 0;
*v822 = &OBJC_CLASS_____NSStackBlock__;
*&v822[8] = 3254779904LL;
*&v822[16] = ___ZL29numberOfArchitecturesInBundlePK12LSBundleData_block_invoke;
*&v822[24] = &__block_descriptor_40_ea8_32r_e26_v24__0_LSSliceData_ii_8_16l;
*&v822[32] = v835;
_LSEnumerateSliceMask(*(v346 + 140), v822);
v350 = *(*(&v835[0] + 1) + 24LL);
j___Block_object_dispose_6(v835, 8);
if ( v350 < 2 )
{
LABEL_507:
v349 = 0LL;
goto LABEL_536;
}
}
if ( (*(v346 + 156) & 0xC) != 0 )
v351 = _LSBundleCopyArchitecturesValidOnCurrentSystem(a1->db, v725);
else
v351 = 0LL;
v352 = objc_retainAutoreleasedReturnValue(_LSGetArchitecturesArrayWithUserPreference(v351, v728));
objc_release(v351);
if ( v352 )
{
v353 = objc_retain(v352);
v354 = objc_alloc_init(&OBJC_CLASS___NSMutableArray);
*v822 = &OBJC_CLASS_____NSStackBlock__;
*&v822[8] = 3254779904LL;
*&v822[16] = ___ZL37arrayOfSliceInfosFromLSCPUTypeStringsP7NSArrayIP8NSStringE_block_invoke;
*&v822[24] = &__block_descriptor_40_ea8_32s_e25_v32__0__NSString_8Q16_B24l;
v355 = objc_retain(v354);
*&v822[32] = v355;
objc_msgSend(v353, "enumerateObjectsUsingBlock:", v822);
v349 = -[NSObject copy](v355, "copy");
objc_release(*&v822[32]);
objc_release(v355);
objc_release(v353);
}
else
{
v349 = 0LL;
}
objc_release(v352);
}
if ( v349 )
{
if ( (*(v346 + 173) & 0x10) == 0 || _LSGetCPUType() != 16777228 )
{
LABEL_528:
if ( !-[NSArray count](v349, "count") )
{
v362 = objc_retainAutoreleasedReturnValue(_LSOpenLog(0LL));
if ( j__os_log_type_enabled_3(v362, OS_LOG_TYPE_ERROR) )
{
v363 = &v819;
asString(v348);
if ( SBYTE7(v820) < 0 )
v363 = v819;
v364 = objc_retainAutoreleasedReturnValue(bundleIdentifierForBundleID(a1, v725));
v365 = objc_retainAutoreleasedReturnValue(objc_msgSend(v728, "URL"));
LODWORD(v821[0]) = 136446723;
*(v821 + 4) = v363;
WORD6(v821[0]) = 2114;
*(v821 + 14) = v364;
WORD3(v821[1]) = 2113;
*(&v821[1] + 1) = v365;
j___os_log_impl_1(
&dword_180981000,
v362,
OS_LOG_TYPE_ERROR,
"LAUNCH: No architectures specified in launch archictectures %{public}s for app=%{public}@ %{private}@ whic"
"h likely is an error.",
v821,
0x20u);
objc_release(v365);
if ( SBYTE7(v820) < 0 )
operator delete(v819);
objc_release(v364);
}
objc_release(v362);
}
LABEL_536:
objc_release(v348);
objc_release(v728);
v366 = *(*(&v817 + 1) + 24LL);
v345 = objc_retain(v349);
if ( (_LSGetCPUType() & 0xFFFFFF) == 12 )
{
v367 = objc_retainAutoreleasedReturnValue(-[NSArray(MCXExtensions) firstObject](v345, "firstObject"));
v368 = -[NSObject type](v367, "type");
objc_release(v367);
if ( v368 == 16777223 )
{
v369 = -[LSSliceInfo initWithType:subtype:](
objc_alloc(&OBJC_CLASS___LSSliceInfo),
"initWithType:subtype:",
16777223LL,
0xFFFFFFFFLL);
*v822 = v369;
v370 = objc_retainAutoreleasedReturnValue(+[NSArray arrayWithObjects:count:](&OBJC_CLASS___NSArray, "arrayWithObjects:count:", v822, 1LL));
objc_release(v369);
WouldBeSupportedIfCambriaWereInstalled = requestedArchitectureWouldBeSupportedIfCambriaWereInstalled(
v366,
v370);
v372 = WouldBeSupportedIfCambriaWereInstalled;
if ( WouldBeSupportedIfCambriaWereInstalled )
{
v373 = objc_retainAutoreleasedReturnValue(_LSOpenLog(WouldBeSupportedIfCambriaWereInstalled));
if ( j__os_log_type_enabled_3(v373, OS_LOG_TYPE_ERROR) )
{
LOWORD(v835[0]) = 0;
j___os_log_impl_1(
&dword_180981000,
v373,
OS_LOG_TYPE_ERROR,
"LAUNCH: User preference exists for x86_64 but runtime support is not installed.",
v835,
2u);
}
objc_release(v373);
objc_release(v370);
objc_release(v345);
*(v800 + 6) = -10669;
if ( (v372 & 1) != 0 )
goto LABEL_498;
LABEL_545:
v374 = j__mach_continuous_time_3();
if ( !v161 )
v161 = _LSAllocatePSN(4294967294LL, 0LL);
v375 = objc_retainAutoreleasedReturnValue(getApplicationVersionString(*(*(&v817 + 1) + 24LL)));
v708 = v374;
v744 = objc_retain(v743);
v376 = objc_retain(v375);
v377 = objc_retain(v740);
v724 = v376;
v719 = v345;
if ( v376 && -[LSBundleData length](v744, "length") && !_CSCheckFixWithInfo(CFSTR("9333942"), v744, v376) )
objc_msgSend(
v377,
"setObject:forKeyedSubscript:",
&__kCFBooleanTrue,
CFSTR("LSLaunchModifierLaunchWithASLRDisabled"));
if ( !_CSCheckFix(CFSTR("9315049")) )
objc_msgSend(
v377,
"setObject:forKeyedSubscript:",
&__kCFBooleanTrue,
CFSTR("LSLaunchModifierLaunchWithASLRDisabled"));
objc_release(v377);
objc_release(v376);
objc_release(v744);
v378 = objc_retain(v736);
v379 = objc_retain(v758);
v380 = v379;
if ( (v775 & 0x100200) == 0 )
{
if ( v378 )
{
if ( isForegroundApplication(v379) )
{
v381 = -[NSString UTF8String](objc_retainAutorelease(v378), "UTF8String");
if ( v381 )
{
v382 = j__open_4(v381, 0);
v383 = v382;
if ( v382 >= 1 )
{
memset(v822, 0, 24);
j__fcntl_2(v382, 101, v822);
j__close_6(v383);
}
}
}
}
}
objc_release(v380);
objc_release(v378);
v386 = *(*(&v817 + 1) + 24LL);
if ( v386 )
{
v713 = 0;
v726 = 0LL;
v387 = v775 & 0x80000;
if ( (v775 & 0x80000) == 0 && (*(v386 + 156) & 0x80) != 0 )
{
v388 = objc_retainAutoreleasedReturnValue(_LSPlistGetValueForKey(
a1->db,
*(v386 + 120),
CFSTR("LSLaunchDLabel"),
v384));
v726 = v388;
if ( v388 )
{
v389 = objc_retainAutoreleasedReturnValue(_LSOpenLog(v388));
if ( j__os_log_type_enabled_3(v389, OS_LOG_TYPE_INFO) )
{
*v822 = 138543875;
*&v822[4] = v726;
*&v822[12] = 2114;
*&v822[14] = v744;
*&v822[22] = 2113;
*&v822[24] = v748;
j___os_log_impl_1(
&dword_180981000,
v389,
OS_LOG_TYPE_INFO,
"LAUNCH: Launching via job label %{public}@, %{public}@ %{private}@",
v822,
0x20u);
}
objc_release(v389);
v721 = objc_retainAutoreleasedReturnValue(objc_msgSend(getRBSProcessIdentityClass(), "identityForDaemonJobLabel:", v726));
v713 = 1;
v387 = v721;
if ( v721 )
{
v709 = 0;
goto LABEL_572;
}
}
else
{
v390 = objc_retainAutoreleasedReturnValue(_LSOpenLog(0LL));
if ( j__os_log_type_enabled_3(v390, OS_LOG_TYPE_ERROR) )
{
*v822 = 138543619;
*&v822[4] = v744;
*&v822[12] = 2113;
*&v822[14] = v748;
j___os_log_impl_1(
&dword_180981000,
v390,
OS_LOG_TYPE_ERROR,
"LAUNCH: Can't determine application job label, so falling back to standard launch %{public}@ %{private}@",
v822,
0x16u);
}
objc_release(v390);
v387 = 0;
v726 = 0LL;
v713 = 0;
}
}
}
else
{
v726 = 0LL;
v713 = 0;
v387 = v775 & 0x80000;
}
v721 = objc_retainAutoreleasedReturnValue(constructRBSIdentityFromBundleData(
*(*(&v817 + 1) + 24LL),
v744,
v748,
(v387 != 0),
v385));
v709 = 1;
LABEL_572:
v718 = objc_retainAutoreleasedReturnValue(constructEnvironmentDictionary(
a1,
*(*(&v817 + 1) + 24LL),
v744,
v724,
v765,
a9));
v391 = objc_retain(v728);
v392 = _LSGetCPUType();
if ( (v392 & 0xFFFFFF) == 12 )
{
Shared = LaunchServices::PrefsStorage::GetShared(v392);
*&v835[0] = 0LL;
PointerKeysEnabledPreferenceForNode = LaunchServices::PrefsStorage::getPointerKeysEnabledPreferenceForNode(
Shared,
v391,
v835);
v395 = objc_retain(*&v835[0]);
v396 = v395;
if ( PointerKeysEnabledPreferenceForNode <= 0xFFu )
{
v397 = objc_retainAutoreleasedReturnValue(_LSOpenLog(v395));
if ( j__os_log_type_enabled_3(v397, OS_LOG_TYPE_DEBUG) )
{
v398 = v391;
v399 = objc_retainAutoreleasedReturnValue(objc_msgSend(v391, "URL"));
*v822 = 138412546;
*&v822[4] = v399;
*&v822[12] = 2112;
*&v822[14] = v396;
j___os_log_impl_1(
&dword_180981000,
v397,
OS_LOG_TYPE_DEBUG,
"Could not check key state preference for node %@: %@",
v822,
0x16u);
objc_release(v399);
v391 = v398;
}
objc_release(v397);
}
if ( PointerKeysEnabledPreferenceForNode )
v400 = PointerKeysEnabledPreferenceForNode >= 0x100u;
else
v400 = 0;
v401 = !v400;
objc_release(v396);
v402 = v401;
}
else
{
v402 = 0;
}
objc_release(v391);
v714 = objc_retainAutoreleasedReturnValue(
-[NSDictionary objectForKeyedSubscript:](
v380,
"objectForKeyedSubscript:",
CFSTR("LSLaunchedPersonaUID")));
v712 = v377;
if ( v794 )
{
v717 = objc_retain(objc_retainAutoreleasedReturnValue(objc_msgSend(v391, "pathWithError:", 0LL)));
objc_release(v717);
}
else
{
v717 = 0LL;
}
v707 = v391;
if ( v733 )
v403 = 8;
else
v403 = 0;
v404 = objc_retain(
objc_retainAutoreleasedReturnValue(
-[NSDictionary objectForKeyedSubscript:](
v380,
"objectForKeyedSubscript:",
CFSTR("ApplicationType"))));
v405 = v404;
v723 = objc_retain(v765);
if ( v723 )
{
v406 = objc_retainAutoreleasedReturnValue(-[_LSOpen2Options overrideBackgroundPriorityName](v723, "overrideBackgroundPriorityName"));
v405 = v404;
if ( v406 )
{
LABEL_604:
if ( getRBSDomainAttributeClass(void)::sOnce != -1 )
j__dispatch_once_3(&getRBSDomainAttributeClass(void)::sOnce, &__block_literal_global_251_0);
v716 = objc_retainAutoreleasedReturnValue(
objc_msgSend(
objc_retainAutorelease(getRBSDomainAttributeClass(void)::sClassRBSDomainAttribute),
"attributeWithDomain:name:",
CFSTR("com.apple.launchservicesd"),
v406));
objc_release(v406);
LABEL_610:
objc_release(v723);
objc_release(v405);
objc_release(v404);
v410 = objc_retainAutoreleasedReturnValue(createSpawnConstraintsDictionary(
a1,
*(*(&v817 + 1) + 24LL),
v744,
v723));
v715 = v410;
v411 = v714;
if ( v714 )
{
v412 = objc_retainAutoreleasedReturnValue(_LSOpenLog(v410));
if ( j__os_log_type_enabled_3(v412, OS_LOG_TYPE_DEBUG) )
{
LODWORD(v835[0]) = 0;
_LSASNExtractHighAndLowParts(v161, v835, 0LL);
v413 = v835[0];
LODWORD(v835[0]) = 0;
_LSASNExtractHighAndLowParts(v161, 0LL, v835);
*v822 = 67241219;
*&v822[4] = v413;
*&v822[8] = 1026;
*&v822[10] = v835[0];
*&v822[14] = 2114;
*&v822[16] = v744;
*&v822[24] = 2113;
*&v822[26] = v378;
*&v822[34] = 2114;
*&v822[36] = v714;
j___os_log_impl_1(
&dword_180981000,
v412,
OS_LOG_TYPE_DEBUG,
"LAUNCH: PERSONA: launching 0x%{public}x-0x%{public}x %{public}@ %{private}@ with persona %{public}@.",
v822,
0x2Cu);
}
objc_release(v412);
}
v414 = objc_retain(v380);
if ( v414 && v161 )
{
v415 = objc_retainAutoreleasedReturnValue(
+[NSDictionary dictionaryWithDictionary:](
&OBJC_CLASS___NSMutableDictionary,
"dictionaryWithDictionary:",
v414));
-[NSMutableDictionary setObject:forKeyedSubscript:](
v415,
"setObject:forKeyedSubscript:",
v161,
CFSTR("LSASN"));
_LSSendNotification(4294967294LL, 267LL, v415, 0LL, 0.0);
objc_release(v415);
}
v416 = (a6 != 0LL) | (v775 >> 12) & 1 | v710 | v722 | v711;
v417 = v403 | v416;
objc_release(v414);
v778 = 0LL;
v779 = 0LL;
v734 = objc_retainAutoreleasedReturnValue(launchThruRunningboard(
v721,
v378,
v717,
v744,
v161,
v750,
v718,
v719,
v723,
v714,
v417,
v716,
v715,
v402,
&v779,
&v778));
v720 = objc_retain(v779);
v418 = objc_retain(v778);
if ( !v418 )
{
v730 = 0LL;
v433 = 0LL;
LABEL_727:
objc_release(v772);
v772 = v433;
goto LABEL_728;
}
v729 = v418;
v419 = objc_retainAutoreleasedReturnValue(-[NSError domain](v418, "domain"));
v420 = -[NSString isEqual:](v419, "isEqual:", getRBSRequestErrorDomain());
objc_release(v419);
if ( v420 )
{
if ( v713 && -[NSError code](v729, "code") == 5 )
{
v421 = objc_retainAutoreleasedReturnValue(-[NSError userInfo](v729, "userInfo"));
v422 = objc_retainAutoreleasedReturnValue(
-[NSDictionary objectForKeyedSubscript:](
v421,
"objectForKeyedSubscript:",
CFSTR("NSUnderlyingError")));
objc_release(v421);
if ( v422
&& (v423 = objc_retainAutoreleasedReturnValue(objc_msgSend(v422, "domain")),
v424 = objc_msgSend(v423, "isEqual:", CFSTR("NSPOSIXErrorDomain")),
objc_release(v423),
v424)
&& objc_msgSend(v422, "code") == 4 )
{
v425 = objc_retainAutoreleasedReturnValue(_LSOpenLog(4LL));
if ( j__os_log_type_enabled_3(v425, OS_LOG_TYPE_DEBUG) )
{
v426 = v402;
v427 = v378;
LODWORD(v835[0]) = 0;
_LSASNExtractHighAndLowParts(v161, v835, 0LL);
v428 = v835[0];
LODWORD(v835[0]) = 0;
_LSASNExtractHighAndLowParts(v161, 0LL, v835);
*v822 = 67240963;
*&v822[4] = v428;
*&v822[8] = 1026;
*&v822[10] = v835[0];
*&v822[14] = 2114;
*&v822[16] = v744;
*&v822[24] = 2113;
v378 = v427;
*&v822[26] = v427;
j___os_log_impl_1(
&dword_180981000,
v425,
OS_LOG_TYPE_DEBUG,
"LAUNCH: Retrying runningboard launch without job label, 0x%{public}x-0x%{public}x %{public}@ %{private}@",
v822,
0x22u);
v402 = v426;
}
objc_release(v425);
v430 = objc_retainAutoreleasedReturnValue(constructRBSIdentityFromBundleData(
*(*(&v817 + 1) + 24LL),
v744,
v748,
((v775 >> 19) & 1),
v429));
objc_release(v721);
objc_release(v729);
v776 = 0LL;
v777 = v720;
LOBYTE(v706) = v402;
v431 = objc_retainAutoreleasedReturnValue(launchThruRunningboard(
v430,
v378,
v717,
v744,
v161,
v750,
v718,
v719,
v723,
v714,
v417,
v716,
v715,
v706,
&v777,
&v776));
v432 = objc_retain(v777);
objc_release(v720);
v729 = objc_retain(v776);
objc_release(v734);
LOBYTE(v713) = 0;
v709 = 1;
v720 = v432;
v721 = v430;
v734 = v431;
}
else
{
LOBYTE(v713) = 1;
}
objc_release(v422);
v456 = objc_retain(v729);
objc_release(v772);
if ( !v456 )
{
v730 = 0LL;
v772 = 0LL;
goto LABEL_728;
}
v435 = v456;
LABEL_631:
v730 = v435;
v436 = objc_retainAutoreleasedReturnValue(-[NSError userInfo](v435, "userInfo"));
v437 = objc_retainAutoreleasedReturnValue(-[NSDictionary objectForKey:](v436, "objectForKey:", CFSTR("NSUnderlyingError")));
objc_release(v436);
v438 = objc_retainAutoreleasedReturnValue(objc_msgSend(v437, "domain"));
if ( objc_msgSend(v438, "isEqual:", CFSTR("NSPOSIXErrorDomain"))
&& objc_msgSend(v437, "code") == 80 )
{
v439 = objc_retainAutoreleasedReturnValue(-[NSError domain](v730, "domain"));
v440 = -[NSString isEqual:](v439, "isEqual:", getRBSRequestErrorDomain());
objc_release(v439);
objc_release(v438);
if ( v440 )
{
*(v800 + 6) = -10671;
v772 = v730;
v411 = v714;
goto LABEL_722;
}
}
else
{
objc_release(v438);
}
v411 = v714;
v441 = objc_retainAutoreleasedReturnValue(-[NSError domain](v730, "domain"));
v442 = -[NSString isEqual:](v441, "isEqual:", getRBSRequestErrorDomain());
objc_release(v441);
if ( v442 )
{
v443 = -[NSError code](v730, "code");
switch ( v443 )
{
case 0LL:
v444 = objc_retainAutoreleasedReturnValue(_LSOpenLog(v443));
if ( !j__os_log_type_enabled_3(v444, OS_LOG_TYPE_DEBUG) )
goto LABEL_714;
*v822 = 138543875;
*&v822[4] = v744;
*&v822[12] = 2113;
*&v822[14] = v748;
*&v822[22] = 2114;
*&v822[24] = v730;
v445 = "LAUNCH: Runningboard informed us that the launch of %{public}@ %{private}@ was succes"
"sful but returned RBSRequestErrorNone, so ignoring error %{public}@.";
v446 = v444;
v447 = 32;
goto LABEL_713;
case 1LL:
v491 = objc_retainAutoreleasedReturnValue(
+[NSDictionary dictionaryWithObjectsAndKeys:](
&OBJC_CLASS___NSDictionary,
"dictionaryWithObjectsAndKeys:",
v730,
CFSTR("NSUnderlyingError"),
0LL));
v772 = objc_retainAutoreleasedReturnValue(
+[NSError errorWithDomain:code:userInfo:](
&OBJC_CLASS___NSError,
"errorWithDomain:code:userInfo:",
CFSTR("NSOSStatusErrorDomain"),
-50LL,
v491));
objc_release(v730);
objc_release(v491);
*(v800 + 6) = -50;
v493 = objc_retainAutoreleasedReturnValue(_LSOpenLog(v492));
if ( j__os_log_type_enabled_3(v493, OS_LOG_TYPE_ERROR) )
{
v494 = *(v800 + 6);
*v822 = 138544131;
*&v822[4] = v744;
*&v822[12] = 2113;
*&v822[14] = v748;
*&v822[22] = 2114;
*&v822[24] = v772;
*&v822[32] = 1026;
*&v822[34] = v494;
j___os_log_impl_1(
&dword_180981000,
v493,
OS_LOG_TYPE_ERROR,
"LAUNCH: Runningboard launch of %{public}@ %{private}@ returned RBSRequestErrorInvalidPar"
"ameters, error %{public}@, so returning paramErr/%{public}d",
v822,
0x26u);
}
objc_release(v493);
goto LABEL_722;
case 2LL:
v444 = objc_retainAutoreleasedReturnValue(_LSOpenLog(v443));
if ( j__os_log_type_enabled_3(v444, OS_LOG_TYPE_DEBUG) )
{
*v822 = 138543619;
*&v822[4] = v744;
*&v822[12] = 2113;
*&v822[14] = v748;
v445 = "LAUNCH: Runningboard informed us that the launch of %{public}@ %{private}@ was unne"
"cessary, as it is already running.";
v446 = v444;
v447 = 22;
LABEL_713:
j___os_log_impl_1(&dword_180981000, v446, OS_LOG_TYPE_DEBUG, v445, v822, v447);
}
LABEL_714:
objc_release(v444);
*(v800 + 6) = 0;
objc_release(v730);
v772 = 0LL;
goto LABEL_722;
case 3LL:
*(v800 + 6) = -10810;
objc_release(v734);
v486 = objc_retainAutoreleasedReturnValue(_LSOpenLog(v497));
if ( j__os_log_type_enabled_3(v486, OS_LOG_TYPE_ERROR) )
goto LABEL_703;
goto LABEL_720;
case 4LL:
*(v800 + 6) = -10826;
objc_release(v734);
v486 = objc_retainAutoreleasedReturnValue(_LSOpenLog(v498));
if ( !j__os_log_type_enabled_3(v486, OS_LOG_TYPE_ERROR) )
goto LABEL_720;
v499 = *(v800 + 6);
*v822 = 138544131;
*&v822[4] = v744;
*&v822[12] = 2113;
*&v822[14] = v748;
*&v822[22] = 2114;
*&v822[24] = v730;
*&v822[32] = 1026;
*&v822[34] = v499;
v488 = "LAUNCH: Runningboard launch of %{public}@ %{private}@ returned RBSRequestErrorDenied,"
" error %{public}@, so returning %{public}d";
goto LABEL_719;
case 5LL:
*(v800 + 6) = -10810;
objc_release(v734);
v486 = objc_retainAutoreleasedReturnValue(_LSOpenLog(v489));
if ( !j__os_log_type_enabled_3(v486, OS_LOG_TYPE_ERROR) )
goto LABEL_720;
v490 = *(v800 + 6);
*v822 = 138544131;
*&v822[4] = v744;
*&v822[12] = 2113;
*&v822[14] = v748;
*&v822[22] = 2114;
*&v822[24] = v730;
*&v822[32] = 1026;
*&v822[34] = v490;
v488 = "LAUNCH: Runningboard launch of %{public}@ %{private}@ returned RBSRequestErrorFailed,"
" error %{public}@, so returning %{public}d";
goto LABEL_719;
case 7LL:
*(v800 + 6) = -10699;
objc_release(v734);
v486 = objc_retainAutoreleasedReturnValue(_LSOpenLog(v495));
if ( !j__os_log_type_enabled_3(v486, OS_LOG_TYPE_ERROR) )
goto LABEL_720;
v496 = *(v800 + 6);
*v822 = 138544131;
*&v822[4] = v744;
*&v822[12] = 2113;
*&v822[14] = v748;
*&v822[22] = 2114;
*&v822[24] = v730;
*&v822[32] = 1026;
*&v822[34] = v496;
v488 = "LAUNCH: Runningboard launch of %{public}@ %{private}@ returned RBSRequestErrorLaunchP"
"revented, error %{public}@, so returning %{public}d";
goto LABEL_719;
default:
*(v800 + 6) = -10810;
objc_release(v734);
v486 = objc_retainAutoreleasedReturnValue(_LSOpenLog(v485));
if ( !j__os_log_type_enabled_3(v486, OS_LOG_TYPE_ERROR) )
goto LABEL_720;
LABEL_703:
v487 = *(v800 + 6);
*v822 = 138544131;
*&v822[4] = v744;
*&v822[12] = 2113;
*&v822[14] = v748;
*&v822[22] = 2114;
*&v822[24] = v730;
*&v822[32] = 1026;
*&v822[34] = v487;
v488 = "LAUNCH: Runningboard launch of %{public}@ %{private}@ returned unexpected value, erro"
"r %{public}@, so returning %{public}d";
LABEL_719:
j___os_log_impl_1(&dword_180981000, v486, OS_LOG_TYPE_ERROR, v488, v822, 0x26u);
LABEL_720:
objc_release(v486);
v734 = 0LL;
break;
}
goto LABEL_721;
}
v448 = objc_retainAutoreleasedReturnValue(-[NSError domain](v730, "domain"));
v449 = -[NSString isEqual:](v448, "isEqual:", CFSTR("NSPOSIXErrorDomain"));
objc_release(v448);
if ( v449 )
{
v451 = _LSGetOSStatusFromPOSIXErrorCode(-[NSError code](v730, "code"));
*(v800 + 6) = v451;
v452 = objc_retainAutoreleasedReturnValue(_LSOpenLog(v451));
if ( j__os_log_type_enabled_3(v452, OS_LOG_TYPE_ERROR) )
{
v453 = *(v800 + 6);
*v822 = 138544131;
*&v822[4] = v744;
*&v822[12] = 2113;
*&v822[14] = v748;
*&v822[22] = 2114;
*&v822[24] = v730;
*&v822[32] = 1026;
*&v822[34] = v453;
v454 = "LAUNCH: Runningboard launch of %{public}@ %{private}@ returned unexpected POSIX error %"
"{public}@, returning %{public}d";
LABEL_645:
j___os_log_impl_1(&dword_180981000, v452, OS_LOG_TYPE_ERROR, v454, v822, 0x26u);
}
}
else
{
*(v800 + 6) = -10810;
v452 = objc_retainAutoreleasedReturnValue(_LSOpenLog(v450));
if ( j__os_log_type_enabled_3(v452, OS_LOG_TYPE_ERROR) )
{
v455 = *(v800 + 6);
*v822 = 138544131;
*&v822[4] = v744;
*&v822[12] = 2113;
*&v822[14] = v748;
*&v822[22] = 2114;
*&v822[24] = v730;
*&v822[32] = 1026;
*&v822[34] = v455;
v454 = "LAUNCH: Runningboard launch of %{public}@ %{private}@ returned unexpected error %{publi"
"c}@, returning kLSUnknownErr/%{public}d.";
goto LABEL_645;
}
}
objc_release(v452);
LABEL_721:
v772 = v730;
LABEL_722:
objc_release(v437);
if ( !*(v800 + 6)
|| (v457 = v772) == 0
|| (v457 = _LSGetOSStatusFromNSError(v772), v500 = *(v800 + 6), v457 == v500) )
{
LABEL_728:
if ( !v734 )
{
v513 = objc_retainAutoreleasedReturnValue(_LSOpenLog(v457));
if ( j__os_log_type_enabled_3(v513, OS_LOG_TYPE_ERROR) )
{
LODWORD(v835[0]) = 0;
_LSASNExtractHighAndLowParts(v161, v835, 0LL);
v514 = v835[0];
LODWORD(v835[0]) = 0;
_LSASNExtractHighAndLowParts(v161, 0LL, v835);
*v822 = 67241219;
*&v822[4] = v514;
*&v822[8] = 1026;
*&v822[10] = v835[0];
*&v822[14] = 2114;
*&v822[16] = v744;
*&v822[24] = 2113;
*&v822[26] = v748;
*&v822[34] = 2114;
*&v822[36] = v772;
j___os_log_impl_1(
&dword_180981000,
v513,
OS_LOG_TYPE_ERROR,
"LAUNCH: request execute thru runningboard of 0x%{public}x-0x%{public}x %{public}@/%{privat"
"e}@ failed with error=%{public}@",
v822,
0x2Cu);
}
objc_release(v513);
if ( !*(v800 + 6) )
{
*(v800 + 6) = -10810;
v516 = objc_retainAutoreleasedReturnValue(_LSOpenLog(v515));
if ( j__os_log_type_enabled_3(v516, OS_LOG_TYPE_ERROR) )
{
v517 = *(v800 + 6);
LODWORD(v835[0]) = 0;
_LSASNExtractHighAndLowParts(v161, v835, 0LL);
v518 = v835[0];
LODWORD(v835[0]) = 0;
_LSASNExtractHighAndLowParts(v161, 0LL, v835);
*v822 = 67241475;
*&v822[4] = v517;
*&v822[8] = 1026;
*&v822[10] = v518;
*&v822[14] = 1026;
*&v822[16] = v835[0];
*&v822[20] = 2114;
*&v822[22] = v744;
*&v822[30] = 2113;
*&v822[32] = v748;
*&v822[40] = 2114;
*&v822[42] = v772;
j___os_log_impl_1(
&dword_180981000,
v516,
OS_LOG_TYPE_ERROR,
"LAUNCH: Returning kLSUnknownErr/%{public}d for 0x%{public}x-0x%{public}x %{public}@/%{pr"
"ivate}@ failed with error=%{public}@",
v822,
0x32u);
}
objc_release(v516);
}
v248 = 0LL;
v519 = 0LL;
goto LABEL_816;
}
v503 = objc_retainAutoreleasedReturnValue(_LSOpenLog(v457));
if ( j__os_log_type_enabled_3(v503, OS_LOG_TYPE_INFO) )
{
LODWORD(v835[0]) = 0;
_LSASNExtractHighAndLowParts(v161, v835, 0LL);
v504 = v835[0];
LODWORD(v835[0]) = 0;
_LSASNExtractHighAndLowParts(v161, 0LL, v835);
v505 = v835[0];
v506 = objc_msgSend(v734, "pid");
v507 = v744;
if ( (v713 & (v726 != 0LL)) == 1 )
v507 = objc_retainAutoreleasedReturnValue(
+[NSString stringWithFormat:](
&OBJC_CLASS___NSString,
"stringWithFormat:",
CFSTR("label:%@"),
v726));
v508 = CFSTR("(quarantined) ");
*v822 = 67241475;
*&v822[4] = v504;
*&v822[8] = 1026;
*&v822[10] = v505;
if ( (v775 & 0x2000000) == 0 )
v508 = &stru_1ED1C6B98;
*&v822[14] = 1024;
*&v822[16] = v506;
*&v822[20] = 2114;
*&v822[22] = v507;
*&v822[30] = 2114;
*&v822[32] = v508;
*&v822[40] = 2113;
*&v822[42] = v748;
j___os_log_impl_1(
&dword_180981000,
v503,
OS_LOG_TYPE_INFO,
"LAUNCH: Successful launched 0x%{public}x-0x%{public}x pid=%d %{public}@ %{public}@ '%{private}@'",
v822,
0x32u);
if ( (v713 & (v726 != 0LL)) != 0 )
objc_release(v507);
}
objc_release(v503);
if ( off_1ED1E6990[0] )
{
v509 = isForegroundApplication(v414);
v510 = objc_retainAutoreleasedReturnValue(getApplicationVersionString(*(*(&v817 + 1) + 24LL)));
v511 = v510;
if ( v510 )
v512 = objc_msgSend(objc_retainAutorelease(v510), "cStringUsingEncoding:", 4LL);
else
v512 = 0LL;
alm_app_will_launch_with_signpost_id(
"runningboardd",
!(((v775 & 0x100200) == 0) & v509),
v512,
v512,
v708,
objc_msgSend(v734, "pid"));
objc_release(v511);
}
-[NSDictionary setObject:forKeyedSubscript:](
v414,
"setObject:forKeyedSubscript:",
&__kCFBooleanTrue,
CFSTR("LSLaunchedByLaunchServices"));
v161 = objc_retain(v161);
-[NSDictionary setObject:forKeyedSubscript:](
v414,
"setObject:forKeyedSubscript:",
v161,
CFSTR("LSASN"));
objc_release(v161);
v520 = objc_retainAutoreleasedReturnValue(
+[NSNumber numberWithLong:](
&OBJC_CLASS___NSNumber,
"numberWithLong:",
objc_msgSend(v734, "pid")));
-[NSDictionary setObject:forKeyedSubscript:](
v414,
"setObject:forKeyedSubscript:",
v520,
CFSTR("pid"));
objc_release(v520);
memset(v835, 0, sizeof(v835));
objc_msgSend_auditToken(v835, v734, v521);
v522 = objc_retainAutoreleasedReturnValue(
+[NSData dataWithBytes:length:](
&OBJC_CLASS___NSData,
"dataWithBytes:length:",
v835,
32LL));
-[NSDictionary setObject:forKeyedSubscript:](
v414,
"setObject:forKeyedSubscript:",
v522,
CFSTR("LSAuditToken"));
objc_release(v522);
-[NSDictionary setObject:forKeyedSubscript:](
v414,
"setObject:forKeyedSubscript:",
_LSGetCurrentApplicationASN(),
CFSTR("LSParentASN"));
v523 = objc_retainAutoreleasedReturnValue(
+[NSNumber numberWithUnsignedLongLong:](
&OBJC_CLASS___NSNumber,
"numberWithUnsignedLongLong:",
CGSCurrentEventTimestamp(
-[NSDictionary setObject:forKeyedSubscript:](
v414,
"setObject:forKeyedSubscript:",
v756,
CFSTR("LSLaunchTime")))));
-[NSDictionary setObject:forKeyedSubscript:](
v414,
"setObject:forKeyedSubscript:",
v523,
CFSTR("LSLaunchEventRecordTime"));
objc_release(v523);
-[NSDictionary setObject:forKeyedSubscript:](
v414,
"setObject:forKeyedSubscript:",
&__kCFBooleanTrue,
CFSTR("LSLaunchedWithLaunchD"));
v524 = objc_retainAutoreleasedReturnValue(objc_msgSend(v712, "objectForKeyedSubscript:", CFSTR("LSLaunchRefCon")));
if ( v524 )
-[NSDictionary setObject:forKeyedSubscript:](
v414,
"setObject:forKeyedSubscript:",
v524,
CFSTR("LSLaunchRefCon"));
objc_release(v524);
if ( (v713 & (v726 != 0LL)) == 1 )
-[NSDictionary setObject:forKeyedSubscript:](
v414,
"setObject:forKeyedSubscript:",
v726,
CFSTR("LSLaunchDLabel"));
if ( (v775 & 0x2000000) != 0 )
{
-[NSDictionary setObject:forKeyedSubscript:](
v414,
"setObject:forKeyedSubscript:",
&__kCFBooleanTrue,
CFSTR("LSLaunchedInQuarantine"));
-[NSDictionary setObject:forKeyedSubscript:](
v414,
"setObject:forKeyedSubscript:",
&__kCFBooleanTrue,
CFSTR("LSApplicationLockedInStoppedStateKey"));
}
if ( v416 )
-[NSDictionary setObject:forKeyedSubscript:](
v414,
"setObject:forKeyedSubscript:",
&__kCFBooleanTrue,
CFSTR("LSStoppedState"));
v525 = objc_retainAutoreleasedReturnValue(
-[NSDictionary objectForKeyedSubscript:](
v414,
"objectForKeyedSubscript:",
CFSTR("LSDisplayName")));
objc_release(v525);
if ( !v525 )
{
v526 = objc_retainAutoreleasedReturnValue(
+[_LSDisplayNameConstructor displayNameConstructorWithContext:bundle:bundleClass:node:preferredLocalizations:error:](
&OBJC_CLASS____LSDisplayNameConstructor,
"displayNameConstructorWithContext:bundle:bundleClass:node:preferredLocalizations:error:",
a1,
*(v796 + 6),
0LL,
v707,
0LL,
0LL));
v527 = v526;
if ( v526 )
{
v528 = objc_retainAutoreleasedReturnValue(
-[_LSDisplayNameConstructor unlocalizedNameWithContext:asIfShowingAllExtensions:](
v526,
"unlocalizedNameWithContext:asIfShowingAllExtensions:",
a1,
&__kCFBooleanFalse));
if ( v528 )
goto LABEL_763;
}
v529 = *(*(&v817 + 1) + 24LL);
if ( v529 )
{
v530 = *(v529 + 108);
if ( v530 )
{
v528 = objc_retainAutoreleasedReturnValue(_LSDatabaseGetNSStringFromString(a1->db, v530));
if ( v528 )
goto LABEL_763;
}
}
v531 = objc_retainAutoreleasedReturnValue(
-[NSDictionary objectForKeyedSubscript:](
v414,
"objectForKeyedSubscript:",
CFSTR("LSBundlePath")));
v532 = objc_retainAutoreleasedReturnValue(
-[NSDictionary objectForKeyedSubscript:](
v414,
"objectForKeyedSubscript:",
CFSTR("CFBundleExecutablePath")));
v528 = CopyAndConstructAppropriateDisplayName(v531, v532);
objc_release(v532);
objc_release(v531);
if ( v528 )
LABEL_763:
-[NSDictionary setObject:forKeyedSubscript:](
v414,
"setObject:forKeyedSubscript:",
v528,
CFSTR("LSDisplayName"));
objc_release(v527);
objc_release(v528);
v411 = v714;
}
if ( a4 )
{
v533 = objc_retainAutoreleasedReturnValue(+[NSNumber numberWithLong:](&OBJC_CLASS___NSNumber, "numberWithLong:", a4));
-[NSDictionary setObject:forKeyedSubscript:](
v414,
"setObject:forKeyedSubscript:",
v533,
CFSTR("LSLaunchRefCon"));
objc_release(v533);
}
*&v821[0] = 0LL;
v534 = objc_msgSend(v734, "pid");
v535 = *&v821[0];
*&v821[0] = 0LL;
if ( v535 )
j__CFRelease(v535);
v536 = _CASNotifyServerSideAboutLaunchedApplication(
4294967294LL,
v414,
0LL,
v712,
v534,
v709,
v821);
*(v800 + 6) = v536;
if ( !v536 || v536 == -13052 )
{
v537 = *&v821[0];
v538 = _LSASNGetTypeID();
if ( CFSTR("LSASN") && v537 )
{
v539 = v538;
v540 = j__CFDictionaryGetValue(v537, CFSTR("LSASN"));
v541 = v540;
if ( v539 && v540 && j__CFGetTypeID(v540) != v539 )
v541 = 0LL;
if ( v541 )
{
v542 = *&v821[0];
if ( *&v821[0] )
{
v543 = objc_retainAutoreleasedReturnValue(getLocallyLaunchedApplicationsDispatchQ());
*v822 = &OBJC_CLASS_____NSStackBlock__;
*&v822[8] = 3221225472LL;
*&v822[16] = ___ZL32addToLocallyLaunchedApplicationsPK7__LSASNPK14__CFDictionary_block_invoke;
*&v822[24] = &__block_descriptor_48_e5_v8__0l_0;
*&v822[32] = v541;
*&v822[40] = v542;
j__dispatch_sync_1(v543, v822);
objc_release(v543);
}
}
}
v536 = *(v800 + 6);
}
if ( v536 == -13052 )
{
v547 = CFDictionaryCopyValueAsLSASN(*&v821[0], CFSTR("LSASN"));
v548 = v547;
if ( v161 )
j__CFRelease(v161);
v549 = objc_retainAutoreleasedReturnValue(_LSOpenLog(v547));
if ( j__os_log_type_enabled_3(v549, OS_LOG_TYPE_INFO) )
{
v550 = objc_msgSend(v734, "pid");
v551 = _LSASNToUInt64(v548);
v552 = _LSASNToUInt64(v548);
*v822 = 67110147;
*&v822[4] = v550;
*&v822[8] = 2048;
*&v822[10] = HIDWORD(v551);
*&v822[18] = 2048;
*&v822[20] = v552;
*&v822[28] = 2114;
*&v822[30] = v744;
*&v822[38] = 2113;
*&v822[40] = v748;
j___os_log_impl_1(
&dword_180981000,
v549,
OS_LOG_TYPE_INFO,
"LAUNCH: An application for this pid %d is already running, 0x%llx-0x%llx %{public}@ %{private}@",
v822,
0x30u);
}
objc_release(v549);
v248 = 0LL;
*(v800 + 6) = -10652;
v161 = v548;
goto LABEL_813;
}
if ( !v536 )
{
v544 = objc_retainAutoreleasedReturnValue(
-[NSDictionary objectForKeyedSubscript:](
v414,
"objectForKeyedSubscript:",
CFSTR("LSDisplayName")));
v545 = *(*(&v817 + 1) + 24LL);
if ( v545 )
v546 = *(v545 + 180);
else
v546 = 0;
hintAppleEventsAndSendInitialAppleEvent(
v744,
v544,
v546,
v161,
objc_msgSend(v734, "pid"),
a6,
a7,
a11,
v775,
v723);
objc_release(v544);
v536 = *(v800 + 6);
}
v248 = 0LL;
if ( !v536 && v794 )
{
v553 = objc_retainAutoreleasedReturnValue(_LSOpenLog(v536));
if ( j__os_log_type_enabled_3(v553, OS_LOG_TYPE_INFO) )
{
LODWORD(v819) = 0;
_LSASNExtractHighAndLowParts(v161, &v819, 0LL);
v554 = v819;
LODWORD(v819) = 0;
_LSASNExtractHighAndLowParts(v161, 0LL, &v819);
v555 = v819;
v556 = objc_msgSend(v734, "pid");
*v822 = 67241219;
*&v822[4] = v554;
*&v822[8] = 1026;
*&v822[10] = v555;
*&v822[14] = 2114;
*&v822[16] = v744;
*&v822[24] = 2113;
*&v822[26] = v748;
*&v822[34] = 1026;
*&v822[36] = v556;
j___os_log_impl_1(
&dword_180981000,
v553,
OS_LOG_TYPE_INFO,
"LAUNCH: Launched translocated app 0x%{public}x-0x%{public}x %{public}@/%{private}@, so che"
"cking it in with pid %{public}d.",
v822,
0x28u);
}
objc_release(v553);
_LSTranslocateAppLaunchCheckIn(objc_msgSend(v734, "pid"));
v536 = *(v800 + 6);
v248 = 1LL;
}
if ( v536 )
goto LABEL_813;
if ( (v775 & 0x2000000) != 0 )
{
v563 = objc_retainAutoreleasedReturnValue(_LSOpenLog(v536));
if ( !j__os_log_type_enabled_3(v563, OS_LOG_TYPE_INFO) )
goto LABEL_812;
LODWORD(v819) = 0;
_LSASNExtractHighAndLowParts(v161, &v819, 0LL);
v568 = v819;
LODWORD(v819) = 0;
_LSASNExtractHighAndLowParts(v161, 0LL, &v819);
*v822 = 67240706;
*&v822[4] = v568;
*&v822[8] = 1026;
*&v822[10] = v819;
*&v822[14] = 2114;
*&v822[16] = v744;
v565 = "LAUNCH: 0x%{public}x-0x%{public}x %{public}@ launched with launchInQuarantine == true, "
"so not starting the application.";
}
else
{
if ( (v775 & 0x1000) == 0 )
{
if ( !v722 )
{
if ( ((a6 == 0LL) & (v711 ^ 1)) == 0 )
{
v668 = objc_retainAutoreleasedReturnValue(_LSOpenLog(v536));
if ( j__os_log_type_enabled_3(v668, OS_LOG_TYPE_INFO) )
{
LODWORD(v819) = 0;
_LSASNExtractHighAndLowParts(v161, &v819, 0LL);
v669 = v819;
LODWORD(v819) = 0;
_LSASNExtractHighAndLowParts(v161, 0LL, &v819);
v670 = v819;
v671 = objc_msgSend(v734, "pid");
*v822 = 67240962;
*&v822[4] = v669;
*&v822[8] = 1026;
*&v822[10] = v670;
*&v822[14] = 2114;
*&v822[16] = v744;
*&v822[24] = 1026;
*&v822[26] = v671;
j___os_log_impl_1(
&dword_180981000,
v668,
OS_LOG_TYPE_INFO,
"LAUNCH: Application 0x%{public}x-0x%{public}x %{public}@ launched with pid %{public}"
"d, starting the application.",
v822,
0x1Eu);
}
objc_release(v668);
startApplicationIfNecessary(v161, v744);
}
goto LABEL_813;
}
v557 = objc_retainAutoreleasedReturnValue(_LSOpenLog(v536));
if ( j__os_log_type_enabled_3(v557, OS_LOG_TYPE_INFO) )
{
LODWORD(v819) = 0;
_LSASNExtractHighAndLowParts(v161, &v819, 0LL);
v558 = v819;
LODWORD(v819) = 0;
_LSASNExtractHighAndLowParts(v161, 0LL, &v819);
v559 = v819;
v560 = objc_msgSend(v734, "pid");
*v822 = 67240962;
*&v822[4] = v558;
*&v822[8] = 1026;
*&v822[10] = v559;
*&v822[14] = 2114;
*&v822[16] = v744;
*&v822[24] = 1026;
*&v822[26] = v560;
j___os_log_impl_1(
&dword_180981000,
v557,
OS_LOG_TYPE_INFO,
"LAUNCH: Application 0x%{public}x-0x%{public}x %{public}@ launched with pid %{public}d, w"
"as a beta app; sending ping to CSUIA.",
v822,
0x1Eu);
}
objc_release(v557);
v562 = informCSUIAOfStoppedBetaAppLaunch(v161, v561);
if ( (v562 & 1) == 0 )
{
v563 = objc_retainAutoreleasedReturnValue(_LSOpenLog(v562));
if ( j__os_log_type_enabled_3(v563, OS_LOG_TYPE_ERROR) )
{
LODWORD(v819) = 0;
_LSASNExtractHighAndLowParts(v161, &v819, 0LL);
v564 = v819;
LODWORD(v819) = 0;
_LSASNExtractHighAndLowParts(v161, 0LL, &v819);
*v822 = 67240706;
*&v822[4] = v564;
*&v822[8] = 1026;
*&v822[10] = v819;
*&v822[14] = 2114;
*&v822[16] = v744;
v565 = "LAUNCH: Could not ping CSUIA for suspended beta app 0x%{public}x-0x%{public}x %{public}@!";
v566 = v563;
v567 = OS_LOG_TYPE_ERROR;
LABEL_811:
j___os_log_impl_1(&dword_180981000, v566, v567, v565, v822, 0x18u);
}
LABEL_812:
objc_release(v563);
}
LABEL_813:
if ( *&v821[0] )
j__CFRelease(*&v821[0]);
v519 = objc_msgSend(v734, "pid");
LABEL_816:
v570 = objc_retain(v414);
if ( v414 && v161 )
{
v571 = objc_retainAutoreleasedReturnValue(
+[NSDictionary dictionaryWithDictionary:](
&OBJC_CLASS___NSMutableDictionary,
"dictionaryWithDictionary:",
v570));
-[NSMutableDictionary setObject:forKeyedSubscript:](
v571,
"setObject:forKeyedSubscript:",
v161,
CFSTR("LSASN"));
if ( v519 )
{
v572 = objc_retainAutoreleasedReturnValue(+[NSNumber numberWithInt:](&OBJC_CLASS___NSNumber, "numberWithInt:", v519));
-[NSMutableDictionary setObject:forKeyedSubscript:](
v571,
"setObject:forKeyedSubscript:",
v572,
CFSTR("pid"));
objc_release(v572);
}
_LSSendNotification(4294967294LL, 268LL, v571, 0LL, 0.0);
objc_release(v571);
}
objc_release(v570);
objc_msgSend(v720, "invalidate");
objc_release(v734);
objc_release(v730);
objc_release(v715);
objc_release(v716);
objc_release(v717);
objc_release(v411);
objc_release(v718);
objc_release(v726);
objc_release(v721);
objc_release(v724);
objc_release(v720);
v345 = v719;
goto LABEL_822;
}
v563 = objc_retainAutoreleasedReturnValue(_LSOpenLog(v536));
if ( !j__os_log_type_enabled_3(v563, OS_LOG_TYPE_INFO) )
goto LABEL_812;
LODWORD(v819) = 0;
_LSASNExtractHighAndLowParts(v161, &v819, 0LL);
v569 = v819;
LODWORD(v819) = 0;
_LSASNExtractHighAndLowParts(v161, 0LL, &v819);
*v822 = 67240706;
*&v822[4] = v569;
*&v822[8] = 1026;
*&v822[10] = v819;
*&v822[14] = 2114;
*&v822[16] = v744;
v565 = "LAUNCH: 0x%{public}x-0x%{public}x %{public}@ launched with launchInStoppedState=true, a"
"nd not starting the application.";
}
v566 = v563;
v567 = OS_LOG_TYPE_INFO;
goto LABEL_811;
}
v807 = CFSTR("NSUnderlyingError");
v808 = v772;
v501 = objc_retainAutoreleasedReturnValue(
+[NSDictionary dictionaryWithObjects:forKeys:count:](
&OBJC_CLASS___NSDictionary,
"dictionaryWithObjects:forKeys:count:",
&v808,
&v807,
1LL));
v502 = objc_retainAutoreleasedReturnValue(_LSMakeNSErrorImpl(
CFSTR("NSOSStatusErrorDomain"),
v500,
"_LSLaunchWithRunningboard",
3090LL,
v501));
objc_release(v501);
v433 = objc_retain(v502);
v434 = v772;
v772 = v433;
goto LABEL_726;
}
if ( -[NSError code](v729, "code") == 2 )
{
v433 = 0LL;
v434 = v729;
v730 = 0LL;
LABEL_726:
objc_release(v434);
goto LABEL_727;
}
}
v435 = objc_retain(v729);
objc_release(v772);
goto LABEL_631;
}
v407 = objc_retainAutoreleasedReturnValue(-[_LSOpen2Options overrideApplicationType](v723, "overrideApplicationType"));
objc_release(v407);
v405 = v404;
if ( v407 )
{
v408 = objc_retainAutoreleasedReturnValue(-[_LSOpen2Options overrideApplicationType](v723, "overrideApplicationType"));
objc_release(v404);
v405 = v408;
}
}
if ( v405 )
{
if ( -[NSString isEqual:](v405, "isEqual:", CFSTR("Foreground")) )
{
if ( (v775 & 0x200) != 0 )
{
if ( (v775 & 0x800000) != 0 )
v409 = CFSTR("LaunchRoleLaunchTAL");
else
v409 = CFSTR("LaunchRoleUserInteractiveNonFocal");
v406 = objc_retain(v409);
goto LABEL_604;
}
goto LABEL_603;
}
if ( -[NSString isEqual:](v405, "isEqual:", CFSTR("UIElement")) )
{
LABEL_603:
v406 = CFSTR("LaunchRoleUserInteractive");
goto LABEL_604;
}
if ( -[NSString isEqual:](v405, "isEqual:", CFSTR("BackgroundOnly")) )
{
v406 = CFSTR("LaunchRoleBackground");
goto LABEL_604;
}
}
v716 = 0LL;
goto LABEL_610;
}
objc_release(v370);
}
}
objc_release(v345);
*(v800 + 6) = 0;
goto LABEL_545;
}
v356 = objc_alloc_init(&OBJC_CLASS___NSMutableArray);
v836 = 0u;
v837 = 0u;
memset(v835, 0, sizeof(v835));
v357 = objc_retain(v349);
v358 = -[NSArray countByEnumeratingWithState:objects:count:](
v357,
"countByEnumeratingWithState:objects:count:",
v835,
v822,
16LL);
if ( v358 )
{
v359 = **&v835[1];
do
{
for ( k = 0LL; k != v358; k = k + 1 )
{
if ( **&v835[1] != v359 )
j__objc_enumerationMutation_0(v357);
v361 = *(*(&v835[0] + 1) + 8LL * k);
if ( objc_msgSend(v361, "type") == 16777228 )
-[NSMutableArray addObject:](v356, "addObject:", v361);
}
v358 = -[NSArray countByEnumeratingWithState:objects:count:](
v357,
"countByEnumeratingWithState:objects:count:",
v835,
v822,
16LL);
}
while ( v358 );
}
objc_release(v357);
objc_release(v357);
LABEL_527:
v349 = v356;
if ( !v356 )
goto LABEL_536;
goto LABEL_528;
}
LABEL_526:
v356 = v349;
goto LABEL_527;
}
v345 = 0LL;
LABEL_498:
v248 = 0LL;
LABEL_822:
objc_release(v345);
objc_release(v740);
objc_release(v758);
v247 = *(v800 + 6);
LABEL_823:
if ( v247 == -10652 )
{
v573 = v775 & 0xFFFFEFFF;
v574 = objc_retainAutoreleasedReturnValue(createLaunchModifiers(v775 & 0xFFFFEFFF, a4, v246));
v575 = v574;
v768 = v574;
if ( v574 )
{
if ( objc_msgSend(v574, "count") )
{
v576 = objc_retain(v575);
v577 = objc_retainAutoreleasedReturnValue(_LSOpenLog(v576));
if ( j__os_log_type_enabled_3(v577, OS_LOG_TYPE_INFO) )
{
LODWORD(v835[0]) = 0;
_LSASNExtractHighAndLowParts(v161, v835, 0LL);
v578 = v835[0];
LODWORD(v835[0]) = 0;
_LSASNExtractHighAndLowParts(v161, 0LL, v835);
v579 = v835[0];
asString(v576);
v580 = (SBYTE7(v835[1]) & 0x80u) == 0 ? v835 : *&v835[0];
*v822 = 67240962;
*&v822[4] = v578;
*&v822[8] = 1026;
*&v822[10] = v579;
*&v822[14] = 2048;
*&v822[16] = v775 & 0xFFFFEFFF;
*&v822[24] = 2082;
*&v822[26] = v580;
j___os_log_impl_1(
&dword_180981000,
v577,
OS_LOG_TYPE_INFO,
"LAUNCH: Posting launch modifiers to running app 0x%{public}x-0x%{public}x, flags=%lx modifiers=%{public}s",
v822,
0x22u);
if ( SBYTE7(v835[1]) < 0 )
operator delete(*&v835[0]);
}
objc_release(v577);
v581 = _LSPostLaunchModifiers(4294967294LL, v161, v576);
LODWORD(v575) = v581 == 0;
if ( !v581 )
{
v582 = objc_retainAutoreleasedReturnValue(_LSOpenLog(v581));
if ( j__os_log_type_enabled_3(v582, OS_LOG_TYPE_DEBUG) )
{
LODWORD(v835[0]) = 0;
_LSASNExtractHighAndLowParts(v161, v835, 0LL);
v583 = v835[0];
LODWORD(v835[0]) = 0;
_LSASNExtractHighAndLowParts(v161, 0LL, v835);
v584 = v835[0];
asString(v576);
v585 = (SBYTE7(v835[1]) & 0x80u) == 0 ? v835 : *&v835[0];
*v822 = 67240962;
*&v822[4] = v583;
*&v822[8] = 1026;
*&v822[10] = v584;
*&v822[14] = 2048;
*&v822[16] = v775 & 0xFFFFEFFF;
*&v822[24] = 2082;
*&v822[26] = v585;
j___os_log_impl_1(
&dword_180981000,
v582,
OS_LOG_TYPE_DEBUG,
"LAUNCH: Posted launch modifiers to running app 0x%{public}x-0x%{public}x, flags=%lx modifiers=%{public}s",
v822,
0x22u);
if ( SBYTE7(v835[1]) < 0 )
operator delete(*&v835[0]);
}
objc_release(v582);
}
objc_release(v576);
}
else
{
LODWORD(v575) = 0;
}
}
v586 = *(*(&v817 + 1) + 24LL);
v587 = objc_retain(v765);
v588 = v587;
if ( (!v587
|| (v589 = objc_retainAutoreleasedReturnValue(-[_LSOpen2Options overrideApplicationType](v587, "overrideApplicationType"))) == 0LL)
&& ((v775 & 0x80000000) == 0 || (v589 = objc_retain(CFSTR("BackgroundOnly"))) == 0LL) )
{
v589 = objc_retainAutoreleasedReturnValue(applicationTypeKeyForBundleData(v586));
}
objc_release(v588);
v590 = objc_retain(v589);
v591 = v590;
if ( !v161 || !v590 )
{
LABEL_873:
objc_release(v591);
if ( (v775 & 0x1000) != 0 )
goto LABEL_928;
IsStopped = applicationIsStopped(v161);
if ( IsStopped )
{
if ( (v775 & 0x2000000) != 0 )
{
v622 = objc_retainAutoreleasedReturnValue(_LSOpenLog(IsStopped));
if ( j__os_log_type_enabled_3(v622, OS_LOG_TYPE_INFO) )
{
LODWORD(v835[0]) = 0;
_LSASNExtractHighAndLowParts(v161, v835, 0LL);
v623 = v835[0];
LODWORD(v835[0]) = 0;
_LSASNExtractHighAndLowParts(v161, 0LL, v835);
*v822 = 67240706;
*&v822[4] = v623;
*&v822[8] = 1026;
*&v822[10] = v835[0];
*&v822[14] = 2114;
*&v822[16] = v753;
j___os_log_impl_1(
&dword_180981000,
v622,
OS_LOG_TYPE_INFO,
"LAUNCH: Not starting previously launched application because it was launched quarantined, asn=0x%{public}x"
"-0x%{public}x app=%{public}@",
v822,
0x18u);
}
goto LABEL_927;
}
if ( v161 )
{
IsStopped = _LSCopyApplicationInformationItem(4294967294LL, v161, CFSTR("pid"));
v766 = IsStopped;
if ( IsStopped )
{
v613 = j__CFNumberGetTypeID();
if ( !v613 || j__CFGetTypeID(v766) == v613 )
{
*v822 = 0;
if ( j__CFNumberGetValue(v766, kCFNumberIntType, v822) )
{
v614 = *v822;
if ( *v822 >= 1 )
{
v615 = -100;
while ( j__kill_0(v614, 19) )
{
v616 = v248;
v617 = j____error_10();
v618 = *v617;
v619 = objc_retainAutoreleasedReturnValue(_LSOpenLog(v617));
if ( j__os_log_type_enabled_3(v619, OS_LOG_TYPE_INFO) )
{
*v822 = 67109376;
*&v822[4] = v614;
*&v822[8] = 1024;
*&v822[10] = v618;
j___os_log_impl_1(
&dword_180981000,
v619,
OS_LOG_TYPE_INFO,
"LAUNCH: 8837325: Attempting to SIGCONT to pid #%d failed, with errno=#%d, or the process failed "
"to actually start",
v822,
0xEu);
}
objc_release(v619);
if ( v618 != 4 )
j__usleep_0(0x2710u);
v400 = __CFADD__(v615++, 1);
v248 = v616;
if ( v400 )
goto LABEL_890;
}
j__CFRelease(v766);
goto LABEL_897;
}
}
}
LABEL_890:
j__CFRelease(v766);
}
}
v620 = objc_retainAutoreleasedReturnValue(_LSOpenLog(IsStopped));
if ( j__os_log_type_enabled_3(v620, OS_LOG_TYPE_ERROR) )
{
LODWORD(v835[0]) = 0;
_LSASNExtractHighAndLowParts(v161, v835, 0LL);
v621 = v835[0];
LODWORD(v835[0]) = 0;
_LSASNExtractHighAndLowParts(v161, 0LL, v835);
*v822 = 67240706;
*&v822[4] = v621;
*&v822[8] = 1026;
*&v822[10] = v835[0];
*&v822[14] = 2114;
*&v822[16] = v753;
j___os_log_impl_1(
&dword_180981000,
v620,
OS_LOG_TYPE_ERROR,
"LAUNCH: Unable to start a previously launched but stopped application, asn=0x%{public}x-0x%{public}x app=%{public}@",
v822,
0x18u);
}
objc_release(v620);
*(v800 + 6) = -10810;
goto LABEL_928;
}
LABEL_897:
if ( (((v775 & 0x200) == 0) & (v575 ^ 1)) == 0 )
goto LABEL_928;
v624 = objc_retainAutoreleasedReturnValue(_LSOpenLog(IsStopped));
if ( j__os_log_type_enabled_3(v624, OS_LOG_TYPE_DEBUG) )
{
LODWORD(v835[0]) = 0;
_LSASNExtractHighAndLowParts(v161, v835, 0LL);
v625 = v835[0];
LODWORD(v835[0]) = 0;
_LSASNExtractHighAndLowParts(v161, 0LL, v835);
*v822 = 67240706;
*&v822[4] = v625;
*&v822[8] = 1026;
*&v822[10] = v835[0];
*&v822[14] = 2114;
*&v822[16] = v753;
j___os_log_impl_1(
&dword_180981000,
v624,
OS_LOG_TYPE_DEBUG,
"LAUNCH: Make this already-running application bring itself forward, asn=0x%{public}x-0x%{public}x app=%{public}@",
v822,
0x18u);
}
objc_release(v624);
if ( a6 && (*v822 = 0, LODWORD(v835[0]) = 0, _LSGetAppleEventClassAndID(a6, v822, v835)) )
{
if ( *v822 == 1634039412 && LODWORD(v835[0]) == 1868853091
|| (v626 = 0LL, *v822 == 1196773964) && LODWORD(v835[0]) == 1196773964 )
{
v626 = 1024LL;
}
}
else
{
v626 = 0LL;
}
v627 = _LSSetApplicationInformationItem(
4294967294LL,
v161,
CFSTR("LSApplicationInThrottledStateAfterLaunchKey"),
&__kCFBooleanFalse,
0LL);
IsConnected = CGSServerIsConnected(v627);
if ( !IsConnected )
{
v636 = 0;
v630 = 0;
LABEL_919:
if ( !v630 && !v636 )
{
if ( (v626 & 0x400) != 0 )
{
*&v821[0] = CFSTR("LSDoNotBringAnyWindowsForward)");
*&v835[0] = &__kCFBooleanTrue;
IsConnected = objc_retainAutoreleasedReturnValue(
+[NSDictionary dictionaryWithObjects:forKeys:count:](
&OBJC_CLASS___NSDictionary,
"dictionaryWithObjects:forKeys:count:",
v835,
v821,
1LL));
v622 = IsConnected;
}
else
{
v622 = 0LL;
}
v638 = objc_retainAutoreleasedReturnValue(_LSOpenLog(IsConnected));
if ( j__os_log_type_enabled_3(v638, OS_LOG_TYPE_DEBUG) )
{
LODWORD(v819) = 0;
_LSASNExtractHighAndLowParts(v161, &v819, 0LL);
v639 = v819;
LODWORD(v819) = 0;
_LSASNExtractHighAndLowParts(v161, 0LL, &v819);
*v822 = 67240448;
*&v822[4] = v639;
*&v822[8] = 1026;
*&v822[10] = v819;
j___os_log_impl_1(
&dword_180981000,
v638,
OS_LOG_TYPE_DEBUG,
"LAUNCH: Application 0x%{public}x-0x%{public}x being sent notification to bring itself forward.",
v822,
0xEu);
}
objc_release(v638);
_LSRequestProcessBecomeFrontmost(4294967294LL, v161, v622);
LABEL_927:
objc_release(v622);
}
LABEL_928:
objc_release(v591);
objc_release(v768);
if ( !v161 )
goto LABEL_935;
goto LABEL_929;
}
*&v835[0] = 0LL;
LODWORD(v835[0]) = _LSASNToUInt64(v161) >> 32;
DWORD1(v835[0]) = _LSASNToUInt64(v161);
IsConnected = _CPSSetFrontProcessWithOptions(v835, 0LL, v626);
v629 = IsConnected;
v630 = IsConnected == 0;
if ( IsConnected )
{
if ( IsConnected != -13050 )
{
LABEL_918:
v636 = v629 == -13050;
goto LABEL_919;
}
v631 = objc_retainAutoreleasedReturnValue(_LSOpenLog(IsConnected));
if ( j__os_log_type_enabled_3(v631, OS_LOG_TYPE_ERROR) )
{
LODWORD(v821[0]) = 0;
_LSASNExtractHighAndLowParts(v161, v821, 0LL);
v632 = v821[0];
LODWORD(v821[0]) = 0;
_LSASNExtractHighAndLowParts(v161, 0LL, v821);
*v822 = 67240448;
*&v822[4] = v632;
*&v822[8] = 1026;
*&v822[10] = v821[0];
v633 = "LAUNCH: Application 0x%{public}x-0x%{public}x is not permitted to be brought to the front at this time.";
v634 = v631;
v635 = OS_LOG_TYPE_ERROR;
LABEL_916:
j___os_log_impl_1(&dword_180981000, v634, v635, v633, v822, 0xEu);
}
}
else
{
v631 = objc_retainAutoreleasedReturnValue(_LSOpenLog(IsConnected));
if ( j__os_log_type_enabled_3(v631, OS_LOG_TYPE_DEBUG) )
{
LODWORD(v821[0]) = 0;
_LSASNExtractHighAndLowParts(v161, v821, 0LL);
v637 = v821[0];
LODWORD(v821[0]) = 0;
_LSASNExtractHighAndLowParts(v161, 0LL, v821);
*v822 = 67240448;
*&v822[4] = v637;
*&v822[8] = 1026;
*&v822[10] = v821[0];
v633 = "LAUNCH: Application 0x%{public}x-0x%{public}x made frontmost at this time.";
v634 = v631;
v635 = OS_LOG_TYPE_DEBUG;
goto LABEL_916;
}
}
objc_release(v631);
goto LABEL_918;
}
v592 = _LSCopyApplicationInformationItem(4294967294LL, v161, CFSTR("ApplicationType"));
if ( -[NSString isEqual:](v591, "isEqual:", v592) )
{
LABEL_872:
objc_release(v592);
goto LABEL_873;
}
v593 = _LSCopyApplicationInformationItem(4294967294LL, v161, CFSTR("LSApplicationTypeToRestore"));
v594 = v593;
if ( v593 && (v595 = objc_msgSend(v593, "isEqual:", v591), v595) )
{
v596 = objc_retainAutoreleasedReturnValue(_LSOpenLog(v595));
if ( j__os_log_type_enabled_3(v596, OS_LOG_TYPE_INFO) )
{
LODWORD(v835[0]) = 0;
_LSASNExtractHighAndLowParts(v161, v835, 0LL);
v597 = v835[0];
LODWORD(v835[0]) = 0;
_LSASNExtractHighAndLowParts(v161, 0LL, v835);
*v822 = 67240962;
*&v822[4] = v597;
*&v822[8] = 1026;
*&v822[10] = v835[0];
*&v822[14] = 2114;
*&v822[16] = v591;
*&v822[24] = 2114;
*&v822[26] = v592;
j___os_log_impl_1(
&dword_180981000,
v596,
OS_LOG_TYPE_INFO,
"LAUNCH:Restoring application 0x%{public}x-0x%{public}x to %{public}@ from %{public}@, because it was launched "
"with this new application type.",
v822,
0x22u);
}
objc_release(v596);
v598 = objc_retainAutoreleasedReturnValue(processManagerFront());
if ( j__os_log_type_enabled_3(v598, OS_LOG_TYPE_DEFAULT) )
{
LODWORD(v835[0]) = 0;
_LSASNExtractHighAndLowParts(v161, v835, 0LL);
v599 = v835[0];
LODWORD(v835[0]) = 0;
_LSASNExtractHighAndLowParts(v161, 0LL, v835);
*v822 = 67240962;
*&v822[4] = v599;
*&v822[8] = 1026;
*&v822[10] = v835[0];
*&v822[14] = 2114;
*&v822[16] = v592;
*&v822[24] = 2114;
*&v822[26] = v594;
j___os_log_impl_1(
&dword_180981000,
v598,
OS_LOG_TYPE_DEFAULT,
"LAUNCHING:0x%{public}x-0x%{public}x restoring application type from %{public}@ to %{public}@",
v822,
0x22u);
}
objc_release(v598);
v600 = _LSSetApplicationInformationItem(4294967294LL, v161, CFSTR("ApplicationType"), v594, 0LL);
if ( !v600 )
goto LABEL_871;
v601 = objc_retainAutoreleasedReturnValue(_LSOpenLog(v600));
if ( !j__os_log_type_enabled_3(v601, OS_LOG_TYPE_ERROR) )
{
LABEL_870:
objc_release(v601);
LABEL_871:
objc_release(v594);
goto LABEL_872;
}
LODWORD(v835[0]) = 0;
_LSASNExtractHighAndLowParts(v161, v835, 0LL);
v602 = v835[0];
LODWORD(v835[0]) = 0;
_LSASNExtractHighAndLowParts(v161, 0LL, v835);
*v822 = 67240962;
*&v822[4] = v602;
*&v822[8] = 1026;
*&v822[10] = v835[0];
*&v822[14] = 2114;
*&v822[16] = v594;
*&v822[24] = 2114;
*&v822[26] = v592;
v603 = "LAUNCH: Failed to change app 0x%{public}x-0x%{public}x into type %{public}@, was %{public}@";
}
else
{
v604 = applicationTypeRank(v591);
v605 = applicationTypeRank(v592);
if ( v604 <= v605 )
goto LABEL_871;
v606 = objc_retainAutoreleasedReturnValue(_LSOpenLog(v605));
if ( j__os_log_type_enabled_3(v606, OS_LOG_TYPE_INFO) )
{
LODWORD(v835[0]) = 0;
_LSASNExtractHighAndLowParts(v161, v835, 0LL);
v607 = v835[0];
LODWORD(v835[0]) = 0;
_LSASNExtractHighAndLowParts(v161, 0LL, v835);
*v822 = 67240962;
*&v822[4] = v607;
*&v822[8] = 1026;
*&v822[10] = v835[0];
*&v822[14] = 2114;
*&v822[16] = v591;
*&v822[24] = 2114;
*&v822[26] = v592;
j___os_log_impl_1(
&dword_180981000,
v606,
OS_LOG_TYPE_INFO,
"LAUNCH:Changing application 0x%{public}x-0x%{public}x to %{public}@ from %{public}@, because it was launched w"
"ith this new application type.",
v822,
0x22u);
}
objc_release(v606);
v608 = objc_retainAutoreleasedReturnValue(processManagerFront());
if ( j__os_log_type_enabled_3(v608, OS_LOG_TYPE_DEFAULT) )
{
LODWORD(v835[0]) = 0;
_LSASNExtractHighAndLowParts(v161, v835, 0LL);
v609 = v835[0];
LODWORD(v835[0]) = 0;
_LSASNExtractHighAndLowParts(v161, 0LL, v835);
*v822 = 67240962;
*&v822[4] = v609;
*&v822[8] = 1026;
*&v822[10] = v835[0];
*&v822[14] = 2114;
*&v822[16] = v591;
*&v822[24] = 2114;
*&v822[26] = v592;
j___os_log_impl_1(
&dword_180981000,
v608,
OS_LOG_TYPE_DEFAULT,
"LAUNCHING:0x%{public}x-0x%{public}x changing application type to %{public}@ from %{public}@",
v822,
0x22u);
}
objc_release(v608);
v610 = _LSSetApplicationInformationItem(4294967294LL, v161, CFSTR("ApplicationType"), v591, 0LL);
if ( !v610 )
goto LABEL_871;
v601 = objc_retainAutoreleasedReturnValue(_LSOpenLog(v610));
if ( !j__os_log_type_enabled_3(v601, OS_LOG_TYPE_ERROR) )
goto LABEL_870;
LODWORD(v835[0]) = 0;
_LSASNExtractHighAndLowParts(v161, v835, 0LL);
v611 = v835[0];
LODWORD(v835[0]) = 0;
_LSASNExtractHighAndLowParts(v161, 0LL, v835);
*v822 = 67240962;
*&v822[4] = v611;
*&v822[8] = 1026;
*&v822[10] = v835[0];
*&v822[14] = 2114;
*&v822[16] = v594;
*&v822[24] = 2114;
*&v822[26] = v592;
v603 = "LAUNCH: Failed to promote app 0x%{public}x-0x%{public}x into type %{public}@, was %{public}@";
}
j___os_log_impl_1(&dword_180981000, v601, OS_LOG_TYPE_ERROR, v603, v822, 0x22u);
goto LABEL_870;
}
v573 = v775;
if ( !v161 )
goto LABEL_935;
LABEL_929:
if ( (v573 & 0x100) == 0 )
{
v806 = v770;
v640 = objc_retainAutoreleasedReturnValue(+[NSArray arrayWithObjects:count:](&OBJC_CLASS___NSArray, "arrayWithObjects:count:", &v806, 1LL));
v641 = v640;
if ( v640 )
{
v642 = objc_retainAutoreleasedReturnValue(_LSOpenLog(v640));
if ( j__os_log_type_enabled_3(v642, OS_LOG_TYPE_DEBUG) )
{
LODWORD(v835[0]) = 0;
_LSASNExtractHighAndLowParts(v161, v835, 0LL);
v643 = v835[0];
LODWORD(v835[0]) = 0;
_LSASNExtractHighAndLowParts(v161, 0LL, v835);
v644 = v835[0];
v645 = objc_retainAutoreleasedReturnValue(objc_msgSend(v770, "URL"));
*v822 = 67240963;
*&v822[4] = v643;
*&v822[8] = 1026;
*&v822[10] = v644;
*&v822[14] = 2114;
*&v822[16] = v753;
*&v822[24] = 2113;
*&v822[26] = v645;
j___os_log_impl_1(
&dword_180981000,
v642,
OS_LOG_TYPE_DEBUG,
"LAUNCH: Adding asn=0x%{public}x-0x%{public}x %{public}@ node %{private}@ to recents",
v822,
0x22u);
objc_release(v645);
}
objc_release(v642);
_LSAddNodesToRecentsAfterOpening(v641);
}
objc_release(v641);
}
LABEL_935:
if ( !v248 && v794 )
{
v646 = objc_retainAutoreleasedReturnValue(objc_msgSend(v761, "URL"));
SecTranslocateDeleteSecureDirectory();
objc_release(v646);
}
v647 = *(v800 + 6);
if ( !v647 )
{
v648 = objc_autoreleasePoolPush();
v649 = objc_retainAutoreleasedReturnValue(_LSOpenLog(v648));
if ( j__os_log_type_enabled_3(v649, OS_LOG_TYPE_DEBUG) )
{
v650 = objc_retainAutoreleasedReturnValue(objc_msgSend(v769, "URL"));
*v822 = 138543619;
*&v822[4] = v753;
*&v822[12] = 2113;
*&v822[14] = v650;
j___os_log_impl_1(
&dword_180981000,
v649,
OS_LOG_TYPE_DEBUG,
"LAUNCH: Updating trust expiration for %{public}@ %{private}@.",
v822,
0x16u);
objc_release(v650);
}
objc_release(v649);
v651 = objc_retainAutoreleasedReturnValue(+[_LSDService XPCProxyWithErrorHandler:](
&OBJC_CLASS____LSDTrustedSignatureService,
0LL));
v652 = objc_retainAutoreleasedReturnValue(objc_msgSend(v769, "URL"));
objc_msgSend(v651, "updateTrustExpirationDateForURL:", v652);
objc_release(v652);
objc_release(v651);
objc_autoreleasePoolPop(v648);
v647 = *(v800 + 6);
}
if ( v647 || (v775 & 0x1000) != 0 || (v775 & 0x2000000) != 0 || v573 == 1 || (v573 & 0x10000) != 0 )
goto LABEL_960;
v653 = -[_LSOpen2Options skipWaitForCheckIn](v765, "skipWaitForCheckIn");
if ( !v653 )
{
v657 = objc_retainAutoreleasedReturnValue(_LSOpenLog(v653));
if ( j__os_log_type_enabled_3(v657, OS_LOG_TYPE_DEBUG) )
{
LODWORD(v835[0]) = 0;
_LSASNExtractHighAndLowParts(v161, v835, 0LL);
v658 = v835[0];
LODWORD(v835[0]) = 0;
_LSASNExtractHighAndLowParts(v161, 0LL, v835);
*v822 = 67240448;
*&v822[4] = v658;
*&v822[8] = 1026;
*&v822[10] = v835[0];
j___os_log_impl_1(
&dword_180981000,
v657,
OS_LOG_TYPE_DEBUG,
"LAUNCH: Waiting for application 0x%{public}x-0x%{public}x to finish launching",
v822,
0xEu);
}
objc_release(v657);
v659 = _LSWaitForApplicationCheckIn(4294967294LL, v161);
if ( v659 )
{
v660 = objc_retainAutoreleasedReturnValue(_LSOpenLog(v659));
if ( j__os_log_type_enabled_3(v660, OS_LOG_TYPE_ERROR) )
{
LODWORD(v835[0]) = 0;
_LSASNExtractHighAndLowParts(v161, v835, 0LL);
v661 = v835[0];
LODWORD(v835[0]) = 0;
_LSASNExtractHighAndLowParts(v161, 0LL, v835);
*v822 = 67240448;
*&v822[4] = v661;
*&v822[8] = 1026;
*&v822[10] = v835[0];
j___os_log_impl_1(
&dword_180981000,
v660,
OS_LOG_TYPE_ERROR,
"LAUNCH: Timed-out waiting for launch of application 0x%{public}x-0x%{public}x.",
v822,
0xEu);
}
objc_release(v660);
}
v654 = objc_retainAutoreleasedReturnValue(_LSOpenLog(v659));
if ( !j__os_log_type_enabled_3(v654, OS_LOG_TYPE_DEBUG) )
goto LABEL_959;
LODWORD(v835[0]) = 0;
_LSASNExtractHighAndLowParts(v161, v835, 0LL);
v662 = v835[0];
LODWORD(v835[0]) = 0;
_LSASNExtractHighAndLowParts(v161, 0LL, v835);
*v822 = 67240448;
*&v822[4] = v662;
*&v822[8] = 1026;
*&v822[10] = v835[0];
v656 = "LAUNCH: Completed waiting for application 0x%{public}x-0x%{public}x to finish launching";
goto LABEL_958;
}
v654 = objc_retainAutoreleasedReturnValue(_LSOpenLog(v653));
if ( j__os_log_type_enabled_3(v654, OS_LOG_TYPE_DEBUG) )
{
LODWORD(v835[0]) = 0;
_LSASNExtractHighAndLowParts(v161, v835, 0LL);
v655 = v835[0];
LODWORD(v835[0]) = 0;
_LSASNExtractHighAndLowParts(v161, 0LL, v835);
*v822 = 67240448;
*&v822[4] = v655;
*&v822[8] = 1026;
*&v822[10] = v835[0];
v656 = "LAUNCH: Skipping check-in wait for application 0x%{public}x-0x%{public}x because caller asked us not to do so";
LABEL_958:
j___os_log_impl_1(&dword_180981000, v654, OS_LOG_TYPE_DEBUG, v656, v822, 0xEu);
}
LABEL_959:
objc_release(v654);
LABEL_960:
if ( a13 )
_LSASNExtractHighAndLowParts(v161, a13, a13 + 4);
j___Block_object_dispose_6(&v815, 8);
objc_release(v750);
objc_release(v754);
objc_release(v753);
j___Block_object_dispose_6(&v817, 8);
LABEL_963:
if ( a14 )
*a14 = objc_retainAutorelease(v772);
v663 = *(v800 + 6);
objc_release(v761);
objc_release(v769);
if ( v161 )
j__CFRelease(v161);
objc_release(v756);
objc_release(v770);
objc_release(v772);
objc_release(v763);
j___Block_object_dispose_6(&v795, 8);
j___Block_object_dispose_6(&v799, 8);
objc_release(v765);
objc_release(v764);
objc_release(v770);
return v663;
}