//
// Generated By: dol2asm
// Translation Unit: d_a_ep
//

#include "rel/d/a/d_a_ep/d_a_ep.h"
#include "d/cc/d_cc_d.h"
#include "dol2asm.h"

//
// Types:
//

struct mDoLib_clipper {
    static u8 mClipper[92];
    static f32 mSystemFar;
};

struct fopAc_ac_c {
    /* 80018B64 */ fopAc_ac_c();
};

struct fopAcM_gc_c {
    /* 8001DCBC */ void gndCheck(cXyz const*);

    static u8 mGndCheck[84];
    static f32 mGroundY;
};

struct ep_hahen_s {
    /* 8046ACC0 */ ~ep_hahen_s();
    /* 8046AD44 */ ep_hahen_s();
};

struct ep_class {
    /* 8046AB2C */ ep_class();
};

struct daObj {
    /* 80037900 */ void HitSeStart(cXyz const*, int, dCcD_GObjInf const*, u32);
};

struct dSv_info_c {
    /* 80035200 */ void onSwitch(int, int);
    /* 800352B0 */ void offSwitch(int, int);
    /* 80035360 */ void isSwitch(int, int) const;
};

struct dKy_tevstr_c {};

struct J3DModelData {};

struct dScnKy_env_light_c {
    /* 801A37C4 */ void settingTevStruct(int, cXyz*, dKy_tevstr_c*);
    /* 801A4DA0 */ void setLightTevColorType_MAJI(J3DModelData*, dKy_tevstr_c*);
};

struct dRes_info_c {};

struct dRes_control_c {
    /* 8003C2EC */ void getRes(char const*, s32, dRes_info_c*, int);
};

struct dPa_levelEcallBack {};

struct csXyz {};

struct _GXColor {};

struct dPa_control_c {
    /* 8004CA90 */ void set(u8, u16, cXyz const*, dKy_tevstr_c const*, csXyz const*, cXyz const*,
                            u8, dPa_levelEcallBack*, s8, _GXColor const*, _GXColor const*,
                            cXyz const*, f32);
    /* 8004D4CC */ void set(u32, u8, u16, cXyz const*, dKy_tevstr_c const*, csXyz const*,
                            cXyz const*, u8, dPa_levelEcallBack*, s8, _GXColor const*,
                            _GXColor const*, cXyz const*, f32);
    /* 8004D1B8 */ void setSimple(u16, cXyz const*, dKy_tevstr_c const*, u8, _GXColor const&,
                                  _GXColor const&, int, f32);
};

struct dEvt_control_c {
    /* 80042468 */ void reset();
};

struct dEvent_manager_c {
    /* 800474BC */ void getEventData(s16);
    /* 80047514 */ void getEventIdx(char const*, u8, s32);
    /* 80047ADC */ void endCheckOld(char const*);
    /* 80047B1C */ void getMyStaffId(char const*, fopAc_ac_c*, int);
    /* 80047D4C */ void getIsAddvance(int);
    /* 80047E10 */ void getMyActIdx(int, char const* const*, int, int, int);
    /* 8004817C */ void cutEnd(int);
};

struct dDlst_shadowControl_c {
    static u8 mSimpleTexObj[32];
};

struct dCcU_AtInfo {};

struct dBgS_PolyPassChk {
    /* 80078E68 */ void SetObj();
};

struct dBgS_ObjGndChk_Spl {
    /* 800777B0 */ dBgS_ObjGndChk_Spl();
    /* 80077848 */ ~dBgS_ObjGndChk_Spl();
};

struct dBgS_ObjGndChk {
    /* 8046ADB0 */ ~dBgS_ObjGndChk();
};

struct dBgS_LinChk {
    /* 80077C68 */ dBgS_LinChk();
    /* 80077CDC */ ~dBgS_LinChk();
    /* 80077D64 */ void Set(cXyz const*, cXyz const*, fopAc_ac_c const*);
};

struct dBgS_GndChk {
    /* 8007757C */ dBgS_GndChk();
    /* 800775F0 */ ~dBgS_GndChk();
};

struct dAttention_c {
    /* 8007353C */ void LockonTarget(s32);
    /* 800737E4 */ void LockonTruth();
};

struct cCcS {
    /* 80264BA8 */ void Set(cCcD_Obj*);
};

struct cBgS_PolyInfo {};

struct cBgS_LinChk {};

struct cBgS_GndChk {
    /* 80267D28 */ void SetPos(cXyz const*);
};

struct cBgS {
    /* 800743B4 */ void LineCross(cBgS_LinChk*);
    /* 800744A0 */ void GroundCross(cBgS_GndChk*);
};

struct _GXTexObj {};

struct LIGHT_INFLUENCE {};

struct JMath {
    static u8 sincosTable_[65536];
};

struct J3DUClipper {
    /* 8027378C */ void calcViewFrustum();
};

struct J3DModel {};

//
// Forward References:
//

extern "C" static void hahen_draw__FP8ep_class();
extern "C" static void move_calc__FP8ep_classP10ep_hahen_s();
extern "C" static void hahen_normal__FP8ep_classP10ep_hahen_s();
extern "C" static void hahen_water__FP8ep_classP10ep_hahen_s();
extern "C" static void hahen_carry__FP8ep_classP10ep_hahen_s();
extern "C" static void hahen_cast__FP8ep_classP10ep_hahen_s();
extern "C" static void hahen_move__FP8ep_class();
extern "C" static void daEp_Draw__FP8ep_class();
extern "C" static void ep_switch_event_end__FP8ep_class();
extern "C" static void ep_switch_event_begin__FP8ep_class();
extern "C" static void ep_switch_event_move__FP8ep_class();
extern "C" static void ep_move__FP8ep_class();
extern "C" static void daEp_set_mtx__FP8ep_class();
extern "C" static void daEp_Execute__FP8ep_class();
extern "C" static bool daEp_IsDelete__FP8ep_class();
extern "C" static void daEp_Delete__FP8ep_class();
extern "C" static void daEp_CreateHeap__FP10fopAc_ac_c();
extern "C" static void daEp_CreateInit__FP10fopAc_ac_c();
extern "C" static void daEp_Create__FP10fopAc_ac_c();
extern "C" void __ct__8ep_classFv();
extern "C" void __dt__10ep_hahen_sFv();
extern "C" void __ct__10ep_hahen_sFv();
extern "C" void __dt__14dBgS_ObjGndChkFv();
extern "C" void __dt__8cM3dGSphFv();
extern "C" void __dt__8cM3dGCylFv();
extern "C" void __dt__8cM3dGAabFv();
extern "C" void __dt__10dCcD_GSttsFv();
extern "C" void __dt__10cCcD_GSttsFv();
extern "C" static void func_8046AFA4();
extern "C" static void func_8046AFAC();
extern "C" static void func_8046AFB4();
extern "C" extern char const* const d_a_ep__stringBase0;

//
// External References:
//

