// File: king1600[P]cordpp/src/dispatch.cc
// Function: cordpp::Gateway::dispatch(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, nlohmann::basic_json<std::map, std::vector, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, bool, long, unsigned long, double, std::allocator, nlohmann::adl_serializer> const&)
void Gateway::dispatch(const std::string &event, const Json &data) {
  std::cout << "[cordpp] Handling event: " << event << std::endl;

  if (event == "READY") {
    session_id = data["session_id"];
    
  } else if (event == "RESUMED") {

  } else if (event == "CHANNEL_CREATE") {
    
  } else if (event == "CHANNEL_UPDATE") {
    
  } else if (event == "CHANNEL_DELETE") {
    
  } else if (event == "CHANNEL_PINS_UPDATE") {
    
  } else if (event == "GUILD_CREATE") {
    
    
  } else if (event == "GUILD_UPDATE") {
    
  } else if (event == "GUILD_DELETE") {
    
  } else if (event == "GUILD_BAN_ADD") {
    
  } else if (event == "GUILD_BAN_REMOVE") {
    
  } else if (event == "GUILD_EMOJIS_UPDATE") {
    
  } else if (event == "GUILD_INTEGRATIONS_UPDATE") {
    
  } else if (event == "GUILD_MEMBER_ADD") {
    
  } else if (event == "GUILD_MEMBER_REMOVE") {
    
  } else if (event == "GUILD_MEMBER_UPDATE") {
    
  } else if (event == "GUILD_MEMBERS_CHUNK") {
    
  } else if (event == "GUILD_ROLE_CREATE") {
    
  } else if (event == "GUILD_ROLE_UPDATE") {
    
  } else if (event == "GUILD_ROLE_DELETE") {
    
  } else if (event == "MESSAGE_CREATE") {
    
  } else if (event == "MESSAGE_UPDATE") {
    
  } else if (event == "MESSAGE_DELETE") {
    
  } else if (event == "MESSAGE_DELETE_BULK") {
    
  } else if (event == "MESSAGE_REACTION_ADD") {
    
  } else if (event == "MESSAGE_REACTION_REMOVE") {
    
  } else if (event == "MESSAGE_REACTION_REMOVE_ALL") {
    
  } else if (event == "PRESENCE_UPDATE") {
    
  } else if (event == "USER_UPDATE") {
    
  } else if (event == "VOICE_STATE_UPDATE") {
    
  } else if (event == "VOICE_SERVER_UPDATE") {
    
  } else if (event == "WEBHOOKS_UPDATE") {
    
  }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x40, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x40(%rbp)
movq 0xbaf45(%rip), %rdi     # 0xdbf98
leaq 0x6f440(%rip), %rsi     # 0x9049a
callq 0xc7e0
movq %rax, %rdi
movq -0x10(%rbp), %rsi
callq 0xc460
movq %rax, %rdi
movq 0xbaf5b(%rip), %rsi     # 0xdbfd0
callq 0xcd30
movq -0x10(%rbp), %rdi
leaq 0x6f42f(%rip), %rsi     # 0x904b4
callq 0x21800
testb $0x1, %al
jne 0x21090
jmp 0x210cb
movq -0x18(%rbp), %rdi
leaq 0x6f41f(%rip), %rsi     # 0x904ba
callq 0x1f270
movq %rax, %rsi
leaq -0x38(%rbp), %rdi
callq 0x21830
movq -0x40(%rbp), %rdi
addq $0x50, %rdi
leaq -0x38(%rbp), %rsi
callq 0xc720
leaq -0x38(%rbp), %rdi
callq 0xcfb8
jmp 0x2143f
movq -0x10(%rbp), %rdi
leaq 0x6f3ef(%rip), %rsi     # 0x904c5
callq 0x21800
testb $0x1, %al
jne 0x210e1
jmp 0x210e6
jmp 0x2143d
movq -0x10(%rbp), %rdi
leaq 0x6f3dc(%rip), %rsi     # 0x904cd
callq 0x21800
testb $0x1, %al
jne 0x210fc
jmp 0x21101
jmp 0x2143b
movq -0x10(%rbp), %rdi
leaq 0x6f3d0(%rip), %rsi     # 0x904dc
callq 0x21800
testb $0x1, %al
jne 0x21117
jmp 0x2111c
jmp 0x21439
movq -0x10(%rbp), %rdi
leaq 0x6f3c4(%rip), %rsi     # 0x904eb
callq 0x21800
testb $0x1, %al
jne 0x21132
jmp 0x21137
jmp 0x21437
movq -0x10(%rbp), %rdi
leaq 0x6f3b8(%rip), %rsi     # 0x904fa
callq 0x21800
testb $0x1, %al
jne 0x2114d
jmp 0x21152
jmp 0x21435
movq -0x10(%rbp), %rdi
leaq 0x6f3b1(%rip), %rsi     # 0x9050e
callq 0x21800
testb $0x1, %al
jne 0x21168
jmp 0x2116d
jmp 0x21433
movq -0x10(%rbp), %rdi
leaq 0x6f3a3(%rip), %rsi     # 0x9051b
callq 0x21800
testb $0x1, %al
jne 0x21183
jmp 0x21188
jmp 0x21431
movq -0x10(%rbp), %rdi
leaq 0x6f395(%rip), %rsi     # 0x90528
callq 0x21800
testb $0x1, %al
jne 0x2119e
jmp 0x211a3
jmp 0x2142f
movq -0x10(%rbp), %rdi
leaq 0x6f387(%rip), %rsi     # 0x90535
callq 0x21800
testb $0x1, %al
jne 0x211b9
jmp 0x211be
jmp 0x2142d
movq -0x10(%rbp), %rdi
leaq 0x6f37a(%rip), %rsi     # 0x90543
callq 0x21800
testb $0x1, %al
jne 0x211d4
jmp 0x211d9
jmp 0x2142b
movq -0x10(%rbp), %rdi
leaq 0x6f370(%rip), %rsi     # 0x90554
callq 0x21800
testb $0x1, %al
jne 0x211ef
jmp 0x211f4
jmp 0x21429
movq -0x10(%rbp), %rdi
leaq 0x6f369(%rip), %rsi     # 0x90568
callq 0x21800
testb $0x1, %al
jne 0x2120a
jmp 0x2120f
jmp 0x21427
movq -0x10(%rbp), %rdi
leaq 0x6f368(%rip), %rsi     # 0x90582
callq 0x21800
testb $0x1, %al
jne 0x21225
jmp 0x2122a
jmp 0x21425
movq -0x10(%rbp), %rdi
leaq 0x6f35e(%rip), %rsi     # 0x90593
callq 0x21800
testb $0x1, %al
jne 0x21240
jmp 0x21245
jmp 0x21423
movq -0x10(%rbp), %rdi
leaq 0x6f357(%rip), %rsi     # 0x905a7
callq 0x21800
testb $0x1, %al
jne 0x2125b
jmp 0x21260
jmp 0x21421
movq -0x10(%rbp), %rdi
leaq 0x6f350(%rip), %rsi     # 0x905bb
callq 0x21800
testb $0x1, %al
jne 0x21276
jmp 0x2127b
jmp 0x2141f
movq -0x10(%rbp), %rdi
leaq 0x6f349(%rip), %rsi     # 0x905cf
callq 0x21800
testb $0x1, %al
jne 0x21291
jmp 0x21296
jmp 0x2141d
movq -0x10(%rbp), %rdi
leaq 0x6f340(%rip), %rsi     # 0x905e1
callq 0x21800
testb $0x1, %al
jne 0x212ac
jmp 0x212b1
jmp 0x2141b
movq -0x10(%rbp), %rdi
leaq 0x6f337(%rip), %rsi     # 0x905f3
callq 0x21800
testb $0x1, %al
jne 0x212c7
jmp 0x212cc
jmp 0x21419
movq -0x10(%rbp), %rdi
leaq 0x6f32e(%rip), %rsi     # 0x90605
callq 0x21800
testb $0x1, %al
jne 0x212e2
jmp 0x212e7
jmp 0x21417
movq -0x10(%rbp), %rdi
leaq 0x6f322(%rip), %rsi     # 0x90614
callq 0x21800
testb $0x1, %al
jne 0x212fd
jmp 0x21302
jmp 0x21415
movq -0x10(%rbp), %rdi
leaq 0x6f316(%rip), %rsi     # 0x90623
callq 0x21800
testb $0x1, %al
jne 0x21318
jmp 0x2131d
jmp 0x21413
movq -0x10(%rbp), %rdi
leaq 0x6f30a(%rip), %rsi     # 0x90632
callq 0x21800
testb $0x1, %al
jne 0x21333
jmp 0x21338
jmp 0x21411
movq -0x10(%rbp), %rdi
leaq 0x6f303(%rip), %rsi     # 0x90646
callq 0x21800
testb $0x1, %al
jne 0x2134e
jmp 0x21353
jmp 0x2140f
movq -0x10(%rbp), %rdi
leaq 0x6f2fd(%rip), %rsi     # 0x9065b
callq 0x21800
testb $0x1, %al
jne 0x21369
jmp 0x2136e
jmp 0x2140d
movq -0x10(%rbp), %rdi
leaq 0x6f2fa(%rip), %rsi     # 0x90673
callq 0x21800
testb $0x1, %al
jne 0x21384
jmp 0x21389
jmp 0x2140b
movq -0x10(%rbp), %rdi
leaq 0x6f2fb(%rip), %rsi     # 0x9068f
callq 0x21800
testb $0x1, %al
jne 0x2139f
jmp 0x213a1
jmp 0x21409
movq -0x10(%rbp), %rdi
leaq 0x6f2f3(%rip), %rsi     # 0x9069f
callq 0x21800
testb $0x1, %al
jne 0x213b7
jmp 0x213b9
jmp 0x21407
movq -0x10(%rbp), %rdi
leaq 0x6f2e7(%rip), %rsi     # 0x906ab
callq 0x21800
testb $0x1, %al
jne 0x213cf
jmp 0x213d1
jmp 0x21405
movq -0x10(%rbp), %rdi
leaq 0x6f2e2(%rip), %rsi     # 0x906be
callq 0x21800
testb $0x1, %al
jne 0x213e7
jmp 0x213e9
jmp 0x21403
movq -0x10(%rbp), %rdi
leaq 0x6f2de(%rip), %rsi     # 0x906d2
callq 0x21800
testb $0x1, %al
jne 0x213ff
jmp 0x21401
jmp 0x21401
jmp 0x21403
jmp 0x21405
jmp 0x21407
jmp 0x21409
jmp 0x2140b
jmp 0x2140d
jmp 0x2140f
jmp 0x21411
jmp 0x21413
jmp 0x21415
jmp 0x21417
jmp 0x21419
jmp 0x2141b
jmp 0x2141d
jmp 0x2141f
jmp 0x21421
jmp 0x21423
jmp 0x21425
jmp 0x21427
jmp 0x21429
jmp 0x2142b
jmp 0x2142d
jmp 0x2142f
jmp 0x21431
jmp 0x21433
jmp 0x21435
jmp 0x21437
jmp 0x21439
jmp 0x2143b
jmp 0x2143d
jmp 0x2143f
addq $0x40, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)