// File: /workspace/github_c_makefile_star2_O0/qq-smart[P]qq_sh_server/app/qq_wifi_device.c
// Function: qq_wifi_device_close
static void
qq_wifi_device_close(qq_connection_t *c, qq_int_t reason)
{
    switch (reason) {
        case QQ_WIFI_DEVICE_PKG_FAILED:
            c->send(c, QQ_JSON_PKG_PKG_FAILED_STR, QQ_JSON_PKG_PKG_FAILED_STR_SIZE);
            return;
        case QQ_WIFI_DEVICE_MD5_FAILED:
            c->send(c, QQ_JSON_PKG_MD5_FAILED_STR, QQ_JSON_PKG_MD5_FAILED_STR_SIZE);
            break;
        case QQ_WIFI_DEVICE_NOTHINGNESS:
            c->send(c, QQ_JSON_PKG_DEVICE_NOTHINGNESS_STR, QQ_JSON_PKG_DEVICE_NOTHINGNESS_STR_SIZE);
            break;
        case QQ_WIFI_DEVICE_NO_APP:
            c->send(c, QQ_JSON_PKG_NO_APP, QQ_JSON_PKG_NO_APP_SIZE);
            break;
        case QQ_WIFI_DEVICE_APP_OVERRANGING:
            c->send(c, QQ_JSON_PKG_APP_OVERRANGING, QQ_JSON_PKG_APP_OVERRANGING_SIZE);
            break;
        case QQ_WIFI_DEVICE_MAIN_APP_ERROR:
            c->send(c, QQ_JSON_PKG_MAIN_APP_ERROR, QQ_JSON_PKG_MAIN_APP_ERROR_SIZE);
            break;
        case QQ_WIFI_DEVICE_CONFLICT:
            c->send(c, QQ_JSON_PKG_DEVICE_CONFLICT_STR, QQ_JSON_PKG_DEVICE_CONFLICT_STR_SIZE);
            break;
        case QQ_WIFI_DEVICE_INSUFFICIENT_MEMORY:
            c->send(c, QQ_JSON_PKG_INSUFFICIENT_MEMORY, QQ_JSON_PKG_INSUFFICIENT_MEMORY_SIZE);
            break;
        case QQ_WIFI_DEVICE_CONNECTION_CLOSE:
            break;
        case QQ_WIFI_DEVICE_CONNECTION_ERROR:
            break;
        case QQ_WIFI_DEVICE_DISCONNECTION:
            break; 
    }

    qq_app_close_connection(c);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x10(%rbp), %rax
decq %rax
movq %rax, -0x18(%rbp)
subq $0xa, %rax
ja 0xe3b8
movq -0x18(%rbp), %rax
leaq 0x1ed8(%rip), %rcx      # 0x10198
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movq -0x8(%rbp), %rax
movq 0x30(%rax), %rax
movq -0x8(%rbp), %rdi
leaq 0x206e(%rip), %rsi      # 0x1034a
movl $0x24, %edx
callq *%rax
jmp 0xe3c1
movq -0x8(%rbp), %rax
movq 0x30(%rax), %rax
movq -0x8(%rbp), %rdi
leaq 0x2073(%rip), %rsi      # 0x1036e
movl $0x20, %edx
callq *%rax
jmp 0xe3b8
movq -0x8(%rbp), %rax
movq 0x30(%rax), %rax
movq -0x8(%rbp), %rdi
leaq 0x2074(%rip), %rsi      # 0x1038e
movl $0x28, %edx
callq *%rax
jmp 0xe3b8
movq -0x8(%rbp), %rax
movq 0x30(%rax), %rax
movq -0x8(%rbp), %rdi
leaq 0x207d(%rip), %rsi      # 0x103b6
movl $0x1c, %edx
callq *%rax
jmp 0xe3b8
movq -0x8(%rbp), %rax
movq 0x30(%rax), %rax
movq -0x8(%rbp), %rdi
leaq 0x207d(%rip), %rsi      # 0x103d2
movl $0x25, %edx
callq *%rax
jmp 0xe3b8
movq -0x8(%rbp), %rax
movq 0x30(%rax), %rax
movq -0x8(%rbp), %rdi
leaq 0x2086(%rip), %rsi      # 0x103f7
movl $0x24, %edx
callq *%rax
jmp 0xe3b8
movq -0x8(%rbp), %rax
movq 0x30(%rax), %rax
movq -0x8(%rbp), %rdi
leaq 0x208e(%rip), %rsi      # 0x1041b
movl $0x25, %edx
callq *%rax
jmp 0xe3b8
movq -0x8(%rbp), %rax
movq 0x30(%rax), %rax
movq -0x8(%rbp), %rdi
leaq 0x2097(%rip), %rsi      # 0x10440
movl $0x29, %edx
callq *%rax
jmp 0xe3b8
jmp 0xe3b8
jmp 0xe3b8
jmp 0xe3b8
movq -0x8(%rbp), %rdi
callq 0x2800
addq $0x20, %rsp
popq %rbp
retq
nopw (%rax,%rax)