extern "C" void mDoMtx_XrotS__FPA4_fs();
extern "C" void mDoMtx_XrotM__FPA4_fs();
extern "C" void mDoMtx_YrotS__FPA4_fs();
extern "C" void mDoMtx_YrotM__FPA4_fs();
extern "C" void mDoMtx_ZrotM__FPA4_fs();
extern "C" void mDoExt_modelUpdateDL__FP8J3DModel();
extern "C" void mDoExt_J3DModel__create__FP12J3DModelDataUlUl();
extern "C" void __ct__10fopAc_ac_cFv();
extern "C" void fopAcM_delete__FP10fopAc_ac_c();
extern "C" void fopAcM_entrySolidHeap__FP10fopAc_ac_cPFP10fopAc_ac_c_iUl();
extern "C" void fopAcM_SetMin__FP10fopAc_ac_cfff();
extern "C" void fopAcM_SetMax__FP10fopAc_ac_cfff();
extern "C" void fopAcM_rollPlayerCrash__FPC10fopAc_ac_cfUlffif();
extern "C" void fopAcM_checkCullingBox__FPA4_fffffff();
extern "C" void fopAcM_orderOtherEvent__FP10fopAc_ac_cPCcUsUsUs();
extern "C" void fopAcM_effSmokeSet1__FPUlPUlPC4cXyzPC5csXyzfPC12dKy_tevstr_ci();
extern "C" void fopAcM_effHamonSet__FPUlPC4cXyzff();
extern "C" void gndCheck__11fopAcM_gc_cFPC4cXyz();
extern "C" void dComIfG_resLoad__FP30request_of_phase_process_classPCc();
extern "C" void dComIfG_resDelete__FP30request_of_phase_process_classPCc();
extern "C" void
dComIfGd_setShadow__FUlScP8J3DModelP4cXyzffffR13cBgS_PolyInfoP12dKy_tevstr_csfP9_GXTexObj();
extern "C" void onSwitch__10dSv_info_cFii();
extern "C" void offSwitch__10dSv_info_cFii();
extern "C" void isSwitch__10dSv_info_cCFii();
extern "C" void HitSeStart__5daObjFPC4cXyziPC12dCcD_GObjInfUl();
extern "C" void getRes__14dRes_control_cFPCclP11dRes_info_ci();
extern "C" void reset__14dEvt_control_cFv();
extern "C" void getEventData__16dEvent_manager_cFs();
extern "C" void getEventIdx__16dEvent_manager_cFPCcUcl();
extern "C" void endCheckOld__16dEvent_manager_cFPCc();
extern "C" void getMyStaffId__16dEvent_manager_cFPCcP10fopAc_ac_ci();
extern "C" void getIsAddvance__16dEvent_manager_cFi();
extern "C" void getMyActIdx__16dEvent_manager_cFiPCPCciii();
extern "C" void cutEnd__16dEvent_manager_cFi();
extern "C" void
set__13dPa_control_cFUcUsPC4cXyzPC12dKy_tevstr_cPC5csXyzPC4cXyzUcP18dPa_levelEcallBackScPC8_GXColorPC8_GXColorPC4cXyzf();
extern "C" void setSimple__13dPa_control_cFUsPC4cXyzPC12dKy_tevstr_cUcRC8_GXColorRC8_GXColorif();
extern "C" void
set__13dPa_control_cFUlUcUsPC4cXyzPC12dKy_tevstr_cPC5csXyzPC4cXyzUcP18dPa_levelEcallBackScPC8_GXColorPC8_GXColorPC4cXyzf();
extern "C" void LockonTarget__12dAttention_cFl();
extern "C" void LockonTruth__12dAttention_cFv();
extern "C" void LineCross__4cBgSFP11cBgS_LinChk();
extern "C" void GroundCross__4cBgSFP11cBgS_GndChk();
extern "C" void __ct__11dBgS_GndChkFv();
extern "C" void __dt__11dBgS_GndChkFv();
extern "C" void __ct__18dBgS_ObjGndChk_SplFv();
extern "C" void __dt__18dBgS_ObjGndChk_SplFv();
extern "C" void __ct__11dBgS_LinChkFv();
extern "C" void __dt__11dBgS_LinChkFv();
extern "C" void Set__11dBgS_LinChkFPC4cXyzPC4cXyzPC10fopAc_ac_c();
extern "C" void SetObj__16dBgS_PolyPassChkFv();
extern "C" void __ct__10dCcD_GSttsFv();
extern "C" void Init__9dCcD_SttsFiiP10fopAc_ac_c();
extern "C" void __ct__12dCcD_GObjInfFv();
extern "C" void ChkTgHit__12dCcD_GObjInfFv();
extern "C" void GetTgHitObj__12dCcD_GObjInfFv();
extern "C" void GetTgHitGObj__12dCcD_GObjInfFv();
extern "C" void Set__8dCcD_CylFRC11dCcD_SrcCyl();
extern "C" void Set__8dCcD_SphFRC11dCcD_SrcSph();
extern "C" void at_power_check__FP11dCcU_AtInfo();
extern "C" void settingTevStruct__18dScnKy_env_light_cFiP4cXyzP12dKy_tevstr_c();
extern "C" void setLightTevColorType_MAJI__18dScnKy_env_light_cFP12J3DModelDataP12dKy_tevstr_c();
extern "C" void dKy_plight_set__FP15LIGHT_INFLUENCE();
extern "C" void dKy_plight_cut__FP15LIGHT_INFLUENCE();
extern "C" void GetAc__8cCcD_ObjFv();
extern "C" void Set__4cCcSFP8cCcD_Obj();
extern "C" void __pl__4cXyzCFRC3Vec();
extern "C" void __mi__4cXyzCFRC3Vec();
extern "C" void __ml__4cXyzCFf();
extern "C" void cM_atan2s__Fff();
extern "C" void cM_rndF__Ff();
extern "C" void cM_rndFX__Ff();
extern "C" void SetPos__11cBgS_GndChkFPC4cXyz();
extern "C" void SetC__8cM3dGCylFRC4cXyz();
extern "C" void SetH__8cM3dGCylFf();
extern "C" void SetC__8cM3dGSphFRC4cXyz();
extern "C" void SetR__8cM3dGSphFf();
extern "C" void cLib_addCalc2__FPffff();
extern "C" void cLib_addCalc0__FPfff();
extern "C" void cLib_addCalcAngleS2__FPssss();
extern "C" void MtxTrans__FfffUc();
extern "C" void MtxScale__FfffUc();
extern "C" void MtxPosition__FP4cXyzP4cXyz();
extern "C" void calcViewFrustum__11J3DUClipperFv();
extern "C" void seStart__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc();
extern "C" void __dl__FPv();
extern "C" void PSMTXCopy();
extern "C" void __construct_array();
extern "C" void _savegpr_22();
extern "C" void _savegpr_25();
extern "C" void _savegpr_26();
extern "C" void _savegpr_27();
extern "C" void _savegpr_28();
extern "C" void _savegpr_29();
extern "C" void _restgpr_22();
extern "C" void _restgpr_25();
extern "C" void _restgpr_26();
extern "C" void _restgpr_27();
extern "C" void _restgpr_28();
extern "C" void _restgpr_29();
extern "C" extern void* g_fopAc_Method[8];
extern "C" extern void* __vt__8dCcD_Sph[36];
extern "C" extern void* __vt__8dCcD_Cyl[36];
extern "C" extern void* __vt__9dCcD_Stts[11];
extern "C" extern void* __vt__12cCcD_SphAttr[25];
extern "C" extern void* __vt__12cCcD_CylAttr[25];
extern "C" extern void* __vt__14cCcD_ShapeAttr[22];
extern "C" extern void* __vt__9cCcD_Stts[8];
extern "C" u8 mClipper__14mDoLib_clipper[92];
extern "C" u8 mGndCheck__11fopAcM_gc_c[84];
extern "C" extern u8 g_dComIfG_gameInfo[122384];
extern "C" u8 mSimpleTexObj__21dDlst_shadowControl_c[32];
extern "C" extern u8 g_env_light[4880];
extern "C" u8 sincosTable___5JMath[65536];
extern "C" extern u32 g_whiteColor;
extern "C" extern void* calc_mtx[1 + 1 /* padding */];
extern "C" f32 mSystemFar__14mDoLib_clipper;
extern "C" f32 mGroundY__11fopAcM_gc_c;
extern "C" extern u8 pauseTimer__9dScnPly_c[4];
extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */];

