// File: /workspace/github_c_makefile_star2_O3/Ziddykins[P]Dawn/src/commands.c
// Function: init_cmds
void init_cmds() {
    init_global_cmd_sys();

    //AL_NOAUTH
    register_cmd(NULL, ";_;", "Crave crying I bet", AL_NOAUTH, cmd_cry);
    register_cmd(NULL, ";[", "Express your pure sadness", AL_NOAUTH, cmd_cry);
    register_cmd(NULL, ";auth", "Authenticate your account to use Dawn", AL_NOAUTH, cmd_auth);
    register_cmd(NULL, ";help", "[command] | Prints general help or for a specific command | [] = optional, <> = necessary", AL_NOAUTH, cmd_help);
    register_cmd(NULL, ";new", "Create a new account for your current nick", AL_NOAUTH, cmd_new);

    //AL_USER
    register_cmd(NULL, ";ap", "Learn how many attribute points you have left to spend", AL_USER, cmd_ap);
    register_cmd(NULL, ";assign", "<str|def|int|mdef> <amount> | assign attribute points to your stats", AL_USER, cmd_assign);
    register_cmd(NULL, ";check", "Check whether there is a personal monster in this room", AL_USER, cmd_check);
    register_cmd(NULL, ";cheese", "Check how many wedges of cheese you have", AL_USER, cmd_cheese);
    register_cmd(NULL, ";cast", "<spell> [target] | cast a specified spell; spell may require a target", AL_USER, cmd_cast);
    register_cmd(NULL, ";drink", "<beer> Get some rest and drink some good cold beer", AL_USER, cmd_drink);
    register_cmd(NULL, ";drop", "<inventory slot> | Discard of an item in your inventory", AL_USER, cmd_drop);
//    register_cmd(NULL, ";dungeon", "Continue deeper into the dungeon", AL_USER, cmd_dungeon);
    register_cmd(NULL, ";eat", "<food> | Eat some food you fat shit", AL_USER, cmd_eat);
    register_cmd(NULL, ";equip", "<inventory slot> | Equip an item from your inventory", AL_USER, cmd_equip);
    register_cmd(NULL, ";equipall", "Equips all pieces of equipment in your inventory", AL_USER, cmd_equipall);
    register_cmd(NULL, ";gcheck", "Check whether there is a global monster", AL_USER, cmd_gcheck);
    register_cmd(NULL, ";ghunt", "Summons a global monster in to the room; if one exists it will need to be killed by attacks or ;gslay first", AL_USER, cmd_ghunt);
    register_cmd(NULL, ";give", "<user> <amount> Give a user some gold", AL_USER, cmd_give);
    register_cmd(NULL, ";gmelee", "Performs a melee attack on a global monster", AL_USER, cmd_gmelee);
    register_cmd(NULL, ";gslay", "[gold amount] | Contribute to slaying a global monster or check how much is needed", AL_USER, cmd_gslay);
    register_cmd(NULL, ";hunt", "Hunt for a personal monster which only you can attack", AL_USER, cmd_hunt);
    register_cmd(NULL, ";info", "<inventory slot> | Ascertain info on an item in your inventory", AL_USER, cmd_info);
    register_cmd(NULL, ";inv", "Displays the items currently in your inventory", AL_USER, cmd_inv);
    /*register_cmd(NULL, ";locate", "<building> | Find out where a certain sight is located", AL_USER, cmd_locate); //DEPRECATEDi*/
    register_cmd(NULL, ";location", "Ascertain knowledge about your current location", AL_USER, cmd_location);
    register_cmd(NULL, ";make", "snow angels | Make snow angels!", AL_USER, cmd_make);
    register_cmd(NULL, ";market", "[buy|sell] [material] [amount] | Check what the prices are, buy or sell materials", AL_USER, cmd_market);
    register_cmd(NULL, ";materials", "Discover what materials you are a proud owner of", AL_USER, cmd_materials);
    register_cmd(NULL, ";melee", "Performs a melee attack on a personal monster", AL_USER, cmd_melee);
    register_cmd(NULL, ";revive", "Flourish once again after ya git rekt; must be at a shrine", AL_USER, cmd_revive);
    register_cmd(NULL, ";sheet", "[user] | Ascertain knowledge of your or another players' stats", AL_USER, cmd_sheet);
    register_cmd(NULL, ";slay", "<gold amount> | For a bit of gold you can have someone help you out in battle", AL_USER, cmd_slay);
    register_cmd(NULL, ";spellbook", "Displays which spells you have learned along with their level and experience", AL_USER, cmd_spellbook);
    register_cmd(NULL, ";travel", "<x>,<y> | Travel to a location on the map", AL_USER, cmd_travel);
    register_cmd(NULL, ";umbrella", "Throw up an umbrella for the rain!", AL_USER, cmd_umbrella);
    register_cmd(NULL, ";unequip", "<inventory slot> | Unequip an item", AL_USER, cmd_unequip);
    register_cmd(NULL, ";unequipall", "Uneqippes all pieces of equipment from your inventory", AL_USER, cmd_unequipall);
    register_cmd(NULL, ";weather", "Checks the current weather", AL_USER, cmd_weather);

    //AL_ADMIN
    register_cmd(NULL, ";fluctuate", "Forces the market prices to fluctuate", AL_ADMIN, cmd_fluctuate);
    register_cmd(NULL, ";fslay", "Force-slay the global monster currently in the room", AL_ADMIN, cmd_fslay);
    register_cmd(NULL, ";gib", "Cheat yourself some gold", AL_ADMIN, cmd_gib);
    register_cmd(NULL, ";givexp", "<user> <amount> | Give XP points to a user", AL_ADMIN, cmd_givexp);
    register_cmd(NULL, ";save", "Save the current state of the game to disk", AL_ADMIN, cmd_save);
    register_cmd(NULL, ";setauth", "Set a users authentication level. (noauth, user, reg, admin, root)", AL_ADMIN, cmd_setauth);

    //AL_ROOT
    register_cmd(NULL, ";stop", "Gracefully stops the server", AL_ROOT, cmd_stop);
    register_cmd(NULL, ";fdel", "Clear an inventory slot", AL_ROOT, cmd_fdel);

    finalize_cmd_sys(0);
}

