Welcome!

Join our community of MMO enthusiasts and game developers! By registering, you'll gain access to discussions on the latest developments in MMO server files and collaborate with like-minded individuals. Join us today and unlock the potential of MMO server development!

Join Today!

Arieth_S6.dll Unpack + IDA Pseudocode decompiled

Joined
Oct 29, 2007
Messages
1,289
Reaction score
1,308
Well with the help of: PE Explorer 1.99 R6, I could unpack: Arieth_S6.dll (which was packed with: UPX 3.0.4) to decompile it using: Hex Rays IDA Pro + Hex Rays now for those who believe that this is useful to them, here I leave the version of main.exe for which this dll is functional it is: 1.08.29 (Korean protocol) -> Season 6.2

Here I leave all: Arieth_S6.dll (Packed) + Arieth_S6-Unpacked.dll + IDA Pseudocode (C file)

Link (MEGA)



Mirror (Mediafire):



PS: My idea is that together we can do something good for this and well I think it goes without saying, that I personally what most interests me is the part of the effects applied on the wings, but please don't forget guys, there's more of an interesting thing in this library.

PS 2: The reason for creating this thread, is simple really.. as many of you know I am a NEWBIE, and really if I have to be honest I don't have sufficient knowledge in order to understand myself everything sobieh wrote in this library, well after all is a lot code, so here hopefully by a once someone in the community wants to collaborate, so that all have something good and not just a few.

Sorry for my bad English :):
 
Joined
Oct 29, 2007
Messages
1,289
Reaction score
1,308
No... your idea is "plase someone can made custom things for me, after that i will talk about "i am the best developer on south america"...."

YES!! we know u are a Newbie and Leecher

Jajaja, siempre tan elocuente.

PD: Ahhh.. che y como hiciste al final, para frenar el dup en: MuLegend? jajaja xD Noob
----------------------------------------------------
Hahaha, you always so eloquent.
 
Last edited:
NN - Nord & Noob
Loyal Member
Joined
Jul 15, 2004
Messages
1,207
Reaction score
689
Sobieth did a poop work.. ugly code. Him got famous cuz was first who started client moding... same story with fenix. I saw part of sobieth work and code is Ducking ugly :D and crap..
 
Joined
Oct 29, 2007
Messages
1,289
Reaction score
1,308
you have ID for Wings AriethMu?

yeah, id of arieth wings: (type: 12 indexs: 240 to 246) i need, but you too need: ItemOffset in array of: 1.08.29 KOR main.exe

this is for me, 1 function of effects apply on items:

