ericek111

SFHudReticle::ProcessInput

May 7th, 2019
611
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 90.14 KB | None | 0 0
  1. __int64 __usercall SFHudReticle::ProcessInput@<rax>(SFHudReticle *this@<rdi>, float *a2@<r12>, bool a3@<r13b>, C_CSPlayer *a4@<r14>, __m128 a5@<xmm0>, __m128i a6@<xmm1>)
  2. {
  3.   int v6; // esi
  4.   __int64 v7; // rsi
  5.   int v8; // eax
  6.   signed int v9; // edx
  7.   int v10; // ecx
  8.   unsigned __int64 v11; // r15
  9.   C_WeaponCSBase *v12; // rax
  10.   C_WeaponCSBase *v13; // rbx
  11.   CIronSightController *v14; // rax
  12.   char v15; // r15
  13.   C_WeaponCSBase *v16; // rax
  14.   C_WeaponCSBase *v17; // rbx
  15.   signed int v18; // eax
  16.   bool v19; // zf
  17.   bool v20; // r15
  18.   bool v21; // bl
  19.   __int64 v22; // rdi
  20.   void (__fastcall *v23)(__int64, __int64 *, _QWORD); // rax
  21.   __int64 v24; // rdi
  22.   __int64 v25; // rdi
  23.   SFHudReticle *v26; // rcx
  24.   signed __int64 v27; // rdx
  25.   void **v28; // rcx
  26.   unsigned int v29; // eax
  27.   unsigned int v30; // er12
  28.   C_CSPlayer *v31; // rdi
  29.   __int64 v32; // rsi
  30.   void **v33; // r15
  31.   unsigned int v34; // eax
  32.   void *v35; // rsi
  33.   unsigned int v36; // eax
  34.   __int64 v37; // rax
  35.   __int64 v38; // rax
  36.   CCSWeaponInfo *v39; // rax
  37.   float *v40; // rbx
  38.   __int64 v41; // rax
  39.   float v42; // xmm0_4
  40.   _QWORD *v43; // rbx
  41.   __int64 v44; // rax
  42.   __int64 v45; // rcx
  43.   __int64 v46; // r9
  44.   __int64 v47; // rsi
  45.   __int64 v48; // r13
  46.   signed int v49; // eax
  47.   unsigned int *v50; // r12
  48.   float v51; // xmm1_4
  49.   int v52; // eax
  50.   unsigned __int64 v53; // rax
  51.   signed __int64 v54; // rsi
  52.   unsigned int v55; // eax
  53.   signed __int64 v56; // rdx
  54.   __int64 v57; // rax
  55.   unsigned int v58; // ecx
  56.   void **v59; // rax
  57.   void **v60; // r13
  58.   char v61; // cl
  59.   unsigned int v62; // ecx
  60.   __int64 v63; // rax
  61.   __int64 v64; // rdi
  62.   unsigned int v65; // ecx
  63.   __int64 v66; // r13
  64.   char v67; // cl
  65.   const char *v68; // rcx
  66.   __int64 v69; // r13
  67.   __int64 v70; // rax
  68.   unsigned int v71; // ecx
  69.   __int64 v72; // rax
  70.   signed __int64 v73; // rsi
  71.   __int64 v74; // rbx
  72.   char v75; // cl
  73.   __int64 v76; // rsi
  74.   C_BasePlayer *v77; // rdi
  75.   int v78; // eax
  76.   char *v79; // rsi
  77.   __int64 v80; // rax
  78.   C_CSPlayer *v81; // r15
  79.   bool v82; // r13
  80.   __int64 v83; // rax
  81.   C_EconItemView *v84; // r12
  82.   CEconItemSchema *v85; // rbx
  83.   unsigned int v86; // eax
  84.   __int64 v87; // rsi
  85.   __int64 v88; // rax
  86.   const char *v89; // rax
  87.   __int64 v90; // rax
  88.   _QWORD *v91; // rbx
  89.   __int64 (__fastcall *v92)(_QWORD *, __int64); // r12
  90.   __int64 v93; // rax
  91.   __int64 v94; // rax
  92.   unsigned int v95; // eax
  93.   unsigned int v96; // ebx
  94.   __int64 v97; // rax
  95.   __int64 (__fastcall *v98)(C_BasePlayer *, signed __int64); // rax
  96.   __int64 v99; // rax
  97.   __int64 *v100; // rsi
  98.   int v101; // eax
  99.   unsigned __int64 v102; // rbx
  100.   __int64 v103; // rax
  101.   void *v104; // rdi
  102.   int v105; // eax
  103.   __int64 v106; // rax
  104.   __int64 v107; // rbx
  105.   __int64 v108; // r13
  106.   unsigned int v109; // eax
  107.   __int64 v110; // rdi
  108.   __m128i v111; // xmm4
  109.   float v112; // xmm2_4
  110.   float v113; // xmm0_4
  111.   float v114; // xmm3_4
  112.   __int64 v115; // rax
  113.   __int64 v116; // rdx
  114.   signed __int64 v117; // rcx
  115.   __int64 v118; // rax
  116.   __int64 v119; // rax
  117.   void *v120; // rdi
  118.   signed int v121; // ebx
  119.   void *v122; // rdi
  120.   signed int v123; // eax
  121.   int v124; // eax
  122.   int v125; // eax
  123.   C_BasePlayer *v126; // rbx
  124.   __int64 v127; // rax
  125.   float v128; // xmm4_4
  126.   __m128i v129; // xmm3
  127.   __m128 v130; // xmm2
  128.   __m128 v131; // xmm3
  129.   float v132; // xmm0_4
  130.   char v133; // al
  131.   int v134; // eax
  132.   C_BasePlayer *v135; // rbx
  133.   float v136; // xmm3_4
  134.   __m128 v137; // xmm0
  135.   __m128 v138; // xmm3
  136.   int v139; // eax
  137.   char v140; // al
  138.   float v141; // ecx
  139.   char v142; // al
  140.   float v143; // ecx
  141.   int v144; // eax
  142.   int v145; // esi
  143.   char v146; // bl
  144.   unsigned int *v147; // rcx
  145.   int v148; // edx
  146.   unsigned int v149; // edi
  147.   __int64 v150; // rsi
  148.   signed __int64 v151; // rbx
  149.   unsigned int v152; // eax
  150.   float v153; // eax
  151.   float v154; // ecx
  152.   C_PlayerResource *v155; // rbx
  153.   bool v156; // al
  154.   unsigned int v157; // eax
  155.   __int64 v158; // rsi
  156.   __int64 v159; // rbx
  157.   __int64 (__fastcall ***v160)(_QWORD); // rax
  158.   __int64 v161; // rax
  159.   int v162; // eax
  160.   int v163; // eax
  161.   SFHudReticle *v164; // rsi
  162.   __int64 v165; // rdx
  163.   signed __int64 v166; // rcx
  164.   __int64 v167; // rax
  165.   int v168; // eax
  166.   __int64 v169; // rcx
  167.   float v170; // xmm0_4
  168.   void *v171; // rdx
  169.   SFHudReticle *v172; // rcx
  170.   __int64 v173; // rdx
  171.   SFHudReticle *v174; // rbx
  172.   int v175; // eax
  173.   __int64 v176; // rdi
  174.   float v177; // xmm0_4
  175.   float v178; // xmm1_4
  176.   double v179; // xmm0_8
  177.   float v180; // xmm1_4
  178.   float v181; // xmm0_4
  179.   float v182; // xmm1_4
  180.   SFHudReticle *v183; // rsi
  181.   __int64 v184; // rax
  182.   __int64 v185; // rdi
  183.   float v186; // er9
  184.   bool v187; // al
  185.   bool v188; // cl
  186.   __int64 v189; // rbx
  187.   __int64 v190; // rax
  188.   void *v191; // rax
  189.   int v192; // eax
  190.   int v193; // ebx
  191.   __int64 v194; // rdx
  192.   char v195; // r8
  193.   const char *v196; // rsi
  194.   unsigned int v197; // ebx
  195.   __m128 v198; // xmm0
  196.   __int64 v199; // rax
  197.   __int64 v200; // rax
  198.   __m128i v201; // xmm0
  199.   float v202; // xmm1_4
  200.   double v203; // xmm0_8
  201.   __int64 v204; // rdi
  202.   bool v205; // sf
  203.   unsigned __int8 v206; // of
  204.   SFHudReticle *v207; // r8
  205.   signed int v208; // eax
  206.   signed __int64 v209; // rbx
  207.   __int64 v210; // rcx
  208.   signed int *v211; // r15
  209.   __int64 v212; // rbx
  210.   __int64 v213; // rdx
  211.   int v214; // eax
  212.   int v215; // er12
  213.   __int64 v216; // rax
  214.   __int64 (__fastcall *v217)(__int64, __int64 *, __int64, void *); // rax
  215.   signed int v218; // eax
  216.   signed int v219; // er15
  217.   __int64 v220; // rdi
  218.   __int64 (__fastcall *v221)(__int64, __int64, const char *); // rcx
  219.   __int64 v222; // rsi
  220.   __int64 v223; // rax
  221.   signed int v224; // edi
  222.   __int64 v225; // r15
  223.   __int64 *v226; // r8
  224.   __int64 v227; // rdi
  225.   __int64 v228; // r15
  226.   __int64 *v229; // rbx
  227.   __int64 v230; // rdi
  228.   __int64 v231; // rdi
  229.   __int64 v232; // rdi
  230.   void *v233; // rdi
  231.   int v234; // eax
  232.   int v235; // eax
  233.   __int64 v236; // r12
  234.   __int64 v237; // rbx
  235.   void (__fastcall *v238)(__int64, __int64, __int64); // r13
  236.   __int64 v239; // r15
  237.   __int64 v240; // rax
  238.   __int64 v241; // rdi
  239.   char v242; // r15
  240.   __int64 v243; // rdi
  241.   void *v244; // rdi
  242.   int v245; // eax
  243.   void *v246; // rdi
  244.   int v247; // eax
  245.   unsigned __int64 v248; // rax
  246.   const char *v249; // rax
  247.   const char *v250; // rcx
  248.   __int64 v251; // rdi
  249.   char v252; // dl
  250.   int v253; // eax
  251.   __int64 v254; // rdi
  252.   void (__fastcall *v255)(__int64, __int64 *, _QWORD); // rax
  253.   __int64 v256; // rdi
  254.   int v257; // eax
  255.   int v258; // ecx
  256.   __int64 v259; // rdi
  257.   __int64 **v260; // rax
  258.   signed int v261; // ebx
  259.   __int64 **v262; // rax
  260.   __int64 v263; // rax
  261.   __int64 result; // rax
  262.   int v265; // er15
  263.   __int64 v266; // rdi
  264.   int v267; // ebx
  265.   signed int v268; // eax
  266.   __int64 v269; // rdi
  267.   __int64 v270; // rbx
  268.   _QWORD *v271; // rbx
  269.   __int64 v272; // rax
  270.   __int64 v273; // rcx
  271.   int *v274; // rax
  272.   float *v275; // rax
  273.   signed int v276; // ebx
  274.   signed int v277; // eax
  275.   unsigned __int64 v278; // rax
  276.   void *v279; // rdi
  277.   int v280; // eax
  278.   __int64 v281; // rax
  279.   float v282; // xmm1_4
  280.   char v283; // bl
  281.   const char *v284; // rax
  282.   _QWORD *v285; // rbx
  283.   __int64 (__fastcall *v286)(_QWORD *, __int64); // r13
  284.   const char *v287; // rax
  285.   __int64 v288; // rax
  286.   __int64 v289; // rax
  287.   __int64 v290; // r9
  288.   __int64 v291; // rax
  289.   void *v292; // rdi
  290.   int v293; // eax
  291.   __int64 v294; // rcx
  292.   unsigned int v295; // eax
  293.   __int64 v296; // rsi
  294.   __int64 v297; // rax
  295.   int v298; // eax
  296.   char v299; // al
  297.   __m128i v300; // xmm2
  298.   float v301; // xmm0_4
  299.   _QWORD *v302; // rbx
  300.   __int64 v303; // rax
  301.   __int64 v304; // rcx
  302.   __int64 v305; // r9
  303.   __int64 v306; // rax
  304.   __int64 (__fastcall *v307)(_QWORD *, _QWORD); // rax
  305.   __int64 v308; // rax
  306.   __int64 v309; // rcx
  307.   __int64 v310; // rax
  308.   __int64 v311; // rcx
  309.   __int64 v312; // rax
  310.   __int64 v313; // rcx
  311.   __int64 v314; // rax
  312.   __int64 v315; // rcx
  313.   __int64 v316; // r9
  314.   signed __int64 v317; // rsi
  315.   void **v318; // r13
  316.   char v319; // al
  317.   unsigned int v320; // eax
  318.   __int64 v321; // rax
  319.   const char *v322; // rax
  320.   const char *v323; // rcx
  321.   int v324; // [rsp+48h] [rbp-1B48h]
  322.   float v325; // [rsp+48h] [rbp-1B48h]
  323.   float v326; // [rsp+48h] [rbp-1B48h]
  324.   float v327; // [rsp+4Ch] [rbp-1B44h]
  325.   __m128 v328; // [rsp+50h] [rbp-1B40h]
  326.   float v329; // [rsp+60h] [rbp-1B30h]
  327.   float v330; // [rsp+64h] [rbp-1B2Ch]
  328.   char v331; // [rsp+6Bh] [rbp-1B25h]
  329.   float v332; // [rsp+6Ch] [rbp-1B24h]
  330.   __int128 v333; // [rsp+70h] [rbp-1B20h]
  331.   __m128 v334; // [rsp+80h] [rbp-1B10h]
  332.   __int128 v335; // [rsp+90h] [rbp-1B00h]
  333.   const __m128i v336; // [rsp+A0h] [rbp-1AF0h]
  334.   unsigned __int64 v337; // [rsp+B8h] [rbp-1AD8h]
  335.   __int64 v338; // [rsp+C0h] [rbp-1AD0h]
  336.   __int64 v339; // [rsp+C8h] [rbp-1AC8h]
  337.   __int128 v340; // [rsp+D0h] [rbp-1AC0h]
  338.   __int64 v341; // [rsp+E0h] [rbp-1AB0h]
  339.   __int64 v342; // [rsp+E8h] [rbp-1AA8h]
  340.   int v343; // [rsp+F4h] [rbp-1A9Ch]
  341.   unsigned int v344; // [rsp+F8h] [rbp-1A98h]
  342.   int v345; // [rsp+FCh] [rbp-1A94h]
  343.   __int128 v346; // [rsp+100h] [rbp-1A90h]
  344.   unsigned __int64 v347; // [rsp+118h] [rbp-1A78h]
  345.   C_BasePlayer *v348; // [rsp+120h] [rbp-1A70h]
  346.   int v349; // [rsp+12Ch] [rbp-1A64h]
  347.   SFHudReticle *v350; // [rsp+130h] [rbp-1A60h]
  348.   unsigned int v351; // [rsp+138h] [rbp-1A58h]
  349.   C_BasePlayer *v352; // [rsp+140h] [rbp-1A50h]
  350.   float v353; // [rsp+148h] [rbp-1A48h]
  351.   float v354; // [rsp+14Ch] [rbp-1A44h]
  352.   float v355; // [rsp+150h] [rbp-1A40h]
  353.   int v356; // [rsp+158h] [rbp-1A38h]
  354.   unsigned int v357; // [rsp+15Ch] [rbp-1A34h]
  355.   __int64 v358; // [rsp+168h] [rbp-1A28h]
  356.   int v359; // [rsp+170h] [rbp-1A20h]
  357.   float v360; // [rsp+178h] [rbp-1A18h]
  358.   float v361; // [rsp+17Ch] [rbp-1A14h]
  359.   float v362; // [rsp+180h] [rbp-1A10h]
  360.   __int64 v363; // [rsp+188h] [rbp-1A08h]
  361.   __int64 v364; // [rsp+190h] [rbp-1A00h]
  362.   char v365; // [rsp+198h] [rbp-19F8h]
  363.   __int64 v366[3]; // [rsp+1A0h] [rbp-19F0h]
  364.   char v367; // [rsp+1B8h] [rbp-19D8h]
  365.   double v368; // [rsp+1D0h] [rbp-19C0h]
  366.   int v369; // [rsp+1E8h] [rbp-19A8h]
  367.   char v370; // [rsp+1ECh] [rbp-19A4h]
  368.   char v371; // [rsp+1F0h] [rbp-19A0h]
  369.   double v372; // [rsp+208h] [rbp-1988h]
  370.   int v373; // [rsp+220h] [rbp-1970h]
  371.   char v374; // [rsp+224h] [rbp-196Ch]
  372.   double v375; // [rsp+228h] [rbp-1968h]
  373.   double v376; // [rsp+230h] [rbp-1960h]
  374.   double v377; // [rsp+240h] [rbp-1950h]
  375.   unsigned __int64 v378; // [rsp+248h] [rbp-1948h]
  376.   unsigned __int64 v379; // [rsp+250h] [rbp-1940h]
  377.   int v380; // [rsp+258h] [rbp-1938h]
  378.   char v381; // [rsp+25Ch] [rbp-1934h]
  379.   int v382; // [rsp+260h] [rbp-1930h]
  380.   int v383; // [rsp+264h] [rbp-192Ch]
  381.   char v384; // [rsp+268h] [rbp-1928h]
  382.   __int64 v385; // [rsp+278h] [rbp-1918h]
  383.   float v386; // [rsp+280h] [rbp-1910h]
  384.   char v387; // [rsp+288h] [rbp-1908h]
  385.   int v388; // [rsp+2B8h] [rbp-18D8h]
  386.   bool v389; // [rsp+2BCh] [rbp-18D4h]
  387.   char v390; // [rsp+2C0h] [rbp-18D0h]
  388.   int v391; // [rsp+2F0h] [rbp-18A0h]
  389.   bool v392; // [rsp+2F4h] [rbp-189Ch]
  390.   char v393; // [rsp+2F8h] [rbp-1898h]
  391.   int v394; // [rsp+328h] [rbp-1868h]
  392.   char v395; // [rsp+32Ch] [rbp-1864h]
  393.   char v396; // [rsp+330h] [rbp-1860h]
  394.   int v397; // [rsp+360h] [rbp-1830h]
  395.   bool v398; // [rsp+364h] [rbp-182Ch]
  396.   char v399; // [rsp+368h] [rbp-1828h]
  397.   int v400; // [rsp+398h] [rbp-17F8h]
  398.   bool v401; // [rsp+39Ch] [rbp-17F4h]
  399.   __int64 v402; // [rsp+3A0h] [rbp-17F0h]
  400.   int v403; // [rsp+3A8h] [rbp-17E8h]
  401.   __int64 v404; // [rsp+3B0h] [rbp-17E0h]
  402.   int v405; // [rsp+3B8h] [rbp-17D8h]
  403.   char v406; // [rsp+3C0h] [rbp-17D0h]
  404.   char v407; // [rsp+3E8h] [rbp-17A8h]
  405.   char v408; // [rsp+3F4h] [rbp-179Ch]
  406.   float v409; // [rsp+414h] [rbp-177Ch]
  407.   __int64 v410; // [rsp+440h] [rbp-1750h]
  408.   __int64 v411; // [rsp+450h] [rbp-1740h]
  409.   float v412; // [rsp+458h] [rbp-1738h]
  410.   float v413; // [rsp+460h] [rbp-1730h]
  411.   float v414; // [rsp+464h] [rbp-172Ch]
  412.   float v415; // [rsp+468h] [rbp-1728h]
  413.   char v416; // [rsp+470h] [rbp-1720h]
  414.   char v417; // [rsp+4A0h] [rbp-16F0h]
  415.   char v418; // [rsp+4ACh] [rbp-16E4h]
  416.   __int64 v419; // [rsp+4F8h] [rbp-1698h]
  417.   char v420; // [rsp+508h] [rbp-1688h]
  418.   float v421; // [rsp+518h] [rbp-1678h]
  419.   float v422; // [rsp+51Ch] [rbp-1674h]
  420.   float v423; // [rsp+520h] [rbp-1670h]
  421.   __int64 v424; // [rsp+528h] [rbp-1668h]
  422.   __int64 v425; // [rsp+530h] [rbp-1660h]
  423.   char v426; // [rsp+538h] [rbp-1658h]
  424.   char v427; // [rsp+540h] [rbp-1650h]
  425.   int v428; // [rsp+560h] [rbp-1630h]
  426.   int v429; // [rsp+564h] [rbp-162Ch]
  427.   int v430; // [rsp+568h] [rbp-1628h]
  428.   float v431; // [rsp+570h] [rbp-1620h]
  429.   float v432; // [rsp+574h] [rbp-161Ch]
  430.   float v433; // [rsp+578h] [rbp-1618h]
  431.   int v434; // [rsp+580h] [rbp-1610h]
  432.   int v435; // [rsp+584h] [rbp-160Ch]
  433.   int v436; // [rsp+588h] [rbp-1608h]
  434.   int v437; // [rsp+590h] [rbp-1600h]
  435.   int v438; // [rsp+594h] [rbp-15FCh]
  436.   int v439; // [rsp+598h] [rbp-15F8h]
  437.   __int64 v440; // [rsp+5A0h] [rbp-15F0h]
  438.   char v441; // [rsp+5A8h] [rbp-15E8h]
  439.   bool v442; // [rsp+5A9h] [rbp-15E7h]
  440.   char v443; // [rsp+5B0h] [rbp-15E0h]
  441.   int v444; // [rsp+5D0h] [rbp-15C0h]
  442.   float v445; // [rsp+5D4h] [rbp-15BCh]
  443.   int v446; // [rsp+5D8h] [rbp-15B8h]
  444.   float v447; // [rsp+5E0h] [rbp-15B0h]
  445.   float v448; // [rsp+5E4h] [rbp-15ACh]
  446.   float v449; // [rsp+5E8h] [rbp-15A8h]
  447.   int v450; // [rsp+5F0h] [rbp-15A0h]
  448.   int v451; // [rsp+5F4h] [rbp-159Ch]
  449.   int v452; // [rsp+5F8h] [rbp-1598h]
  450.   int v453; // [rsp+600h] [rbp-1590h]
  451.   int v454; // [rsp+604h] [rbp-158Ch]
  452.   int v455; // [rsp+608h] [rbp-1588h]
  453.   __int64 v456; // [rsp+610h] [rbp-1580h]
  454.   char v457; // [rsp+618h] [rbp-1578h]
  455.   bool v458; // [rsp+619h] [rbp-1577h]
  456.   __int64 v459; // [rsp+628h] [rbp-1568h]
  457.   __int64 v460; // [rsp+630h] [rbp-1560h]
  458.   __int64 v461; // [rsp+638h] [rbp-1558h]
  459.   wchar_t v462; // [rsp+640h] [rbp-1550h]
  460.   wchar_t v463; // [rsp+840h] [rbp-1350h]
  461.   char v464; // [rsp+A40h] [rbp-1150h]
  462.   wchar_t v465; // [rsp+AC0h] [rbp-10D0h]
  463.   int v466; // [rsp+AE4h] [rbp-10ACh]
  464.   int v467; // [rsp+AF0h] [rbp-10A0h]
  465.   char v468; // [rsp+1540h] [rbp-650h]
  466.   __int64 v469; // [rsp+1748h] [rbp-448h]
  467.   __int64 v470; // [rsp+1750h] [rbp-440h]
  468.   SFHudReticle *v471; // [rsp+1758h] [rbp-438h]
  469.   wchar_t v472; // [rsp+1760h] [rbp-430h]
  470.   __int64 v473; // [rsp+1B60h] [rbp-30h]
  471.  
  472.   if ( !*((_BYTE *)this + 108) )
  473.     goto LABEL_421;
  474.   v6 = *((_DWORD *)this + 26);
  475.   v350 = this;
  476.   v7 = (unsigned int)(v6 - 2);
  477.   CGameUiSetActiveSplitScreenPlayerGuard::CGameUiSetActiveSplitScreenPlayerGuard(
  478.     (CGameUiSetActiveSplitScreenPlayerGuard *)&v426,
  479.     v7);
  480.   v472 = 0;
  481.   a2 = (float *)GetHudPlayer();
  482.   v352 = (C_BasePlayer *)C_CSPlayer::GetLocalCSPlayer((C_CSPlayer *)&v426);
  483.   v345 = -1;
  484.   a5 = 0LL;
  485.   v344 = 0;
  486.   LODWORD(a4) = 0;
  487.   if ( v352 )
  488.   {
  489.     v8 = (*(__int64 (__fastcall **)(__int64 *))(crosshair + 128))(&crosshair);
  490.     LODWORD(a4) = 0;
  491.     v9 = -1;
  492.     a3 = 0;
  493.     v347 = 0LL;
  494.     v10 = 0;
  495.     if ( v8 )
  496.     {
  497.       LODWORD(a4) = (*(__int64 (__fastcall **)(C_BasePlayer *, __int64, signed __int64, _QWORD))(*(_QWORD *)v352 + 2784LL))(
  498.                       v352,
  499.                       v7,
  500.                       0xFFFFFFFFLL,
  501.                       0LL);
  502.       if ( (unsigned int)a4 >= 7 )
  503.       {
  504.         v347 = 0LL;
  505.         LOBYTE(v11) = 0;
  506.       }
  507.       else
  508.       {
  509.         v347 = 1uLL >> 8 * (unsigned __int8)a4;
  510.         v11 = 0x1000100000001uLL >> 8 * (unsigned __int8)a4;
  511.       }
  512.       v12 = (C_WeaponCSBase *)C_CSPlayer::GetActiveCSWeapon(v352);
  513.       v13 = v12;
  514.       if ( v12
  515.         && C_WeaponCSBase::GetIronSightController(v12)
  516.         && !(*(unsigned int (**)(void))(weapon_debug_spread_show + 128))() )
  517.       {
  518.         v14 = (CIronSightController *)C_WeaponCSBase::GetIronSightController(v13);
  519.         LOBYTE(v11) = (unsigned __int64)CIronSightController::ShouldHideCrossHair(v14) ^ 1;
  520.       }
  521.       v15 = v11 & 1;
  522.       v345 = -1;
  523.       a5 = 0LL;
  524.       v344 = 0;
  525.       if ( v15 && (_DWORD)a4 != 6 )
  526.       {
  527.         a3 = 0;
  528.         if ( (unsigned __int8)C_BasePlayer::IsInVGuiInputMode(v352)
  529.           || (a3 = 0, (unsigned __int8)C_BasePlayer::IsInViewModelVGuiInputMode(v352))
  530.           || (v16 = (C_WeaponCSBase *)(*(__int64 (**)(void))(*(_QWORD *)a2 + 2600LL))(), v17 = v16, a3 = 0, !v16) )
  531.         {
  532.           v9 = -1;
  533.           v18 = 0;
  534.         }
  535.         else
  536.         {
  537.           a3 = 0;
  538.           v19 = (unsigned __int8)C_WeaponCSBase::WantReticleShown(v16) == 0;
  539.           v9 = -1;
  540.           v18 = 0;
  541.           if ( !v19 )
  542.           {
  543.             a3 = (*(unsigned int (__fastcall **)(C_WeaponCSBase *, __int64, signed __int64))(*(_QWORD *)v17 + 4208LL))(
  544.                    v17,
  545.                    v7,
  546.                    0xFFFFFFFFLL) == 31;
  547.             v345 = C_WeaponCSBase::GetReticleWeaponSpread(v17);
  548.             v343 = C_WeaponCSBase::GetReticleCrosshairGap(v17);
  549.             (*(void (__fastcall **)(C_WeaponCSBase *))(*(_QWORD *)v17 + 3248LL))(v17);
  550.             v344 = 0;
  551.             v18 = 1;
  552.             v9 = v343;
  553.           }
  554.         }
  555.       }
  556.       else
  557.       {
  558.         v9 = -1;
  559.         a3 = 0;
  560.         v18 = 0;
  561.       }
  562.       v10 = 0;
  563.       if ( v15 )
  564.       {
  565.         v19 = (_DWORD)a4 == 6;
  566.         if ( (_DWORD)a4 == 6 )
  567.           LODWORD(a4) = 6;
  568.         if ( v19 )
  569.           v18 = 2;
  570.         v10 = v18;
  571.       }
  572.     }
  573.   }
  574.   else
  575.   {
  576.     v9 = -1;
  577.     a3 = 0;
  578.     v347 = 0LL;
  579.     v10 = 0;
  580.   }
  581.   v349 = v10;
  582.   v343 = v9;
  583.   LOBYTE(v351) = CanSeeSpectatorOnlyTools();
  584.   v20 = 1;
  585.   v21 = 1;
  586.   if ( a2 )
  587.   {
  588.     *(double *)a6.m128i_i64 = *((float *)gpGlobals + 4) + 0.5;
  589.     v21 = a2[11001] <= *(double *)a6.m128i_i64;
  590.     a5 = (__m128)0x43340000u;
  591.     v20 = a2[11003] < 180.0;
  592.   }
  593.   v348 = (C_BasePlayer *)a2;
  594.   if ( *((_QWORD *)v350 + 166) && !(*(unsigned int (**)(void))(cl_draw_only_deathnotices + 128LL))() )
  595.   {
  596.     a5 = (__m128)*((unsigned int *)v348 + 11003);
  597.     a6.m128i_i32[0] = 0;
  598.     if ( a5.m128_f32[0] <= 0.0 || (_BYTE)v351 != 1 )
  599.     {
  600.       if ( *((_BYTE *)v350 + 1355) )
  601.       {
  602.         a2 = (float *)v350;
  603.         (*(void (__fastcall **)(_QWORD, _QWORD))(**((_QWORD **)v350 + 11) + 216LL))(
  604.           *((_QWORD *)v350 + 11),
  605.           *((unsigned int *)v350 + 26));
  606.         (*(void (__fastcall **)(_QWORD, _QWORD, const char *, _QWORD, _QWORD))(**((_QWORD **)a2 + 11) + 1320LL))(
  607.           *((_QWORD *)a2 + 11),
  608.           *((_QWORD *)a2 + 166),
  609.           "Hide",
  610.           0LL,
  611.           0LL);
  612.         v25 = *((_QWORD *)v350 + 11);
  613.         v26 = v350;
  614.         if ( v25 )
  615.         {
  616.           (*(void (__fastcall **)(__int64, _QWORD))(*(_QWORD *)v25 + 224LL))(v25, *((unsigned int *)v350 + 26));
  617.           v26 = v350;
  618.         }
  619.         v350 = v26;
  620.         *((_BYTE *)v26 + 1355) = 0;
  621.       }
  622.     }
  623.     else
  624.     {
  625.       a5.m128_f32[0] = a5.m128_f32[0] * 0.0047619049;
  626.       a6.m128i_i32[0] = 0;
  627.       LODWORD(v346) = 0;
  628.       if ( a5.m128_f32[0] >= 0.0 )
  629.       {
  630.         a5.m128_f32[0] = fminf(a5.m128_f32[0], 1.0);
  631.         LODWORD(v346) = a5.m128_i32[0];
  632.       }
  633.       v469 = 0LL;
  634.       LODWORD(v470) = 0;
  635.       BYTE4(v470) = 0;
  636.       v471 = v350;
  637.       (*(void (__fastcall **)(_QWORD, _QWORD))(**((_QWORD **)v350 + 11) + 216LL))(
  638.         *((_QWORD *)v350 + 11),
  639.         *((unsigned int *)v350 + 26));
  640.       (*(void (__fastcall **)(_QWORD, __int64 *, signed __int64))(**((_QWORD **)v471 + 11) + 1064LL))(
  641.         *((_QWORD *)v471 + 11),
  642.         &v469,
  643.         1LL);
  644.       if ( !BYTE4(v470) )
  645.       {
  646.         a5 = (__m128)LODWORD(xmmword_C18234);
  647.         a5.m128_f32[0] = 1.0 - *(float *)&v346;
  648.         a2 = (float *)v350;
  649.         v22 = *((_QWORD *)v350 + 11);
  650.         v23 = *(void (__fastcall **)(__int64, __int64 *, _QWORD))(*(_QWORD *)v22 + 1160LL);
  651.         v425 = v470;
  652.         v424 = v469;
  653.         v23(v22, &v424, 0LL);
  654.         (*(void (__fastcall **)(_QWORD, _QWORD, const char *, __int64 *, signed __int64))(**((_QWORD **)a2 + 11) + 1336LL))(
  655.           *((_QWORD *)a2 + 11),
  656.           *((_QWORD *)a2 + 166),
  657.           "FlashFade",
  658.           &v469,
  659.           1LL);
  660.         BYTE4(v470) = 1;
  661.       }
  662.       (*(void (__fastcall **)(_QWORD, __int64 *))(**((_QWORD **)v471 + 11) + 1080LL))(*((_QWORD *)v471 + 11), &v469);
  663.       v24 = *((_QWORD *)v471 + 11);
  664.       if ( v24 )
  665.         (*(void (__fastcall **)(__int64, _QWORD))(*(_QWORD *)v24 + 224LL))(v24, *((unsigned int *)v471 + 26));
  666.       *((_BYTE *)v350 + 1355) = 1;
  667.     }
  668.   }
  669.   if ( !(*(unsigned int (__fastcall **)(__int64 *))(hud_showtargetid + 128))(&hud_showtargetid) )
  670.     goto LABEL_498;
  671.   if ( (unsigned __int8)(v351 | v21) != 1 )
  672.     goto LABEL_420;
  673.   if ( !v20 && (_DWORD)a4 == 4 && !(*(unsigned int (**)(void))(cl_draw_only_deathnotices + 128LL))() )
  674.   {
  675.     v43 = g_pVGuiLocalize;
  676.     v44 = (*(__int64 (__fastcall **)(_QWORD *, const char *))(*g_pVGuiLocalize + 88LL))(
  677.             g_pVGuiLocalize,
  678.             "#SFUIHUD_targetid_FLASHED");
  679.     v45 = v44;
  680.     LOBYTE(v44) = 1;
  681.     v341 = v44;
  682.     v338 = 0LL;
  683.     ILocalize::ConstructString<wchar_t>(v43, &v472, 1024LL, v45, 0LL, v46);
  684.     v337 = 0LL;
  685.     *(_QWORD *)&v340 = 0LL;
  686.     v342 = 0LL;
  687.     v339 = 0LL;
  688.     goto LABEL_131;
  689.   }
  690.   if ( !v349 )
  691.   {
  692.     (*(void (**)(void))(*(_QWORD *)v348 + 3064LL))();
  693.     LODWORD(v346) = a5.m128_i32[0];
  694.     a5.m128_f32[0] = (float)(*(signed int (**)(void))(*(_QWORD *)v348 + 3072LL))();
  695.     a6.m128i_i32[0] = v346;
  696.     if ( *(float *)&v346 == a5.m128_f32[0] )
  697.     {
  698. LABEL_498:
  699.       v341 = 0LL;
  700.       v338 = 0LL;
  701.       v337 = 0LL;
  702.       *(_QWORD *)&v340 = 0LL;
  703.       v342 = 0LL;
  704.       v339 = 0LL;
  705.       goto LABEL_131;
  706.     }
  707.   }
  708.   if ( !(*(unsigned int (__fastcall **)(__int64 *))(hud_showtargetid + 128))(&hud_showtargetid) )
  709.     goto LABEL_114;
  710.   v29 = C_CSPlayer::GetIDTarget(v348);
  711.   v30 = v29;
  712.   if ( !v29 )
  713.     goto LABEL_114;
  714.   v31 = (C_CSPlayer *)cl_entitylist;
  715.   v32 = v29;
  716.   a4 = (C_CSPlayer *)CClientEntityList::GetBaseEntity((CClientEntityList *)cl_entitylist, v29);
  717.   v33 = (void **)C_CSPlayer::GetLocalCSPlayer(v31);
  718.   if ( !(unsigned __int8)IsPlayerIndex(v30) )
  719.   {
  720.     v47 = v30;
  721.     v48 = CClientEntityList::GetBaseEntity((CClientEntityList *)cl_entitylist, v30);
  722.     v28 = &g_Hostages;
  723.     v49 = *((_DWORD *)&g_Hostages + 4);
  724.     if ( v49 <= 0 )
  725.       goto LABEL_114;
  726.     v28 = (void **)g_Hostages;
  727.     v27 = 0LL;
  728.     while ( 1 )
  729.     {
  730.       v50 = (unsigned int *)*((_QWORD *)g_Hostages + v27);
  731.       if ( v50 == (unsigned int *)v48 )
  732.         break;
  733.       if ( (signed int)++v27 >= v49 )
  734.         goto LABEL_114;
  735.     }
  736.     if ( !v50 )
  737.       goto LABEL_114;
  738.     v51 = 0.0;
  739.     if ( (float)(*(signed int (__fastcall **)(C_CSPlayer *, __int64, signed __int64, void *))(*(_QWORD *)a4 + 1328LL))(
  740.                   a4,
  741.                   v47,
  742.                   v27,
  743.                   g_Hostages) >= 0.0 )
  744.       v51 = (float)(*(signed int (__fastcall **)(C_CSPlayer *))(*(_QWORD *)a4 + 1328LL))(a4);
  745.     *(float *)&v346 = v51;
  746.     *(float *)a6.m128i_i32 = (float)(v51
  747.                                    / (float)(*(signed int (__fastcall **)(unsigned int *))(*(_QWORD *)v50 + 1336LL))(v50))
  748.                            * 100.0;
  749.     a5 = 0LL;
  750.     *(double *)a5.m128_u64 = *(float *)a6.m128i_i32;
  751.     V_snwprintf(&v465, 9, &dword_C43DC8, *(float *)a6.m128i_i32);
  752.     v466 = 0;
  753.     v52 = (*(__int64 (**)(void))(mp_hostages_takedamage + 128LL))();
  754.     LODWORD(v346) = v52;
  755.     LOBYTE(v52) = v52 != 0;
  756.     LODWORD(v341) = v52;
  757.     ((void (__fastcall *)(void **, float *, _QWORD, char *))C_BasePlayer::EyeVectors)(v33, &v421, 0LL, &v420);
  758.     v419 = 0LL;
  759.     (*((void (__fastcall **)(void **))*v33 + 216))(v33);
  760.     v431 = v421 * 1024.0;
  761.     v432 = v422 * 1024.0;
  762.     v433 = 1024.0 * v423;
  763.     v442 = (float)((float)(v433 * v433) + (float)((float)(v432 * v432) + (float)(v431 * v431))) != 0.0;
  764.     v439 = 0;
  765.     v438 = 0;
  766.     v437 = 0;
  767.     v440 = 0LL;
  768.     v441 = 1;
  769.     v436 = 0;
  770.     v435 = 0;
  771.     v434 = 0;
  772.     v428 = a5.m128_i32[0];
  773.     v429 = (unsigned __int128)_mm_shuffle_epi32((__m128i)a5, 1);
  774.     v430 = a6.m128i_i32[0];
  775.     CTraceFilterSimple::CTraceFilterSimple(&v427, v33, 0LL, 0LL);
  776.     (*(void (__fastcall **)(__int64, int *, void *, char *, char *))(*(_QWORD *)enginetrace + 40LL))(
  777.       enginetrace,
  778.       &v428,
  779.       &unk_202408B,
  780.       &v427,
  781.       &v417);
  782.     if ( (*(unsigned int (__fastcall **)(void *))(r_visualizetraces + 128LL))(&r_visualizetraces) )
  783.     {
  784.       a5 = (__m128)dword_C18710[(*(unsigned int (__fastcall **)(void *))(r_visualizetraces + 128LL))(&r_visualizetraces) != 0];
  785.       DebugDrawLine(&v417, &v418, 255LL, 0LL, 0LL, 1LL);
  786.     }
  787.     v53 = v347;
  788.     LOBYTE(v53) = v347 & 1;
  789.     v339 = v53;
  790.     LOBYTE(v53) = 1;
  791.     v337 = v53;
  792.     if ( v419 )
  793.     {
  794.       v54 = v48;
  795.       if ( !(unsigned __int8)C_CSPlayer::GetUseConfigurationForHighPriorityUseEntity(v33, v48, &v416) )
  796.         goto LABEL_499;
  797.       v54 = (signed __int64)v33;
  798.       if ( !(unsigned __int8)CConfigurationForHighPriorityUseEntity_t::UseByPlayerNow(&v416, v33, 0LL)
  799.         || (*((unsigned int (__fastcall **)(void **, void **))*v33 + 127))(v33, v33) == 2 )
  800.       {
  801.         goto LABEL_499;
  802.       }
  803.       v55 = v50[3478];
  804.       if ( v55 != -1 )
  805.       {
  806.         v56 = 32LL * (unsigned __int16)v55;
  807.         if ( *(_DWORD *)(g_pEntityList + v56 + 16) == v55 >> 16 )
  808.         {
  809.           v57 = *(_QWORD *)(g_pEntityList + v56 + 8);
  810.           if ( v57 )
  811.           {
  812.             if ( (*(unsigned __int8 (__fastcall **)(_QWORD))(*(_QWORD *)v57 + 1632LL))(*(_QWORD *)(g_pEntityList
  813.                                                                                                  + v56
  814.                                                                                                  + 8)) )
  815.             {
  816.               v58 = v50[3478];
  817.               v59 = 0LL;
  818.               if ( v58 != -1 )
  819.               {
  820.                 v27 = g_pEntityList;
  821.                 v54 = 32LL * (unsigned __int16)v58;
  822.                 v59 = 0LL;
  823.                 if ( *(_DWORD *)(g_pEntityList + v54 + 16) == v58 >> 16 )
  824.                 {
  825.                   v60 = *(void ***)(g_pEntityList + v54 + 8);
  826.                   v59 = 0LL;
  827.                   if ( v60 )
  828.                   {
  829.                     v61 = (*((__int64 (__fastcall **)(_QWORD))*v60 + 204))(*(_QWORD *)(g_pEntityList + v54 + 8));
  830.                     v59 = 0LL;
  831.                     if ( v61 )
  832.                       v59 = v60;
  833.                   }
  834.                 }
  835.               }
  836.               if ( v59 != v33 )
  837.                 goto LABEL_499;
  838.             }
  839.           }
  840.         }
  841.       }
  842.       v62 = *((_DWORD *)v33 + 10997);
  843.       if ( v62 != -1 )
  844.       {
  845.         v27 = 32LL * (unsigned __int16)v62;
  846.         if ( *(_DWORD *)(g_pEntityList + v27 + 16) == v62 >> 16 )
  847.         {
  848.           if ( *(_QWORD *)(g_pEntityList + v27 + 8) )
  849.           {
  850. LABEL_499:
  851.             v63 = v50[3478];
  852.             if ( (_DWORD)v63 != -1 )
  853.             {
  854.               v27 = 32LL * (unsigned __int16)v63;
  855.               v63 = (unsigned int)v63 >> 16;
  856.               if ( *(_DWORD *)(g_pEntityList + v27 + 16) == (_DWORD)v63 )
  857.               {
  858.                 v64 = *(_QWORD *)(g_pEntityList + v27 + 8);
  859.                 if ( v64 )
  860.                 {
  861.                   v63 = (*(__int64 (__fastcall **)(__int64, signed __int64))(*(_QWORD *)v64 + 1632LL))(v64, v54);
  862.                   if ( (_BYTE)v63 )
  863.                   {
  864.                     v65 = v50[3478];
  865.                     v63 = 0LL;
  866.                     if ( v65 != -1 )
  867.                     {
  868.                       v27 = g_pEntityList;
  869.                       v54 = 32LL * (unsigned __int16)v65;
  870.                       v63 = 0LL;
  871.                       if ( *(_DWORD *)(g_pEntityList + v54 + 16) == v65 >> 16 )
  872.                       {
  873.                         v66 = *(_QWORD *)(g_pEntityList + v54 + 8);
  874.                         v63 = 0LL;
  875.                         if ( v66 )
  876.                         {
  877.                           v67 = (*(__int64 (__fastcall **)(_QWORD))(*(_QWORD *)v66 + 1632LL))(*(_QWORD *)(g_pEntityList + v54 + 8));
  878.                           v63 = 0LL;
  879.                           if ( v67 )
  880.                             v63 = v66;
  881.                         }
  882.                       }
  883.                     }
  884.                     if ( (void **)v63 != v33 )
  885.                     {
  886.                       v68 = "#SFUIHUD_hostageid_nh_following";
  887.                       if ( (_DWORD)v346 )
  888.                         v68 = "#SFUIHUD_hostageid_following";
  889.                       *(_QWORD *)&v346 = v68;
  890.                       v69 = 0LL;
  891.                       if ( g_PR )
  892.                         v69 = __dynamic_cast(
  893.                                 g_PR,
  894.                                 &`typeinfo for'C_PlayerResource,
  895.                                &`typeinfo for'C_CS_PlayerResource,
  896.                                 0LL);
  897.                       v70 = (*(__int64 (__fastcall **)(_QWORD *, char *, char *, signed __int64))(*g_pVGuiLocalize
  898.                                                                                                 + 104LL))(
  899.                               g_pVGuiLocalize,
  900.                               &v464,
  901.                               &v468,
  902.                               512LL);
  903.                       if ( v69 )
  904.                       {
  905.                         v71 = v50[3478];
  906.                         v72 = 0LL;
  907.                         if ( v71 != -1 )
  908.                         {
  909.                           v73 = 32LL * (unsigned __int16)v71;
  910.                           v72 = 0LL;
  911.                           if ( *(_DWORD *)(g_pEntityList + v73 + 16) == v71 >> 16 )
  912.                           {
  913.                             v74 = *(_QWORD *)(g_pEntityList + v73 + 8);
  914.                             v72 = 0LL;
  915.                             if ( v74 )
  916.                             {
  917.                               v75 = (*(__int64 (__fastcall **)(_QWORD))(*(_QWORD *)v74 + 1632LL))(*(_QWORD *)(g_pEntityList + v73 + 8));
  918.                               v72 = 0LL;
  919.                               if ( v75 )
  920.                                 v72 = v74;
  921.                             }
  922.                           }
  923.                         }
  924.                         v76 = (*(unsigned int (__fastcall **)(__int64))(*(_QWORD *)v72 + 680LL))(v72);
  925.                         v70 = C_CS_PlayerResource::GetDecoratedPlayerName(v69, v76, &v467, 2640LL, 1LL);
  926.                       }
  927.                       else
  928.                       {
  929.                         v467 = 0;
  930.                       }
  931.                       LOBYTE(v70) = 1;
  932.                       v337 = v70;
  933.                       v342 = 0LL;
  934.                       goto LABEL_492;
  935.                     }
  936.                   }
  937.                 }
  938.               }
  939.             }
  940.             LOBYTE(v63) = 1;
  941.             v337 = v63;
  942.             if ( (_DWORD)v346 )
  943.             {
  944.               v284 = "#SFUIHUD_hostageid";
  945.             }
  946.             else
  947.             {
  948.               if ( (unsigned __int8)C_CSGameRules::IsPlayingCooperativeGametype(g_pGameRules) )
  949.               {
  950.                 v285 = g_pVGuiLocalize;
  951.                 v286 = *(__int64 (__fastcall **)(_QWORD *, __int64))(*g_pVGuiLocalize + 88LL);
  952.                 v287 = (const char *)(*(__int64 (__fastcall **)(C_BaseEntity *, signed __int64))(*(_QWORD *)engine
  953.                                                                                                + 424LL))(
  954.                                        engine,
  955.                                        v54);
  956.                 v288 = C_CHostage::GetCustomHostageNameForMap((C_CHostage *)v50, v287);
  957.                 v289 = v286(v285, v288);
  958.                 v342 = 0LL;
  959.                 v291 = ILocalize::ConstructString<wchar_t>(v285, &v467, 2640LL, v289, 0LL, v290);
  960.                 LOBYTE(v291) = 1;
  961.                 v337 = v291;
  962.                 *(_QWORD *)&v346 = "#SFUIHUD_hostagename_nh";
  963. LABEL_492:
  964.                 v283 = 1;
  965.                 v77 = v348;
  966.                 goto LABEL_458;
  967.               }
  968.               v284 = "#SFUIHUD_hostageid_nh";
  969.             }
  970.             *(_QWORD *)&v346 = v284;
  971. LABEL_457:
  972.             v342 = 0LL;
  973.             v283 = 0;
  974.             v77 = v348;
  975.             goto LABEL_458;
  976.           }
  977.         }
  978.       }
  979.       v27 = v50[3478];
  980.       v28 = 0LL;
  981.       if ( (_DWORD)v27 != -1 )
  982.       {
  983.         v317 = 32LL * (unsigned __int16)v27;
  984.         v27 = (unsigned int)v27 >> 16;
  985.         v28 = 0LL;
  986.         if ( *(_DWORD *)(g_pEntityList + v317 + 16) == (_DWORD)v27 )
  987.         {
  988.           v318 = *(void ***)(g_pEntityList + v317 + 8);
  989.           v28 = 0LL;
  990.           if ( v318 )
  991.           {
  992.             v319 = (*((__int64 (__fastcall **)(_QWORD, signed __int64, signed __int64, _QWORD))*v318 + 204))(
  993.                      *(_QWORD *)(g_pEntityList + v317 + 8),
  994.                      v317,
  995.                      v27,
  996.                      0LL);
  997.             v28 = 0LL;
  998.             if ( v319 )
  999.               v28 = v318;
  1000.           }
  1001.         }
  1002.       }
  1003.       if ( v28 != v33 )
  1004.       {
  1005.         v320 = v50[3478];
  1006.         if ( v320 == -1
  1007.           || (v27 = 32LL * (unsigned __int16)v320, *(_DWORD *)(g_pEntityList + v27 + 16) != v320 >> 16)
  1008.           || (v321 = *(_QWORD *)(g_pEntityList + v27 + 8)) == 0
  1009.           || !(*(unsigned __int8 (__fastcall **)(_QWORD))(*(_QWORD *)v321 + 1632LL))(*(_QWORD *)(g_pEntityList + v27 + 8)) )
  1010.         {
  1011.           v322 = "#SFUIHUD_hostageid_use_lead";
  1012.           v323 = "#SFUIHUD_hostageid_nh_use_lead";
  1013.           if ( (_DWORD)v346 )
  1014.             v323 = "#SFUIHUD_hostageid_use_lead";
  1015.           *(_QWORD *)&v346 = v323;
  1016.           LOBYTE(v322) = 1;
  1017.           v337 = (unsigned __int64)v322;
  1018.           goto LABEL_457;
  1019.         }
  1020.       }
  1021.     }
  1022.     v342 = 0LL;
  1023.     goto LABEL_115;
  1024.   }
  1025.   if ( !a4 )
  1026.   {
  1027. LABEL_114:
  1028.     v337 = 0LL;
  1029.     v342 = 0LL;
  1030.     v339 = 0LL;
  1031. LABEL_115:
  1032.     v77 = v348;
  1033.     goto LABEL_116;
  1034.   }
  1035.   v34 = (*((__int64 (__fastcall **)(void **, __int64))*v33 + 127))(v33, v32);
  1036.   v35 = (void *)v34;
  1037.   if ( (unsigned __int8)C_CSPlayer::IsOtherSameTeam(a4, v34) )
  1038.   {
  1039.     v36 = (*((__int64 (__fastcall **)(void **, void *))*v33 + 85))(v33, v35);
  1040.     v35 = (void *)v36;
  1041.     if ( !(unsigned __int8)C_CSPlayer::IsOtherEnemy(a4, v36) )
  1042.     {
  1043.       v248 = v347;
  1044.       LOBYTE(v248) = v347 & 1;
  1045.       v339 = v248;
  1046.       v249 = "#SFUIHUD_playerid_sameteam";
  1047.       v250 = "#SFUIHUD_playerid_specteam";
  1048.       if ( v347 & 1 )
  1049.         v250 = "#SFUIHUD_playerid_sameteam";
  1050.       *(_QWORD *)&v346 = v250;
  1051.       goto LABEL_432;
  1052.     }
  1053.   }
  1054.   v37 = (*((__int64 (__fastcall **)(void **, void *))*v33 + 127))(v33, v35);
  1055.   if ( (_DWORD)v37 != 3 )
  1056.   {
  1057.     v37 = (*((__int64 (__fastcall **)(void **))*v33 + 127))(v33);
  1058.     if ( (_DWORD)v37 != 2 )
  1059.     {
  1060.       v278 = v347;
  1061.       LOBYTE(v278) = v347 & 1;
  1062.       v339 = v278;
  1063.       v249 = "#SFUIHUD_playerid_noteam";
  1064.       *(_QWORD *)&v346 = "#SFUIHUD_playerid_noteam";
  1065. LABEL_432:
  1066.       LOBYTE(v249) = 1;
  1067.       LODWORD(v341) = (_DWORD)v249;
  1068.       v342 = 0LL;
  1069.       goto LABEL_433;
  1070.     }
  1071.   }
  1072.   LOBYTE(v37) = v347 & 1;
  1073.   v342 = v37;
  1074.   v27 = (signed __int64)"#SFUIHUD_playerid_specteam";
  1075.   if ( v347 & 1 )
  1076.     v27 = (signed __int64)"#SFUIHUD_playerid_diffteam";
  1077.   *(_QWORD *)&v346 = v27;
  1078.   if ( a3 & (unsigned __int8)v347 )
  1079.   {
  1080.     v38 = (*(__int64 (**)(void))(*(_QWORD *)v348 + 2600LL))();
  1081.     if ( v38 )
  1082.     {
  1083.       v39 = (CCSWeaponInfo *)(*(__int64 (__fastcall **)(__int64))(*(_QWORD *)v38 + 4192LL))(v38);
  1084.       v35 = 0LL;
  1085.       CCSWeaponInfo::GetRange(v39, 0LL, 0, 1.0);
  1086.       *(float *)&v342 = xmmword_C18234;
  1087.       v40 = (float *)(*(__int64 (__fastcall **)(C_CSPlayer *, _QWORD))(*(_QWORD *)a4 + 912LL))(a4, 0LL);
  1088.       v41 = (*((__int64 (__fastcall **)(void **))*v33 + 340))(v33);
  1089.       LODWORD(v42) = (unsigned __int128)_mm_shuffle_epi32((__m128i)LODWORD(xmmword_C18234), 1);
  1090.       *(float *)a6.m128i_i32 = (float)((float)(v40[2] - *(float *)a6.m128i_i32)
  1091.                                      * (float)(v40[2] - *(float *)a6.m128i_i32))
  1092.                              + (float)((float)((float)(v40[1] - v42) * (float)(v40[1] - v42))
  1093.                                      + (float)((float)(*v40 - 1.0) * (float)(*v40 - 1.0)));
  1094.       a5 = 0LL;
  1095.       a5.m128_f32[0] = fsqrt(*(float *)a6.m128i_i32);
  1096.       LOBYTE(v41) = a5.m128_f32[0] <= 1.0;
  1097.       v342 = v41;
  1098.     }
  1099.   }
  1100.   LODWORD(v341) = 0;
  1101.   v339 = 0LL;
  1102. LABEL_433:
  1103.   v28 = (void **)&cl_teamid_overhead;
  1104.   v279 = (void *)*((_QWORD *)&cl_teamid_overhead + 7);
  1105.   if ( v279 == &cl_teamid_overhead )
  1106.     v280 = (unsigned __int64)&cl_teamid_overhead ^ *((_DWORD *)&cl_teamid_overhead + 22);
  1107.   else
  1108.     v280 = (*(__int64 (**)(void))(*(_QWORD *)v279 + 128LL))();
  1109.   if ( v280 && (_BYTE)v339 )
  1110.   {
  1111.     v467 = 0;
  1112.   }
  1113.   else
  1114.   {
  1115.     if ( g_PR
  1116.       && (v35 = &//`typeinfo for'C_PlayerResource,
  1117.           (v281 = __dynamic_cast(g_PR, &/*`typeinfo for'C_PlayerResource, &`typeinfo for'C_CS_PlayerResource*/, 0LL)) != 0) )
  1118.     {
  1119.       v35 = (void *)v30;
  1120.       C_CS_PlayerResource::GetDecoratedPlayerName(v281, v30, &v467, 2640LL, 1LL);
  1121.     }
  1122.     else
  1123.     {
  1124.       v467 = 0;
  1125.     }
  1126.     if ( (_BYTE)v341 )
  1127.     {
  1128.       v282 = 0.0;
  1129.       if ( (float)(*(signed int (__fastcall **)(C_CSPlayer *, void *))(*(_QWORD *)a4 + 1328LL))(a4, v35) >= 0.0 )
  1130.         v282 = (float)(*(signed int (__fastcall **)(C_CSPlayer *))(*(_QWORD *)a4 + 1328LL))(a4);
  1131.       *(float *)&v340 = v282;
  1132.       *(float *)a6.m128i_i32 = (float)(v282
  1133.                                      / (float)(*(signed int (__fastcall **)(C_CSPlayer *))(*(_QWORD *)a4 + 1336LL))(a4))
  1134.                              * 100.0;
  1135.       a5 = 0LL;
  1136.       *(double *)a5.m128_u64 = *(float *)a6.m128i_i32;
  1137.       V_snwprintf(&v465, 9, &dword_C43DC8, *(float *)a6.m128i_i32);
  1138.       v466 = 0;
  1139.     }
  1140.     else
  1141.     {
  1142.       LODWORD(v341) = 0;
  1143.     }
  1144.   }
  1145.   v283 = 1;
  1146.   v337 = 0LL;
  1147.   v77 = v348;
  1148.   if ( !(_QWORD)v346 )
  1149.   {
  1150. LABEL_116:
  1151.     if ( !(v347 & 1) )
  1152.     {
  1153.       v348 = v77;
  1154.       goto LABEL_130;
  1155.     }
  1156.     v348 = v77;
  1157.     v78 = C_CSPlayer::GetTargetedWeapon(v77);
  1158.     if ( v78 > 0 )
  1159.     {
  1160.       v79 = (char *)(unsigned int)v78;
  1161.       v80 = CClientEntityList::GetBaseEntity((CClientEntityList *)cl_entitylist, v78);
  1162.       a4 = (C_CSPlayer *)v80;
  1163.       v81 = 0LL;
  1164.       v82 = 0;
  1165.       if ( v80 )
  1166.       {
  1167.         v79 = `typeinfo for'C_BaseEntity;
  1168.        if ( __dynamic_cast(v80, `typeinfo for'C_BaseEntity, &`typeinfo for'C_PlantedC4, 0LL) )
  1169.          goto LABEL_130;
  1170.        v82 = (*(unsigned int (__fastcall **)(C_CSPlayer *, char *))(*(_QWORD *)a4 + 4208LL))(
  1171.                a4,
  1172.                `typeinfo for'C_BaseEntity) != 31;
  1173.         v81 = a4;
  1174.       }
  1175.       v83 = C_BaseCombatWeapon::GetEconItemView(a4);
  1176.       v84 = (C_EconItemView *)v83;
  1177.       if ( v83 && *(_BYTE *)(v83 + 664) )
  1178.       {
  1179.         v85 = (CEconItemSchema *)GetItemSchema();
  1180.         v86 = (*(__int64 (__fastcall **)(C_EconItemView *, char *))(*(_QWORD *)v84 + 472LL))(v84, v79);
  1181.         v87 = v86;
  1182.         v88 = CEconItemSchema::GetRarityDefinition(v85, v86);
  1183.         v89 = (const char *)GetHexColorForAttribColor(*(unsigned int *)(v88 + 4), v87);
  1184.         _V_UTF8ToUnicode(v89, &v462, 128);
  1185.         v90 = C_EconItemView::GetItemName(v84, 1);
  1186.         V_snwprintf(&v463, 128, &dword_C43D34, &v462, v90);
  1187.       }
  1188.       else
  1189.       {
  1190.         v91 = g_pVGuiLocalize;
  1191.         v92 = *(__int64 (__fastcall **)(_QWORD *, __int64))(*g_pVGuiLocalize + 88LL);
  1192.         v93 = (*(__int64 (__fastcall **)(C_CSPlayer *, char *))(*(_QWORD *)a4 + 3576LL))(a4, v79);
  1193.         v94 = v92(v91, v93);
  1194.         V_snwprintf(&v463, 128, &dword_C43DA8, v94);
  1195.       }
  1196.       if ( v82 )
  1197.       {
  1198.         v95 = (*(__int64 (__fastcall **)(C_CSPlayer *))(*(_QWORD *)a4 + 4168LL))(v81);
  1199.         v96 = v95;
  1200.         v97 = C_CSPlayer::IsPrimaryOrSecondaryWeapon(v348, v95);
  1201.         if ( (_BYTE)v97 )
  1202.         {
  1203.           v98 = *(__int64 (__fastcall **)(C_BasePlayer *, signed __int64))(*(_QWORD *)v348 + 2568LL);
  1204.           if ( v96 == 1 )
  1205.             v99 = v98(v348, 1LL);
  1206.           else
  1207.             v99 = v98(v348, 0LL);
  1208.           if ( v99 )
  1209.           {
  1210.             v271 = g_pVGuiLocalize;
  1211.             v272 = (*(__int64 (__fastcall **)(_QWORD *, const char *))(*g_pVGuiLocalize + 88LL))(
  1212.                      g_pVGuiLocalize,
  1213.                      "#SFUIHUD_weaponid_pickup");
  1214.             v273 = v272;
  1215.             LOBYTE(v272) = 1;
  1216.             v341 = v272;
  1217.             v338 = 0LL;
  1218.             ILocalize::ConstructString<wchar_t>(v271, &v472, 1024LL, v273, 1LL, &v463);
  1219.           }
  1220.           else
  1221.           {
  1222.             v341 = 1LL;
  1223.             v338 = 0LL;
  1224.             V_snwprintf(&v472, 256, &dword_C43DA8, &v463);
  1225.           }
  1226.           *(_QWORD *)&v340 = 0LL;
  1227.         }
  1228.         else
  1229.         {
  1230.           LOBYTE(v97) = 1;
  1231.           v341 = v97;
  1232.           v338 = 0LL;
  1233.           V_snwprintf(&v472, 256, &dword_C43DA8, &v463);
  1234.           *(_QWORD *)&v340 = 0LL;
  1235.         }
  1236.         goto LABEL_131;
  1237.       }
  1238.     }
  1239. LABEL_130:
  1240.     v341 = 0LL;
  1241.     v338 = 0LL;
  1242.     *(_QWORD *)&v340 = 0LL;
  1243.     goto LABEL_131;
  1244.   }
  1245. LABEL_458:
  1246.   v348 = v77;
  1247.   v292 = (void *)*((_QWORD *)&cl_teamid_overhead + 7);
  1248.   if ( v292 == &cl_teamid_overhead )
  1249.     v293 = (unsigned __int64)&cl_teamid_overhead ^ *((_DWORD *)&cl_teamid_overhead + 22);
  1250.   else
  1251.     v293 = (*(__int64 (**)(void))(*(_QWORD *)v292 + 128LL))();
  1252.   v294 = v339;
  1253.   if ( v339 & 1 && v293 && !(_BYTE)v337 )
  1254.   {
  1255.     (*(void (__fastcall **)(C_CSPlayer *))(*(_QWORD *)a4 + 1728LL))(a4);
  1256.     _mm_store_si128((__m128i *)&v346, (__m128i)a5);
  1257.     LODWORD(v347) = a6.m128i_i32[0];
  1258.     (*((void (__fastcall **)(void **))*v33 + 216))(v33);
  1259.     _mm_store_si128((__m128i *)&v340, (__m128i)a5);
  1260.     LODWORD(v341) = a6.m128i_i32[0];
  1261.     v295 = (*((__int64 (__fastcall **)(void **))*v33 + 127))(v33);
  1262.     v296 = v295;
  1263.     v297 = C_CSPlayer::IsOtherSameTeam(a4, v295);
  1264.     if ( !(_BYTE)v297 )
  1265.       goto LABEL_500;
  1266.     v298 = (*((__int64 (__fastcall **)(void **, __int64))*v33 + 85))(v33, v296);
  1267.     v297 = C_CSPlayer::IsOtherEnemy(a4, v298);
  1268.     if ( (_BYTE)v297 )
  1269.       goto LABEL_500;
  1270.     v297 = C_BasePlayer::IsBot(a4);
  1271.     if ( !(_BYTE)v297 )
  1272.       goto LABEL_500;
  1273.     v299 = C_CSPlayer::HasC4(a4);
  1274.     v300 = _mm_load_si128((const __m128i *)&v346);
  1275.     a6 = _mm_load_si128((const __m128i *)&v340);
  1276.     v301 = COERCE_FLOAT(_mm_shuffle_epi32(v300, 1)) - COERCE_FLOAT(_mm_shuffle_epi32(a6, 1));
  1277.     *(float *)a6.m128i_i32 = (float)((float)(*(float *)&v347 - *(float *)&v341)
  1278.                                    * (float)(*(float *)&v347 - *(float *)&v341))
  1279.                            + (float)((float)(v301 * v301)
  1280.                                    + (float)((float)(*(float *)v300.m128i_i32 - *(float *)a6.m128i_i32)
  1281.                                            * (float)(*(float *)v300.m128i_i32 - *(float *)a6.m128i_i32)));
  1282.     a5 = 0LL;
  1283.     a5.m128_f32[0] = fsqrt(*(float *)a6.m128i_i32);
  1284.     v297 = (unsigned __int8)(a5.m128_f32[0] < 140.0 ? v299 : 0);
  1285.     if ( (_DWORD)v297 == 1 )
  1286.     {
  1287.       v302 = g_pVGuiLocalize;
  1288.       v303 = (*(__int64 (__fastcall **)(_QWORD *, const char *))(*g_pVGuiLocalize + 88LL))(
  1289.                g_pVGuiLocalize,
  1290.                "#SFUIHUD_botid_request_bomb");
  1291.       v304 = v303;
  1292.       LOBYTE(v303) = 1;
  1293.       v341 = v303;
  1294.       v337 = 0LL;
  1295.       v306 = ILocalize::ConstructString<wchar_t>(v302, &v472, 1024LL, v304, 0LL, v305);
  1296.       LOBYTE(v306) = 1;
  1297.       v338 = v306;
  1298.       *(_QWORD *)&v340 = 0LL;
  1299.     }
  1300.     else
  1301.     {
  1302. LABEL_500:
  1303.       LOBYTE(v297) = 1;
  1304.       v341 = v297;
  1305.       v338 = 0LL;
  1306.       V_snwprintf(&v472, 256, &dword_C43D30);
  1307.       v337 = 0LL;
  1308.       *(_QWORD *)&v340 = 1LL;
  1309.     }
  1310.   }
  1311.   else
  1312.   {
  1313.     a4 = (C_CSPlayer *)g_pVGuiLocalize;
  1314.     v307 = *(__int64 (__fastcall **)(_QWORD *, _QWORD))(*g_pVGuiLocalize + 88LL);
  1315.     if ( (_BYTE)v341 && v283 )
  1316.     {
  1317.       v308 = v307(g_pVGuiLocalize, v346);
  1318.       v309 = v308;
  1319.       LOBYTE(v308) = 1;
  1320.       v341 = v308;
  1321.       v338 = 0LL;
  1322.       ILocalize::ConstructString<wchar_t>(a4, &v472, 1024LL, v309, 2LL, &v467);
  1323.       *(_QWORD *)&v340 = 0LL;
  1324.     }
  1325.     else if ( v283 )
  1326.     {
  1327.       LOBYTE(v294) = v283 == 0;
  1328.       v310 = ((__int64 (__fastcall *)(_QWORD *, _QWORD, signed __int64, __int64))v307)(g_pVGuiLocalize, v346, v27, v294);
  1329.       v311 = v310;
  1330.       LOBYTE(v310) = 1;
  1331.       v341 = v310;
  1332.       v338 = 0LL;
  1333.       ILocalize::ConstructString<wchar_t>(a4, &v472, 1024LL, v311, 1LL, &v467);
  1334.       *(_QWORD *)&v340 = 0LL;
  1335.     }
  1336.     else
  1337.     {
  1338.       if ( (_BYTE)v341 )
  1339.       {
  1340.         v312 = v307(g_pVGuiLocalize, v346);
  1341.         v313 = v312;
  1342.         LOBYTE(v312) = 1;
  1343.         v341 = v312;
  1344.         v338 = 0LL;
  1345.         ILocalize::ConstructString<wchar_t>(a4, &v472, 1024LL, v313, 1LL, &v465);
  1346.       }
  1347.       else
  1348.       {
  1349.         v314 = v307(g_pVGuiLocalize, v346);
  1350.         v315 = v314;
  1351.         LOBYTE(v314) = 1;
  1352.         v341 = v314;
  1353.         v338 = 0LL;
  1354.         ILocalize::ConstructString<wchar_t>(a4, &v472, 1024LL, v315, 0LL, v316);
  1355.       }
  1356.       *(_QWORD *)&v340 = 0LL;
  1357.     }
  1358.   }
  1359. LABEL_131:
  1360.   v100 = (__int64 *)v350;
  1361.   if ( *((_DWORD *)v350 + 344) > 0 )
  1362.   {
  1363.     v101 = 0;
  1364.     v28 = (void **)(&stru_20 + 28);
  1365.     do
  1366.     {
  1367.       v27 = v100[170];
  1368.       *((_BYTE *)v28 + v27) = 0;
  1369.       v28 += 11;
  1370.       ++v101;
  1371.     }
  1372.     while ( v101 < *((_DWORD *)v100 + 344) );
  1373.   }
  1374.   v102 = (unsigned __int64)mdlcache;
  1375.   (*(void (__fastcall **)(_QWORD *, __int64 *, signed __int64, void **))(*mdlcache + 256LL))(mdlcache, v100, v27, v28);
  1376.   if ( BasePanel() )
  1377.   {
  1378.     v103 = BasePanel();
  1379.     LOBYTE(a4) = (*(__int64 (__fastcall **)(__int64))(*(_QWORD *)v103 + 2120LL))(v103);
  1380.   }
  1381.   else
  1382.   {
  1383.     LODWORD(a4) = 0;
  1384.   }
  1385.   if ( (_BYTE)v351 )
  1386.   {
  1387.     v104 = (void *)*((_QWORD *)&spec_show_xray + 7);
  1388.     if ( v104 == &spec_show_xray )
  1389.     {
  1390.       v347 = v102;
  1391.       v105 = (unsigned __int64)&spec_show_xray ^ *((_DWORD *)&spec_show_xray + 22);
  1392.     }
  1393.     else
  1394.     {
  1395.       v105 = (*(__int64 (__cdecl **)(void *))(*(_QWORD *)v104 + 128LL))(v104);
  1396.       v347 = v102;
  1397.     }
  1398.     LOBYTE(v105) = v105 != 0;
  1399.     LODWORD(v346) = v105;
  1400.   }
  1401.   else
  1402.   {
  1403.     v347 = v102;
  1404.     LODWORD(v346) = 0;
  1405.   }
  1406.   if ( !((unsigned __int8)a4 | (*((_DWORD *)gpGlobals + 6) <= 0)) )
  1407.   {
  1408.     LODWORD(a4) = 1;
  1409.     do
  1410.     {
  1411.       v106 = UTIL_PlayerByIndex((int)a4);
  1412.       v107 = v106;
  1413.       v108 = 0LL;
  1414.       if ( v106 )
  1415.       {
  1416.         v108 = 0LL;
  1417.         if ( (*(unsigned __int8 (__fastcall **)(__int64))(*(_QWORD *)v106 + 1632LL))(v106) )
  1418.           v108 = v107;
  1419.       }
  1420.       if ( !(*(unsigned int (__cdecl **)(void *))(cl_teamid_overhead + 128LL))(&cl_teamid_overhead)
  1421.         || (*(unsigned int (__cdecl **)(void *))(cl_draw_only_deathnotices + 128LL))(&cl_draw_only_deathnotices)
  1422.         || !v352
  1423.         || !v108
  1424.         || !(*(unsigned __int8 (__fastcall **)(__int64))(*(_QWORD *)v108 + 1616LL))(v108)
  1425.         || *(unsigned __int16 *)(v108 + 678) == 0xFFFF
  1426.         || !(*(_BYTE *)(v108 + 680) & 1) )
  1427.       {
  1428.         goto LABEL_295;
  1429.       }
  1430.       if ( (C_BasePlayer *)v108 == v348 )
  1431.       {
  1432.         v100 = (__int64 *)0xFFFFFFFFLL;
  1433.         if ( !((*(unsigned __int8 (__fastcall **)(_QWORD *, signed __int64))(*input[0] + 264LL))(input[0], 0xFFFFFFFFLL) & (*((_DWORD *)&g_HltvReplaySystem + 4) == 0)) )
  1434.           goto LABEL_295;
  1435.       }
  1436.       else if ( *((_DWORD *)&g_HltvReplaySystem + 4) )
  1437.       {
  1438.         goto LABEL_295;
  1439.       }
  1440.       if ( !`guard variable for//'SFHudReticle::ProcessInput(void)::sv_show_voip_indicator_for_enemies
  1441.         && (unsigned int)__cxa_guard_acquire(&`guard variable for'SFHudReticle::ProcessInput(void)::sv_show_voip_indicator_for_enemies) )
  1442.      {
  1443.        CGameUIConVarRef::CGameUIConVarRef(
  1444.          (CGameUIConVarRef *)SFHudReticle::ProcessInput(void)::sv_show_voip_indicator_for_enemies,
  1445.          "sv_show_voip_indicator_for_enemies");
  1446.        __cxa_guard_release(&`guard variable for'SFHudReticle::ProcessInput(void)::sv_show_voip_indicator_for_enemies);
  1447.       }
  1448.       if ( !(_BYTE)v346 )
  1449.       {
  1450.         v109 = (*(__int64 (__fastcall **)(__int64))(*(_QWORD *)v108 + 1016LL))(v108);
  1451.         v100 = (__int64 *)v109;
  1452.         if ( !(unsigned __int8)C_CSPlayer::IsOtherSameTeam(v348, v109)
  1453.           || (v100 = (__int64 *)v108, (unsigned __int8)C_CSPlayer::IsOtherEnemy(v348, (C_CSPlayer *)v108)) )
  1454.         {
  1455.           v110 = SFHudReticle::ProcessInput(void)::sv_show_voip_indicator_for_enemies[2
  1456.                                                                                     * (signed int)GetGameUIActiveSplitScreenPlayerSlot()
  1457.                                                                                     + 1];
  1458.           if ( !(*(unsigned int (__fastcall **)(__int64, __int64 *))(*(_QWORD *)v110 + 128LL))(v110, v100)
  1459.             || !(*(unsigned __int8 (__fastcall **)(__int64))(*(_QWORD *)v108 + 3288LL))(v108) )
  1460.           {
  1461.             goto LABEL_295;
  1462.           }
  1463.         }
  1464.       }
  1465.       LOBYTE(v332) = (*(__int64 (__fastcall **)(C_BasePlayer *, __int64))(*(_QWORD *)v352 + 1048LL))(v352, v108);
  1466.       v100 = (__int64 *)v108;
  1467.       v331 = C_CSPlayer::IsOtherEnemy(v352, (C_CSPlayer *)v108);
  1468.       (*(void (__fastcall **)(__int64, __int64))(*(_QWORD *)v108 + 1728LL))(v108, v108);
  1469.       _mm_store_si128((__m128i *)&v335, (__m128i)a5);
  1470.       v336.m128i_i32[0] = a6.m128i_i32[0];
  1471.       (*(void (__cdecl **)(C_BasePlayer *))(*(_QWORD *)v348 + 1728LL))(v348);
  1472.       v111 = _mm_load_si128((const __m128i *)&v335);
  1473.       LODWORD(v112) = (unsigned __int128)_mm_shuffle_epi32(v111, 1);
  1474.       *(float *)v111.m128i_i32 = *(float *)v111.m128i_i32 - a5.m128_f32[0];
  1475.       LODWORD(v113) = (unsigned __int128)_mm_shuffle_epi32((__m128i)a5, 1);
  1476.       v114 = (float)((float)(*(float *)v336.m128i_i32 - *(float *)a6.m128i_i32)
  1477.                    * (float)(*(float *)v336.m128i_i32 - *(float *)a6.m128i_i32))
  1478.            + (float)((float)((float)(v112 - v113) * (float)(v112 - v113))
  1479.                    + (float)(*(float *)v111.m128i_i32 * *(float *)v111.m128i_i32));
  1480.       a5 = 0LL;
  1481.       a5.m128_f32[0] = fsqrt(v114);
  1482.       _mm_store_si128((__m128i *)&v336, (__m128i)a5);
  1483.       if ( g_bEngineIsHLTV )
  1484.       {
  1485.         v115 = HLTVCamera();
  1486.         v117 = *(unsigned int *)(v115 + 64);
  1487.         if ( !(_DWORD)v117 )
  1488.           v117 = *(unsigned int *)(v115 + 68);
  1489.       }
  1490.       else
  1491.       {
  1492.         v118 = (*(__int64 (__cdecl **)(C_BasePlayer *))(*(_QWORD *)v352 + 2792LL))(v352);
  1493.         v117 = 0xFFFFFFFFLL;
  1494.         if ( v118 )
  1495.         {
  1496.           v119 = (*(__int64 (__fastcall **)(C_BasePlayer *, __int64, __int64, signed __int64))(*(_QWORD *)v352 + 2792LL))(
  1497.                    v352,
  1498.                    v108,
  1499.                    v116,
  1500.                    0xFFFFFFFFLL);
  1501.           v117 = (*(unsigned int (__fastcall **)(__int64))(*(_QWORD *)v119 + 680LL))(v119);
  1502.         }
  1503.       }
  1504.       if ( (_BYTE)v346 )
  1505.       {
  1506.         LODWORD(v335) = v117;
  1507.         v120 = (void *)*((_QWORD *)&cl_teamid_overhead_maxdist_spec + 7);
  1508.         if ( v120 == &cl_teamid_overhead_maxdist_spec )
  1509.           v121 = (unsigned __int64)&cl_teamid_overhead_maxdist_spec ^ *((_DWORD *)&cl_teamid_overhead_maxdist_spec + 22);
  1510.         else
  1511.           v121 = (*(__int64 (__cdecl **)(void *))(*(_QWORD *)v120 + 128LL))(v120);
  1512.         v124 = (*(__int64 (__fastcall **)(__int64))(*(_QWORD *)v108 + 680LL))(v108);
  1513.         a5.m128_f32[0] = (float)v121;
  1514.         if ( (_DWORD)v335 == v124 )
  1515.         {
  1516.           v334.m128_f32[0] = (float)v121;
  1517.           if ( (*(unsigned int (__cdecl **)(C_BasePlayer *))(*(_QWORD *)v352 + 2784LL))(v352) == 3
  1518.             || (v125 = (*(__int64 (__cdecl **)(C_BasePlayer *))(*(_QWORD *)v352 + 2784LL))(v352),
  1519.                 a5 = (__m128)v334.m128_u32[0],
  1520.                 v125 == 6) )
  1521.           {
  1522.             a5 = (__m128)0x47C34FF3u;
  1523.           }
  1524.         }
  1525.       }
  1526.       else
  1527.       {
  1528.         v122 = (void *)*((_QWORD *)&cl_teamid_overhead_maxdist + 7);
  1529.         v123 = v122 == &cl_teamid_overhead_maxdist ? (unsigned __int64)&cl_teamid_overhead_maxdist ^ *((_DWORD *)&cl_teamid_overhead_maxdist + 22) : (*(unsigned int (__fastcall **)(void *, __int64, __int64, signed __int64))(*(_QWORD *)v122 + 128LL))(v122, v108, v116, v117);
  1530.         a5.m128_f32[0] = (float)v123;
  1531.       }
  1532.       a6.m128i_i32[0] = (unsigned __int128)_mm_load_si128(&v336);
  1533.       if ( *(float *)a6.m128i_i32 > a5.m128_f32[0] )
  1534.         goto LABEL_295;
  1535.       v334.m128_i32[0] = a5.m128_i32[0];
  1536.       (*(void (__fastcall **)(__int64))(*(_QWORD *)v108 + 1728LL))(v108);
  1537.       _mm_store_si128((__m128i *)&v333, (__m128i)a5);
  1538.       v336.m128i_i32[0] = a6.m128i_i32[0];
  1539.       (*(void (__fastcall **)(__int64))(*(_QWORD *)v108 + 1728LL))(v108);
  1540.       v126 = v348;
  1541.       v127 = (*(__int64 (__cdecl **)(C_BasePlayer *))(*(_QWORD *)v348 + 1736LL))(v348);
  1542.       v100 = (__int64 *)&v413;
  1543.       AngleVectors(v127, &v413, 0LL, 0LL);
  1544.       (*(void (__fastcall **)(C_BasePlayer *, float *))(*(_QWORD *)v126 + 1728LL))(v126, &v413);
  1545.       *(float *)v336.m128i_i32 = *(float *)v336.m128i_i32 + 3.0;
  1546.       v128 = *(float *)v336.m128i_i32;
  1547.       v129 = _mm_load_si128((const __m128i *)&v333);
  1548.       v130 = (__m128)v129;
  1549.       v130.m128_f32[0] = *(float *)v129.m128i_i32 - a5.m128_f32[0];
  1550.       v131 = (__m128)_mm_shuffle_epi32(v129, 1);
  1551.       _mm_store_si128((__m128i *)&v328, (__m128i)v131);
  1552.       v131.m128_f32[0] = v131.m128_f32[0] - COERCE_FLOAT(_mm_shuffle_epi32((__m128i)a5, 1));
  1553.       v132 = v128 - *(float *)a6.m128i_i32;
  1554.       _mm_storel_ps((double *)&v411, _mm_unpacklo_ps(v130, v131));
  1555.       v412 = v128 - *(float *)a6.m128i_i32;
  1556.       VectorNormalize(&v411);
  1557.       v327 = v132;
  1558.       *(float *)&v335 = *(float *)&v411 * v413;
  1559.       *(float *)a6.m128i_i32 = *((float *)&v411 + 1) * v414;
  1560.       v330 = *((float *)&v411 + 1) * v414;
  1561.       v329 = v412 * v415;
  1562.       v410 = 0LL;
  1563.       v133 = (*(__int64 (__cdecl **)(C_BasePlayer *))(*(_QWORD *)v126 + 1616LL))(v126);
  1564.       a5 = (__m128)(unsigned int)v335;
  1565.       a5.m128_f32[0] = (float)(*(float *)&v335 + v330) + v329;
  1566.       LODWORD(v335) = a5.m128_i32[0];
  1567.       if ( (unsigned __int8)v346 | (unsigned __int8)((a5.m128_f32[0] <= 0.5) | v133 ^ 1) )
  1568.       {
  1569.         v330 = 0.0;
  1570.         a5 = (__m128)v334.m128_u32[0];
  1571. LABEL_207:
  1572.         a6.m128i_i32[0] = v335;
  1573.         if ( (unsigned __int8)(v346 | (*(float *)&v335 > 0.5)) == 1 )
  1574.         {
  1575.           v334.m128_i32[0] = a5.m128_i32[0];
  1576.           v144 = *((_DWORD *)v350 + 344);
  1577.           v145 = 0;
  1578.           v146 = 0;
  1579.           if ( v144 > 0 )
  1580.           {
  1581.             v147 = (unsigned int *)*((_QWORD *)v350 + 170);
  1582.             v148 = 0;
  1583.             while ( 1 )
  1584.             {
  1585.               v149 = *v147;
  1586.               v150 = 0LL;
  1587.               if ( *v147 != -1 )
  1588.               {
  1589.                 v151 = 32LL * (unsigned __int16)v149;
  1590.                 v150 = 0LL;
  1591.                 if ( *(_DWORD *)(g_pEntityList + v151 + 16) == v149 >> 16 )
  1592.                   v150 = *(_QWORD *)(g_pEntityList + v151 + 8);
  1593.               }
  1594.               if ( v150 == v108 )
  1595.                 break;
  1596.               ++v148;
  1597.               v147 += 22;
  1598.               v145 = 0;
  1599.               v146 = 0;
  1600.               if ( v148 >= v144 )
  1601.                 goto LABEL_217;
  1602.             }
  1603.             *((_BYTE *)v147 + 60) = 1;
  1604.             v146 = 1;
  1605.             v145 = v148;
  1606.           }
  1607. LABEL_217:
  1608.           v336.m128i_i32[0] = v145;
  1609.           v152 = C_CSPlayer::GetIDTarget(v348);
  1610.           v100 = (__int64 *)v152;
  1611.           *(_QWORD *)&v333 = CClientEntityList::GetBaseEntity((CClientEntityList *)cl_entitylist, v152);
  1612.           LODWORD(v153) = C_CSGameRules::IsFreezePeriod(g_pGameRules);
  1613.           LOBYTE(v154) = 1;
  1614.           v329 = v154;
  1615.           if ( !((unsigned __int8)v346 | LOBYTE(v153)) )
  1616.           {
  1617.             if ( (_QWORD)v333 != v108
  1618.               && (LODWORD(v153) = (*(__int64 (__fastcall **)(C_BasePlayer *, __int64 *))(*(_QWORD *)v348 + 1616LL))(
  1619.                                     v348,
  1620.                                     v100),
  1621.                   LOBYTE(v153)) )
  1622.             {
  1623.               v329 = 0.0;
  1624.             }
  1625.             else
  1626.             {
  1627.               LOBYTE(v153) = LOBYTE(v332) & (v331 ^ 1);
  1628.               v329 = v153;
  1629.             }
  1630.           }
  1631.           if ( !v146 )
  1632.           {
  1633.             if ( g_PR )
  1634.             {
  1635.               v336.m128i_i32[0] = *((_DWORD *)v350 + 344);
  1636.               v155 = (C_PlayerResource *)__dynamic_cast(
  1637.                                            g_PR,
  1638.                                            &`typeinfo for'C_PlayerResource,
  1639.                                           &`typeinfo for'C_CS_PlayerResource,
  1640.                                            0LL);
  1641.               v156 = 0;
  1642.               if ( v155 )
  1643.               {
  1644.                 v157 = (*(__int64 (__fastcall **)(__int64, void *))(*(_QWORD *)v108 + 680LL))(
  1645.                          v108,
  1646.                          &/*`typeinfo for'C_PlayerResource*/);
  1647.                 v158 = v157;
  1648.                 v159 = C_PlayerResource::GetXuid(v155, v157);
  1649.                 v160 = (__int64 (__fastcall ***)(_QWORD))(*(__int64 (__fastcall **)(_QWORD *, __int64))(*g_pMatchFramework + 120LL))(
  1650.                                                            g_pMatchFramework,
  1651.                                                            v158);
  1652.                 v161 = (**v160)(v160);
  1653.                 v156 = (*(__int64 (__fastcall **)(__int64, __int64))(*(_QWORD *)v161 + 32LL))(v161, v159) != 0;
  1654.               }
  1655.             }
  1656.             else
  1657.             {
  1658.               v336.m128i_i32[0] = *((_DWORD *)v350 + 344);
  1659.               v156 = 0;
  1660.             }
  1661.             v146 = 1;
  1662.             v100 = (__int64 *)v108;
  1663.             SFHudReticle::AddNewPlayerID(v350, (C_BaseEntity *)v108, 0, v156);
  1664.           }
  1665.           v162 = *((_DWORD *)v350 + 344);
  1666.           if ( v162 > 0 && v336.m128i_i32[0] < v162 )
  1667.           {
  1668.             v163 = (*(__int64 (__fastcall **)(__int64, __int64 *))(*(_QWORD *)v108 + 1016LL))(v108, v100);
  1669.             v164 = v350;
  1670.             v165 = *((_QWORD *)v350 + 170);
  1671.             v166 = 88LL * v336.m128i_i32[0];
  1672.             *(_DWORD *)(v165 + v166 + 64) = v163;
  1673.             v167 = *((_QWORD *)v164 + 170);
  1674.             if ( (_BYTE)v351 )
  1675.             {
  1676.               LOBYTE(v165) = *(float *)(v167 + v166 + 76) != *(float *)(v108 + 44012);
  1677.               v328.m128_i32[0] = v165;
  1678.             }
  1679.             else
  1680.             {
  1681.               v328.m128_i32[0] = 0;
  1682.             }
  1683.             v324 = *(_DWORD *)(v167 + v166 + 68);
  1684.             *(_QWORD *)&v333 = v166;
  1685.             v168 = (*(__int64 (__fastcall **)(__int64))(*(_QWORD *)v108 + 1328LL))(v108);
  1686.             v169 = *((_QWORD *)v350 + 170);
  1687.             v170 = *(float *)(v169 + v333 + 72);
  1688.             if ( v170 == 0.0 )
  1689.             {
  1690.               v171 = 0LL;
  1691.             }
  1692.             else
  1693.             {
  1694.               v171 = gpGlobals;
  1695.               LOBYTE(v171) = v170 <= *((float *)gpGlobals + 4);
  1696.             }
  1697.             if ( v146 )
  1698.             {
  1699.               if ( v328.m128_i8[0] | (unsigned __int8)((v324 != v168) | (unsigned __int8)v171)
  1700.                 || (v171 = (void *)LOBYTE(v329), *(unsigned __int8 *)(v169 + v333 + 61) != LOBYTE(v329)) )
  1701.               {
  1702.                 if ( !LOBYTE(v329) && *(_BYTE *)(v169 + v333 + 61) )
  1703.                   *(_DWORD *)(v169 + v333 + 80) = *((_DWORD *)gpGlobals + 4);
  1704.                 if ( (unsigned __int8)C_CSGameRules::IsFreezePeriod(g_pGameRules) )
  1705.                 {
  1706.                   v172 = v350;
  1707.                   v173 = v333;
  1708.                   *(float *)(*((_QWORD *)v350 + 170) + v333 + 72) = *((float *)gpGlobals + 4) + 0.5;
  1709.                 }
  1710.                 else
  1711.                 {
  1712.                   v172 = v350;
  1713.                   v173 = v333;
  1714.                   *(_DWORD *)(*((_QWORD *)v350 + 170) + v333 + 72) = 0;
  1715.                 }
  1716.                 *(_QWORD *)&v333 = v173;
  1717.                 v174 = v172;
  1718.                 *(_BYTE *)(*((_QWORD *)v172 + 170) + v173 + 61) = LOBYTE(v329);
  1719.                 v175 = (*(__int64 (__fastcall **)(__int64))(*(_QWORD *)v108 + 1328LL))(v108);
  1720.                 v350 = v174;
  1721.                 *(_DWORD *)(*((_QWORD *)v174 + 170) + v333 + 68) = v175;
  1722.                 SFHudReticle::UpdatePlayerID(v174, (C_BaseEntity *)v108, v336.m128i_i32[0], 1);
  1723.               }
  1724.             }
  1725.             v176 = *((_QWORD *)v350 + 11);
  1726.             if ( v176 )
  1727.               (*(void (__fastcall **)(__int64, _QWORD, void *))(*(_QWORD *)v176 + 216LL))(
  1728.                 v176,
  1729.                 *((unsigned int *)v350 + 26),
  1730.                 v171);
  1731.             *(double *)v328.m128_u64 = v327;
  1732.             v177 = atan(512.0 / v327);
  1733.             v178 = 0.60000002;
  1734.             if ( v177 >= 0.6 )
  1735.               v178 = fminf(v177, 2.0);
  1736.             v325 = v178;
  1737.             v179 = *(double *)v328.m128_u64 / (v334.m128_f32[0] * -0.75) + 1.0;
  1738.             v180 = xmmword_C18104;
  1739.             if ( v179 >= 0.25 )
  1740.             {
  1741.               v180 = xmmword_C18234;
  1742.               if ( v179 <= 1.0 )
  1743.                 v180 = v179;
  1744.             }
  1745.             *(float *)v336.m128i_i32 = v180;
  1746.             v181 = (float)(-600.0 / (float)(signed int)ScreenHeight()) + 1.0;
  1747.             v182 = xmmword_C18104;
  1748.             if ( v181 >= 0.25 )
  1749.               v182 = fminf(v181, 1.0);
  1750.             v334.m128_f32[0] = v182;
  1751.             a6.m128i_i32[0] = v336.m128i_i32[0];
  1752.             if ( !(LOBYTE(v329) | (v327 >= 160.0)) )
  1753.               *(float *)a6.m128i_i32 = *(float *)v336.m128i_i32
  1754.                                      * fmax((*(double *)v328.m128_u64 + -56.0) * 0.01136363636363636, 0.25);
  1755.             a5 = (__m128)(unsigned int)v335;
  1756.             if ( (unsigned __int8)v346 | (*(float *)&v335 >= 0.75999999) )
  1757.             {
  1758.               v336.m128i_i32[0] = a6.m128i_i32[0];
  1759.             }
  1760.             else
  1761.             {
  1762.               *(double *)a6.m128i_i64 = *(float *)a6.m128i_i32
  1763.                                       * fmax((float)((float)(*(float *)&v335 + -0.60000002) * 6.25), 0.3);
  1764.               a5 = 0LL;
  1765.               a5.m128_f32[0] = *(double *)a6.m128i_i64;
  1766.               v336.m128i_i32[0] = a5.m128_i32[0];
  1767.             }
  1768.             LOBYTE(v335) = (*(__int64 (__fastcall **)(_QWORD *, signed __int64))(*input[0] + 264LL))(
  1769.                              input[0],
  1770.                              0xFFFFFFFFLL);
  1771.             v100 = *(__int64 **)(*((_QWORD *)v350 + 170) + v333 + 8);
  1772.             if ( v100
  1773.               && (*(unsigned int (__cdecl **)(_QWORD))(**((_QWORD **)v350 + 11) + 1376LL))(*((_QWORD *)v350 + 11)) == 10 )
  1774.             {
  1775.               v183 = v350;
  1776.               v184 = *((_QWORD *)v350 + 170);
  1777.               v185 = v333;
  1778.               if ( *(_QWORD *)(v184 + v333 + 16)
  1779.                 && *(_QWORD *)(v184 + v333 + 24)
  1780.                 && *(_QWORD *)(v184 + v333 + 32)
  1781.                 && *(_QWORD *)(v184 + v333 + 40)
  1782.                 && *(_QWORD *)(v184 + v333 + 48) )
  1783.               {
  1784.                 LODWORD(v186) = *(unsigned __int8 *)(v184 + v333 + 62);
  1785.                 if ( LOBYTE(v330) )
  1786.                 {
  1787.                   v187 = 0;
  1788.                   v188 = 0;
  1789.                 }
  1790.                 else
  1791.                 {
  1792.                   LODWORD(v330) = *(unsigned __int8 *)(v184 + v333 + 62);
  1793.                   v189 = v333;
  1794.                   if ( (*(unsigned __int8 (__fastcall **)(__int64))(*(_QWORD *)v108 + 3288LL))(v108) )
  1795.                   {
  1796.                     if ( (unsigned __int8)(LOBYTE(v332) ^ 1 | v331) != 1
  1797.                       || (v190 = SFHudReticle::ProcessInput(void)::sv_show_voip_indicator_for_enemies[2 * (signed int)GetGameUIActiveSplitScreenPlayerSlot() + 1],
  1798.                           (*(unsigned int (__fastcall **)(__int64))(*(_QWORD *)v190 + 128LL))(v190)) )
  1799.                     {
  1800.                       v191 = (void *)*((_QWORD *)&voice_icons_method + 7);
  1801.                       v192 = v191 == &voice_icons_method ? (unsigned __int64)&voice_icons_method ^ *((_DWORD *)&voice_icons_method + 22) : (*(unsigned int (__fastcall **)(_QWORD))(*(_QWORD *)v191 + 128LL))(*((_QWORD *)&voice_icons_method + 7));
  1802.                       v187 = v192 == 2;
  1803.                     }
  1804.                     else
  1805.                     {
  1806.                       v187 = 0;
  1807.                     }
  1808.                   }
  1809.                   else
  1810.                   {
  1811.                     v187 = 0;
  1812.                   }
  1813.                   v188 = *(_BYTE *)(v108 + 16748) != 0;
  1814.                   v183 = v350;
  1815.                   v185 = v189;
  1816.                   v186 = v330;
  1817.                 }
  1818.                 v193 = LODWORD(v186) | 2 * v187 | 4 * v188;
  1819.                 v194 = *((_QWORD *)v183 + 170);
  1820.                 if ( *(_DWORD *)(v194 + v185 + 56) != v193 )
  1821.                 {
  1822.                   v350 = v183;
  1823.                   v394 = 0;
  1824.                   v391 = 0;
  1825.                   v388 = 0;
  1826.                   v400 = 16;
  1827.                   v401 = !v188 && !v187;
  1828.                   v397 = 16;
  1829.                   v398 = !v188 && !v187;
  1830.                   if ( v187 )
  1831.                     v195 = 0;
  1832.                   else
  1833.                     v195 = !v188 && LOBYTE(v186) != 0;
  1834.                   v394 = 16;
  1835.                   v395 = v195;
  1836.                   v391 = 16;
  1837.                   v392 = v187;
  1838.                   v388 = 16;
  1839.                   v389 = !v187 && v188;
  1840.                   (*(void (__fastcall **)(_QWORD, _QWORD, char *))(**((_QWORD **)v350 + 11) + 1368LL))(
  1841.                     *((_QWORD *)v350 + 11),
  1842.                     *(_QWORD *)(v194 + v333 + 16),
  1843.                     &v399);
  1844.                   (*(void (__fastcall **)(_QWORD, _QWORD, char *))(**((_QWORD **)v350 + 11) + 1368LL))(
  1845.                     *((_QWORD *)v350 + 11),
  1846.                     *(_QWORD *)(*((_QWORD *)v350 + 170) + v333 + 24),
  1847.                     &v396);
  1848.                   (*(void (__fastcall **)(_QWORD, _QWORD, char *))(**((_QWORD **)v350 + 11) + 1368LL))(
  1849.                     *((_QWORD *)v350 + 11),
  1850.                     *(_QWORD *)(*((_QWORD *)v350 + 170) + v333 + 32),
  1851.                     &v393);
  1852.                   (*(void (__fastcall **)(_QWORD, _QWORD, char *))(**((_QWORD **)v350 + 11) + 1368LL))(
  1853.                     *((_QWORD *)v350 + 11),
  1854.                     *(_QWORD *)(*((_QWORD *)v350 + 170) + v333 + 40),
  1855.                     &v390);
  1856.                   (*(void (__fastcall **)(_QWORD, _QWORD, char *))(**((_QWORD **)v350 + 11) + 1368LL))(
  1857.                     *((_QWORD *)v350 + 11),
  1858.                     *(_QWORD *)(*((_QWORD *)v350 + 170) + v333 + 48),
  1859.                     &v387);
  1860.                   v183 = v350;
  1861.                   *(_DWORD *)(*((_QWORD *)v350 + 170) + v333 + 56) = v193;
  1862.                 }
  1863.               }
  1864.               v350 = v183;
  1865.               v196 = "ValveBiped.Bip01_Head";
  1866.               v197 = C_BaseAnimating::LookupBone((C_BaseAnimating *)v108, "ValveBiped.Bip01_Head");
  1867.               v198 = (__m128)LODWORD(v325);
  1868.               v198.m128_f32[0] = v325 * v334.m128_f32[0];
  1869.               v326 = v325 * v334.m128_f32[0];
  1870.               if ( v197 != -1
  1871.                 && (v199 = (*(__int64 (__fastcall **)(__int64, const char *))(*(_QWORD *)v108 + 384LL))(
  1872.                              v108,
  1873.                              "ValveBiped.Bip01_Head"),
  1874.                     v196 = (const char *)v197,
  1875.                     (unsigned __int8)CBoneAccessor::isBoneAvailableForRead((CBoneAccessor *)(v199 + 11368), v197)) )
  1876.               {
  1877.                 ((void (__fastcall *)(__int64, _QWORD, __int64 *, char *))C_BaseAnimating::GetBonePosition)(
  1878.                   v108,
  1879.                   v197,
  1880.                   &v385,
  1881.                   &v384);
  1882.               }
  1883.               else
  1884.               {
  1885.                 (*(void (__fastcall **)(__int64, const char *))(*(_QWORD *)v108 + 1728LL))(v108, v196);
  1886.                 v334 = v198;
  1887.                 v332 = *(float *)a6.m128i_i32;
  1888.                 v200 = (*(__int64 (__fastcall **)(__int64))(*(_QWORD *)v108 + 96LL))(v108);
  1889.                 v201 = (__m128i)_mm_sub_ps(v334, (__m128)_mm_loadl_epi64((const __m128i *)v200));
  1890.                 v202 = (float)(v332 - *(float *)(v200 + 8)) + 20.0;
  1891.                 LODWORD(v385) = v201.m128i_i32[0];
  1892.                 HIDWORD(v385) = (unsigned __int128)_mm_shuffle_epi32(v201, 1);
  1893.                 v386 = v202;
  1894.               }
  1895.               GetVectorInScreenSpace(&v383, &v382, 0LL);
  1896.               v381 = 1;
  1897.               v203 = 140.0;
  1898.               if ( !(_BYTE)v335 )
  1899.                 v203 = (float)(*(float *)v336.m128i_i32 * 140.0);
  1900.               v377 = v203;
  1901.               v375 = (double)v383;
  1902.               v376 = (double)v382;
  1903.               a5 = (__m128)0x4068000000000000uLL;
  1904.               *(float *)a6.m128i_i32 = v326;
  1905.               if ( !(_BYTE)v335 )
  1906.               {
  1907.                 *(float *)a6.m128i_i32 = v326 * 240.0;
  1908.                 a5 = 0LL;
  1909.                 *(double *)a5.m128_u64 = (float)(v326 * 240.0);
  1910.               }
  1911.               v378 = a5.m128_u64[0];
  1912.               v380 = 123;
  1913.               v379 = a5.m128_u64[0];
  1914.               v100 = *(__int64 **)(*((_QWORD *)v350 + 170) + v333 + 8);
  1915.               (*(void (__fastcall **)(_QWORD, __int64 *, double *))(**((_QWORD **)v350 + 11) + 1368LL))(
  1916.                 *((_QWORD *)v350 + 11),
  1917.                 v100,
  1918.                 &v375);
  1919.             }
  1920.             v204 = *((_QWORD *)v350 + 11);
  1921.             if ( v204 )
  1922.             {
  1923.               v100 = (__int64 *)*((unsigned int *)v350 + 26);
  1924.               (*(void (__fastcall **)(__int64, __int64 *))(*(_QWORD *)v204 + 224LL))(v204, v100);
  1925.             }
  1926.           }
  1927.         }
  1928.         goto LABEL_295;
  1929.       }
  1930.       (*(void (__cdecl **)(C_BasePlayer *))(*(_QWORD *)v348 + 1728LL))(v348);
  1931.       if ( (unsigned __int8)LineGoesThroughSmoke(1LL) )
  1932.       {
  1933.         if ( (*(unsigned int (__cdecl **)(void *))(sv_teamid_overhead_always_prohibit + 128LL))(&sv_teamid_overhead_always_prohibit) )
  1934.           goto LABEL_295;
  1935.         if ( !*((_BYTE *)v350 + 1356) )
  1936.         {
  1937.           v134 = (_UNKNOWN *)qword_199B1A8 == &cl_teamid_overhead_always ? (unsigned __int64)&cl_teamid_overhead_always ^ dword_199B1C8 : (*(unsigned int (__cdecl **)(__int64))(*(_QWORD *)qword_199B1A8 + 128LL))(qword_199B1A8);
  1938.           if ( v134 <= 0 )
  1939.             goto LABEL_295;
  1940.         }
  1941.         v100 = (__int64 *)v108;
  1942.         v140 = C_CSPlayer::IsOtherEnemy(v348, (C_CSPlayer *)v108);
  1943.         LOBYTE(v141) = 1;
  1944.         v330 = v141;
  1945.         a5 = (__m128)v334.m128_u32[0];
  1946.         if ( v140 )
  1947.           goto LABEL_295;
  1948.       }
  1949.       else
  1950.       {
  1951.         v330 = 0.0;
  1952.         a5 = (__m128)v334.m128_u32[0];
  1953.       }
  1954.       v334.m128_i32[0] = a5.m128_i32[0];
  1955.       v135 = v348;
  1956.       (*(void (__cdecl **)(C_BasePlayer *))(*(_QWORD *)v348 + 1728LL))(v348);
  1957.       v447 = *(float *)&v333 - a5.m128_f32[0];
  1958.       LODWORD(v136) = (unsigned __int128)_mm_shuffle_epi32((__m128i)a5, 1);
  1959.       v448 = v328.m128_f32[0] - v136;
  1960.       v449 = *(float *)v336.m128i_i32 - *(float *)a6.m128i_i32;
  1961.       v458 = (float)((float)(v449 * v449) + (float)((float)(v448 * v448) + (float)(v447 * v447))) != 0.0;
  1962.       v455 = 0;
  1963.       v454 = 0;
  1964.       v453 = 0;
  1965.       v456 = 0LL;
  1966.       v457 = 1;
  1967.       v452 = 0;
  1968.       v451 = 0;
  1969.       v450 = 0;
  1970.       v444 = a5.m128_i32[0];
  1971.       v445 = v136;
  1972.       v446 = a6.m128i_i32[0];
  1973.       CTraceFilterSimple::CTraceFilterSimple(&v443, v135, 1LL, 0LL);
  1974.       (*(void (__fastcall **)(__int64, int *, signed __int64, char *, char *))(*(_QWORD *)enginetrace + 40LL))(
  1975.         enginetrace,
  1976.         &v444,
  1977.         24705LL,
  1978.         &v443,
  1979.         &v407);
  1980.       if ( (*(unsigned int (__cdecl **)(void *))(r_visualizetraces + 128LL))(&r_visualizetraces) )
  1981.       {
  1982.         a5 = (__m128)dword_C18710[(*(unsigned int (__cdecl **)(void *))(r_visualizetraces + 128LL))(&r_visualizetraces) != 0];
  1983.         DebugDrawLine(&v407, &v408, 255LL, 0LL, 0LL, 1LL);
  1984.       }
  1985.       CTraceFilterSkipTwoEntities::CTraceFilterSkipTwoEntities(&v406, v135, 0LL, 1LL);
  1986.       (*(void (__fastcall **)(C_BasePlayer *, C_BasePlayer *))(*(_QWORD *)v135 + 1728LL))(v135, v135);
  1987.       _mm_storel_ps((double *)&v404, a5);
  1988.       v405 = a6.m128i_i32[0];
  1989.       v137 = (__m128)LODWORD(v413);
  1990.       v137.m128_f32[0] = (float)(v413 * 40.0) + *(float *)&v333;
  1991.       v138 = v328;
  1992.       v138.m128_f32[0] = v328.m128_f32[0] + (float)(v414 * 40.0);
  1993.       *(float *)a6.m128i_i32 = *(float *)v336.m128i_i32 + (float)(v415 * 40.0);
  1994.       _mm_storel_ps((double *)&v402, _mm_unpacklo_ps(v137, v138));
  1995.       v403 = a6.m128i_i32[0];
  1996.       v100 = &v402;
  1997.       UTIL_ClipTraceToPlayers(&v404, &v402, 24705LL, &v406, &v407);
  1998.       a5 = (__m128)v334.m128_u32[0];
  1999.       if ( v409 >= 1.0 )
  2000.         goto LABEL_207;
  2001.       if ( !(*(unsigned int (__fastcall **)(void *, __int64 *))(sv_teamid_overhead_always_prohibit + 128LL))(
  2002.               &sv_teamid_overhead_always_prohibit,
  2003.               &v402) )
  2004.       {
  2005.         if ( *((_BYTE *)v350 + 1356)
  2006.           || ((_UNKNOWN *)qword_199B1A8 == &cl_teamid_overhead_always ? (v139 = (unsigned __int64)&cl_teamid_overhead_always ^ dword_199B1C8) : (v139 = (*(__int64 (__cdecl **)(__int64))(*(_QWORD *)qword_199B1A8 + 128LL))(qword_199B1A8)),
  2007.               v139 > 0) )
  2008.         {
  2009.           v100 = (__int64 *)v108;
  2010.           v142 = C_CSPlayer::IsOtherEnemy(v348, (C_CSPlayer *)v108);
  2011.           LOBYTE(v143) = 1;
  2012.           v330 = v143;
  2013.           a5 = (__m128)v334.m128_u32[0];
  2014.           if ( !v142 )
  2015.             goto LABEL_207;
  2016.         }
  2017.       }
  2018. LABEL_295:
  2019.       v206 = __OFSUB__((_DWORD)a4, *((_DWORD *)gpGlobals + 6));
  2020.       v205 = (signed int)a4 - *((_DWORD *)gpGlobals + 6) < 0;
  2021.       LODWORD(a4) = (_DWORD)a4 + 1;
  2022.     }
  2023.     while ( v205 ^ v206 );
  2024.   }
  2025.   (*(void (__fastcall **)(unsigned __int64))(*(_QWORD *)v347 + 264LL))(v347);
  2026.   v207 = v350;
  2027.   v208 = *((_DWORD *)v350 + 344);
  2028.   if ( v208 > 0 )
  2029.   {
  2030.     LODWORD(a4) = 0;
  2031.     v209 = 8LL;
  2032.     do
  2033.     {
  2034.       v210 = *((_QWORD *)v207 + 170);
  2035.       if ( !*(_BYTE *)(v210 + v209 + 52) )
  2036.       {
  2037.         v100 = *(__int64 **)(v210 + v209);
  2038.         v211 = (signed int *)v207;
  2039.         (*(void (__fastcall **)(_QWORD, __int64 *, _QWORD))(**((_QWORD **)v207 + 11) + 1352LL))(
  2040.           *((_QWORD *)v207 + 11),
  2041.           v100,
  2042.           0LL);
  2043.         v208 = v211[344];
  2044.         v207 = (SFHudReticle *)v211;
  2045.       }
  2046.       v209 += 88LL;
  2047.       LODWORD(a4) = (_DWORD)a4 + 1;
  2048.     }
  2049.     while ( (signed int)a4 < v208 );
  2050.   }
  2051.   v212 = (__int64)v207;
  2052.   if ( (*(unsigned int (__cdecl **)(void *))(sv_show_team_equipment_prohibit + 128LL))(&sv_show_team_equipment_prohibit)
  2053.     || !*(_BYTE *)(v212 + 1356)
  2054.     && ((_UNKNOWN *)qword_199B1A8 == &cl_teamid_overhead_always ? (v214 = dword_199B1C8 ^ (unsigned __int64)&cl_teamid_overhead_always) : (v214 = (*(__int64 (__cdecl **)(__int64))(*(_QWORD *)qword_199B1A8 + 128LL))(qword_199B1A8)),
  2055.         v214 != 2) )
  2056.   {
  2057.     if ( *(_DWORD *)(v212 + 1376) > 0 )
  2058.     {
  2059.       v215 = 0;
  2060.       a4 = 0LL;
  2061.       do
  2062.       {
  2063.         if ( (_UNKNOWN *)qword_199B088 == &cl_teamid_overhead_name_fadetime )
  2064.         {
  2065.           a6.m128i_i32[0] = (unsigned __int128)_mm_cvtsi32_si128((unsigned int)&cl_teamid_overhead_name_fadetime ^ dword_199B0A4);
  2066.         }
  2067.         else
  2068.         {
  2069.           (*(void (__cdecl **)(__int64))(*(_QWORD *)qword_199B088 + 120LL))(qword_199B088);
  2070.           a6.m128i_i32[0] = a5.m128_i32[0];
  2071.         }
  2072.         v216 = *(_QWORD *)(v212 + 1360);
  2073.         a5 = (__m128)*(unsigned int *)((char *)a4 + v216 + 80);
  2074.         a5.m128_f32[0] = a5.m128_f32[0] + *(float *)a6.m128i_i32;
  2075.         if ( (_UNKNOWN *)qword_199AFF8 == &cl_teamid_overhead_name_alpha )
  2076.         {
  2077.           v351 = a5.m128_u32[0];
  2078.           v219 = (unsigned __int64)&cl_teamid_overhead_name_alpha ^ dword_199B018;
  2079.         }
  2080.         else
  2081.         {
  2082.           v351 = a5.m128_u32[0];
  2083.           v217 = *(__int64 (__fastcall **)(__int64, __int64 *, __int64, void *))(*(_QWORD *)qword_199AFF8 + 128LL);
  2084.           LODWORD(v352) = a6.m128i_i32[0];
  2085.           v218 = v217(qword_199AFF8, v100, v213, &cl_teamid_overhead_name_alpha);
  2086.           a6.m128i_i32[0] = (signed int)v352;
  2087.           v219 = v218;
  2088.           v216 = *(_QWORD *)(v212 + 1360);
  2089.         }
  2090.         if ( *((_BYTE *)a4 + v216 + 60) )
  2091.         {
  2092.           if ( !*((_BYTE *)a4 + v216 + 61) )
  2093.           {
  2094.             a5 = 0LL;
  2095.             if ( *(float *)((char *)a4 + v216 + 84) > 0.0 )
  2096.             {
  2097.               a5 = (__m128)v351;
  2098.               a5.m128_f32[0] = *(float *)&v351 - *((float *)gpGlobals + 4);
  2099.               *(float *)&v351 = *(float *)&v351 - *((float *)gpGlobals + 4);
  2100.               v220 = *(_QWORD *)(v212 + 88);
  2101.               v221 = *(__int64 (__fastcall **)(__int64, __int64, const char *))(*(_QWORD *)v220 + 1232LL);
  2102.               v222 = *(_QWORD *)((char *)a4 + v216 + 8);
  2103.               LODWORD(v352) = a6.m128i_i32[0];
  2104.               v347 = v221(v220, v222, "IDClip");
  2105.               v100 = *(__int64 **)((char *)a4 + *(_QWORD *)(v212 + 1360) + 8);
  2106.               *(_QWORD *)&v346 = (*(__int64 (__fastcall **)(_QWORD, __int64 *, const char *))(**(_QWORD **)(v212 + 88)
  2107.                                                                                             + 1232LL))(
  2108.                                    *(_QWORD *)(v212 + 88),
  2109.                                    v100,
  2110.                                    "IDTextBG");
  2111.               if ( v347 )
  2112.               {
  2113.                 if ( (_QWORD)v346 )
  2114.                 {
  2115.                   v100 = (__int64 *)v347;
  2116.                   v223 = (*(__int64 (__fastcall **)(_QWORD, unsigned __int64, const char *))(**(_QWORD **)(v212 + 88)
  2117.                                                                                            + 1232LL))(
  2118.                            *(_QWORD *)(v212 + 88),
  2119.                            v347,
  2120.                            "IDTextMovie");
  2121.                   a5 = (__m128)(unsigned int)v352;
  2122.                   if ( v223 )
  2123.                   {
  2124.                     *(float *)a6.m128i_i32 = *(float *)&v351 / *(float *)&v352;
  2125.                     v224 = (signed int)(float)((float)v219 * (float)(*(float *)&v351 / *(float *)&v352));
  2126.                     v373 = 8;
  2127.                     v372 = (double)v224;
  2128.                     v369 = 8;
  2129.                     v368 = (double)(v224 / 7);
  2130.                     if ( v224 <= 0 || *(float *)a6.m128i_i32 <= 0.0 )
  2131.                     {
  2132.                       v373 = 24;
  2133.                       v374 = 0;
  2134.                       v369 = 24;
  2135.                       v370 = 0;
  2136.                       v224 = 0;
  2137.                     }
  2138.                     a5 = 0LL;
  2139.                     if ( v224 >= 0 )
  2140.                     {
  2141.                       a5 = 0LL;
  2142.                       a5.m128_f32[0] = (float)v224;
  2143.                     }
  2144.                     *(_DWORD *)((char *)a4 + *(_QWORD *)(v212 + 1360) + 84) = a5.m128_i32[0];
  2145.                     v225 = v223;
  2146.                     (*(void (__fastcall **)(_QWORD, __int64, char *))(**(_QWORD **)(v212 + 88) + 1368LL))(
  2147.                       *(_QWORD *)(v212 + 88),
  2148.                       v223,
  2149.                       &v371);
  2150.                     v226 = (__int64 *)v225;
  2151.                     v227 = *(_QWORD *)(v212 + 88);
  2152.                     v228 = v212;
  2153.                     v229 = v226;
  2154.                     (*(void (__fastcall **)(__int64, _QWORD, char *))(*(_QWORD *)v227 + 1368LL))(v227, v346, &v367);
  2155.                     v100 = v229;
  2156.                     v212 = v228;
  2157.                     v230 = *(_QWORD *)(v228 + 88);
  2158.                     if ( !v230 )
  2159.                       goto LABEL_331;
  2160.                     (*(void (__fastcall **)(__int64, __int64 *))(*(_QWORD *)v230 + 1056LL))(v230, v100);
  2161.                   }
  2162.                   v231 = *(_QWORD *)(v212 + 88);
  2163.                   if ( v231 )
  2164.                   {
  2165.                     v100 = (__int64 *)v347;
  2166.                     (*(void (__fastcall **)(__int64, unsigned __int64))(*(_QWORD *)v231 + 1056LL))(v231, v347);
  2167.                     v232 = *(_QWORD *)(v212 + 88);
  2168.                     if ( v232 )
  2169.                     {
  2170.                       v100 = (__int64 *)v346;
  2171.                       (*(void (__fastcall **)(__int64, _QWORD))(*(_QWORD *)v232 + 1056LL))(v232, v346);
  2172.                     }
  2173.                   }
  2174.                 }
  2175.               }
  2176.             }
  2177.           }
  2178.         }
  2179. LABEL_331:
  2180.         a4 = (C_CSPlayer *)((char *)a4 + 88);
  2181.         ++v215;
  2182.       }
  2183.       while ( v215 < *(_DWORD *)(v212 + 1376) );
  2184.     }
  2185.   }
  2186.   v233 = (void *)*((_QWORD *)&cl_crosshairstyle + 7);
  2187.   if ( v233 == &cl_crosshairstyle )
  2188.     v234 = (unsigned __int64)&cl_crosshairstyle ^ *((_DWORD *)&cl_crosshairstyle + 22);
  2189.   else
  2190.     v234 = (*(__int64 (__cdecl **)(void *))(*(_QWORD *)v233 + 128LL))(v233);
  2191.   v206 = __OFSUB__(v234, 1);
  2192.   v19 = v234 == 1;
  2193.   v205 = v234 - 1 < 0;
  2194.   v235 = v349;
  2195.   if ( !((unsigned __int8)(v205 ^ v206) | v19) )
  2196.     v235 = 0;
  2197.   if ( (_BYTE)v341 && (v472 || (_BYTE)v340) )
  2198.   {
  2199.     v349 = v235;
  2200.     a4 = (C_CSPlayer *)(v212 + 112);
  2201.     v236 = v212;
  2202.     if ( (unsigned int)_V_wcscmp(&v472, (const wchar_t *)(v212 + 112)) )
  2203.     {
  2204.       (*(void (__fastcall **)(_QWORD, _QWORD))(**(_QWORD **)(v212 + 88) + 216LL))(
  2205.         *(_QWORD *)(v212 + 88),
  2206.         *(unsigned int *)(v212 + 104));
  2207.       v237 = *(_QWORD *)(v212 + 88);
  2208.       v238 = *(void (__fastcall **)(__int64, __int64, __int64))(*(_QWORD *)v237 + 1040LL);
  2209.       v239 = *(_QWORD *)(v236 + 1320);
  2210.       v240 = (*(__int64 (__fastcall **)(_QWORD, wchar_t *, _QWORD, _QWORD))(*(_QWORD *)v237 + 688LL))(
  2211.                *(_QWORD *)(v236 + 88),
  2212.                &v472,
  2213.                0LL,
  2214.                0LL);
  2215.       v238(v237, v239, v240);
  2216.       a3 = 1;
  2217.       V_wcsncpy((wchar_t *)a4, &v472, 1024);
  2218.     }
  2219.     else
  2220.     {
  2221.       a3 = 0;
  2222.     }
  2223.     v212 = v236;
  2224.     v100 = *(__int64 **)(v236 + 1288);
  2225.     if ( v100 )
  2226.     {
  2227.       v242 = v339 & 1;
  2228.       LODWORD(a4) = v339 & 1;
  2229.       if ( (_DWORD)a4 != *(unsigned __int8 *)(v236 + 1353) )
  2230.       {
  2231.         if ( !a3 )
  2232.         {
  2233.           v243 = *(_QWORD *)(v236 + 88);
  2234.           if ( v243 )
  2235.           {
  2236.             (*(void (__fastcall **)(__int64, _QWORD))(*(_QWORD *)v243 + 216LL))(v243, *(unsigned int *)(v236 + 104));
  2237.             v100 = *(__int64 **)(v236 + 1288);
  2238.           }
  2239.         }
  2240.         (*(void (__fastcall **)(_QWORD, __int64 *, _QWORD))(**(_QWORD **)(v236 + 88) + 1352LL))(
  2241.           *(_QWORD *)(v236 + 88),
  2242.           v100,
  2243.           (unsigned int)a4);
  2244.         *(_BYTE *)(v236 + 1353) = v242;
  2245.         a3 = 1;
  2246.       }
  2247.     }
  2248.     a5 = (__m128)*((unsigned int *)gpGlobals + 4);
  2249.     a5.m128_f32[0] = a5.m128_f32[0] + 0.25;
  2250.     *(_DWORD *)(v236 + 1340) = a5.m128_i32[0];
  2251.     if ( !*(_BYTE *)(v236 + 1352) )
  2252.     {
  2253.       if ( (_BYTE)v338
  2254.         || ((a4 = (C_CSPlayer *)&cl_teamid_overhead,
  2255.              v244 = (void *)*((_QWORD *)&cl_teamid_overhead + 7),
  2256.              v244 == &cl_teamid_overhead) ? (v245 = (unsigned __int64)&cl_teamid_overhead ^ *((_DWORD *)&cl_teamid_overhead
  2257.                                                                                             + 22)) : (v245 = (*(__int64 (__cdecl **)(void *))(*(_QWORD *)v244 + 128LL))(v244)),
  2258.             !v245
  2259.          || ((v246 = (void *)*((_QWORD *)&cl_teamid_overhead + 7), v246 == &cl_teamid_overhead) ? (v247 = (unsigned __int64)&cl_teamid_overhead ^ *((_DWORD *)&cl_teamid_overhead + 22)) : (v247 = (*(__int64 (__cdecl **)(void *))(*(_QWORD *)v246 + 128LL))(v246)),
  2260.              !(v339 & 1 | (v247 <= 0)) || (_BYTE)v337)) )
  2261.       {
  2262.         if ( !a3 )
  2263.         {
  2264.           v251 = *(_QWORD *)(v236 + 88);
  2265.           if ( v251 )
  2266.             (*(void (__fastcall **)(__int64, _QWORD))(*(_QWORD *)v251 + 216LL))(v251, *(unsigned int *)(v236 + 104));
  2267.         }
  2268.         v100 = *(__int64 **)(v236 + 1312);
  2269.         (*(void (__fastcall **)(_QWORD, __int64 *, const char *, _QWORD, _QWORD))(**(_QWORD **)(v236 + 88) + 1320LL))(
  2270.           *(_QWORD *)(v236 + 88),
  2271.           v100,
  2272.           "Show",
  2273.           0LL,
  2274.           0LL);
  2275.         *(_BYTE *)(v236 + 1352) = 1;
  2276.         goto LABEL_377;
  2277.       }
  2278.     }
  2279.   }
  2280.   else
  2281.   {
  2282.     v349 = v235;
  2283.     if ( *(_BYTE *)(v212 + 1353) )
  2284.     {
  2285.       (*(void (__fastcall **)(_QWORD, _QWORD))(**(_QWORD **)(v212 + 88) + 216LL))(
  2286.         *(_QWORD *)(v212 + 88),
  2287.         *(unsigned int *)(v212 + 104));
  2288.       v100 = *(__int64 **)(v212 + 1288);
  2289.       (*(void (__fastcall **)(_QWORD, __int64 *, _QWORD))(**(_QWORD **)(v212 + 88) + 1352LL))(
  2290.         *(_QWORD *)(v212 + 88),
  2291.         v100,
  2292.         0LL);
  2293.       *(_BYTE *)(v212 + 1353) = 0;
  2294.       a3 = 1;
  2295.     }
  2296.     else
  2297.     {
  2298.       a3 = 0;
  2299.     }
  2300.     if ( *(_BYTE *)(v212 + 1352) )
  2301.     {
  2302.       a5 = (__m128)*((unsigned int *)gpGlobals + 4);
  2303.       if ( a5.m128_f32[0] >= *(float *)(v212 + 1340) )
  2304.       {
  2305.         if ( !a3 )
  2306.         {
  2307.           v241 = *(_QWORD *)(v212 + 88);
  2308.           if ( v241 )
  2309.             (*(void (__fastcall **)(__int64, _QWORD))(*(_QWORD *)v241 + 216LL))(v241, *(unsigned int *)(v212 + 104));
  2310.         }
  2311.         v100 = *(__int64 **)(v212 + 1312);
  2312.         (*(void (__fastcall **)(_QWORD, __int64 *, const char *, _QWORD, _QWORD))(**(_QWORD **)(v212 + 88) + 1320LL))(
  2313.           *(_QWORD *)(v212 + 88),
  2314.           v100,
  2315.           "Hide",
  2316.           0LL,
  2317.           0LL);
  2318.         *(_BYTE *)(v212 + 1352) = 0;
  2319. LABEL_377:
  2320.         a3 = 1;
  2321.         goto LABEL_378;
  2322.       }
  2323.     }
  2324.   }
  2325. LABEL_378:
  2326.   v252 = v342 & 1;
  2327.   if ( (v342 & 1) != *(_BYTE *)(v212 + 1354) )
  2328.   {
  2329.     *(_BYTE *)(v212 + 1354) = v252;
  2330.     if ( v252 )
  2331.     {
  2332.       a5 = (__m128)0x42C60000u;
  2333.       LODWORD(v352) = 1120272384;
  2334.     }
  2335.     else
  2336.     {
  2337.       CGameUIConVarRef::CGameUIConVarRef((CGameUIConVarRef *)&v365, "cl_crosshaircolor");
  2338.       v253 = GetGameUIActiveSplitScreenPlayerSlot();
  2339.       (*(void (__fastcall **)(__int64, const char *))(*(_QWORD *)v366[2 * v253] + 120LL))(
  2340.         v366[2 * v253],
  2341.         "cl_crosshaircolor");
  2342.       LODWORD(v352) = a5.m128_i32[0];
  2343.     }
  2344.     v459 = 0LL;
  2345.     LODWORD(v460) = 0;
  2346.     BYTE4(v460) = 0;
  2347.     v461 = v212;
  2348.     (*(void (__fastcall **)(_QWORD, _QWORD))(**(_QWORD **)(v212 + 88) + 216LL))(
  2349.       *(_QWORD *)(v212 + 88),
  2350.       *(unsigned int *)(v212 + 104));
  2351.     (*(void (__fastcall **)(_QWORD, __int64 *, signed __int64))(**(_QWORD **)(v461 + 88) + 1064LL))(
  2352.       *(_QWORD *)(v461 + 88),
  2353.       &v459,
  2354.       1LL);
  2355.     if ( !BYTE4(v460) )
  2356.     {
  2357.       v254 = *(_QWORD *)(v212 + 88);
  2358.       v255 = *(void (__fastcall **)(__int64, __int64 *, _QWORD))(*(_QWORD *)v254 + 1160LL);
  2359.       v364 = v460;
  2360.       v363 = v459;
  2361.       a5 = (__m128)(unsigned int)v352;
  2362.       v255(v254, &v363, 0LL);
  2363.       (*(void (__fastcall **)(__int64, _QWORD, const char *, __int64 *, signed __int64))(*(_QWORD *)g_pScaleformUI
  2364.                                                                                        + 1336LL))(
  2365.         g_pScaleformUI,
  2366.         *(_QWORD *)(v212 + 96),
  2367.         "onUpdateColor",
  2368.         &v459,
  2369.         1LL);
  2370.       BYTE4(v460) = 1;
  2371.     }
  2372.     v100 = &v459;
  2373.     (*(void (__fastcall **)(_QWORD, __int64 *))(**(_QWORD **)(v461 + 88) + 1080LL))(*(_QWORD *)(v461 + 88), &v459);
  2374.     v256 = *(_QWORD *)(v461 + 88);
  2375.     if ( v256 )
  2376.     {
  2377.       v100 = (__int64 *)*(unsigned int *)(v461 + 104);
  2378.       (*(void (__fastcall **)(__int64, __int64 *))(*(_QWORD *)v256 + 224LL))(v256, v100);
  2379.     }
  2380.   }
  2381.   v257 = *(_DWORD *)(v212 + 1336);
  2382.   v258 = v349;
  2383.   if ( v349 == v257 )
  2384.   {
  2385.     a2 = (float *)v212;
  2386.     goto LABEL_404;
  2387.   }
  2388.   LODWORD(a4) = v349;
  2389.   if ( !a3 )
  2390.   {
  2391.     v259 = *(_QWORD *)(v212 + 88);
  2392.     if ( v259 )
  2393.     {
  2394.       v100 = (__int64 *)*(unsigned int *)(v212 + 104);
  2395.       (*(void (__fastcall **)(__int64, __int64 *))(*(_QWORD *)v259 + 216LL))(v259, v100);
  2396.       v257 = *(_DWORD *)(v212 + 1336);
  2397.     }
  2398.   }
  2399.   if ( v257 == 2 )
  2400.   {
  2401.     v260 = (__int64 **)(v212 + 1216);
  2402.     a2 = (float *)v212;
  2403.   }
  2404.   else
  2405.   {
  2406.     a2 = (float *)v212;
  2407.     if ( v257 != 1 )
  2408.       goto LABEL_397;
  2409.     v260 = (__int64 **)(v212 + 1208);
  2410.   }
  2411.   v100 = *v260;
  2412.   if ( *v260 )
  2413.     (*(void (__fastcall **)(_QWORD, __int64 *, _QWORD))(**((_QWORD **)a2 + 11) + 1352LL))(
  2414.       *((_QWORD *)a2 + 11),
  2415.       v100,
  2416.       0LL);
  2417. LABEL_397:
  2418.   if ( (_DWORD)a4 == 2 )
  2419.   {
  2420.     v261 = 2;
  2421.     v262 = (__int64 **)(a2 + 304);
  2422.     goto LABEL_401;
  2423.   }
  2424.   v261 = (signed int)a4;
  2425.   if ( (_DWORD)a4 == 1 )
  2426.   {
  2427.     v262 = (__int64 **)(a2 + 302);
  2428. LABEL_401:
  2429.     v100 = *v262;
  2430.     if ( *v262 )
  2431.       (*(void (__fastcall **)(_QWORD, __int64 *, signed __int64))(**((_QWORD **)a2 + 11) + 1352LL))(
  2432.         *((_QWORD *)a2 + 11),
  2433.         v100,
  2434.         1LL);
  2435.   }
  2436.   v258 = v261;
  2437.   *((_DWORD *)a2 + 334) = v261;
  2438.   a3 = 1;
  2439. LABEL_404:
  2440.   if ( v258 != 1 )
  2441.     goto LABEL_417;
  2442.   LODWORD(a4) = 0;
  2443.   if ( !(*(unsigned __int8 (__cdecl **)(__int64))(*(_QWORD *)inputsystem + 176LL))(inputsystem)
  2444.     || !C_BasePlayer::GetLocalPlayer((C_BasePlayer *)0xFFFFFFFFLL, (int)v100) )
  2445.   {
  2446.     v265 = 0;
  2447.     goto LABEL_410;
  2448.   }
  2449.   v263 = C_BasePlayer::GetLocalPlayer((C_BasePlayer *)0xFFFFFFFFLL, (int)v100);
  2450.   v19 = (*(unsigned int (__fastcall **)(__int64))(*(_QWORD *)v263 + 2784LL))(v263) == 0;
  2451.   result = (__int64)&cl_crosshairstyle;
  2452.   if ( v19 )
  2453.     goto LABEL_422;
  2454.   v265 = 0;
  2455.   while ( 1 )
  2456.   {
  2457.     v266 = *(_QWORD *)(result + 56);
  2458.     if ( v266 == result )
  2459.       v267 = result ^ *(_DWORD *)(result + 88);
  2460.     else
  2461.       v267 = (*(__int64 (__cdecl **)(__int64))(*(_QWORD *)v266 + 128LL))(v266);
  2462.     v268 = ScreenWidth();
  2463.     a5 = 0LL;
  2464.     if ( v267 != 1 )
  2465.       a5 = (__m128)v344;
  2466.     *(float *)a6.m128i_i32 = (float)((float)v268 * a5.m128_f32[0]) * 0.0024999999;
  2467.     SFHudReticle::SetReticlePosition((SFHudReticle *)a2, v345, v343, (int)a4, v265, (signed int)*(float *)a6.m128i_i32);
  2468. LABEL_417:
  2469.     if ( a3 )
  2470.     {
  2471.       v269 = *((_QWORD *)a2 + 11);
  2472.       if ( v269 )
  2473.         (*(void (__fastcall **)(__int64, _QWORD))(*(_QWORD *)v269 + 224LL))(v269, *((unsigned int *)a2 + 26));
  2474.     }
  2475. LABEL_420:
  2476.     CGameUiSetActiveSplitScreenPlayerGuard::~CGameUiSetActiveSplitScreenPlayerGuard((CGameUiSetActiveSplitScreenPlayerGuard *)&v426);
  2477. LABEL_421:
  2478.     result = __stack_chk_guard;
  2479.     if ( __stack_chk_guard == v473 )
  2480.       break;
  2481. LABEL_422:
  2482.     v270 = result;
  2483.     v19 = (*(unsigned int (__fastcall **)(__int64 *))(lockMoveControllerRet + 128))(&lockMoveControllerRet) == 0;
  2484.     v265 = 0;
  2485.     result = v270;
  2486.     if ( v19 )
  2487.     {
  2488.       if ( (*(unsigned int (__fastcall **)(__int64 *))(mc_use_recoil_on_cursor + 128))(&mc_use_recoil_on_cursor) )
  2489.       {
  2490.         C_BasePlayer::GetFinalAimAngle(v348);
  2491.         _mm_storel_ps((double *)&v358, a5);
  2492.         v359 = a6.m128i_i32[0];
  2493.         AngleVectors(&v358, &v360);
  2494.       }
  2495.       else
  2496.       {
  2497.         v274 = (int *)C_BasePlayer::GetAimDirection(v348);
  2498.         v360 = *(float *)v274;
  2499.         v361 = *((float *)v274 + 1);
  2500.         v362 = *((float *)v274 + 2);
  2501.       }
  2502.       v275 = (float *)CurrentViewOrigin();
  2503.       v353 = *v275 + v360;
  2504.       v354 = v275[1] + v361;
  2505.       v355 = v275[2] + v362;
  2506.       ScreenTransform(&v353, &v356);
  2507.       LODWORD(v352) = v356;
  2508.       v276 = ScreenWidth();
  2509.       v351 = v357;
  2510.       v277 = ScreenHeight();
  2511.       LODWORD(a4) = (signed int)(float)((float)((float)(*(float *)&v352 * 0.5) * (float)v276) + 0.5);
  2512.       v265 = (signed int)(float)((float)((float)v277 * (float)(*(float *)&v351 * -0.5)) + 0.5);
  2513. LABEL_410:
  2514.       result = (__int64)&cl_crosshairstyle;
  2515.     }
  2516.   }
  2517.   return result;
  2518. }
Advertisement
Add Comment
Please, Sign In to add comment