//
// Declarations:
//

/* ############################################################################################## */
/* 8046AFC4-8046AFC8 000000 0004+00 9/9 0/0 0/0 .rodata          @3681 */
SECTION_RODATA static f32 const lit_3681 = 50.0f;
COMPILER_STRIP_GATE(0x8046AFC4, &lit_3681);

/* 8046AFC8-8046AFCC 000004 0004+00 0/3 0/0 0/0 .rodata          @3682 */
#pragma push
#pragma force_active on
SECTION_RODATA static f32 const lit_3682 = 200.0f;
COMPILER_STRIP_GATE(0x8046AFC8, &lit_3682);
#pragma pop

/* 8046AFCC-8046AFD0 000008 0004+00 2/10 0/0 0/0 .rodata          @3683 */
SECTION_RODATA static u8 const lit_3683[4] = {
    0x00,
    0x00,
    0x00,
    0x00,
};
COMPILER_STRIP_GATE(0x8046AFCC, &lit_3683);

/* 8046AFD0-8046AFD4 00000C 0004+00 1/8 0/0 0/0 .rodata          @3684 */
SECTION_RODATA static f32 const lit_3684 = 1.0f;
COMPILER_STRIP_GATE(0x8046AFD0, &lit_3684);

/* 804681F8-804682F8 000078 0100+00 1/1 0/0 0/0 .text            hahen_draw__FP8ep_class */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void hahen_draw(ep_class* param_0) {
    nofralloc
#include "asm/rel/d/a/d_a_ep/d_a_ep/hahen_draw__FP8ep_class.s"
}
#pragma pop

/* ############################################################################################## */
/* 8046AFD4-8046AFD8 000010 0004+00 0/2 0/0 0/0 .rodata          @3859 */
#pragma push
#pragma force_active on
SECTION_RODATA static f32 const lit_3859 = 5.0f;
COMPILER_STRIP_GATE(0x8046AFD4, &lit_3859);
#pragma pop

/* 8046AFD8-8046AFDC 000014 0004+00 0/1 0/0 0/0 .rodata          @3860 */
#pragma push
#pragma force_active on
SECTION_RODATA static f32 const lit_3860 = -90.0f;
COMPILER_STRIP_GATE(0x8046AFD8, &lit_3860);
#pragma pop

/* 8046AFDC-8046AFE0 000018 0004+00 0/1 0/0 0/0 .rodata          @3861 */
#pragma push
#pragma force_active on
SECTION_RODATA static f32 const lit_3861 = 100.0f;
COMPILER_STRIP_GATE(0x8046AFDC, &lit_3861);
#pragma pop

/* 8046AFE0-8046AFE4 00001C 0004+00 0/2 0/0 0/0 .rodata          @3862 */
#pragma push
#pragma force_active on
SECTION_RODATA static f32 const lit_3862 = 35.0f;
COMPILER_STRIP_GATE(0x8046AFE0, &lit_3862);
#pragma pop

/* 8046AFE4-8046AFE8 000020 0004+00 0/2 0/0 0/0 .rodata          @3863 */
#pragma push
#pragma force_active on
SECTION_RODATA static f32 const lit_3863 = 6.0f;
COMPILER_STRIP_GATE(0x8046AFE4, &lit_3863);
#pragma pop

/* 8046AFE8-8046AFEC 000024 0004+00 0/1 0/0 0/0 .rodata          @3864 */
#pragma push
#pragma force_active on
SECTION_RODATA static f32 const lit_3864 = -20.0f;
COMPILER_STRIP_GATE(0x8046AFE8, &lit_3864);
#pragma pop

/* 8046AFEC-8046AFF0 000028 0004+00 0/1 0/0 0/0 .rodata          @3865 */
#pragma push
#pragma force_active on
SECTION_RODATA static f32 const lit_3865 = -3.0f / 10.0f;
COMPILER_STRIP_GATE(0x8046AFEC, &lit_3865);
#pragma pop

/* 8046AFF0-8046AFF4 00002C 0004+00 0/1 0/0 0/0 .rodata          @3866 */
#pragma push
#pragma force_active on
SECTION_RODATA static f32 const lit_3866 = 17000.0f;
COMPILER_STRIP_GATE(0x8046AFF0, &lit_3866);
#pragma pop

/* 8046AFF4-8046AFF8 000030 0004+00 0/1 0/0 0/0 .rodata          @3867 */
#pragma push
#pragma force_active on
SECTION_RODATA static f32 const lit_3867 = 10000.0f;
COMPILER_STRIP_GATE(0x8046AFF4, &lit_3867);
#pragma pop

/* 8046AFF8-8046AFFC 000034 0004+00 0/3 0/0 0/0 .rodata          @3868 */
#pragma push
#pragma force_active on
SECTION_RODATA static f32 const lit_3868 = 0.5f;
COMPILER_STRIP_GATE(0x8046AFF8, &lit_3868);
#pragma pop

/* 8046AFFC-8046B000 000038 0004+00 1/6 0/0 0/0 .rodata          @3869 */
SECTION_RODATA static f32 const lit_3869 = -1.0f;
COMPILER_STRIP_GATE(0x8046AFFC, &lit_3869);

/* 8046B000-8046B004 00003C 0004+00 0/1 0/0 0/0 .rodata          @3870 */
#pragma push
#pragma force_active on
SECTION_RODATA static f32 const lit_3870 = -10.0f;
COMPILER_STRIP_GATE(0x8046B000, &lit_3870);
#pragma pop

/* 8046B004-8046B00C 000040 0008+00 0/3 0/0 0/0 .rodata          @3871 */
#pragma push
#pragma force_active on
SECTION_RODATA static u8 const lit_3871[8] = {
    0x3F, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
};
COMPILER_STRIP_GATE(0x8046B004, &lit_3871);
#pragma pop

/* 8046B00C-8046B014 000048 0008+00 0/3 0/0 0/0 .rodata          @3872 */
#pragma push
#pragma force_active on
SECTION_RODATA static u8 const lit_3872[8] = {
    0x40, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
};
COMPILER_STRIP_GATE(0x8046B00C, &lit_3872);
#pragma pop