Code:
void __usercall sub_F580(int a1<edi>, int a2, int a3)
{
  int v3; // ebp@0
  float v4; // ST1C_4@4
  float v5; // ST1C_4@4
  float v6; // ST1C_4@6
  float v7; // ST1C_4@6
  float v8; // ST1C_4@12
  float v9; // ST1C_4@14
  float v10; // ST28_4@16
  float v11; // ST1C_4@16
  float v12; // ST1C_4@16
  float v13; // ST1C_4@18
  float v14; // ST1C_4@20
  float v15; // ST1C_4@20
  float v16; // ST1C_4@20
  float v17; // ST1C_4@20
  float v18; // ST28_4@20
  float v19; // ST1C_4@20
  float v20; // ST1C_4@22
  float v21; // ST1C_4@22
  float v22; // ST1C_4@22
  float v23; // ST1C_4@22
  float v24; // ST1C_4@22
  float v25; // ST1C_4@24
  float v26; // ST1C_4@26
  float v27; // ST1C_4@28
  float v28; // ST28_4@28
  float v29; // ST1C_4@28
  float v30; // ST1C_4@28
  float v31; // ST1C_4@28
  float v32; // ST1C_4@30
  float v33; // ST28_4@30
  float v34; // ST1C_4@30
  float v35; // ST1C_4@30
  long double v36; // fst7@30
  float v37; // ST1C_4@30
  float v38; // ST1C_4@30
  float v39; // ST1C_4@30
  float v40; // ST1C_4@32
  float v41; // ST1C_4@34
  float v42; // ST1C_4@36
  float v43; // ST1C_4@38
  float v44; // ST1C_4@38
  float v45; // ST1C_4@38
  float v46; // ST1C_4@40
  float v47; // ST1C_4@40
  float v48; // ST1C_4@40
  float v49; // ST1C_4@50
  float v50; // ST1C_4@50
  float v51; // ST1C_4@56
  float v52; // ST1C_4@56
  float v53; // [sp+7Ch] [bp-4B4h]@56
  int v54; // [sp+80h] [bp-4B0h]@56
  int v55; // [sp+84h] [bp-4ACh]@56
  float v56; // [sp+88h] [bp-4A8h]@56
  float v57; // [sp+8Ch] [bp-4A4h]@56
  float v58; // [sp+90h] [bp-4A0h]@56
  float v59; // [sp+94h] [bp-49Ch]@56
  float v60; // [sp+98h] [bp-498h]@56
  int v61; // [sp+9Ch] [bp-494h]@56
  int v62; // [sp+A0h] [bp-490h]@56
  float v63; // [sp+A4h] [bp-48Ch]@56
  float v64; // [sp+A8h] [bp-488h]@56
  float v65; // [sp+ACh] [bp-484h]@56
  float v66; // [sp+B0h] [bp-480h]@56
  float v67; // [sp+B4h] [bp-47Ch]@56
  float v68; // [sp+B8h] [bp-478h]@56
  float v69; // [sp+BCh] [bp-474h]@54
  int v70; // [sp+C0h] [bp-470h]@54
  int v71; // [sp+C4h] [bp-46Ch]@54
  float v72; // [sp+C8h] [bp-468h]@54
  float v73; // [sp+CCh] [bp-464h]@54
  float v74; // [sp+D0h] [bp-460h]@54
  float v75; // [sp+D4h] [bp-45Ch]@54
  float v76; // [sp+D8h] [bp-458h]@54
  int v77; // [sp+DCh] [bp-454h]@54
  int v78; // [sp+E0h] [bp-450h]@54
  float v79; // [sp+E4h] [bp-44Ch]@54
  float v80; // [sp+E8h] [bp-448h]@54
  float v81; // [sp+ECh] [bp-444h]@54
  float v82; // [sp+F0h] [bp-440h]@54
  float v83; // [sp+F4h] [bp-43Ch]@54
  float v84; // [sp+F8h] [bp-438h]@54
  float v85; // [sp+FCh] [bp-434h]@52
  int v86; // [sp+100h] [bp-430h]@52
  int v87; // [sp+104h] [bp-42Ch]@52
  float v88; // [sp+108h] [bp-428h]@52
  float v89; // [sp+10Ch] [bp-424h]@52
  float v90; // [sp+110h] [bp-420h]@52
  float v91; // [sp+114h] [bp-41Ch]@52
  float v92; // [sp+118h] [bp-418h]@52
  int v93; // [sp+11Ch] [bp-414h]@52
  int v94; // [sp+120h] [bp-410h]@52
  float v95; // [sp+124h] [bp-40Ch]@52
  float v96; // [sp+128h] [bp-408h]@52
  float v97; // [sp+12Ch] [bp-404h]@52
  float v98; // [sp+130h] [bp-400h]@52
  float v99; // [sp+134h] [bp-3FCh]@52
  float v100; // [sp+138h] [bp-3F8h]@52
  float v101; // [sp+13Ch] [bp-3F4h]@48
  int v102; // [sp+140h] [bp-3F0h]@48
  int v103; // [sp+144h] [bp-3ECh]@48
  float v104; // [sp+148h] [bp-3E8h]@48
  float v105; // [sp+14Ch] [bp-3E4h]@48
  float v106; // [sp+150h] [bp-3E0h]@48
  float v107; // [sp+154h] [bp-3DCh]@48
  float v108; // [sp+158h] [bp-3D8h]@48
  int v109; // [sp+15Ch] [bp-3D4h]@48
  int v110; // [sp+160h] [bp-3D0h]@48
  float v111; // [sp+164h] [bp-3CCh]@48
  float v112; // [sp+168h] [bp-3C8h]@48
  float v113; // [sp+16Ch] [bp-3C4h]@48
  float v114; // [sp+170h] [bp-3C0h]@48
  float v115; // [sp+174h] [bp-3BCh]@48
  float v116; // [sp+178h] [bp-3B8h]@48
  int j; // [sp+17Ch] [bp-3B4h]@43
  int i; // [sp+180h] [bp-3B0h]@40
  float v119; // [sp+184h] [bp-3ACh]@40
  int v120; // [sp+188h] [bp-3A8h]@40
  int v121; // [sp+18Ch] [bp-3A4h]@40
  float v122; // [sp+190h] [bp-3A0h]@40
  float v123; // [sp+194h] [bp-39Ch]@40
  float v124; // [sp+198h] [bp-398h]@40
  float v125; // [sp+19Ch] [bp-394h]@40
  float v126; // [sp+1A0h] [bp-390h]@40
  int v127; // [sp+1A4h] [bp-38Ch]@40
  int v128; // [sp+1A8h] [bp-388h]@40
  float v129; // [sp+1ACh] [bp-384h]@40
  float v130; // [sp+1B0h] [bp-380h]@40
  float v131; // [sp+1B4h] [bp-37Ch]@40
  float v132; // [sp+1B8h] [bp-378h]@40
  float v133; // [sp+1BCh] [bp-374h]@40
  float v134; // [sp+1C0h] [bp-370h]@40
  float v135; // [sp+1C4h] [bp-36Ch]@38
  int v136; // [sp+1C8h] [bp-368h]@38
  int v137; // [sp+1CCh] [bp-364h]@38
  float v138; // [sp+1D0h] [bp-360h]@38
  float v139; // [sp+1D4h] [bp-35Ch]@38
  float v140; // [sp+1D8h] [bp-358h]@38
  float v141; // [sp+1DCh] [bp-354h]@38
  float v142; // [sp+1E0h] [bp-350h]@38
  int v143; // [sp+1E4h] [bp-34Ch]@38
  int v144; // [sp+1E8h] [bp-348h]@38
  float v145; // [sp+1ECh] [bp-344h]@38
  float v146; // [sp+1F0h] [bp-340h]@38
  float v147; // [sp+1F4h] [bp-33Ch]@38
  float v148; // [sp+1F8h] [bp-338h]@38
  float v149; // [sp+1FCh] [bp-334h]@38
  float v150; // [sp+200h] [bp-330h]@38
  float v151; // [sp+204h] [bp-32Ch]@36
  int v152; // [sp+208h] [bp-328h]@36
  int v153; // [sp+20Ch] [bp-324h]@36
  float v154; // [sp+210h] [bp-320h]@36
  float v155; // [sp+214h] [bp-31Ch]@36
  float v156; // [sp+218h] [bp-318h]@36
  float v157; // [sp+21Ch] [bp-314h]@36
  float v158; // [sp+220h] [bp-310h]@36
  int v159; // [sp+224h] [bp-30Ch]@36
  int v160; // [sp+228h] [bp-308h]@36
  float v161; // [sp+22Ch] [bp-304h]@36
  float v162; // [sp+230h] [bp-300h]@36
  float v163; // [sp+234h] [bp-2FCh]@36
  float v164; // [sp+238h] [bp-2F8h]@34
  int v165; // [sp+23Ch] [bp-2F4h]@34
  int v166; // [sp+240h] [bp-2F0h]@34
  float v167; // [sp+244h] [bp-2ECh]@34
  float v168; // [sp+248h] [bp-2E8h]@34
  float v169; // [sp+24Ch] [bp-2E4h]@34
  float v170; // [sp+250h] [bp-2E0h]@34
  float v171; // [sp+254h] [bp-2DCh]@34
  int v172; // [sp+258h] [bp-2D8h]@34
  int v173; // [sp+25Ch] [bp-2D4h]@34
  float v174; // [sp+260h] [bp-2D0h]@34
  float v175; // [sp+264h] [bp-2CCh]@34
  float v176; // [sp+268h] [bp-2C8h]@34
  float v177; // [sp+26Ch] [bp-2C4h]@32
  int v178; // [sp+270h] [bp-2C0h]@32
  int v179; // [sp+274h] [bp-2BCh]@32
  float v180; // [sp+278h] [bp-2B8h]@32
  float v181; // [sp+27Ch] [bp-2B4h]@32
  float v182; // [sp+280h] [bp-2B0h]@32
  float v183; // [sp+284h] [bp-2ACh]@32
  float v184; // [sp+288h] [bp-2A8h]@32
  int v185; // [sp+28Ch] [bp-2A4h]@32
  int v186; // [sp+290h] [bp-2A0h]@32
  float v187; // [sp+294h] [bp-29Ch]@30
  int v188; // [sp+298h] [bp-298h]@30
  int v189; // [sp+29Ch] [bp-294h]@30
  float v190; // [sp+2A0h] [bp-290h]@30
  float v191; // [sp+2A4h] [bp-28Ch]@30
  float v192; // [sp+2A8h] [bp-288h]@30
  float v193; // [sp+2ACh] [bp-284h]@30
  float v194; // [sp+2B0h] [bp-280h]@30
  int v195; // [sp+2B4h] [bp-27Ch]@30
  int v196; // [sp+2B8h] [bp-278h]@30
  float v197; // [sp+2BCh] [bp-274h]@28
  int v198; // [sp+2C0h] [bp-270h]@28
  int v199; // [sp+2C4h] [bp-26Ch]@28
  float v200; // [sp+2C8h] [bp-268h]@28
  float v201; // [sp+2CCh] [bp-264h]@28
  float v202; // [sp+2D0h] [bp-260h]@28
  float v203; // [sp+2D4h] [bp-25Ch]@28
  float v204; // [sp+2D8h] [bp-258h]@28
  int v205; // [sp+2DCh] [bp-254h]@28
  int v206; // [sp+2E0h] [bp-250h]@28
  float v207; // [sp+2E4h] [bp-24Ch]@26
  int v208; // [sp+2E8h] [bp-248h]@26
  int v209; // [sp+2ECh] [bp-244h]@26
  float v210; // [sp+2F0h] [bp-240h]@26
  float v211; // [sp+2F4h] [bp-23Ch]@26
  float v212; // [sp+2F8h] [bp-238h]@26
  float v213; // [sp+2FCh] [bp-234h]@26
  float v214; // [sp+300h] [bp-230h]@26
  int v215; // [sp+304h] [bp-22Ch]@26
  int v216; // [sp+308h] [bp-228h]@26
  float v217; // [sp+30Ch] [bp-224h]@24
  int v218; // [sp+310h] [bp-220h]@24
  int v219; // [sp+314h] [bp-21Ch]@24
  float v220; // [sp+318h] [bp-218h]@24
  float v221; // [sp+31Ch] [bp-214h]@24
  float v222; // [sp+320h] [bp-210h]@24
  float v223; // [sp+324h] [bp-20Ch]@24
  float v224; // [sp+328h] [bp-208h]@24
  int v225; // [sp+32Ch] [bp-204h]@24
  int v226; // [sp+330h] [bp-200h]@24
  float v227; // [sp+334h] [bp-1FCh]@24
  float v228; // [sp+338h] [bp-1F8h]@24
  float v229; // [sp+33Ch] [bp-1F4h]@24
  float v230; // [sp+340h] [bp-1F0h]@22
  int v231; // [sp+344h] [bp-1ECh]@22
  int v232; // [sp+348h] [bp-1E8h]@22
  float v233; // [sp+34Ch] [bp-1E4h]@22
  float v234; // [sp+350h] [bp-1E0h]@22
  float v235; // [sp+354h] [bp-1DCh]@22
  float v236; // [sp+358h] [bp-1D8h]@22
  float v237; // [sp+35Ch] [bp-1D4h]@22
  float v238; // [sp+360h] [bp-1D0h]@22
  float v239; // [sp+364h] [bp-1CCh]@22
  float v240; // [sp+368h] [bp-1C8h]@22
  int v241; // [sp+36Ch] [bp-1C4h]@22
  int v242; // [sp+370h] [bp-1C0h]@22
  float v243; // [sp+374h] [bp-1BCh]@22
  float v244; // [sp+378h] [bp-1B8h]@22
  float v245; // [sp+37Ch] [bp-1B4h]@22
  float v246; // [sp+380h] [bp-1B0h]@22
  float v247; // [sp+384h] [bp-1ACh]@22
  float v248; // [sp+388h] [bp-1A8h]@22
  float v249; // [sp+38Ch] [bp-1A4h]@20
  int v250; // [sp+390h] [bp-1A0h]@20
  int v251; // [sp+394h] [bp-19Ch]@20
  float v252; // [sp+398h] [bp-198h]@20
  float v253; // [sp+39Ch] [bp-194h]@20
  float v254; // [sp+3A0h] [bp-190h]@20
  float v255; // [sp+3A4h] [bp-18Ch]@20
  float v256; // [sp+3A8h] [bp-188h]@20
  int v257; // [sp+3ACh] [bp-184h]@20
  int v258; // [sp+3B0h] [bp-180h]@20
  float v259; // [sp+3B4h] [bp-17Ch]@20
  float v260; // [sp+3B8h] [bp-178h]@20
  float v261; // [sp+3BCh] [bp-174h]@20
  float v262; // [sp+3C0h] [bp-170h]@20
  float v263; // [sp+3C4h] [bp-16Ch]@20
  float v264; // [sp+3C8h] [bp-168h]@20
  float v265; // [sp+3CCh] [bp-164h]@18
  int v266; // [sp+3D0h] [bp-160h]@18
  int v267; // [sp+3D4h] [bp-15Ch]@18
  float v268; // [sp+3D8h] [bp-158h]@18
  float v269; // [sp+3DCh] [bp-154h]@18
  float v270; // [sp+3E0h] [bp-150h]@18
  float v271; // [sp+3E4h] [bp-14Ch]@18
  float v272; // [sp+3E8h] [bp-148h]@18
  int v273; // [sp+3ECh] [bp-144h]@18
  int v274; // [sp+3F0h] [bp-140h]@18
  float v275; // [sp+3F4h] [bp-13Ch]@18
  float v276; // [sp+3F8h] [bp-138h]@18
  float v277; // [sp+3FCh] [bp-134h]@18
  float v278; // [sp+400h] [bp-130h]@16
  int v279; // [sp+404h] [bp-12Ch]@16
  int v280; // [sp+408h] [bp-128h]@16
  float v281; // [sp+40Ch] [bp-124h]@16
  float v282; // [sp+410h] [bp-120h]@16
  float v283; // [sp+414h] [bp-11Ch]@16
  float v284; // [sp+418h] [bp-118h]@16
  float v285; // [sp+41Ch] [bp-114h]@16
  int v286; // [sp+420h] [bp-110h]@16
  int v287; // [sp+424h] [bp-10Ch]@16
  float v288; // [sp+428h] [bp-108h]@14
  int v289; // [sp+42Ch] [bp-104h]@14
  int v290; // [sp+430h] [bp-100h]@14
  float v291; // [sp+434h] [bp-FCh]@14
  float v292; // [sp+438h] [bp-F8h]@14
  float v293; // [sp+43Ch] [bp-F4h]@14
  float v294; // [sp+440h] [bp-F0h]@14
  float v295; // [sp+444h] [bp-ECh]@14
  int v296; // [sp+448h] [bp-E8h]@14
  int v297; // [sp+44Ch] [bp-E4h]@14
  float v298; // [sp+450h] [bp-E0h]@12
  int v299; // [sp+454h] [bp-DCh]@12
  int v300; // [sp+458h] [bp-D8h]@12
  float v301; // [sp+45Ch] [bp-D4h]@12
  float v302; // [sp+460h] [bp-D0h]@12
  float v303; // [sp+464h] [bp-CCh]@12
  float v304; // [sp+468h] [bp-C8h]@12
  float v305; // [sp+46Ch] [bp-C4h]@12
  int v306; // [sp+470h] [bp-C0h]@12
  int v307; // [sp+474h] [bp-BCh]@12
  float v308; // [sp+478h] [bp-B8h]@10
  int v309; // [sp+47Ch] [bp-B4h]@10
  int v310; // [sp+480h] [bp-B0h]@10
  float v311; // [sp+484h] [bp-ACh]@10
  float v312; // [sp+488h] [bp-A8h]@10
  float v313; // [sp+48Ch] [bp-A4h]@10
  float v314; // [sp+490h] [bp-A0h]@10
  int v315; // [sp+494h] [bp-9Ch]@10
  int v316; // [sp+498h] [bp-98h]@10
  float v317; // [sp+49Ch] [bp-94h]@8
  int v318; // [sp+4A0h] [bp-90h]@8
  int v319; // [sp+4A4h] [bp-8Ch]@8
  float v320; // [sp+4A8h] [bp-88h]@8
  float v321; // [sp+4ACh] [bp-84h]@8
  float v322; // [sp+4B0h] [bp-80h]@8
  float v323; // [sp+4B4h] [bp-7Ch]@8
  float v324; // [sp+4B8h] [bp-78h]@8
  int v325; // [sp+4BCh] [bp-74h]@8
  int v326; // [sp+4C0h] [bp-70h]@8
  float v327; // [sp+4C4h] [bp-6Ch]@8
  float v328; // [sp+4C8h] [bp-68h]@8
  float v329; // [sp+4CCh] [bp-64h]@8
  float v330; // [sp+4D0h] [bp-60h]@6
  int v331; // [sp+4D4h] [bp-5Ch]@6
  int v332; // [sp+4D8h] [bp-58h]@6
  float v333; // [sp+4DCh] [bp-54h]@6
  float v334; // [sp+4E0h] [bp-50h]@6
  float v335; // [sp+4E4h] [bp-4Ch]@6
  float v336; // [sp+4E8h] [bp-48h]@6
  float v337; // [sp+4ECh] [bp-44h]@6
  int v338; // [sp+4F0h] [bp-40h]@6
  int v339; // [sp+4F4h] [bp-3Ch]@6
  float v340; // [sp+4F8h] [bp-38h]@6
  float v341; // [sp+4FCh] [bp-34h]@6
  float v342; // [sp+500h] [bp-30h]@6
  float v343; // [sp+504h] [bp-2Ch]@4
  int v344; // [sp+508h] [bp-28h]@4
  int v345; // [sp+50Ch] [bp-24h]@4
  float v346; // [sp+510h] [bp-20h]@4
  float v347; // [sp+514h] [bp-1Ch]@4
  float v348; // [sp+518h] [bp-18h]@4
  float v349; // [sp+51Ch] [bp-14h]@4
  float v350; // [sp+520h] [bp-10h]@4
  int v351; // [sp+524h] [bp-Ch]@4
  int v352; // [sp+528h] [bp-8h]@4
  unsigned int v353; // [sp+52Ch] [bp-4h]@1
  int v354; // [sp+530h] [bp+0h]@1


  v353 = (unsigned int)&v354 ^ v1006F420;
  v10093B54 = v10093B54 + v100498D0;
  if ( v1004B218 < (long double)v10093B54 )
    v10093B54 = 0.0;
  switch ( a3 )
  {
    case 1268:
      v346 = (long double)(sub_24EE0(v3, a1) % 100) / v1004B214;
      v347 = v1004B1A4;
      v348 = v1004B1B8;
      v349 = v1004B1B4;
      v343 = 0.0;
      v344 = 0;
      v345 = 0;
      v350 = 0.0;
      v351 = 0;
      v352 = 0;
      sub_E6F0(1268, 0, (int)&v350, (int)&v343);
      v4 = v346 * v1004B1B8 + v1004B1B8;
      sub_B330(32002, (int)&v343, v4, (int)&v347, a2, 0.0, 0);
      sub_E6F0(1268, 1, (int)&v350, (int)&v343);
      v5 = v346 * v1004B1B8 + v1004B1B8;
      sub_B330(32002, (int)&v343, v5, (int)&v347, a2, 0.0, 0);
      sub_E6F0(1268, 2, (int)&v350, (int)&v343);
      sub_B330(32032, (int)&v343, v1004B210, (int)&v347, a2, 0.0, 0);
      break;
    case 1269:
      v333 = (long double)(sub_24EE0(v3, a1) % 100) / v1004B214;
      v334 = v1004B1A4;
      v335 = v1004B1B0;
      v336 = 0.0;
      v340 = v1004B1A4;
      v341 = v10049D9C;
      v342 = 0.0;
      v330 = 0.0;
      v331 = 0;
      v332 = 0;
      v337 = 0.0;
      v338 = 0;
      v339 = 0;
      sub_E6F0(1269, 2, (int)&v337, (int)&v330);
      v6 = v333 * v1004B1B8 + 1.0;
      sub_B330(32131, (int)&v330, v6, (int)&v334, a2, 0.0, 0);
      sub_E6F0(1269, 3, (int)&v337, (int)&v330);
      v7 = v333 * v1004B1B8 + 1.0;
      sub_B330(32131, (int)&v330, v7, (int)&v340, a2, 0.0, 0);
      break;
    case 1270:
      v320 = (long double)(sub_24EE0(v3, a1) % 100) / v1004B214;
      v321 = 1.0;
      v322 = v1004B1A0;
      v323 = v1004B1B4;
      v327 = v1004B1BC;
      v328 = v1004B1A0;
      v329 = v1004B1A0;
      v317 = 0.0;
      v318 = 0;
      v319 = 0;
      v324 = 0.0;
      v325 = 0;
      v326 = 0;
      sub_E6F0(1270, 1, (int)&v324, (int)&v317);
      sub_B3B0(32073, (int)&v317, a2 + 264, (int)&v327, 2, v1004B1A0, 0);
      sub_E6F0(1270, 2, (int)&v324, (int)&v317);
      sub_E6F0(1270, 3, (int)&v324, (int)&v317);
      sub_B3B0(32073, (int)&v317, a2 + 264, (int)&v327, 2, v1004B1B0, 0);
      sub_E6F0(1270, 4, (int)&v324, (int)&v317);
      sub_E6F0(1270, 5, (int)&v324, (int)&v317);
      sub_B3B0(32073, (int)&v317, a2 + 264, (int)&v327, 2, v1004B1B0, 0);
      sub_E6F0(1270, 6, (int)&v324, (int)&v317);
      break;
    case 2292:
      v311 = v1004B1AC;
      v312 = v1004B1AC;
      v313 = v1004B1BC;
      v308 = 0.0;
      v309 = 0;
      v310 = 0;
      v314 = 0.0;
      v315 = 0;
      v316 = 0;
      sub_E6F0(2292, 0, (int)&v314, (int)&v308);
      sub_B360(387, (int)&v308, a2 + 264, (int)&v311, 2, a2, -1, 0, 0, 0, 0, -1);
      break;
    case 2293:
      v301 = (long double)(sub_24EE0(v3, a1) % 100) / v1004B214;
      v302 = v1004B1B4;
      v303 = v10049D9C;
      v304 = 0.0;
      v298 = 0.0;
      v299 = 0;
      v300 = 0;
      v305 = 0.0;
      v306 = 0;
      v307 = 0;
      sub_E6F0(2293, 0, (int)&v305, (int)&v298);
      v8 = v301 * v1004B1B8 + v1004B20C;
      sub_B330(32002, (int)&v298, v8, (int)&v302, a2, 0.0, 0);
      break;
    case 2294:
      v291 = (long double)(sub_24EE0(v3, a1) % 100) / v1004B214;
      v292 = v1004B1B4;
      v293 = 0.0;
      v294 = 0.0;
      v288 = 0.0;
      v289 = 0;
      v290 = 0;
      v295 = 0.0;
      v296 = 0;
      v297 = 0;
      sub_E6F0(2294, 2, (int)&v295, (int)&v288);
      sub_B360(387, (int)&v288, a2 + 264, (int)&v292, 2, a2, -1, 0, 0, 0, 0, -1);
      v9 = v291 * v1004B1B8 + v1004B208;
      sub_B330(32002, (int)&v288, v9, (int)&v292, a2, 0.0, 0);
      break;
    case 2295:
      v281 = (long double)(sub_24EE0(v3, a1) % 100) / v1004B214;
      v282 = v1004B1B4;
      v283 = v1004B204;
      v284 = v1004B204;
      v278 = 0.0;
      v279 = 0;
      v280 = 0;
      v285 = 0.0;
      v286 = 0;
      v287 = 0;
      sub_E6F0(2295, 2, (int)&v285, (int)&v278);
      v10 = v1004B218 - v10093B54;
      v11 = v281 * v1004B1B8 + 1.0;
      sub_B330(32114, (int)&v278, v11, (int)&v282, a2, v10, 0);
      v12 = v281 * v1004B1B8 + v1004B210;
      sub_B330(32114, (int)&v278, v12, (int)&v282, a2, v10093B54, 0);
      break;
    case 2297:
      v268 = (long double)(sub_24EE0(v3, a1) % 100) / v1004B214;
      v269 = 1.0;
      v270 = v1004B1A0;
      v271 = v1004B1B4;
      v275 = v1004B1B8;
      v276 = v1004B1A0;
      v277 = v1004B1B4;
      v265 = 0.0;
      v266 = 0;
      v267 = 0;
      v272 = 0.0;
      v273 = 0;
      v274 = 0;
      sub_E6F0(2297, 1, (int)&v272, (int)&v265);
      v13 = v268 * v1004B1A0 + v1004B208;
      sub_B330(32131, (int)&v265, v13, (int)&v269, a2, 0.0, 0);
      sub_B3B0(32073, (int)&v265, a2 + 264, (int)&v275, 2, v1004B1A4, 0);
      break;
    case 3316:
      v252 = (long double)(sub_24EE0(v3, a1) % 100) / v1004B214;
      v253 = 0.0;
      v254 = v1004B1A0;
      v255 = v1004B1B4;
      v259 = 0.0;
      v260 = v10049D9C;
      v261 = v1004B1B4;
      v262 = 0.0;
      v263 = v1004B200;
      v264 = v1004B1A0;
      v249 = 0.0;
      v250 = 0;
      v251 = 0;
      v256 = 0.0;
      v257 = 0;
      v258 = 0;
      sub_E6F0(3316, 0, (int)&v256, (int)&v249);
      v14 = v252 * v1004B1B8 + v1004B208;
      sub_B330(32131, (int)&v249, v14, (int)&v253, a2, 0.0, 0);
      sub_E6F0(3316, 1, (int)&v256, (int)&v249);
      v15 = v252 * v1004B1B8 + v1004B208;
      sub_B330(32131, (int)&v249, v15, (int)&v259, a2, 0.0, 0);
      sub_B330(32114, (int)&v249, 1.0, (int)&v259, a2, v10093B54, 0);
      sub_E6F0(3316, 2, (int)&v256, (int)&v249);
      v16 = v252 * v1004B1B8 + 1.0;
      sub_B330(32131, (int)&v249, v16, (int)&v262, a2, 0.0, 0);
      sub_B330(32114, (int)&v249, 1.0, (int)&v262, a2, v10093B54, 0);
      sub_E6F0(3316, 3, (int)&v256, (int)&v249);
      v17 = v252 * v1004B1B8 + v1004B208;
      sub_B330(32131, (int)&v249, v17, (int)&v259, a2, 0.0, 0);
      v18 = v1004B218 - v10093B54;
      sub_B330(32114, (int)&v249, 1.0, (int)&v259, a2, v18, 0);
      sub_E6F0(3316, 4, (int)&v256, (int)&v249);
      v19 = v252 * v1004B1B8 + 1.0;
      sub_B330(32131, (int)&v249, v19, (int)&v262, a2, 0.0, 0);
      sub_B330(32114, (int)&v249, 1.0, (int)&v262, a2, v10093B54, 0);
      break;
    case 3317:
      v233 = (long double)(sub_24EE0(v3, a1) % 100) / v1004B214;
      v234 = v1004B1A8;
      v235 = v10049D9C;
      v236 = 0.0;
      v243 = v1004B1AC;
      v244 = v1004B1B0;
      v245 = 0.0;
      v246 = v10049D9C;
      v247 = 0.0;
      v248 = 0.0;
      v237 = v1004B1FC;
      v238 = 0.0;
      v239 = 0.0;
      v230 = 0.0;
      v231 = 0;
      v232 = 0;
      v240 = 0.0;
      v241 = 0;
      v242 = 0;
      sub_E6F0(3317, 0, (int)&v240, (int)&v230);
      v20 = v233 * v1004B1B8 + v1004B208;
      sub_B330(32131, (int)&v230, v20, (int)&v234, a2, 0.0, 0);
      sub_B3B0(32101, (int)&v230, a2 + 264, (int)&v243, 4, 1.0, 0);
      sub_E6F0(3317, 1, (int)&v240, (int)&v230);
      v21 = v233 * v1004B1B8 + v1004B208;
      sub_B330(32131, (int)&v230, v21, (int)&v243, a2, 0.0, 0);
      sub_B3B0(32101, (int)&v230, a2 + 264, (int)&v237, 19, 1.0, 0);
      sub_E6F0(3317, 2, (int)&v240, (int)&v230);
      v22 = v233 * v1004B1B8 + 1.0;
      sub_B330(32131, (int)&v230, v22, (int)&v246, a2, 0.0, 0);
      sub_E6F0(3317, 3, (int)&v240, (int)&v230);
      v23 = v233 * v1004B1B8 + v1004B208;
      sub_B330(32131, (int)&v230, v23, (int)&v243, a2, 0.0, 0);
      sub_B3B0(32101, (int)&v230, a2 + 264, (int)&v237, 19, 1.0, 0);
      sub_E6F0(3317, 4, (int)&v240, (int)&v230);
      v24 = v233 * v1004B1B8 + 1.0;
      sub_B330(32131, (int)&v230, v24, (int)&v246, a2, 0.0, 0);
      break;
    case 3318:
      v220 = (long double)(sub_24EE0(v3, a1) % 100) / v1004B214;
      v221 = 1.0;
      v222 = v1004B1A0;
      v223 = v1004B1B4;
      v227 = v1004B1A8;
      v228 = v1004B1A0;
      v229 = v1004B1B4;
      v217 = 0.0;
      v218 = 0;
      v219 = 0;
      v224 = 0.0;
      v225 = 0;
      v226 = 0;
      sub_E6F0(3318, 0, (int)&v224, (int)&v217);
      v25 = v220 * v1004B1B8 + v1004B208;
      sub_B330(32131, (int)&v217, v25, (int)&v221, a2, 0.0, 0);
      sub_B3B0(32101, (int)&v217, a2 + 264, (int)&v221, 19, 1.0, 0);
      sub_E6F0(3318, 3, (int)&v224, (int)&v217);
      sub_B330(32131, (int)&v217, v1004B1F8, (int)&v227, a2, 0.0, 0);
      sub_B3B0(32113, (int)&v217, a2 + 264, (int)&v221, 3, 1.0, 0);
      sub_E6F0(3318, 6, (int)&v224, (int)&v217);
      sub_B330(32131, (int)&v217, v1004B1F8, (int)&v227, a2, 0.0, 0);
      sub_B3B0(32113, (int)&v217, a2 + 264, (int)&v221, 3, 1.0, 0);
      break;
    case 3828:
      v210 = (long double)(sub_24EE0(v3, a1) % 100) / v1004B214;
      v211 = v1004B1A4;
      v212 = 0.0;
      v213 = v1004B1B4;
      v207 = 0.0;
      v208 = 0;
      v209 = 0;
      v214 = 0.0;
      v215 = 0;
      v216 = 0;
      sub_E6F0(3828, 1, (int)&v214, (int)&v207);
      v26 = v210 * v1004B1B8 + v1004B1F4;
      sub_B330(32131, (int)&v207, v26, (int)&v211, a2, 0.0, 0);
      break;
    case 3829:
      v200 = (long double)(sub_24EE0(v3, a1) % 100) / v1004B214;
      v201 = v10049D9C;
      v202 = v10049D9C;
      v203 = v1004B1BC;
      v197 = 0.0;
      v198 = 0;
      v199 = 0;
      v204 = 0.0;
      v205 = 0;
      v206 = 0;
      sub_E6F0(3829, 1, (int)&v204, (int)&v197);
      v27 = v200 * v1004B1B8 + v1004B1F4;
      sub_B330(32114, (int)&v197, v27, (int)&v201, a2, v10093B54, 0);
      v28 = v1004B218 - v10093B54;
      v29 = v200 * v1004B1B8 + v1004B208;
      sub_B330(32114, (int)&v197, v29, (int)&v201, a2, v28, 0);
      v30 = v200 * v1004B1B8 + v1004B1F4;
      sub_B330(32002, (int)&v197, v30, (int)&v201, a2, 0.0, 0);
      sub_E6F0(3829, 0, (int)&v204, (int)&v197);
      v31 = v200 * v1004B1B8 + 1.0;
      sub_B330(32002, (int)&v197, v31, (int)&v201, a2, 0.0, 0);
      break;
    case 3830:
      v190 = (long double)(sub_24EE0(v3, a1) % 100) / v1004B214;
      v191 = 1.0;
      v192 = 0.0;
      v193 = 0.0;
      v187 = 0.0;
      v188 = 0;
      v189 = 0;
      v194 = 0.0;
      v195 = 0;
      v196 = 0;
      sub_E6F0(3830, 1, (int)&v194, (int)&v187);
      v32 = v190 * v1004B1B8 + v1004B1B8;
      sub_B330(32115, (int)&v187, v32, (int)&v191, a2, v10093B54, 0);
      v33 = v1004B218 - v10093B54;
      v34 = v190 * v1004B1B8 + v1004B1B8;
      sub_B330(32114, (int)&v187, v34, (int)&v191, a2, v33, 0);
      v35 = v10093B54 * v1004B1F0;
      v36 = sub_5720(v35);
      v37 = v36 + v36 + 1.0;
      sub_B330(32002, (int)&v187, v37, (int)&v191, a2, 0.0, 0);
      v38 = v10093B54 * v1004B1F0;
      v39 = sub_5720(v38) * v100498D0 + v1004B1B8;
      sub_B330(32002, (int)&v187, v39, (int)&v191, a2, 0.0, 0);
      break;
    case 3831:
      v180 = (long double)(sub_24EE0(v3, a1) % 100) / v1004B214;
      v181 = v1004B1A4;
      v182 = 0.0;
      v183 = v1004B1B4;
      v177 = 0.0;
      v178 = 0;
      v179 = 0;
      v184 = 0.0;
      v185 = 0;
      v186 = 0;
      sub_E6F0(3831, 1, (int)&v184, (int)&v177);
      v40 = v180 * v1004B1B8 + v1004B1F4;
      sub_B330(32131, (int)&v177, v40, (int)&v181, a2, 0.0, 0);
      break;
    case 3832:
      v167 = (long double)(sub_24EE0(v3, a1) % 100) / v1004B214;
      v168 = 1.0;
      v169 = v1004B1A0;
      v170 = v1004B1B4;
      v174 = v1004B1B8;
      v175 = v1004B1A0;
      v176 = v1004B1B4;
      v164 = 0.0;
      v165 = 0;
      v166 = 0;
      v171 = 0.0;
      v172 = 0;
      v173 = 0;
      sub_E6F0(3832, 1, (int)&v171, (int)&v164);
      v41 = v167 * v1004B1A0 + v1004B208;
      sub_B330(32131, (int)&v164, v41, (int)&v168, a2, 0.0, 0);
      sub_B3B0(32073, (int)&v164, a2 + 264, (int)&v174, 2, v1004B1A0, 0);
      sub_B3B0(32113, (int)&v164, a2 + 264, (int)&v168, 3, 1.0, 0);
      break;
    case 3833:
      v154 = (long double)(sub_24EE0(v3, a1) % 100) / v1004B214;
      v155 = 1.0;
      v156 = v1004B1A0;
      v157 = v1004B1B4;
      v161 = v1004B1B8;
      v162 = v1004B1A0;
      v163 = v1004B1B4;
      v151 = 0.0;
      v152 = 0;
      v153 = 0;
      v158 = 0.0;
      v159 = 0;
      v160 = 0;
      sub_E6F0(3833, 1, (int)&v158, (int)&v151);
      v42 = v154 * v1004B1A0 + v1004B208;
      sub_B330(32002, (int)&v151, v42, (int)&v155, a2, 0.0, 0);
      sub_B3B0(32077, (int)&v151, a2 + 264, (int)&v161, 3, v1004B1EC, 0);
      break;
    case 7552:
      v138 = (long double)(sub_24EE0(v3, a1) % 100) / v1004B214;
      v145 = 0.0;
      v146 = v1004B1AC;
      v147 = v1004B1AC;
      v148 = 0.0;
      v149 = 0.0;
      v150 = v1004B1A8;
      v139 = v10049D9C;
      v140 = 0.0;
      v141 = v1004B1A4;
      v135 = 0.0;
      v136 = 0;
      v137 = 0;
      v142 = 0.0;
      v143 = 0;
      v144 = 0;
      v100491AC(1.0, 0.0, 0.0, 1.0);
      sub_E6F0(7552, 1, (int)&v142, (int)&v135);
      v43 = v138 * v1004B1B8 + v1004B20C;
      sub_B330(32002, (int)&v135, v43, (int)&v145, a2, 0.0, 0);
      sub_E6F0(7552, 2, (int)&v142, (int)&v135);
      v44 = v138 * v1004B1B8 + v1004B1F4;
      sub_B330(32097, (int)&v135, v44, (int)&v148, a2, 0.0, 0);
      sub_B360(387, (int)&v135, a2 + 264, (int)&v139, 1, a2, -1, 0, 0, 0, 0, -1);
      sub_E6F0(7552, 6, (int)&v142, (int)&v135);
      v45 = v138 * v1004B1B8 + v1004B1F4;
      sub_B330(32097, (int)&v135, v45, (int)&v148, a2, 0.0, 0);
      sub_B360(387, (int)&v135, a2 + 264, (int)&v139, 1, a2, -1, 0, 0, 0, 0, -1);
      break;
    case 7553:
      v122 = (long double)(sub_24EE0(v3, a1) % 100) / v1004B214;
      v129 = 1.0;
      v130 = 0.0;
      v131 = 0.0;
      v132 = v1004B1B0;
      v133 = v1004B1E8;
      v134 = 0.0;
      v123 = v10049D9C;
      v124 = v1004B1B0;
      v125 = 0.0;
      v119 = 0.0;
      v120 = 0;
      v121 = 0;
      v126 = 0.0;
      v127 = 0;
      v128 = 0;
      v100491AC(1.0, 0.0, 0.0, 1.0);
      sub_E6F0(7553, 1, (int)&v126, (int)&v119);
      v46 = v122 * v1004B1B8 + v1004B1E4;
      sub_B330(32002, (int)&v119, v46, (int)&v129, a2, 0.0, 0);
      sub_E6F0(7553, 2, (int)&v126, (int)&v119);
      v47 = v122 * v1004B1B8 + v1004B1F4;
      sub_B330(32097, (int)&v119, v47, (int)&v129, a2, 0.0, 0);
      sub_E6F0(7553, 3, (int)&v126, (int)&v119);
      v48 = v122 * v1004B1B8 + v1004B1F4;
      sub_B330(32097, (int)&v119, v48, (int)&v129, a2, 0.0, 0);
      sub_E6F0(7553, 4, (int)&v126, (int)&v119);
      sub_B3B0(32057, (int)&v119, a2 + 264, (int)&v123, 0, 1.0, 0);
      sub_E6F0(7553, 5, (int)&v126, (int)&v119);
      sub_B3B0(32057, (int)&v119, a2 + 264, (int)&v123, 0, 1.0, 0);
      for ( i = 8; i <= 11; ++i )
      {
        sub_E6F0(7553, i, (int)&v126, (int)&v119);
        sub_B360(387, (int)&v119, a2 + 264, (int)&v132, 1, a2, -1, 0, 0, 0, 0, -1);
      }
      for ( j = 12; j <= 15; ++j )
      {
        sub_E6F0(7553, j, (int)&v126, (int)&v119);
        sub_B360(387, (int)&v119, a2 + 264, (int)&v132, 1, a2, -1, 0, 0, 0, 0, -1);
      }
      break;
    case 7554:
      v104 = (long double)(sub_24EE0(v3, a1) % 100) / v1004B214;
      v111 = 1.0;
      v112 = 0.0;
      v113 = 0.0;
      v114 = v1004B1B8;
      v115 = 0.0;
      v116 = 0.0;
      v105 = v1004B1AC;
      v106 = 0.0;
      v107 = v1004B1A0;
      v101 = 0.0;
      v102 = 0;
      v103 = 0;
      v108 = 0.0;
      v109 = 0;
      v110 = 0;
      if ( sub_24EE0(v3, a1) % 15 > 12 )
      {
        sub_E6F0(7554, 20, (int)&v108, (int)&v101);
        sub_B3B0(32113, (int)&v101, a2 + 264, (int)&v111, 4, 1.0, 0);
      }
      sub_E6F0(7554, 4, (int)&v108, (int)&v101);
      sub_B330(32131, (int)&v101, v1004B1E0, (int)&v105, a2, 0.0, 0);
      sub_E6F0(7554, 7, (int)&v108, (int)&v101);
      sub_B330(32131, (int)&v101, v1004B1E0, (int)&v105, a2, 0.0, 0);
      sub_E6F0(7554, 9, (int)&v108, (int)&v101);
      sub_B330(32131, (int)&v101, v1004B1DC, (int)&v105, a2, 0.0, 0);
      sub_E6F0(7554, 12, (int)&v108, (int)&v101);
      sub_B330(32131, (int)&v101, v1004B1DC, (int)&v105, a2, 0.0, 0);
      sub_E6F0(7554, 17, (int)&v108, (int)&v101);
      v49 = v104 * v1004B1B8 + 1.0;
      sub_B330(32131, (int)&v101, v49, (int)&v111, a2, 0.0, 0);
      sub_E6F0(7554, 18, (int)&v108, (int)&v101);
      v50 = v104 * v1004B1B8 + 1.0;
      sub_B330(32131, (int)&v101, v50, (int)&v111, a2, 0.0, 0);
      sub_E6F0(7554, 19, (int)&v108, (int)&v101);
      sub_B330(32131, (int)&v101, v1004B1DC, (int)&v114, a2, 0.0, 0);
      sub_E6F0(7554, 20, (int)&v108, (int)&v101);
      sub_B330(32131, (int)&v101, v1004B1DC, (int)&v114, a2, 0.0, 0);
      break;
    case 7555:
      v88 = (long double)(sub_24EE0(v3, a1) % 100) / v1004B214;
      v95 = v10049D9C;
      v96 = 0.0;
      v97 = 1.0;
      v98 = v1004B1B0;
      v99 = 0.0;
      v100 = v1004B1A0;
      v89 = 1.0;
      v90 = 0.0;
      v91 = 1.0;
      v85 = 0.0;
      v86 = 0;
      v87 = 0;
      v92 = 0.0;
      v93 = 0;
      v94 = 0;
      sub_E6F0(7555, 19, (int)&v92, (int)&v85);
      sub_B330(32003, (int)&v85, v1004B1B8, (int)&v95, a2, 0.0, 0);
      sub_E6F0(7555, 20, (int)&v92, (int)&v85);
      sub_B330(32003, (int)&v85, v1004B1B8, (int)&v95, a2, 0.0, 0);
      sub_E6F0(7555, 10, (int)&v92, (int)&v85);
      sub_B360(387, (int)&v85, a2 + 264, (int)&v98, 1, a2, -1, 0, 0, 0, 0, -1);
      sub_E6F0(7555, 11, (int)&v92, (int)&v85);
      sub_B360(387, (int)&v85, a2 + 264, (int)&v98, 1, a2, -1, 0, 0, 0, 0, -1);
      sub_E6F0(7555, 4, (int)&v92, (int)&v85);
      sub_B330(32003, (int)&v85, v1004B1DC, (int)&v95, a2, 0.0, 0);
      sub_B360(387, (int)&v85, a2 + 264, (int)&v98, 1, a2, -1, 0, 0, 0, 0, -1);
      sub_E6F0(7555, 7, (int)&v92, (int)&v85);
      sub_B330(32003, (int)&v85, v1004B1DC, (int)&v95, a2, 0.0, 0);
      sub_B360(387, (int)&v85, a2 + 264, (int)&v98, 1, a2, -1, 0, 0, 0, 0, -1);
      break;
    case 7556:
      v72 = (long double)(sub_24EE0(v3, a1) % 100) / v1004B214;
      v79 = v10049D9C;
      v80 = 0.0;
      v81 = 0.0;
      v82 = v1004B1B0;
      v83 = 0.0;
      v84 = 0.0;
      v73 = 1.0;
      v74 = 0.0;
      v75 = 1.0;
      v69 = 0.0;
      v70 = 0;
      v71 = 0;
      v76 = 0.0;
      v77 = 0;
      v78 = 0;
      sub_E6F0(7556, 9, (int)&v76, (int)&v69);
      sub_B330(32018, (int)&v69, v1004B1B8, (int)&v79, a2, 0.0, 0);
      sub_E6F0(7556, 12, (int)&v76, (int)&v69);
      sub_B330(32018, (int)&v69, v1004B1B8, (int)&v79, a2, 0.0, 0);
      sub_E6F0(7556, 3, (int)&v76, (int)&v69);
      sub_B3B0(32072, (int)&v69, a2 + 264, (int)&v82, 1, 1.0, 0);
      sub_E6F0(7556, 6, (int)&v76, (int)&v69);
      sub_B3B0(32072, (int)&v69, a2 + 264, (int)&v82, 1, 1.0, 0);
      sub_E6F0(7556, 9, (int)&v76, (int)&v69);
      sub_B3B0(32072, (int)&v69, a2 + 264, (int)&v82, 1, 1.0, 0);
      sub_E6F0(7556, 12, (int)&v76, (int)&v69);
      sub_B3B0(32072, (int)&v69, a2 + 264, (int)&v82, 1, 1.0, 0);
      break;
    case 7557:
      v56 = (long double)(sub_24EE0(v3, a1) % 100) / v1004B214;
      v63 = v1004B1D8;
      v64 = v1004B1B0;
      v65 = v1004B1B0;
      v66 = 0.0;
      v67 = 0.0;
      v68 = v1004B1A8;
      v57 = v1004B1B0;
      v58 = v10049D9C;
      v59 = v1004B1A0;
      v53 = 0.0;
      v54 = 0;
      v55 = 0;
      v60 = 0.0;
      v61 = 0;
      v62 = 0;
      sub_E6F0(7557, 3, (int)&v60, (int)&v53);
      sub_B330(32131, (int)&v53, v1004B1DC, (int)&v66, a2, 0.0, 0);
      sub_B3B0(32057, (int)&v53, a2 + 264, (int)&v63, 5, v1004B210, 0);
      sub_E6F0(7557, 6, (int)&v60, (int)&v53);
      sub_B330(32131, (int)&v53, v1004B1DC, (int)&v66, a2, 0.0, 0);
      sub_B3B0(32057, (int)&v53, a2 + 264, (int)&v63, 5, v1004B210, 0);
      sub_E6F0(7557, 19, (int)&v60, (int)&v53);
      v51 = v1004B210 + v56;
      sub_B330(32003, (int)&v53, v51, (int)&v57, a2, 0.0, 0);
      sub_E6F0(7557, 20, (int)&v60, (int)&v53);
      v52 = v1004B210 + v56;
      sub_B330(32003, (int)&v53, v52, (int)&v57, a2, 0.0, 0);
      break;
  }
}
// 5720: using guessed type double __cdecl sub_5720(float);
// 100491AC: using guessed type int (__stdcall *)(_DWORD, _DWORD, _DWORD, _DWORD);
 
