// File: /workspace/github_c_makefile_star2_O1/seuscq[P]rtk_hciattach/hciattach_rtk.c
// Function: h5_complete_rx_pkt
static void h5_complete_rx_pkt(rtk_hw_cfg_t * h5)
{
	int pass_up = 1;
	uint8_t *h5_hdr = NULL;

	h5_hdr = (uint8_t *) (h5->rx_skb->data);
	if (H5_HDR_RELIABLE(h5_hdr)) {
		RS_DBG("Received reliable seqno %u from card", h5->rxseq_txack);
		h5->rxseq_txack = H5_HDR_SEQ(h5_hdr) + 1;
		h5->rxseq_txack %= 8;
		h5->is_txack_req = 1;
	}

	h5->rxack = H5_HDR_ACK(h5_hdr);

	switch (H5_HDR_PKT_TYPE(h5_hdr)) {
	case HCI_ACLDATA_PKT:
	case HCI_EVENT_PKT:
	case HCI_SCODATA_PKT:
	case HCI_COMMAND_PKT:
	case H5_LINK_CTL_PKT:
		pass_up = 1;
		break;

	default:
		pass_up = 0;
		break;
	}

	h5_remove_acked_pkt(h5);

	if (pass_up) {
		skb_pull(h5->rx_skb, H5_HDR_SIZE);
		hci_recv_frame(h5->rx_skb);
	} else {
		skb_free(h5->rx_skb);
	}

	h5->rx_state = H5_W4_PKT_DELIMITER;
	h5->rx_skb = NULL;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %rbx
pushq %rax
movq 0x750a(%rip), %rbx      # 0xf6f8
cmpb $0x0, 0x8(%rbx)
jns 0x8215
cmpb $0x0, 0x70e5(%rip)      # 0xf2e0
jne 0x852f
movb 0x8(%rbx), %al
incb %al
andb $0x7, %al
movb %al, 0x74d2(%rip)       # 0xf6e0
movb $0x1, 0x74ce(%rip)      # 0xf6e3
movb 0x8(%rbx), %al
shrb $0x3, %al
andb $0x7, %al
movb %al, 0x74be(%rip)       # 0xf6e1
movzbl 0x9(%rbx), %eax
andl $0xf, %eax
leal -0x1(%rax), %ecx
cmpl $0x4, %ecx
jb 0x823b
cmpl $0xf, %eax
jne 0x83f1
callq 0x8822
movq 0x74b1(%rip), %rsi      # 0xf6f8
movl 0x4(%rsi), %edx
addl $-0x4, %edx
movl %edx, 0x4(%rsi)
leaq 0x8(%rsi), %rdi
addq $0xc, %rsi
callq 0x21d0
movq 0x7494(%rip), %rbx      # 0xf6f8
movl 0x748a(%rip), %eax      # 0xf6f4
cmpq $0x3, %rax
ja 0x8614
leaq 0x1169(%rip), %rcx      # 0x93e4
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
cmpw $0x7e01, 0x8(%rbx)      # imm = 0x7E01
je 0x8427
cmpw $0x7d02, 0x8(%rbx)      # imm = 0x7D02
jne 0x8678
cmpb $0x0, 0x703d(%rip)      # 0xf2e0
jne 0x8719
movl $0x1, 0x7441(%rip)      # 0xf6f4
jmp 0x8678
cmpb $0xe, 0x8(%rbx)
jne 0x8643
leaq 0x8(%rbx), %r14
movl 0x4(%rbx), %edx
addl $-0x2, %edx
movl %edx, 0x4(%rbx)
leaq 0xa(%rbx), %rsi
movq %r14, %rdi
callq 0x21d0
movzwl 0x9(%rbx), %r15d
cmpb $0x0, 0x6ff9(%rip)      # 0xf2e0
jne 0x86a0
movl 0x4(%rbx), %edx
addl $-0x3, %edx
movl %edx, 0x4(%rbx)
leaq 0xb(%rbx), %rsi
movq %r14, %rdi
callq 0x21d0
cmpl $0xfc16, %r15d          # imm = 0xFC16
jle 0x84ac
cmpl $0xfc6d, %r15d          # imm = 0xFC6D
je 0x8539
cmpl $0xfc61, %r15d          # imm = 0xFC61
je 0x8575
cmpl $0xfc17, %r15d          # imm = 0xFC17
jne 0x8643
cmpb $0x0, 0x6fa3(%rip)      # 0xf2e0
jne 0x87b6
movq 0x73b6(%rip), %rdi      # 0xf700
callq 0x2030
movq $0x0, 0x73a6(%rip) # 0xf700
movl $0x3, 0x7390(%rip)      # 0xf6f4
jmp 0x863c
movzbl 0x8(%rbx), %ecx
cmpl $0xe, %ecx
jne 0x8402
movzbl 0xe(%rbx), %ecx
movl %ecx, 0x73b8(%rip)      # 0xf738
cmpb $0x0, 0x6f59(%rip)      # 0xf2e0
jne 0x86c7
movl 0x73a5(%rip), %eax      # 0xf738
testb %al, %al
jns 0x8678
andl $0xffffff7f, %eax       # imm = 0xFFFFFF7F
movl %eax, 0x7392(%rip)      # 0xf738
movl $0x4, 0x7344(%rip)      # 0xf6f4
jmp 0x8678
cmpw $0x7e01, 0x8(%rbx)      # imm = 0x7E01
je 0x8450
cmpw $0xfc03, 0x8(%rbx)      # imm = 0xFC03
je 0x847e
cmpw $0x7b04, 0x8(%rbx)      # imm = 0x7B04
movb 0x6f07(%rip), %al       # 0xf2e0
je 0x8518
testb %al, %al
je 0x866d
callq 0x3e00
jmp 0x866d
callq 0x8822
movq 0x72fb(%rip), %rdi      # 0xf6f8
jmp 0x867b
cmpb $0x0, 0x6ed7(%rip)      # 0xf2e0
jne 0x86eb
movq %rbx, %rdi
callq 0x2030
movl 0x7303(%rip), %edi      # 0xf720
callq 0x6a40
jmp 0x8680
cmpb $0x0, 0x6eb2(%rip)      # 0xf2e0
jne 0x870f
movl 0x72e6(%rip), %edi      # 0xf720
leaq 0x2d7f(%rip), %rsi      # 0xb1c0
movl $0x8, %edx
callq 0x2070
jmp 0x8678
movl 0x72ca(%rip), %edi      # 0xf720
leaq 0x2d63(%rip), %rsi      # 0xb1c0
movl $0x8, %edx
callq 0x2070
cmpb $0x0, 0x6e72(%rip)      # 0xf2e0
je 0x8678
callq 0x3e6c
jmp 0x8678
movl 0x729c(%rip), %edi      # 0xf720
leaq 0x2d3d(%rip), %rsi      # 0xb1c8
movl $0x8, %edx
callq 0x2070
cmpb $0x0, 0x6e44(%rip)      # 0xf2e0
je 0x8678
callq 0x3e48
jmp 0x8678
cmpl $0x1001, %r15d          # imm = 0x1001
je 0x85a6
cmpl $0x1009, %r15d          # imm = 0x1009
jne 0x8643
movzbl (%r14), %r14d
cmpb $0x0, 0x6e0f(%rip)      # 0xf2e0
jne 0x87c3
testl %r14d, %r14d
jne 0x863c
cmpb $0x0, 0x6df9(%rip)      # 0xf2e0
je 0x863c
movq 0x6b04(%rip), %rax      # 0xeff8
movq (%rax), %rdi
movl 0x9(%rbx), %ecx
movl 0xd(%rbx), %r8d
leaq 0x2208(%rip), %rsi      # 0xa70d
leaq 0x102d(%rip), %rdx      # 0x9539
xorl %eax, %eax
callq 0x2150
jmp 0x863c
testb %al, %al
jne 0x8723
movl $0x2, 0x71ca(%rip)      # 0xf6f4
jmp 0x8678
callq 0x3cec
jmp 0x8201
movl $0x2, 0x721d(%rip)      # 0xf760
movzbl (%r14), %r14d
cmpb $0x0, 0x6d92(%rip)      # 0xf2e0
jne 0x872d
cmpl $0x1, %r14d
je 0x861e
testl %r14d, %r14d
jne 0x8818
movb 0x9(%rbx), %al
movb %al, 0x719f(%rip)       # 0xf70f
jmp 0x8625
movl $0x2, 0x71e9(%rip)      # 0xf768
movzbl (%r14), %r14d
cmpb $0x0, 0x6d56(%rip)      # 0xf2e0
jne 0x8754
testl %r14d, %r14d
jne 0x877b
movb 0x9(%rbx), %al
andb $0xf, %al
movb %al, 0x7170(%rip)       # 0xf714
jmp 0x8625
movl $0x2, 0x71b4(%rip)      # 0xf764
movzbl (%r14), %r14d
cmpb $0x0, 0x6d25(%rip)      # 0xf2e0
jne 0x8785
testl %r14d, %r14d
jne 0x87ac
movzbl 0x9(%rbx), %ecx
movb %cl, 0x713a(%rip)       # 0xf70e
movzwl 0xa(%rbx), %eax
movw %ax, 0x712d(%rip)       # 0xf70c
movzwl 0xf(%rbx), %eax
movw %ax, 0x7120(%rip)       # 0xf70a
cmpb $0x0, 0x6cef(%rip)      # 0xf2e0
jne 0x87ea
cmpb $0x0, 0x6ce2(%rip)      # 0xf2e0
jne 0x880e
cmpb $0x0, 0x6cd5(%rip)      # 0xf2e0
je 0x8625
callq 0x3dae
jmp 0x8625
movq %rbx, %rdi
callq 0x3ed8
jmp 0x8680
movb $0x0, 0x70ea(%rip)      # 0xf70f
movq 0x70d4(%rip), %rdi      # 0xf700
callq 0x2030
movq $0x0, 0x70c4(%rip) # 0xf700
incw 0x70c5(%rip)            # 0xf708
movl 0x70d7(%rip), %edi      # 0xf720
callq 0x6a40
movl $0x2710, %edi           # imm = 0x2710
callq 0x22f0
movl 0x70c2(%rip), %edi      # 0xf720
callq 0x6a40
movl $0x2710, %edi           # imm = 0x2710
callq 0x22f0
movl 0x70ad(%rip), %edi      # 0xf720
callq 0x6a40
movq %rbx, %rdi
callq 0x2030
movl $0x0, 0x7062(%rip)      # 0xf6ec
movq $0x0, 0x7063(%rip) # 0xf6f8
addq $0x8, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
retq
movq 0x6951(%rip), %rax      # 0xeff8
movq (%rax), %rdi
leaq 0x1fdc(%rip), %rsi      # 0xa68d
leaq 0xe81(%rip), %rdx       # 0x9539
movl %r15d, %ecx
xorl %eax, %eax
callq 0x2150
jmp 0x82ed
movq 0x692a(%rip), %rax      # 0xeff8
movq (%rax), %rdi
leaq 0x1f6d(%rip), %rsi      # 0xa645
leaq 0xe5a(%rip), %rdx       # 0x9539
xorl %eax, %eax
callq 0x2150
jmp 0x838d
movq 0x6906(%rip), %rax      # 0xeff8
movq (%rax), %rdi
leaq 0x1f2f(%rip), %rsi      # 0xa62b
leaq 0xe36(%rip), %rdx       # 0x9539
xorl %eax, %eax
callq 0x2150
jmp 0x840f
callq 0x3eb4
jmp 0x8434
callq 0x3e90
jmp 0x82a9
callq 0x3e24
jmp 0x8520
movq 0x68c4(%rip), %rax      # 0xeff8
movq (%rax), %rdi
leaq 0x2097(%rip), %rsi      # 0xa7d5
leaq 0xdf4(%rip), %rdx       # 0x9539
movl %r14d, %ecx
xorl %eax, %eax
callq 0x2150
jmp 0x8554
movq 0x689d(%rip), %rax      # 0xeff8
movq (%rax), %rdi
leaq 0x20cf(%rip), %rsi      # 0xa834
leaq 0xdcd(%rip), %rdx       # 0x9539
movl %r14d, %ecx
xorl %eax, %eax
callq 0x2150
jmp 0x8590
callq 0x3d17
jmp 0x8625
movq 0x686c(%rip), %rax      # 0xeff8
movq (%rax), %rdi
leaq 0x1f8f(%rip), %rsi      # 0xa725
leaq 0xd9c(%rip), %rdx       # 0x9539
movl %r14d, %ecx
xorl %eax, %eax
callq 0x2150
jmp 0x85c1
callq 0x3d5f
jmp 0x8625
movq %r14, %rdi
callq 0x3dd9
jmp 0x8343
movq 0x682e(%rip), %rax      # 0xeff8
movq (%rax), %rdi
leaq 0x1f15(%rip), %rsi      # 0xa6e9
leaq 0xd5e(%rip), %rdx       # 0x9539
movl %r14d, %ecx
xorl %eax, %eax
callq 0x2150
jmp 0x84d7
movq 0x6807(%rip), %rax      # 0xeff8
movq (%rax), %rdi
leaq 0x1f5d(%rip), %rsi      # 0xa758
leaq 0xd37(%rip), %rdx       # 0x9539
xorl %eax, %eax
callq 0x2150
jmp 0x85f7
callq 0x3d83
jmp 0x8604
callq 0x3d3b
jmp 0x8625