/* 8046B014-8046B01C 000050 0008+00 0/3 0/0 0/0 .rodata          @3873 */
#pragma push
#pragma force_active on
SECTION_RODATA static u8 const lit_3873[8] = {
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
};
COMPILER_STRIP_GATE(0x8046B014, &lit_3873);
#pragma pop

/* 8046B01C-8046B020 000058 0004+00 0/2 0/0 0/0 .rodata          @3874 */
#pragma push
#pragma force_active on
SECTION_RODATA static f32 const lit_3874 = 1.0f / 100.0f;
COMPILER_STRIP_GATE(0x8046B01C, &lit_3874);
#pragma pop

/* 8046B020-8046B024 00005C 0004+00 0/1 0/0 0/0 .rodata          @3875 */
#pragma push
#pragma force_active on
SECTION_RODATA static f32 const lit_3875 = 11.0f / 10.0f;
COMPILER_STRIP_GATE(0x8046B020, &lit_3875);
#pragma pop

/* 8046B024-8046B028 000060 0004+00 0/1 0/0 0/0 .rodata          @3876 */
#pragma push
#pragma force_active on
SECTION_RODATA static f32 const lit_3876 = -0.5f;
COMPILER_STRIP_GATE(0x8046B024, &lit_3876);
#pragma pop

/* 8046B028-8046B02C 000064 0004+00 0/1 0/0 0/0 .rodata          @3877 */
#pragma push
#pragma force_active on
SECTION_RODATA static f32 const lit_3877 = 65536.0f;
COMPILER_STRIP_GATE(0x8046B028, &lit_3877);
#pragma pop

/* 8046B02C-8046B030 000068 0004+00 0/1 0/0 0/0 .rodata          @3878 */
#pragma push
#pragma force_active on
SECTION_RODATA static f32 const lit_3878 = 7.0f / 10.0f;
COMPILER_STRIP_GATE(0x8046B02C, &lit_3878);
#pragma pop

/* 8046B0F8-8046B104 000000 000C+00 2/2 0/0 0/0 .data            cNullVec__6Z2Calc */
SECTION_DATA static u8 cNullVec__6Z2Calc[12] = {
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
};

/* 8046B104-8046B118 00000C 0004+10 0/0 0/0 0/0 .data            @1787 */
#pragma push
#pragma force_active on
SECTION_DATA static u32 lit_1787[1 + 4 /* padding */] = {
    0x02000201,
    /* padding */
    0x40080000,
    0x00000000,
    0x3FE00000,
    0x00000000,
};
#pragma pop

/* 8046B118-8046B120 000020 0008+00 1/1 0/0 0/0 .data            w_eff_id$3717 */
SECTION_DATA static u8 w_eff_id[8] = {
    0x01, 0xB8, 0x01, 0xB9, 0x01, 0xBA, 0x01, 0xBB,
};

/* 804682F8-80468A70 000178 0778+00 2/2 0/0 0/0 .text            move_calc__FP8ep_classP10ep_hahen_s
 */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void move_calc(ep_class* param_0, ep_hahen_s* param_1) {
    nofralloc
#include "asm/rel/d/a/d_a_ep/d_a_ep/move_calc__FP8ep_classP10ep_hahen_s.s"
}
#pragma pop

/* 80468A70-80468A90 0008F0 0020+00 1/1 0/0 0/0 .text hahen_normal__FP8ep_classP10ep_hahen_s */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void hahen_normal(ep_class* param_0, ep_hahen_s* param_1) {
    nofralloc
#include "asm/rel/d/a/d_a_ep/d_a_ep/hahen_normal__FP8ep_classP10ep_hahen_s.s"
}
#pragma pop

/* ############################################################################################## */
/* 8046B030-8046B034 00006C 0004+00 0/1 0/0 0/0 .rodata          @3959 */
#pragma push
#pragma force_active on
SECTION_RODATA static f32 const lit_3959 = 60.0f;
COMPILER_STRIP_GATE(0x8046B030, &lit_3959);
#pragma pop

/* 8046B034-8046B038 000070 0004+00 0/3 0/0 0/0 .rodata          @3960 */
#pragma push
#pragma force_active on
SECTION_RODATA static f32 const lit_3960 = 3.0f;
COMPILER_STRIP_GATE(0x8046B034, &lit_3960);
#pragma pop

/* 8046B038-8046B03C 000074 0004+00 0/1 0/0 0/0 .rodata          @3961 */
#pragma push
#pragma force_active on
SECTION_RODATA static f32 const lit_3961 = 19.0f / 20.0f;
COMPILER_STRIP_GATE(0x8046B038, &lit_3961);
#pragma pop

/* 8046B03C-8046B040 000078 0004+00 0/1 0/0 0/0 .rodata          @3962 */
#pragma push
#pragma force_active on
SECTION_RODATA static f32 const lit_3962 = 2.0f;
COMPILER_STRIP_GATE(0x8046B03C, &lit_3962);
#pragma pop

/* 8046B040-8046B044 00007C 0004+00 0/2 0/0 0/0 .rodata          @3963 */
#pragma push
#pragma force_active on
SECTION_RODATA static f32 const lit_3963 = 1.0f / 20.0f;
COMPILER_STRIP_GATE(0x8046B040, &lit_3963);
#pragma pop

/* 80468A90-80468E50 000910 03C0+00 1/1 0/0 0/0 .text hahen_water__FP8ep_classP10ep_hahen_s */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void hahen_water(ep_class* param_0, ep_hahen_s* param_1) {
    nofralloc
#include "asm/rel/d/a/d_a_ep/d_a_ep/hahen_water__FP8ep_classP10ep_hahen_s.s"
}
#pragma pop

/* ############################################################################################## */
/* 8046B044-8046B048 000080 0004+00 0/1 0/0 0/0 .rodata          @4015 */
#pragma push
#pragma force_active on
SECTION_RODATA static f32 const lit_4015 = 80.0f;
COMPILER_STRIP_GATE(0x8046B044, &lit_4015);
#pragma pop

/* 8046B048-8046B04C 000084 0004+00 0/2 0/0 0/0 .rodata          @4016 */
#pragma push
#pragma force_active on
SECTION_RODATA static f32 const lit_4016 = 10.0f;
COMPILER_STRIP_GATE(0x8046B048, &lit_4016);
#pragma pop

/* 8046B04C-8046B050 000088 0004+00 0/3 0/0 0/0 .rodata          @4017 */
#pragma push
#pragma force_active on
SECTION_RODATA static f32 const lit_4017 = 70.0f;
COMPILER_STRIP_GATE(0x8046B04C, &lit_4017);
#pragma pop

/* 8046B050-8046B054 00008C 0004+00 0/4 0/0 0/0 .rodata          @4018 */
#pragma push
#pragma force_active on
SECTION_RODATA static f32 const lit_4018 = 30.0f;
COMPILER_STRIP_GATE(0x8046B050, &lit_4018);
#pragma pop

