// File: /workspace/github_c_makefile_star2_O1/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 0x3a30
leaq 0xd0e8(%rip), %rsi      # 0x11e19
leaq 0xd0e5(%rip), %rdx      # 0x11e1d
leaq 0x5b0(%rip), %rbx       # 0x52ef
xorl %edi, %edi
xorl %ecx, %ecx
movq %rbx, %r8
callq 0x3b01
leaq 0xd0de(%rip), %rsi      # 0x11e30
leaq 0xd0da(%rip), %rdx      # 0x11e33
xorl %edi, %edi
xorl %ecx, %ecx
movq %rbx, %r8
callq 0x3b01
leaq 0xd0e1(%rip), %rsi      # 0x11e4d
leaq 0xd0e0(%rip), %rdx      # 0x11e53
leaq 0x5d5(%rip), %r8        # 0x534f
xorl %edi, %edi
xorl %ecx, %ecx
callq 0x3b01
leaq 0xd0ef(%rip), %rsi      # 0x11e79
leaq 0xd0ee(%rip), %rdx      # 0x11e7f
leaq 0x722(%rip), %r8        # 0x54ba
xorl %edi, %edi
xorl %ecx, %ecx
callq 0x3b01
leaq 0xc906(%rip), %rsi      # 0x116ae
leaq 0xd12a(%rip), %rdx      # 0x11ed9
leaq 0x875(%rip), %r8        # 0x562b
xorl %edi, %edi
xorl %ecx, %ecx
callq 0x3b01
leaq 0xd13e(%rip), %rsi      # 0x11f04
leaq 0xd13b(%rip), %rdx      # 0x11f08
leaq 0x8de(%rip), %r8        # 0x56b2
xorl %edi, %edi
movl $0x1, %ecx
callq 0x3b01
leaq 0xd158(%rip), %rsi      # 0x11f3f
leaq 0xd159(%rip), %rdx      # 0x11f47
leaq 0x938(%rip), %r8        # 0x572d
xorl %edi, %edi
movl $0x1, %ecx
callq 0x3b01
leaq 0xd183(%rip), %rsi      # 0x11f8b
leaq 0xd183(%rip), %rdx      # 0x11f92
leaq 0x9ee(%rip), %r8        # 0x5804
xorl %edi, %edi
movl $0x1, %ecx
callq 0x3b01
leaq 0xd1a0(%rip), %rsi      # 0x11fc9
leaq 0xd1a1(%rip), %rdx      # 0x11fd1
leaq 0x9d7(%rip), %r8        # 0x580e
xorl %edi, %edi
movl $0x1, %ecx
callq 0x3b01
leaq 0xd1b0(%rip), %rsi      # 0x11ffa
leaq 0xd1af(%rip), %rdx      # 0x12000
leaq 0xa31(%rip), %r8        # 0x5889
xorl %edi, %edi
movl $0x1, %ecx
callq 0x3b01
leaq 0xd1db(%rip), %rsi      # 0x12046
leaq 0xd1db(%rip), %rdx      # 0x1204d
leaq 0xbef(%rip), %r8        # 0x5a68
xorl %edi, %edi
movl $0x1, %ecx
callq 0x3b01
leaq 0xd1f4(%rip), %rsi      # 0x12080
leaq 0xd1f3(%rip), %rdx      # 0x12086
leaq 0xd75(%rip), %r8        # 0x5c0f
xorl %edi, %edi
movl $0x1, %ecx
callq 0x3b01
leaq 0xd211(%rip), %rsi      # 0x120be
leaq 0xd20f(%rip), %rdx      # 0x120c3
leaq 0xe7d(%rip), %r8        # 0x5d38
xorl %edi, %edi
movl $0x1, %ecx
callq 0x3b01
leaq 0xd219(%rip), %rsi      # 0x120e7
leaq 0xd219(%rip), %rdx      # 0x120ee
leaq 0xfa0(%rip), %r8        # 0x5e7c
xorl %edi, %edi
movl $0x1, %ecx
callq 0x3b01
leaq 0xd234(%rip), %rsi      # 0x12123
leaq 0xd237(%rip), %rdx      # 0x1212d
leaq 0xfbc(%rip), %r8        # 0x5eb9
xorl %edi, %edi
movl $0x1, %ecx
callq 0x3b01
leaq 0xd24e(%rip), %rsi      # 0x1215e
leaq 0xd24f(%rip), %rdx      # 0x12166
leaq 0xfac(%rip), %r8        # 0x5eca
xorl %edi, %edi
movl $0x1, %ecx
callq 0x3b01
leaq 0xd25d(%rip), %rsi      # 0x1218e
leaq 0xd25d(%rip), %rdx      # 0x12195
leaq 0xf98(%rip), %r8        # 0x5ed7
xorl %edi, %edi
movl $0x1, %ecx
callq 0x3b01
leaq 0xd2af(%rip), %rsi      # 0x12201
leaq 0xd2ae(%rip), %rdx      # 0x12207
leaq 0xffe(%rip), %r8        # 0x5f5e
xorl %edi, %edi
movl $0x1, %ecx
callq 0x3b01
leaq 0xd2ba(%rip), %rsi      # 0x1222d
leaq 0xd2bb(%rip), %rdx      # 0x12235
leaq 0x1127(%rip), %r8       # 0x60a8
xorl %edi, %edi
movl $0x1, %ecx
callq 0x3b01
leaq 0xd2cd(%rip), %rsi      # 0x12261
leaq 0xd2cd(%rip), %rdx      # 0x12268
leaq 0x1113(%rip), %r8       # 0x60b5
xorl %edi, %edi
movl $0x1, %ecx
callq 0x3b01
leaq 0xd306(%rip), %rsi      # 0x122bb
leaq 0xd305(%rip), %rdx      # 0x122c1
leaq 0x11a3(%rip), %r8       # 0x6166
xorl %edi, %edi
movl $0x1, %ecx
callq 0x3b01
leaq 0xd321(%rip), %rsi      # 0x122f7
leaq 0xd320(%rip), %rdx      # 0x122fd
leaq 0x11ab(%rip), %r8       # 0x618f
xorl %edi, %edi
movl $0x1, %ecx
callq 0x3b01
leaq 0xd345(%rip), %rsi      # 0x1233c
leaq 0xd343(%rip), %rdx      # 0x12341
leaq 0x11c3(%rip), %r8       # 0x61c8
xorl %edi, %edi
movl $0x1, %ecx
callq 0x3b01
leaq 0xd358(%rip), %rsi      # 0x12370
leaq 0xd35b(%rip), %rdx      # 0x1237a
leaq 0x12f0(%rip), %r8       # 0x6316
xorl %edi, %edi
movl $0x1, %ecx
callq 0x3b01
leaq 0xd371(%rip), %rsi      # 0x123aa
leaq 0xd370(%rip), %rdx      # 0x123b0
leaq 0x12e0(%rip), %r8       # 0x6327
xorl %edi, %edi
movl $0x1, %ecx
callq 0x3b01
leaq 0xd376(%rip), %rsi      # 0x123d0
leaq 0xd377(%rip), %rdx      # 0x123d8
leaq 0x1415(%rip), %r8       # 0x647d
xorl %edi, %edi
movl $0x1, %ecx
callq 0x3b01
leaq 0xd3af(%rip), %rsi      # 0x1242a
leaq 0xd3b3(%rip), %rdx      # 0x12435
leaq 0x149a(%rip), %r8       # 0x6523
xorl %edi, %edi
movl $0x1, %ecx
callq 0x3b01
leaq 0xd3ca(%rip), %rsi      # 0x12466
leaq 0xd3ca(%rip), %rdx      # 0x1246d
leaq 0x1481(%rip), %r8       # 0x652b
xorl %edi, %edi
movl $0x1, %ecx
callq 0x3b01
leaq 0xd3de(%rip), %rsi      # 0x1249b
leaq 0xd3df(%rip), %rdx      # 0x124a3
leaq 0x146a(%rip), %r8       # 0x6535
xorl %edi, %edi
movl $0x1, %ecx
callq 0x3b01
leaq 0xd400(%rip), %rsi      # 0x124de
leaq 0xd400(%rip), %rdx      # 0x124e5
leaq 0x1451(%rip), %r8       # 0x653d
xorl %edi, %edi
movl $0x1, %ecx
callq 0x3b01
leaq 0xd425(%rip), %rsi      # 0x12524
leaq 0xd424(%rip), %rdx      # 0x1252a
leaq 0x14ad(%rip), %r8       # 0x65ba
xorl %edi, %edi
movl $0x1, %ecx
callq 0x3b01
leaq 0xd458(%rip), %rsi      # 0x12578
leaq 0xd45c(%rip), %rdx      # 0x12583
leaq 0x1498(%rip), %r8       # 0x65c6
xorl %edi, %edi
movl $0x1, %ecx
callq 0x3b01
leaq 0xd48f(%rip), %rsi      # 0x125d0
leaq 0xd490(%rip), %rdx      # 0x125d8
leaq 0x1696(%rip), %r8       # 0x67e5
xorl %edi, %edi
movl $0x1, %ecx
callq 0x3b01
leaq 0xd4a0(%rip), %rsi      # 0x12602
leaq 0xd4a3(%rip), %rdx      # 0x1260c
leaq 0x16ce(%rip), %r8       # 0x683e
xorl %edi, %edi
movl $0x1, %ecx
callq 0x3b01
leaq 0xd4ac(%rip), %rsi      # 0x1262f
leaq 0xd4ae(%rip), %rdx      # 0x12638
leaq 0x1738(%rip), %r8       # 0x68c9
xorl %edi, %edi
movl $0x1, %ecx
callq 0x3b01
leaq 0xd4b7(%rip), %rsi      # 0x1265b
leaq 0xd4bc(%rip), %rdx      # 0x12667
leaq 0x1757(%rip), %r8       # 0x6909
xorl %edi, %edi
movl $0x1, %ecx
callq 0x3b01
leaq 0xd4d8(%rip), %rsi      # 0x1269d
leaq 0xd4da(%rip), %rdx      # 0x126a6
leaq 0x174a(%rip), %r8       # 0x691d
xorl %edi, %edi
movl $0x1, %ecx
callq 0x3b01
leaq 0xd4db(%rip), %rsi      # 0x126c1
leaq 0xd4df(%rip), %rdx      # 0x126cc
leaq 0x1826(%rip), %r8       # 0x6a1a
xorl %edi, %edi
movl $0x3, %ecx
callq 0x3b01
leaq 0xd4eb(%rip), %rsi      # 0x126f2
leaq 0xd4eb(%rip), %rdx      # 0x126f9
leaq 0x180a(%rip), %r8       # 0x6a1f
xorl %edi, %edi
movl $0x3, %ecx
callq 0x3b01
leaq 0xd505(%rip), %rsi      # 0x1272d
leaq 0xd503(%rip), %rdx      # 0x12732
leaq 0x181b(%rip), %r8       # 0x6a51
xorl %edi, %edi
movl $0x3, %ecx
callq 0x3b01
leaq 0xd502(%rip), %rsi      # 0x1274b
leaq 0xd503(%rip), %rdx      # 0x12753
leaq 0x1895(%rip), %r8       # 0x6aec
xorl %edi, %edi
movl $0x3, %ecx
callq 0x3b01
leaq 0xd514(%rip), %rsi      # 0x1277e
leaq 0xd513(%rip), %rdx      # 0x12784
leaq 0x19bb(%rip), %r8       # 0x6c33
xorl %edi, %edi
movl $0x3, %ecx
callq 0x3b01
leaq 0xd524(%rip), %rsi      # 0x127af
leaq 0xd526(%rip), %rdx      # 0x127b8
leaq 0x19ff(%rip), %r8       # 0x6c98
xorl %edi, %edi
movl $0x3, %ecx
callq 0x3b01
leaq 0xd54f(%rip), %rsi      # 0x127fb
leaq 0xd54e(%rip), %rdx      # 0x12801
leaq 0x1b32(%rip), %r8       # 0x6dec
xorl %edi, %edi
movl $0x4, %ecx
callq 0x3b01
leaq 0xd550(%rip), %rsi      # 0x1281d
leaq 0xd54f(%rip), %rdx      # 0x12823
leaq 0x1bd1(%rip), %r8       # 0x6eac
xorl %edi, %edi
movl $0x4, %ecx
callq 0x3b01
xorl %edi, %edi
popq %rbx
jmp 0x3e67