// Assembly:
pushq %rbx
callq 0x3a24
leaq 0xd0c8(%rip), %rsi      # 0x11e51
leaq 0xd0c5(%rip), %rdx      # 0x11e55
leaq 0x5b0(%rip), %rbx       # 0x5347
xorl %edi, %edi
xorl %ecx, %ecx
movq %rbx, %r8
callq 0x3af5
leaq 0xd0be(%rip), %rsi      # 0x11e68
leaq 0xd0ba(%rip), %rdx      # 0x11e6b
xorl %edi, %edi
xorl %ecx, %ecx
movq %rbx, %r8
callq 0x3af5
leaq 0xd0c1(%rip), %rsi      # 0x11e85
leaq 0xd0c0(%rip), %rdx      # 0x11e8b
leaq 0x5d5(%rip), %r8        # 0x53a7
xorl %edi, %edi
xorl %ecx, %ecx
callq 0x3af5
leaq 0xd0cf(%rip), %rsi      # 0x11eb1
leaq 0xd0ce(%rip), %rdx      # 0x11eb7
leaq 0x722(%rip), %r8        # 0x5512
xorl %edi, %edi
xorl %ecx, %ecx
callq 0x3af5
leaq 0xc8e2(%rip), %rsi      # 0x116e2
leaq 0xd10a(%rip), %rdx      # 0x11f11
leaq 0x886(%rip), %r8        # 0x5694
xorl %edi, %edi
xorl %ecx, %ecx
callq 0x3af5
leaq 0xd11e(%rip), %rsi      # 0x11f3c
leaq 0xd11b(%rip), %rdx      # 0x11f40
leaq 0x8ef(%rip), %r8        # 0x571b
xorl %edi, %edi
movl $0x1, %ecx
callq 0x3af5
leaq 0xd138(%rip), %rsi      # 0x11f77
leaq 0xd139(%rip), %rdx      # 0x11f7f
leaq 0x949(%rip), %r8        # 0x5796
xorl %edi, %edi
movl $0x1, %ecx
callq 0x3af5
leaq 0xd163(%rip), %rsi      # 0x11fc3
leaq 0xd163(%rip), %rdx      # 0x11fca
leaq 0x9ff(%rip), %r8        # 0x586d
xorl %edi, %edi
movl $0x1, %ecx
callq 0x3af5
leaq 0xd180(%rip), %rsi      # 0x12001
leaq 0xd181(%rip), %rdx      # 0x12009
leaq 0x9e8(%rip), %r8        # 0x5877
xorl %edi, %edi
movl $0x1, %ecx
callq 0x3af5
leaq 0xd190(%rip), %rsi      # 0x12032
leaq 0xd18f(%rip), %rdx      # 0x12038
leaq 0xa42(%rip), %r8        # 0x58f2
xorl %edi, %edi
movl $0x1, %ecx
callq 0x3af5
leaq 0xd1bb(%rip), %rsi      # 0x1207e
leaq 0xd1bb(%rip), %rdx      # 0x12085
leaq 0xc00(%rip), %r8        # 0x5ad1
xorl %edi, %edi
movl $0x1, %ecx
callq 0x3af5
leaq 0xd1d4(%rip), %rsi      # 0x120b8
leaq 0xd1d3(%rip), %rdx      # 0x120be
leaq 0xd86(%rip), %r8        # 0x5c78
xorl %edi, %edi
movl $0x1, %ecx
callq 0x3af5
leaq 0xd1f1(%rip), %rsi      # 0x120f6
leaq 0xd1ef(%rip), %rdx      # 0x120fb
leaq 0xe91(%rip), %r8        # 0x5da4
xorl %edi, %edi
movl $0x1, %ecx
callq 0x3af5
leaq 0xd1f9(%rip), %rsi      # 0x1211f
leaq 0xd1f9(%rip), %rdx      # 0x12126
leaq 0xfb4(%rip), %r8        # 0x5ee8
xorl %edi, %edi
movl $0x1, %ecx
callq 0x3af5
leaq 0xd214(%rip), %rsi      # 0x1215b
leaq 0xd217(%rip), %rdx      # 0x12165
leaq 0xfd0(%rip), %r8        # 0x5f25
xorl %edi, %edi
movl $0x1, %ecx
callq 0x3af5
leaq 0xd22e(%rip), %rsi      # 0x12196
leaq 0xd22f(%rip), %rdx      # 0x1219e
leaq 0xfc0(%rip), %r8        # 0x5f36
xorl %edi, %edi
movl $0x1, %ecx
callq 0x3af5
leaq 0xd23d(%rip), %rsi      # 0x121c6
leaq 0xd23d(%rip), %rdx      # 0x121cd
leaq 0xfac(%rip), %r8        # 0x5f43
xorl %edi, %edi
movl $0x1, %ecx
callq 0x3af5
leaq 0xd28f(%rip), %rsi      # 0x12239
leaq 0xd28e(%rip), %rdx      # 0x1223f
leaq 0x1012(%rip), %r8       # 0x5fca
xorl %edi, %edi
movl $0x1, %ecx
callq 0x3af5
leaq 0xd29a(%rip), %rsi      # 0x12265
leaq 0xd29b(%rip), %rdx      # 0x1226d
leaq 0x113b(%rip), %r8       # 0x6114
xorl %edi, %edi
movl $0x1, %ecx
callq 0x3af5
leaq 0xd2ad(%rip), %rsi      # 0x12299
leaq 0xd2ad(%rip), %rdx      # 0x122a0
leaq 0x1127(%rip), %r8       # 0x6121
xorl %edi, %edi
movl $0x1, %ecx
callq 0x3af5
leaq 0xd2e6(%rip), %rsi      # 0x122f3
leaq 0xd2e5(%rip), %rdx      # 0x122f9
leaq 0x11b7(%rip), %r8       # 0x61d2
xorl %edi, %edi
movl $0x1, %ecx
callq 0x3af5
leaq 0xd301(%rip), %rsi      # 0x1232f
leaq 0xd300(%rip), %rdx      # 0x12335
leaq 0x11bf(%rip), %r8       # 0x61fb
xorl %edi, %edi
movl $0x1, %ecx
callq 0x3af5
leaq 0xd325(%rip), %rsi      # 0x12374
leaq 0xd323(%rip), %rdx      # 0x12379
leaq 0x11d7(%rip), %r8       # 0x6234
xorl %edi, %edi
movl $0x1, %ecx
callq 0x3af5
leaq 0xd338(%rip), %rsi      # 0x123a8
leaq 0xd33b(%rip), %rdx      # 0x123b2
leaq 0x1304(%rip), %r8       # 0x6382
xorl %edi, %edi
movl $0x1, %ecx
callq 0x3af5
leaq 0xd351(%rip), %rsi      # 0x123e2
leaq 0xd350(%rip), %rdx      # 0x123e8
leaq 0x12f4(%rip), %r8       # 0x6393
xorl %edi, %edi
movl $0x1, %ecx
callq 0x3af5
leaq 0xd356(%rip), %rsi      # 0x12408
leaq 0xd357(%rip), %rdx      # 0x12410
leaq 0x1408(%rip), %r8       # 0x64c8
xorl %edi, %edi
movl $0x1, %ecx
callq 0x3af5
leaq 0xd38f(%rip), %rsi      # 0x12462
leaq 0xd393(%rip), %rdx      # 0x1246d
leaq 0x148d(%rip), %r8       # 0x656e
xorl %edi, %edi
movl $0x1, %ecx
callq 0x3af5
leaq 0xd3aa(%rip), %rsi      # 0x1249e
leaq 0xd3aa(%rip), %rdx      # 0x124a5
leaq 0x1474(%rip), %r8       # 0x6576
xorl %edi, %edi
movl $0x1, %ecx
callq 0x3af5
leaq 0xd3be(%rip), %rsi      # 0x124d3
leaq 0xd3bf(%rip), %rdx      # 0x124db
leaq 0x145d(%rip), %r8       # 0x6580
xorl %edi, %edi
movl $0x1, %ecx
callq 0x3af5
leaq 0xd3e0(%rip), %rsi      # 0x12516
leaq 0xd3e0(%rip), %rdx      # 0x1251d
leaq 0x1444(%rip), %r8       # 0x6588
xorl %edi, %edi
movl $0x1, %ecx
callq 0x3af5
leaq 0xd405(%rip), %rsi      # 0x1255c
leaq 0xd404(%rip), %rdx      # 0x12562
leaq 0x14a0(%rip), %r8       # 0x6605
xorl %edi, %edi
movl $0x1, %ecx
callq 0x3af5
leaq 0xd438(%rip), %rsi      # 0x125b0
leaq 0xd43c(%rip), %rdx      # 0x125bb
leaq 0x148b(%rip), %r8       # 0x6611
xorl %edi, %edi
movl $0x1, %ecx
callq 0x3af5
leaq 0xd46f(%rip), %rsi      # 0x12608
leaq 0xd470(%rip), %rdx      # 0x12610
leaq 0x169c(%rip), %r8       # 0x6843
xorl %edi, %edi
movl $0x1, %ecx
callq 0x3af5
leaq 0xd480(%rip), %rsi      # 0x1263a
leaq 0xd483(%rip), %rdx      # 0x12644
leaq 0x16d4(%rip), %r8       # 0x689c
xorl %edi, %edi
movl $0x1, %ecx
callq 0x3af5
leaq 0xd48c(%rip), %rsi      # 0x12667
leaq 0xd48e(%rip), %rdx      # 0x12670
leaq 0x173e(%rip), %r8       # 0x6927
xorl %edi, %edi
movl $0x1, %ecx
callq 0x3af5
leaq 0xd497(%rip), %rsi      # 0x12693
leaq 0xd49c(%rip), %rdx      # 0x1269f
leaq 0x175d(%rip), %r8       # 0x6967
xorl %edi, %edi
movl $0x1, %ecx
callq 0x3af5
leaq 0xd4b8(%rip), %rsi      # 0x126d5
leaq 0xd4ba(%rip), %rdx      # 0x126de
leaq 0x1750(%rip), %r8       # 0x697b
xorl %edi, %edi
movl $0x1, %ecx
callq 0x3af5
leaq 0xd4bb(%rip), %rsi      # 0x126f9
leaq 0xd4bf(%rip), %rdx      # 0x12704
leaq 0x182c(%rip), %r8       # 0x6a78
xorl %edi, %edi
movl $0x3, %ecx
callq 0x3af5
leaq 0xd4cb(%rip), %rsi      # 0x1272a
leaq 0xd4cb(%rip), %rdx      # 0x12731
leaq 0x1810(%rip), %r8       # 0x6a7d
xorl %edi, %edi
movl $0x3, %ecx
callq 0x3af5
leaq 0xd4e5(%rip), %rsi      # 0x12765
leaq 0xd4e3(%rip), %rdx      # 0x1276a
leaq 0x1821(%rip), %r8       # 0x6aaf
xorl %edi, %edi
movl $0x3, %ecx
callq 0x3af5
leaq 0xd4e2(%rip), %rsi      # 0x12783
leaq 0xd4e3(%rip), %rdx      # 0x1278b
leaq 0x189b(%rip), %r8       # 0x6b4a
xorl %edi, %edi
movl $0x3, %ecx
callq 0x3af5
leaq 0xd4f4(%rip), %rsi      # 0x127b6
leaq 0xd4f3(%rip), %rdx      # 0x127bc
leaq 0x19bd(%rip), %r8       # 0x6c8d
xorl %edi, %edi
movl $0x3, %ecx
callq 0x3af5
leaq 0xd504(%rip), %rsi      # 0x127e7
leaq 0xd506(%rip), %rdx      # 0x127f0
leaq 0x1a01(%rip), %r8       # 0x6cf2
xorl %edi, %edi
movl $0x3, %ecx
callq 0x3af5
leaq 0xd52f(%rip), %rsi      # 0x12833
leaq 0xd52e(%rip), %rdx      # 0x12839
leaq 0x1b34(%rip), %r8       # 0x6e46
xorl %edi, %edi
movl $0x4, %ecx
callq 0x3af5
leaq 0xd530(%rip), %rsi      # 0x12855
leaq 0xd52f(%rip), %rdx      # 0x1285b
leaq 0x1bd3(%rip), %r8       # 0x6f06
xorl %edi, %edi
movl $0x4, %ecx
callq 0x3af5
xorl %edi, %edi
popq %rbx
jmp 0x3e7d