/* 80468E50-80469034 000CD0 01E4+00 1/1 0/0 0/0 .text hahen_carry__FP8ep_classP10ep_hahen_s */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void hahen_carry(ep_class* param_0, ep_hahen_s* param_1) {
    nofralloc
#include "asm/rel/d/a/d_a_ep/d_a_ep/hahen_carry__FP8ep_classP10ep_hahen_s.s"
}
#pragma pop

/* 80469034-804690F8 000EB4 00C4+00 1/1 0/0 0/0 .text hahen_cast__FP8ep_classP10ep_hahen_s */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void hahen_cast(ep_class* param_0, ep_hahen_s* param_1) {
    nofralloc
#include "asm/rel/d/a/d_a_ep/d_a_ep/hahen_cast__FP8ep_classP10ep_hahen_s.s"
}
#pragma pop

/* ############################################################################################## */
/* 8046B054-8046B058 000090 0004+00 0/3 0/0 0/0 .rodata          @4205 */
#pragma push
#pragma force_active on
SECTION_RODATA static f32 const lit_4205 = 20.0f;
COMPILER_STRIP_GATE(0x8046B054, &lit_4205);
#pragma pop

/* 804690F8-80469568 000F78 0470+00 1/1 0/0 0/0 .text            hahen_move__FP8ep_class */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void hahen_move(ep_class* param_0) {
    nofralloc
#include "asm/rel/d/a/d_a_ep/d_a_ep/hahen_move__FP8ep_class.s"
}
#pragma pop

/* 80469568-804695F8 0013E8 0090+00 1/0 0/0 0/0 .text            daEp_Draw__FP8ep_class */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void daEp_Draw(ep_class* param_0) {
    nofralloc
#include "asm/rel/d/a/d_a_ep/d_a_ep/daEp_Draw__FP8ep_class.s"
}
#pragma pop

/* ############################################################################################## */
/* 8046B0D0-8046B0D0 00010C 0000+00 0/0 0/0 0/0 .rodata          @stringBase0 */
#pragma push
#pragma force_active on
SECTION_DEAD static char const* const stringBase_8046B0D0 = "SHOKUDAI_SWITCH";
#pragma pop

/* 804695F8-80469658 001478 0060+00 2/2 0/0 0/0 .text            ep_switch_event_end__FP8ep_class */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void ep_switch_event_end(ep_class* param_0) {
    nofralloc
#include "asm/rel/d/a/d_a_ep/d_a_ep/ep_switch_event_end__FP8ep_class.s"
}
#pragma pop

/* ############################################################################################## */
/* 8046B0D0-8046B0D0 00010C 0000+00 0/0 0/0 0/0 .rodata          @stringBase0 */
#pragma push
#pragma force_active on
SECTION_DEAD static char const* const stringBase_8046B0E0 = "SHOKUDAI";
#pragma pop

/* 80469658-80469700 0014D8 00A8+00 1/1 0/0 0/0 .text            ep_switch_event_begin__FP8ep_class
 */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void ep_switch_event_begin(ep_class* param_0) {
    nofralloc
#include "asm/rel/d/a/d_a_ep/d_a_ep/ep_switch_event_begin__FP8ep_class.s"
}
#pragma pop

/* ############################################################################################## */
/* 8046B0D0-8046B0D0 00010C 0000+00 0/0 0/0 0/0 .rodata          @stringBase0 */
#pragma push
#pragma force_active on
SECTION_DEAD static char const* const stringBase_8046B0E9 = "WAIT";
SECTION_DEAD static char const* const stringBase_8046B0EE = "FIRE";
#pragma pop

/* 8046B120-8046B128 -00001 0008+00 1/1 0/0 0/0 .data            actions$4245 */
SECTION_DATA static void* actions[2] = {
    (void*)(((char*)&d_a_ep__stringBase0) + 0x19),
    (void*)(((char*)&d_a_ep__stringBase0) + 0x1E),
};

/* 80469700-804697F4 001580 00F4+00 1/1 0/0 0/0 .text            ep_switch_event_move__FP8ep_class
 */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void ep_switch_event_move(ep_class* param_0) {
    nofralloc
#include "asm/rel/d/a/d_a_ep/d_a_ep/ep_switch_event_move__FP8ep_class.s"
}
#pragma pop

/* ############################################################################################## */
/* 8046B058-8046B05C 000094 0004+00 0/2 0/0 0/0 .rodata          @4461 */
#pragma push
#pragma force_active on
SECTION_RODATA static f32 const lit_4461 = 15.0f;
COMPILER_STRIP_GATE(0x8046B058, &lit_4461);
#pragma pop

/* 8046B05C-8046B060 000098 0004+00 0/1 0/0 0/0 .rodata          @4462 */
#pragma push
#pragma force_active on
SECTION_RODATA static f32 const lit_4462 = 235.0f;
COMPILER_STRIP_GATE(0x8046B05C, &lit_4462);
#pragma pop

/* 8046B060-8046B064 00009C 0004+00 0/1 0/0 0/0 .rodata          @4463 */
#pragma push
#pragma force_active on
SECTION_RODATA static f32 const lit_4463 = -240.0f;
COMPILER_STRIP_GATE(0x8046B060, &lit_4463);
#pragma pop

/* 8046B064-8046B068 0000A0 0004+00 0/2 0/0 0/0 .rodata          @4464 */
#pragma push
#pragma force_active on
SECTION_RODATA static f32 const lit_4464 = 1.0f / 5.0f;
COMPILER_STRIP_GATE(0x8046B064, &lit_4464);
#pragma pop

/* 8046B068-8046B06C 0000A4 0004+00 0/1 0/0 0/0 .rodata          @4465 */
#pragma push
#pragma force_active on
SECTION_RODATA static f32 const lit_4465 = 1.0f / 10.0f;
COMPILER_STRIP_GATE(0x8046B068, &lit_4465);
#pragma pop

/* 8046B06C-8046B070 0000A8 0004+00 0/1 0/0 0/0 .rodata          @4466 */
#pragma push
#pragma force_active on
SECTION_RODATA static f32 const lit_4466 = 500.0f;
COMPILER_STRIP_GATE(0x8046B06C, &lit_4466);
#pragma pop

/* 8046B070-8046B074 0000AC 0004+00 0/2 0/0 0/0 .rodata          @4467 */
#pragma push
#pragma force_active on
SECTION_RODATA static f32 const lit_4467 = 4.0f;
COMPILER_STRIP_GATE(0x8046B070, &lit_4467);
#pragma pop

/* 8046B128-8046B12C 000030 0004+00 0/1 0/0 0/0 .data            l_particle_fire_A$4270 */
#pragma push
#pragma force_active on
SECTION_DATA static u8 l_particle_fire_A[4] = {
    0x01,
    0x00,
    0x81,
    0x10,
};
#pragma pop

/* 8046B12C-8046B130 000034 0004+00 0/1 0/0 0/0 .data            l_particle_fire_B$4271 */
#pragma push
#pragma force_active on
SECTION_DATA static u8 l_particle_fire_B[4] = {
    0x01,
    0x01,
    0x81,
    0x11,
};
#pragma pop

