// File: /workspace/github_c_makefile_star2_O2/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 0x2d74
leaq 0xceac(%rip), %rsi      # 0x10e19
leaq 0xcea9(%rip), %rdx      # 0x10e1d
leaq 0x541(%rip), %rbx       # 0x44bc
xorl %edi, %edi
xorl %ecx, %ecx
movq %rbx, %r8
callq 0x2e46
leaq 0xcea2(%rip), %rsi      # 0x10e30
leaq 0xce9e(%rip), %rdx      # 0x10e33
xorl %edi, %edi
xorl %ecx, %ecx
movq %rbx, %r8
callq 0x2e46
leaq 0xcea5(%rip), %rsi      # 0x10e4d
leaq 0xcea4(%rip), %rdx      # 0x10e53
leaq 0x575(%rip), %r8        # 0x452b
xorl %edi, %edi
xorl %ecx, %ecx
callq 0x2e46
leaq 0xceb3(%rip), %rsi      # 0x10e79
leaq 0xceb2(%rip), %rdx      # 0x10e7f
leaq 0x6c9(%rip), %r8        # 0x469d
xorl %edi, %edi
xorl %ecx, %ecx
callq 0x2e46
leaq 0xc6ca(%rip), %rsi      # 0x106ae
leaq 0xceee(%rip), %rdx      # 0x10ed9
leaq 0x821(%rip), %r8        # 0x4813
xorl %edi, %edi
xorl %ecx, %ecx
callq 0x2e46
leaq 0xcf02(%rip), %rsi      # 0x10f04
leaq 0xceff(%rip), %rdx      # 0x10f08
leaq 0x899(%rip), %r8        # 0x48a9
pushq $0x1
popq %rbx
xorl %edi, %edi
movl %ebx, %ecx
callq 0x2e46
leaq 0xcf1c(%rip), %rsi      # 0x10f3f
leaq 0xcf1d(%rip), %rdx      # 0x10f47
leaq 0x902(%rip), %r8        # 0x4933
xorl %edi, %edi
movl %ebx, %ecx
callq 0x2e46
leaq 0xcf4a(%rip), %rsi      # 0x10f8b
leaq 0xcf4a(%rip), %rdx      # 0x10f92
leaq 0x9ca(%rip), %r8        # 0x4a19
xorl %edi, %edi
movl %ebx, %ecx
callq 0x2e46
leaq 0xcf6a(%rip), %rsi      # 0x10fc9
leaq 0xcf6b(%rip), %rdx      # 0x10fd1
leaq 0x9b6(%rip), %r8        # 0x4a23
xorl %edi, %edi
movl %ebx, %ecx
callq 0x2e46
leaq 0xcf7d(%rip), %rsi      # 0x10ffa
leaq 0xcf7c(%rip), %rdx      # 0x11000
leaq 0xa22(%rip), %r8        # 0x4aad
xorl %edi, %edi
movl %ebx, %ecx
callq 0x2e46
leaq 0xcfab(%rip), %rsi      # 0x11046
leaq 0xcfab(%rip), %rdx      # 0x1104d
leaq 0xbfb(%rip), %r8        # 0x4ca4
xorl %edi, %edi
movl %ebx, %ecx
callq 0x2e46
leaq 0xcfc7(%rip), %rsi      # 0x11080
leaq 0xcfc6(%rip), %rdx      # 0x11086
leaq 0xd91(%rip), %r8        # 0x4e58
xorl %edi, %edi
movl %ebx, %ecx
callq 0x2e46
leaq 0xcfe7(%rip), %rsi      # 0x110be
leaq 0xcfe5(%rip), %rdx      # 0x110c3
leaq 0xe97(%rip), %r8        # 0x4f7c
xorl %edi, %edi
movl %ebx, %ecx
callq 0x2e46
leaq 0xcff2(%rip), %rsi      # 0x110e7
leaq 0xcff2(%rip), %rdx      # 0x110ee
leaq 0xfcc(%rip), %r8        # 0x50cf
xorl %edi, %edi
movl %ebx, %ecx
callq 0x2e46
leaq 0xd010(%rip), %rsi      # 0x11123
leaq 0xd013(%rip), %rdx      # 0x1112d
leaq 0xfeb(%rip), %r8        # 0x510c
xorl %edi, %edi
movl %ebx, %ecx
callq 0x2e46
leaq 0xd02d(%rip), %rsi      # 0x1115e
leaq 0xd02e(%rip), %rdx      # 0x11166
leaq 0xfdc(%rip), %r8        # 0x511b
xorl %edi, %edi
movl %ebx, %ecx
callq 0x2e46
leaq 0xd03f(%rip), %rsi      # 0x1118e
leaq 0xd03f(%rip), %rdx      # 0x11195
leaq 0xfc9(%rip), %r8        # 0x5126
xorl %edi, %edi
movl %ebx, %ecx
callq 0x2e46
leaq 0xd094(%rip), %rsi      # 0x11201
leaq 0xd093(%rip), %rdx      # 0x11207
leaq 0x103f(%rip), %r8       # 0x51ba
xorl %edi, %edi
movl %ebx, %ecx
callq 0x2e46
leaq 0xd0a2(%rip), %rsi      # 0x1122d
leaq 0xd0a3(%rip), %rdx      # 0x11235
leaq 0x1178(%rip), %r8       # 0x5311
xorl %edi, %edi
movl %ebx, %ecx
callq 0x2e46
leaq 0xd0b8(%rip), %rsi      # 0x11261
leaq 0xd0b8(%rip), %rdx      # 0x11268
leaq 0x1165(%rip), %r8       # 0x531c
xorl %edi, %edi
movl %ebx, %ecx
callq 0x2e46
leaq 0xd0f4(%rip), %rsi      # 0x112bb
leaq 0xd0f3(%rip), %rdx      # 0x112c1
leaq 0x1205(%rip), %r8       # 0x53da
xorl %edi, %edi
movl %ebx, %ecx
callq 0x2e46
leaq 0xd112(%rip), %rsi      # 0x112f7
leaq 0xd111(%rip), %rdx      # 0x112fd
leaq 0x1210(%rip), %r8       # 0x5403
xorl %edi, %edi
movl %ebx, %ecx
callq 0x2e46
leaq 0xd139(%rip), %rsi      # 0x1133c
leaq 0xd137(%rip), %rdx      # 0x11341
leaq 0x122b(%rip), %r8       # 0x543c
xorl %edi, %edi
movl %ebx, %ecx
callq 0x2e46
leaq 0xd14f(%rip), %rsi      # 0x11370
leaq 0xd152(%rip), %rdx      # 0x1137a
leaq 0x136a(%rip), %r8       # 0x5599
xorl %edi, %edi
movl %ebx, %ecx
callq 0x2e46
leaq 0xd16b(%rip), %rsi      # 0x113aa
leaq 0xd16a(%rip), %rdx      # 0x113b0
leaq 0x135d(%rip), %r8       # 0x55aa
xorl %edi, %edi
movl %ebx, %ecx
callq 0x2e46
leaq 0xd173(%rip), %rsi      # 0x113d0
leaq 0xd174(%rip), %rdx      # 0x113d8
leaq 0x146a(%rip), %r8       # 0x56d5
xorl %edi, %edi
movl %ebx, %ecx
callq 0x2e46
leaq 0xd1af(%rip), %rsi      # 0x1142a
leaq 0xd1b3(%rip), %rdx      # 0x11435
leaq 0x14ec(%rip), %r8       # 0x5775
xorl %edi, %edi
movl %ebx, %ecx
callq 0x2e46
leaq 0xd1cd(%rip), %rsi      # 0x11466
leaq 0xd1cd(%rip), %rdx      # 0x1146d
leaq 0x14d6(%rip), %r8       # 0x577d
xorl %edi, %edi
movl %ebx, %ecx
callq 0x2e46
leaq 0xd1e4(%rip), %rsi      # 0x1149b
leaq 0xd1e5(%rip), %rdx      # 0x114a3
leaq 0x14c2(%rip), %r8       # 0x5787
xorl %edi, %edi
movl %ebx, %ecx
callq 0x2e46
leaq 0xd209(%rip), %rsi      # 0x114de
leaq 0xd209(%rip), %rdx      # 0x114e5
leaq 0x14ac(%rip), %r8       # 0x578f
xorl %edi, %edi
movl %ebx, %ecx
callq 0x2e46
leaq 0xd231(%rip), %rsi      # 0x11524
leaq 0xd230(%rip), %rdx      # 0x1152a
leaq 0x150b(%rip), %r8       # 0x580c
xorl %edi, %edi
movl %ebx, %ecx
callq 0x2e46
leaq 0xd267(%rip), %rsi      # 0x11578
leaq 0xd26b(%rip), %rdx      # 0x11583
leaq 0x14f9(%rip), %r8       # 0x5818
xorl %edi, %edi
movl %ebx, %ecx
callq 0x2e46
leaq 0xd2a1(%rip), %rsi      # 0x115d0
leaq 0xd2a2(%rip), %rdx      # 0x115d8
leaq 0x1710(%rip), %r8       # 0x5a4d
xorl %edi, %edi
movl %ebx, %ecx
callq 0x2e46
leaq 0xd2b5(%rip), %rsi      # 0x11602
leaq 0xd2b8(%rip), %rdx      # 0x1160c
leaq 0x174b(%rip), %r8       # 0x5aa6
xorl %edi, %edi
movl %ebx, %ecx
callq 0x2e46
leaq 0xd2c4(%rip), %rsi      # 0x1162f
leaq 0xd2c6(%rip), %rdx      # 0x11638
leaq 0x17c7(%rip), %r8       # 0x5b40
xorl %edi, %edi
movl %ebx, %ecx
callq 0x2e46
leaq 0xd2d2(%rip), %rsi      # 0x1165b
leaq 0xd2d7(%rip), %rdx      # 0x11667
leaq 0x17e7(%rip), %r8       # 0x5b7e
xorl %edi, %edi
movl %ebx, %ecx
callq 0x2e46
leaq 0xd2f6(%rip), %rsi      # 0x1169d
leaq 0xd2f8(%rip), %rdx      # 0x116a6
leaq 0x17d8(%rip), %r8       # 0x5b8d
xorl %edi, %edi
movl %ebx, %ecx
callq 0x2e46
leaq 0xd2fc(%rip), %rsi      # 0x116c1
leaq 0xd300(%rip), %rdx      # 0x116cc
leaq 0x18c6(%rip), %r8       # 0x5c99
pushq $0x3
popq %rbx
xorl %edi, %edi
movl %ebx, %ecx
callq 0x2e46
leaq 0xd30c(%rip), %rsi      # 0x116f2
leaq 0xd30c(%rip), %rdx      # 0x116f9
leaq 0x18aa(%rip), %r8       # 0x5c9e
xorl %edi, %edi
movl %ebx, %ecx
callq 0x2e46
leaq 0xd329(%rip), %rsi      # 0x1172d
leaq 0xd327(%rip), %rdx      # 0x11732
leaq 0x18bf(%rip), %r8       # 0x5cd1
xorl %edi, %edi
movl %ebx, %ecx
callq 0x2e46
leaq 0xd329(%rip), %rsi      # 0x1174b
leaq 0xd32a(%rip), %rdx      # 0x11753
leaq 0x193c(%rip), %r8       # 0x5d6c
xorl %edi, %edi
movl %ebx, %ecx
callq 0x2e46
leaq 0xd33e(%rip), %rsi      # 0x1177e
leaq 0xd33d(%rip), %rdx      # 0x11784
leaq 0x1a61(%rip), %r8       # 0x5eaf
xorl %edi, %edi
movl %ebx, %ecx
callq 0x2e46
leaq 0xd351(%rip), %rsi      # 0x117af
leaq 0xd353(%rip), %rdx      # 0x117b8
leaq 0x1ab7(%rip), %r8       # 0x5f23
xorl %edi, %edi
movl %ebx, %ecx
callq 0x2e46
leaq 0xd37f(%rip), %rsi      # 0x117fb
leaq 0xd37e(%rip), %rdx      # 0x11801
leaq 0x1bfc(%rip), %r8       # 0x6086
pushq $0x4
popq %rbx
xorl %edi, %edi
movl %ebx, %ecx
callq 0x2e46
leaq 0xd380(%rip), %rsi      # 0x1181d
leaq 0xd37f(%rip), %rdx      # 0x11823
leaq 0x1caa(%rip), %r8       # 0x6155
xorl %edi, %edi
movl %ebx, %ecx
callq 0x2e46
xorl %edi, %edi
popq %rbx
jmp 0x31c2