Last edited:
Joined
Oct 29, 2007
Messages
1,289
Reaction score
1,308
Here wings effect switch code

Code:
    case 7552: [B][COLOR=#ff0000]// -> Heaven Wings (Type: 12 Index: 240) -> ObjectId = 12 * 512 + 240 + 1168 (Es el itemoffsetinarray in: 1.08C+)[/COLOR][/B]
      v138 = (long double)(sub_24EE0(v3, a1) % 100) / v1004B214;
      v145 = 0.0;
      v146 = v1004B1AC;
      v147 = v1004B1AC;
      v148 = 0.0;
      v149 = 0.0;
      v150 = v1004B1A8;
      v139 = v10049D9C;
      v140 = 0.0;
      v141 = v1004B1A4;
      v135 = 0.0;
      v136 = 0;
      v137 = 0;
      v142 = 0.0;
      v143 = 0;
      v144 = 0;
      v100491AC(1.0, 0.0, 0.0, 1.0);
      sub_E6F0(7552, [B][COLOR=#008000]1[/COLOR][/B], (int)&v142, (int)&v135);                     [B][COLOR=#008000]//Wings smd or bmd model bones setted to get effects --> Bone01 i Think[/COLOR][/B]
      v43 = v138 * v1004B1B8 + v1004B20C;
      sub_B330(32002, (int)&v135, v43, (int)&v145, a2, 0.0, 0); [B][COLOR=#ff0000]//32002 -> 7D02 EN HEXA -> "Effect\flare01.jpg" in mains.exe 1.08A+ ~ 1.08C+[/COLOR][/B]
      sub_E6F0(7552, [B][COLOR=#008000]2[/COLOR][/B], (int)&v142, (int)&v135); [B][COLOR=#008000]//Bone02[/COLOR][/B]
      v44 = v138 * v1004B1B8 + v1004B1F4;
      sub_B330(32097, (int)&v135, v44, (int)&v148, a2, 0.0, 0);
      sub_B360(387, (int)&v135, a2 + 264, (int)&v139, 1, a2, -1, 0, 0, 0, 0, -1);
      sub_E6F0(7552, [B][COLOR=#008000]6[/COLOR][/B], (int)&v142, (int)&v135); [B][COLOR=#008000]//Bone06[/COLOR][/B]
      v45 = v138 * v1004B1B8 + v1004B1F4;
      sub_B330(32097, (int)&v135, v45, (int)&v148, a2, 0.0, 0);
      sub_B360(387, (int)&v135, a2 + 264, (int)&v139, 1, a2, -1, 0, 0, 0, 0, -1);
      break;
    case 7553: // [B][COLOR=#ff0000]Demonic Wings[/COLOR][/B] [B][COLOR=#ff0000](Type: 12 Index: 241) -> ObjectId = 12 * 512 + 241 + 1168 (Es el itemoffsetinarray in: 1.08C+)[/COLOR][/B]
      v122 = (long double)(sub_24EE0(v3, a1) % 100) / v1004B214;
      v129 = 1.0;
      v130 = 0.0;
      v131 = 0.0;
      v132 = v1004B1B0;
      v133 = v1004B1E8;
      v134 = 0.0;
      v123 = v10049D9C;
      v124 = v1004B1B0;
      v125 = 0.0;
      v119 = 0.0;
      v120 = 0;
      v121 = 0;
      v126 = 0.0;
      v127 = 0;
      v128 = 0;
      v100491AC(1.0, 0.0, 0.0, 1.0);
      sub_E6F0(7553, 1, (int)&v126, (int)&v119);
      v46 = v122 * v1004B1B8 + v1004B1E4;
      sub_B330(32002, (int)&v119, v46, (int)&v129, a2, 0.0, 0);
      sub_E6F0(7553, 2, (int)&v126, (int)&v119);
      v47 = v122 * v1004B1B8 + v1004B1F4;
      sub_B330(32097, (int)&v119, v47, (int)&v129, a2, 0.0, 0);
      sub_E6F0(7553, 3, (int)&v126, (int)&v119);
      v48 = v122 * v1004B1B8 + v1004B1F4;
      sub_B330(32097, (int)&v119, v48, (int)&v129, a2, 0.0, 0);
      sub_E6F0(7553, 4, (int)&v126, (int)&v119);
      sub_B3B0(32057, (int)&v119, a2 + 264, (int)&v123, 0, 1.0, 0);
      sub_E6F0(7553, 5, (int)&v126, (int)&v119);
      sub_B3B0(32057, (int)&v119, a2 + 264, (int)&v123, 0, 1.0, 0);
      for ( i = 8; i <= 11; ++i )
      {
        sub_E6F0(7553, i, (int)&v126, (int)&v119);
        sub_B360([B][COLOR=#ffd700]387[/COLOR][/B], (int)&v119, a2 + 264, (int)&v132, 1, a2, -1, 0, 0, 0, 0, -1); [B][COLOR=#ffd700]//Golden Fenrir ObjectId, for set this effect for generate Lightning effect on wings[/COLOR][/B]
      }
      for ( j = 12; j <= 15; ++j )
      {
        sub_E6F0(7553, j, (int)&v126, (int)&v119);
        sub_B360([B][COLOR=#ffd700]387[/COLOR][/B], (int)&v119, a2 + 264, (int)&v132, 1, a2, -1, 0, 0, 0, 0, -1);
      }
      break;
    case 7554: // [B][COLOR=#ff0000]Red Spirit Wings[/COLOR][/B] [B][COLOR=#ff0000](Type: 12 Index: 242) -> ObjectId = 12 * 512 + 242 + 1168 (Es el itemoffsetinarray in: 1.08C+)[/COLOR][/B]
      v104 = (long double)(sub_24EE0(v3, a1) % 100) / v1004B214;
      v111 = 1.0;
      v112 = 0.0;
      v113 = 0.0;
      v114 = v1004B1B8;
      v115 = 0.0;
      v116 = 0.0;
      v105 = v1004B1AC;
      v106 = 0.0;
      v107 = v1004B1A0;
      v101 = 0.0;
      v102 = 0;
      v103 = 0;
      v108 = 0.0;
      v109 = 0;
      v110 = 0;
      if ( sub_24EE0(v3, a1) % 15 > 12 )
      {
        sub_E6F0(7554, 20, (int)&v108, (int)&v101);
        sub_B3B0(32113, (int)&v101, a2 + 264, (int)&v111, 4, 1.0, 0); [B][COLOR=#ff0000]// 32113 -> 7D71 -> "Effect\Shiny01.jpg"[/COLOR][/B]
      }
      sub_E6F0(7554, 4, (int)&v108, (int)&v101);
      sub_B330(32131, (int)&v101, v1004B1E0, (int)&v105, a2, 0.0, 0);
      sub_E6F0(7554, 7, (int)&v108, (int)&v101);
      sub_B330(32131, (int)&v101, v1004B1E0, (int)&v105, a2, 0.0, 0);
      sub_E6F0(7554, 9, (int)&v108, (int)&v101);
      sub_B330(32131, (int)&v101, v1004B1DC, (int)&v105, a2, 0.0, 0);
      sub_E6F0(7554, 12, (int)&v108, (int)&v101);
      sub_B330(32131, (int)&v101, v1004B1DC, (int)&v105, a2, 0.0, 0);
      sub_E6F0(7554, 17, (int)&v108, (int)&v101);
      v49 = v104 * v1004B1B8 + 1.0;
      sub_B330(32131, (int)&v101, v49, (int)&v111, a2, 0.0, 0);
      sub_E6F0(7554, 18, (int)&v108, (int)&v101);
      v50 = v104 * v1004B1B8 + 1.0;
      sub_B330(32131, (int)&v101, v50, (int)&v111, a2, 0.0, 0);
      sub_E6F0(7554, 19, (int)&v108, (int)&v101);
      sub_B330(32131, (int)&v101, v1004B1DC, (int)&v114, a2, 0.0, 0);
      sub_E6F0(7554, 20, (int)&v108, (int)&v101);
      sub_B330(32131, (int)&v101, v1004B1DC, (int)&v114, a2, 0.0, 0);
      break;
    case 7555:
      v88 = (long double)(sub_24EE0(v3, a1) % 100) / v1004B214;
      v95 = v10049D9C;
      v96 = 0.0;
      v97 = 1.0;
      v98 = v1004B1B0;
      v99 = 0.0;
      v100 = v1004B1A0;
      v89 = 1.0;
      v90 = 0.0;
      v91 = 1.0;
      v85 = 0.0;
      v86 = 0;
      v87 = 0;
      v92 = 0.0;
      v93 = 0;
      v94 = 0;
      sub_E6F0(7555, 19, (int)&v92, (int)&v85);
      sub_B330(32003, (int)&v85, v1004B1B8, (int)&v95, a2, 0.0, 0);
      sub_E6F0(7555, 20, (int)&v92, (int)&v85);
      sub_B330(32003, (int)&v85, v1004B1B8, (int)&v95, a2, 0.0, 0);
      sub_E6F0(7555, 10, (int)&v92, (int)&v85);
      sub_B360(387, (int)&v85, a2 + 264, (int)&v98, 1, a2, -1, 0, 0, 0, 0, -1);
      sub_E6F0(7555, 11, (int)&v92, (int)&v85);
      sub_B360(387, (int)&v85, a2 + 264, (int)&v98, 1, a2, -1, 0, 0, 0, 0, -1);
      sub_E6F0(7555, 4, (int)&v92, (int)&v85);
      sub_B330(32003, (int)&v85, v1004B1DC, (int)&v95, a2, 0.0, 0);
      sub_B360(387, (int)&v85, a2 + 264, (int)&v98, 1, a2, -1, 0, 0, 0, 0, -1);
      sub_E6F0(7555, 7, (int)&v92, (int)&v85);
      sub_B330(32003, (int)&v85, v1004B1DC, (int)&v95, a2, 0.0, 0);
      sub_B360(387, (int)&v85, a2 + 264, (int)&v98, 1, a2, -1, 0, 0, 0, 0, -1);
      break;
    case 7556:
      v72 = (long double)(sub_24EE0(v3, a1) % 100) / v1004B214;
      v79 = v10049D9C;
      v80 = 0.0;
      v81 = 0.0;
      v82 = v1004B1B0;
      v83 = 0.0;
      v84 = 0.0;
      v73 = 1.0;
      v74 = 0.0;
      v75 = 1.0;
      v69 = 0.0;
      v70 = 0;
      v71 = 0;
      v76 = 0.0;
      v77 = 0;
      v78 = 0;
      sub_E6F0(7556, 9, (int)&v76, (int)&v69);
      sub_B330(32018, (int)&v69, v1004B1B8, (int)&v79, a2, 0.0, 0);
      sub_E6F0(7556, 12, (int)&v76, (int)&v69);
      sub_B330(32018, (int)&v69, v1004B1B8, (int)&v79, a2, 0.0, 0);
      sub_E6F0(7556, 3, (int)&v76, (int)&v69);
      sub_B3B0(32072, (int)&v69, a2 + 264, (int)&v82, 1, 1.0, 0);
      sub_E6F0(7556, 6, (int)&v76, (int)&v69);
      sub_B3B0(32072, (int)&v69, a2 + 264, (int)&v82, 1, 1.0, 0);
      sub_E6F0(7556, 9, (int)&v76, (int)&v69);
      sub_B3B0(32072, (int)&v69, a2 + 264, (int)&v82, 1, 1.0, 0);
      sub_E6F0(7556, 12, (int)&v76, (int)&v69);
      sub_B3B0(32072, (int)&v69, a2 + 264, (int)&v82, 1, 1.0, 0);
      break;
    case 7557:
      v56 = (long double)(sub_24EE0(v3, a1) % 100) / v1004B214;
      v63 = v1004B1D8;
      v64 = v1004B1B0;
      v65 = v1004B1B0;
      v66 = 0.0;
      v67 = 0.0;
      v68 = v1004B1A8;
      v57 = v1004B1B0;
      v58 = v10049D9C;
      v59 = v1004B1A0;
      v53 = 0.0;
      v54 = 0;
      v55 = 0;
      v60 = 0.0;
      v61 = 0;
      v62 = 0;
      sub_E6F0(7557, 3, (int)&v60, (int)&v53);
      sub_B330(32131, (int)&v53, v1004B1DC, (int)&v66, a2, 0.0, 0);
      sub_B3B0(32057, (int)&v53, a2 + 264, (int)&v63, 5, v1004B210, 0);
      sub_E6F0(7557, 6, (int)&v60, (int)&v53);
      sub_B330(32131, (int)&v53, v1004B1DC, (int)&v66, a2, 0.0, 0);
      sub_B3B0(32057, (int)&v53, a2 + 264, (int)&v63, 5, v1004B210, 0);
      sub_E6F0(7557, 19, (int)&v60, (int)&v53);
      v51 = v1004B210 + v56;
      sub_B330(32003, (int)&v53, v51, (int)&v57, a2, 0.0, 0);
      sub_E6F0(7557, 20, (int)&v60, (int)&v53);
      v52 = v1004B210 + v56;
      sub_B330(32003, (int)&v53, v52, (int)&v57, a2, 0.0, 0);
      break;
  }
}
// 5720: using guessed type double __cdecl sub_5720(float);
// 100491AC: using guessed type int (__stdcall *)(_DWORD, _DWORD, _DWORD, _DWORD);


Golden Fenrir model load section on asm in main.exe: 1.08A+:

Code:
CPU Disasm
Address   Hex dump          Command                                  Comments
00634922    6A FF           PUSH -1
00634924    68 6CA39600     PUSH 0096A36C                            ; ASCII "fenril_gold"
00634929    68 78A39600     PUSH 0096A378                            ; ASCII "Data\Skill\"
0063492E    68 83010000     PUSH [B][COLOR=#ffd700]183                                     // THIS IS: 387 in decimal XD XD XD XD SOBIEH LOL!!![/COLOR][/B]
00634933    E8 F6FEFEFF     CALL 0062482E
00634938    83C4 10         ADD ESP,10

ASM Shiny01.jpg: for: Red Spirit Wings

Code:
CPU Disasm
Address   Hex dump          Command                                  Comments
006404E7    6A 00           PUSH 0
006404E9    6A 01           PUSH 1
006404EB    68 00290000     PUSH 2900
006404F0    68 01260000     PUSH 2601
006404F5    68 717D0000     PUSH 7D71                             // [B][COLOR=#ff0000] 32113[/COLOR][/B]
006404FA    68 F43D9700     PUSH 00973DF4                            ; ASCII "Effect\Shiny01.jpg"
006404FF    E8 DAE10D00     CALL 0071E6DE
00640504    83C4 18         ADD ESP,18
 
Last edited:
Joined
Oct 29, 2007
Messages
1,289
Reaction score
1,308
Some person have any other version of: Arieth Mu.dll of Arieth S5.dll, for use with other main.exe versions.. because.. 1.08C+ Unpacked not works links on internet.. and ollydbg not load complete this main.. so much trash bytes and another things, that make more difficult analyze this code..
 
Custom Title Activated
Loyal Member
Joined
Dec 5, 2009
Messages
2,657
Reaction score
1,178
I remember shagoon rz member, hosted arieth clients, mb its worth a try to pm him if he still have copy somewhere

arieth main wasnt packed at all, .dll & ah handled protection.

@mauka
You talk about ESET programmer, while he was learning programming, if you would compare code to his currents one, im sure u would change ur mind.

Everyone code looked s... at start, unless u read tons of book then check line by line if all is valid.

Have fun
 
Experienced Elementalist
Joined
Jul 29, 2012
Messages
286
Reaction score
265
i dont understand the attempt here...decompile and copy sobieh code?:glare:
 
Experienced Elementalist
Joined
Jul 29, 2012
Messages
286
Reaction score
265
I dont understand RZ.. Decompile and copy wz work?
sad true..but im dont understand also why code bot for dead game....

anyway,
here is adecompile of the dll under new version of IDA(better OUTPUT) :
 
Junior Spellweaver
Joined
Feb 13, 2013
Messages
193
Reaction score
70
sad true..but im dont understand also why code bot for dead game....

anyway,
here is adecompile of the dll under new version of IDA(better OUTPUT) :

Decompiling this was better. thank you
Now lack of Decompilation adapt the code to better be understood

Ex:

void __declspec(naked) gObjMainEffectEx(int aIndex, int iEffect)
{
....
}

@Mauro07 you have .bmd's for Wings AriethMu?
 
Last edited:
Back
Top