/* 8046B130-8046B134 000038 0004+00 0/1 0/0 0/0 .data            l_particle_kagerou$4272 */
#pragma push
#pragma force_active on
SECTION_DATA static u8 l_particle_kagerou[4] = {
    0x01,
    0x03,
    0x81,
    0x12,
};
#pragma pop

/* 804697F4-80469EDC 001674 06E8+00 1/1 0/0 0/0 .text            ep_move__FP8ep_class */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void ep_move(ep_class* param_0) {
    nofralloc
#include "asm/rel/d/a/d_a_ep/d_a_ep/ep_move__FP8ep_class.s"
}
#pragma pop

/* ############################################################################################## */
/* 8046B074-8046B078 0000B0 0004+00 0/1 0/0 0/0 .rodata          @4502 */
#pragma push
#pragma force_active on
SECTION_RODATA static f32 const lit_4502 = 140.0f;
COMPILER_STRIP_GATE(0x8046B074, &lit_4502);
#pragma pop

/* 8046B078-8046B07C 0000B4 0004+00 0/1 0/0 0/0 .rodata          @4503 */
#pragma push
#pragma force_active on
SECTION_RODATA static f32 const lit_4503 = 280.0f;
COMPILER_STRIP_GATE(0x8046B078, &lit_4503);
#pragma pop

/* 80469EDC-8046A0A8 001D5C 01CC+00 1/1 0/0 0/0 .text            daEp_set_mtx__FP8ep_class */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void daEp_set_mtx(ep_class* param_0) {
    nofralloc
#include "asm/rel/d/a/d_a_ep/d_a_ep/daEp_set_mtx__FP8ep_class.s"
}
#pragma pop

/* ############################################################################################## */
/* 8046B07C-8046B080 0000B8 0004+00 0/1 0/0 0/0 .rodata          @4627 */
#pragma push
#pragma force_active on
SECTION_RODATA static f32 const lit_4627 = 8000.0f;
COMPILER_STRIP_GATE(0x8046B07C, &lit_4627);
#pragma pop

/* 8046B080-8046B084 0000BC 0004+00 0/1 0/0 0/0 .rodata          @4628 */
#pragma push
#pragma force_active on
SECTION_RODATA static f32 const lit_4628 = -100.0f;
COMPILER_STRIP_GATE(0x8046B080, &lit_4628);
#pragma pop

/* 8046B084-8046B088 0000C0 0004+00 0/1 0/0 0/0 .rodata          @4629 */
#pragma push
#pragma force_active on
SECTION_RODATA static f32 const lit_4629 = -9.0f / 10.0f;
COMPILER_STRIP_GATE(0x8046B084, &lit_4629);
#pragma pop

/* 8046B088-8046B08C 0000C4 0004+00 0/1 0/0 0/0 .rodata          @4630 */
#pragma push
#pragma force_active on
SECTION_RODATA static f32 const lit_4630 = 1000000.0f;
COMPILER_STRIP_GATE(0x8046B088, &lit_4630);
#pragma pop

/* 8046B08C-8046B090 0000C8 0004+00 0/1 0/0 0/0 .rodata          @4631 */
#pragma push
#pragma force_active on
SECTION_RODATA static f32 const lit_4631 = -30.0f;
COMPILER_STRIP_GATE(0x8046B08C, &lit_4631);
#pragma pop

/* 8046B090-8046B094 0000CC 0004+00 0/1 0/0 0/0 .rodata          @4632 */
#pragma push
#pragma force_active on
SECTION_RODATA static f32 const lit_4632 = 180.0f;
COMPILER_STRIP_GATE(0x8046B090, &lit_4632);
#pragma pop

/* 8046B094-8046B098 0000D0 0004+00 0/1 0/0 0/0 .rodata          @4633 */
#pragma push
#pragma force_active on
SECTION_RODATA static f32 const lit_4633 = 8.0f;
COMPILER_STRIP_GATE(0x8046B094, &lit_4633);
#pragma pop

/* 8046B098-8046B09C 0000D4 0004+00 0/1 0/0 0/0 .rodata          @4634 */
#pragma push
#pragma force_active on
SECTION_RODATA static f32 const lit_4634 = 11.0f / 20.0f;
COMPILER_STRIP_GATE(0x8046B098, &lit_4634);
#pragma pop

/* 8046B09C-8046B0A0 0000D8 0004+00 0/1 0/0 0/0 .rodata          @4635 */
#pragma push
#pragma force_active on
SECTION_RODATA static f32 const lit_4635 = 0.75f;
COMPILER_STRIP_GATE(0x8046B09C, &lit_4635);
#pragma pop

/* 8046B0A0-8046B0A4 0000DC 0004+00 0/1 0/0 0/0 .rodata          @4636 */
#pragma push
#pragma force_active on
SECTION_RODATA static f32 const lit_4636 = 3.0f / 40.0f;
COMPILER_STRIP_GATE(0x8046B0A0, &lit_4636);
#pragma pop

/* 8046B0A4-8046B0A8 0000E0 0004+00 0/1 0/0 0/0 .rodata          @4637 */
#pragma push
#pragma force_active on
SECTION_RODATA static f32 const lit_4637 = 2.0f / 5.0f;
COMPILER_STRIP_GATE(0x8046B0A4, &lit_4637);
#pragma pop

/* 8046B0A8-8046B0AC 0000E4 0004+00 0/1 0/0 0/0 .rodata          @4638 */
#pragma push
#pragma force_active on
SECTION_RODATA static f32 const lit_4638 = 1.0f / 25.0f;
COMPILER_STRIP_GATE(0x8046B0A8, &lit_4638);
#pragma pop

/* 8046B0AC-8046B0B0 0000E8 0004+00 1/2 0/0 0/0 .rodata          @4639 */
SECTION_RODATA static f32 const lit_4639 = -160.0f;
COMPILER_STRIP_GATE(0x8046B0AC, &lit_4639);

/* 8046B0B0-8046B0B4 0000EC 0004+00 1/2 0/0 0/0 .rodata          @4640 */
SECTION_RODATA static f32 const lit_4640 = 160.0f;
COMPILER_STRIP_GATE(0x8046B0B0, &lit_4640);

/* 8046B0B4-8046B0B8 0000F0 0004+00 0/1 0/0 0/0 .rodata          @4641 */
#pragma push
#pragma force_active on
SECTION_RODATA static f32 const lit_4641 = 40.0f;
COMPILER_STRIP_GATE(0x8046B0B4, &lit_4641);
#pragma pop

/* 8046B0B8-8046B0BC 0000F4 0004+00 0/1 0/0 0/0 .rodata          @4642 */
#pragma push
#pragma force_active on
SECTION_RODATA static f32 const lit_4642 = 110.0f;
COMPILER_STRIP_GATE(0x8046B0B8, &lit_4642);
#pragma pop

/* 8046B0BC-8046B0C0 0000F8 0004+00 0/1 0/0 0/0 .rodata          @4643 */
#pragma push
#pragma force_active on
SECTION_RODATA static f32 const lit_4643 = 3000.0f;
COMPILER_STRIP_GATE(0x8046B0BC, &lit_4643);
#pragma pop

/* 8046B0C0-8046B0C4 0000FC 0004+00 0/1 0/0 0/0 .rodata          @4644 */
#pragma push
#pragma force_active on
SECTION_RODATA static f32 const lit_4644 = 1000.0f;
COMPILER_STRIP_GATE(0x8046B0C0, &lit_4644);
#pragma pop

/* 8046B0C4-8046B0C8 000100 0004+00 0/1 0/0 0/0 .rodata          @4645 */
#pragma push
#pragma force_active on
SECTION_RODATA static f32 const lit_4645 = 2000.0f;
COMPILER_STRIP_GATE(0x8046B0C4, &lit_4645);
#pragma pop

/* 8046B134-8046B13C 00003C 0006+02 1/1 0/0 0/0 .data            eff_name$4560 */
SECTION_DATA static u8 eff_name[6 + 2 /* padding */] = {
    0x83,
    0x40,
    0x83,
    0x41,
    0x83,
    0x42,
    /* padding */
    0x00,
    0x00,
};

/* 8046A0A8-8046A6D4 001F28 062C+00 1/0 0/0 0/0 .text            daEp_Execute__FP8ep_class */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void daEp_Execute(ep_class* param_0) {
    nofralloc
#include "asm/rel/d/a/d_a_ep/d_a_ep/daEp_Execute__FP8ep_class.s"
}
#pragma pop

/* 8046A6D4-8046A6DC 002554 0008+00 1/0 0/0 0/0 .text            daEp_IsDelete__FP8ep_class */
static bool daEp_IsDelete(ep_class* param_0) {
    return true;
}

/* ############################################################################################## */
/* 8046B0D0-8046B0D0 00010C 0000+00 0/0 0/0 0/0 .rodata          @stringBase0 */
#pragma push
#pragma force_active on
SECTION_DEAD static char const* const stringBase_8046B0F3 = "Ep";
#pragma pop

/* 8046A6DC-8046A724 00255C 0048+00 1/0 0/0 0/0 .text            daEp_Delete__FP8ep_class */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void daEp_Delete(ep_class* param_0) {
    nofralloc
#include "asm/rel/d/a/d_a_ep/d_a_ep/daEp_Delete__FP8ep_class.s"
}
#pragma pop

/* ############################################################################################## */
/* 8046B13C-8046B15C 000044 0020+00 1/1 0/0 0/0 .data            model_d */
SECTION_DATA static u8 model_d[32] = {
    0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x06,
    0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06,
};

/* 8046A724-8046A858 0025A4 0134+00 1/1 0/0 0/0 .text            daEp_CreateHeap__FP10fopAc_ac_c */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void daEp_CreateHeap(fopAc_ac_c* param_0) {
    nofralloc
#include "asm/rel/d/a/d_a_ep/d_a_ep/daEp_CreateHeap__FP10fopAc_ac_c.s"
}
#pragma pop

/* 8046A858-8046A8D4 0026D8 007C+00 1/1 0/0 0/0 .text            daEp_CreateInit__FP10fopAc_ac_c */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void daEp_CreateInit(fopAc_ac_c* param_0) {
    nofralloc
#include "asm/rel/d/a/d_a_ep/d_a_ep/daEp_CreateInit__FP10fopAc_ac_c.s"
}
#pragma pop

/* ############################################################################################## */
/* 8046B0C8-8046B0CC 000104 0004+00 0/1 0/0 0/0 .rodata          @4763 */
#pragma push
#pragma force_active on
SECTION_RODATA static f32 const lit_4763 = 240.0f;
COMPILER_STRIP_GATE(0x8046B0C8, &lit_4763);
#pragma pop

/* 8046B0CC-8046B0D0 000108 0004+00 0/1 0/0 0/0 .rodata          @4764 */
#pragma push
#pragma force_active on
SECTION_RODATA static f32 const lit_4764 = 255.0f;
COMPILER_STRIP_GATE(0x8046B0CC, &lit_4764);
#pragma pop

/* 8046B15C-8046B19C 000064 0040+00 0/1 0/0 0/0 .data            sph_src$4695 */
#pragma push
#pragma force_active on
static dCcD_SrcSph sph_src = {
    {
        {0x0, {{0x0, 0x0, 0x10}, {0x20, 0x11}, 0x0}}, // mObj
        {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjAt
        {dCcD_SE_NONE, 0x0, 0x0, 0x1, 0x0}, // mGObjTg
        {0x0}, // mGObjCo
    }, // mObjInf
    {
        {{0.0f, 0.0f, 0.0f}, 40.0f} // mSph
    } // mSphAttr
};
#pragma pop

/* 8046B19C-8046B1E0 0000A4 0044+00 0/1 0/0 0/0 .data            co_cyl_src$4702 */
#pragma push
#pragma force_active on
static dCcD_SrcCyl co_cyl_src = {
    {
        {0x0, {{0x0, 0x0, 0x0}, {0xd8fbfdbf, 0x1f}, 0x79}}, // mObj
        {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjAt
        {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x2}, // mGObjTg
        {0x0}, // mGObjCo
    }, // mObjInf
    {
        {0.0f, 0.0f, 0.0f}, // mCenter
        35.0f, // mRadius
        120.0f // mHeight
    } // mCyl
};
#pragma pop

/* 8046B1E0-8046B220 0000E8 0040+00 0/1 0/0 0/0 .data            at_sph_src$4710 */
#pragma push
#pragma force_active on
static dCcD_SrcSph at_sph_src = {
    {
        {0x0, {{AT_TYPE_THROW_OBJ, 0x0, 0x1f}, {0x0, 0x0}, 0x0}}, // mObj
        {dCcD_SE_THROW_OBJ, 0x1, 0x0, 0x0, 0x1}, // mGObjAt
        {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x2}, // mGObjTg
        {0x0}, // mGObjCo
    }, // mObjInf
    {
        {{0.0f, 0.0f, 0.0f}, 40.0f} // mSph
    } // mSphAttr
};
#pragma pop

/* 8046A8D4-8046AB2C 002754 0258+00 1/0 0/0 0/0 .text            daEp_Create__FP10fopAc_ac_c */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void daEp_Create(fopAc_ac_c* param_0) {
    nofralloc
#include "asm/rel/d/a/d_a_ep/d_a_ep/daEp_Create__FP10fopAc_ac_c.s"
}
#pragma pop

/* ############################################################################################## */
/* 8046B220-8046B240 -00001 0020+00 1/0 0/0 0/0 .data            l_daEp_Method */
SECTION_DATA static void* l_daEp_Method[8] = {
    (void*)daEp_Create__FP10fopAc_ac_c,
    (void*)daEp_Delete__FP8ep_class,
    (void*)daEp_Execute__FP8ep_class,
    (void*)daEp_IsDelete__FP8ep_class,
    (void*)daEp_Draw__FP8ep_class,
    (void*)NULL,
    (void*)NULL,
    (void*)NULL,
};

/* 8046B240-8046B270 -00001 0030+00 0/0 0/0 1/0 .data            g_profile_EP */
SECTION_DATA extern void* g_profile_EP[12] = {
    (void*)0xFFFFFFFD, (void*)0x0007FFFD,     (void*)0x01050000, (void*)&g_fpcLf_Method,
    (void*)0x00000E70, (void*)NULL,           (void*)NULL,       (void*)&g_fopAc_Method,
    (void*)0x02B30000, (void*)&l_daEp_Method, (void*)0x10244000, (void*)0x000E0000,
};

/* 8046B270-8046B27C 000178 000C+00 2/2 0/0 0/0 .data            __vt__10cCcD_GStts */
SECTION_DATA extern void* __vt__10cCcD_GStts[3] = {
    (void*)NULL /* RTTI */,
    (void*)NULL,
    (void*)__dt__10cCcD_GSttsFv,
};

/* 8046B27C-8046B288 000184 000C+00 1/1 0/0 0/0 .data            __vt__10dCcD_GStts */
SECTION_DATA extern void* __vt__10dCcD_GStts[3] = {
    (void*)NULL /* RTTI */,
    (void*)NULL,
    (void*)__dt__10dCcD_GSttsFv,
};

/* 8046B288-8046B2B8 000190 0030+00 3/3 0/0 0/0 .data            __vt__14dBgS_ObjGndChk */
SECTION_DATA extern void* __vt__14dBgS_ObjGndChk[12] = {
    (void*)NULL /* RTTI */,
    (void*)NULL,
    (void*)__dt__14dBgS_ObjGndChkFv,
    (void*)NULL,
    (void*)NULL,
    (void*)func_8046AFA4,
    (void*)NULL,
    (void*)NULL,
    (void*)func_8046AFB4,
    (void*)NULL,
    (void*)NULL,
    (void*)func_8046AFAC,
};

/* 8046B2B8-8046B2C4 0001C0 000C+00 2/2 0/0 0/0 .data            __vt__8cM3dGSph */
SECTION_DATA extern void* __vt__8cM3dGSph[3] = {
    (void*)NULL /* RTTI */,
    (void*)NULL,
    (void*)__dt__8cM3dGSphFv,
};

/* 8046B2C4-8046B2D0 0001CC 000C+00 2/2 0/0 0/0 .data            __vt__8cM3dGCyl */
SECTION_DATA extern void* __vt__8cM3dGCyl[3] = {
    (void*)NULL /* RTTI */,
    (void*)NULL,
    (void*)__dt__8cM3dGCylFv,
};

/* 8046B2D0-8046B2DC 0001D8 000C+00 2/2 0/0 0/0 .data            __vt__8cM3dGAab */
SECTION_DATA extern void* __vt__8cM3dGAab[3] = {
    (void*)NULL /* RTTI */,
    (void*)NULL,
    (void*)__dt__8cM3dGAabFv,
};

/* 8046AB2C-8046ACC0 0029AC 0194+00 1/1 0/0 0/0 .text            __ct__8ep_classFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm ep_class::ep_class() {
    nofralloc
#include "asm/rel/d/a/d_a_ep/d_a_ep/__ct__8ep_classFv.s"
}
#pragma pop

/* 8046ACC0-8046AD44 002B40 0084+00 1/1 0/0 0/0 .text            __dt__10ep_hahen_sFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm ep_hahen_s::~ep_hahen_s() {
    nofralloc
#include "asm/rel/d/a/d_a_ep/d_a_ep/__dt__10ep_hahen_sFv.s"
}
#pragma pop

/* 8046AD44-8046ADB0 002BC4 006C+00 1/1 0/0 0/0 .text            __ct__10ep_hahen_sFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm ep_hahen_s::ep_hahen_s() {
    nofralloc
#include "asm/rel/d/a/d_a_ep/d_a_ep/__ct__10ep_hahen_sFv.s"
}
#pragma pop

/* 8046ADB0-8046AE28 002C30 0078+00 4/3 0/0 0/0 .text            __dt__14dBgS_ObjGndChkFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm dBgS_ObjGndChk::~dBgS_ObjGndChk() {
    nofralloc
#include "asm/rel/d/a/d_a_ep/d_a_ep/__dt__14dBgS_ObjGndChkFv.s"
}
#pragma pop

/* 8046AE28-8046AE70 002CA8 0048+00 1/0 0/0 0/0 .text            __dt__8cM3dGSphFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
// asm cM3dGSph::~cM3dGSph() {
extern "C" asm void __dt__8cM3dGSphFv() {
    nofralloc
#include "asm/rel/d/a/d_a_ep/d_a_ep/__dt__8cM3dGSphFv.s"
}
#pragma pop

/* 8046AE70-8046AEB8 002CF0 0048+00 1/0 0/0 0/0 .text            __dt__8cM3dGCylFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
// asm cM3dGCyl::~cM3dGCyl() {
extern "C" asm void __dt__8cM3dGCylFv() {
    nofralloc
#include "asm/rel/d/a/d_a_ep/d_a_ep/__dt__8cM3dGCylFv.s"
}
#pragma pop

/* 8046AEB8-8046AF00 002D38 0048+00 1/0 0/0 0/0 .text            __dt__8cM3dGAabFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
// asm cM3dGAab::~cM3dGAab() {
extern "C" asm void __dt__8cM3dGAabFv() {
    nofralloc
#include "asm/rel/d/a/d_a_ep/d_a_ep/__dt__8cM3dGAabFv.s"
}
#pragma pop

/* 8046AF00-8046AF5C 002D80 005C+00 1/0 0/0 0/0 .text            __dt__10dCcD_GSttsFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
// asm dCcD_GStts::~dCcD_GStts() {
extern "C" asm void __dt__10dCcD_GSttsFv() {
    nofralloc
#include "asm/rel/d/a/d_a_ep/d_a_ep/__dt__10dCcD_GSttsFv.s"
}
#pragma pop

/* 8046AF5C-8046AFA4 002DDC 0048+00 1/0 0/0 0/0 .text            __dt__10cCcD_GSttsFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
// asm cCcD_GStts::~cCcD_GStts() {
extern "C" asm void __dt__10cCcD_GSttsFv() {
    nofralloc
#include "asm/rel/d/a/d_a_ep/d_a_ep/__dt__10cCcD_GSttsFv.s"
}
#pragma pop

/* 8046AFA4-8046AFAC 002E24 0008+00 1/0 0/0 0/0 .text            @20@__dt__14dBgS_ObjGndChkFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void func_8046AFA4() {
    nofralloc
#include "asm/rel/d/a/d_a_ep/d_a_ep/func_8046AFA4.s"
}
#pragma pop

/* 8046AFAC-8046AFB4 002E2C 0008+00 1/0 0/0 0/0 .text            @76@__dt__14dBgS_ObjGndChkFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void func_8046AFAC() {
    nofralloc
#include "asm/rel/d/a/d_a_ep/d_a_ep/func_8046AFAC.s"
}
#pragma pop

/* 8046AFB4-8046AFBC 002E34 0008+00 1/0 0/0 0/0 .text            @60@__dt__14dBgS_ObjGndChkFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void func_8046AFB4() {
    nofralloc
#include "asm/rel/d/a/d_a_ep/d_a_ep/func_8046AFB4.s"
}
#pragma pop

/* 8046B0D0-8046B0D0 00010C 0000+00 0/0 0/0 0/0 .rodata          @stringBase0 */
