// File: /workspace/github_c_makefile_star2_O2/Carton32[P]quectel-CM/mbim-cm.c
// Function: mbim_update_state
static int mbim_update_state(void) {
    int chages = 0;

    if (oldReadyState != ReadyState) {
        mbim_debug("SubscriberReadyState %s -> %s ", MBIMSubscriberReadyStateStr(oldReadyState), MBIMSubscriberReadyStateStr(ReadyState));
        oldReadyState = ReadyState; chages++;
    }
    if (oldRegisterState != RegisterState) {
        mbim_debug("RegisterState %s -> %s ", MBIMRegisterStateStr(oldRegisterState), MBIMRegisterStateStr(RegisterState));
        oldRegisterState = RegisterState; chages++;
    }
    if (oldPacketServiceState != PacketServiceState) {
        mbim_debug("PacketServiceState %s -> %s ", MBIMPacketServiceStateStr(oldPacketServiceState), MBIMPacketServiceStateStr(PacketServiceState));
        oldPacketServiceState = PacketServiceState; chages++;
    }
    if (oldActivationState != ActivationState) {
        mbim_debug("ActivationState %s -> %s ", MBIMActivationStateStr(oldActivationState), MBIMActivationStateStr(ActivationState));
        oldActivationState = ActivationState; chages++;
    }

    return chages;
}

// Assembly:
pushq %r15
pushq %r14
pushq %rbx
movl 0x1620b(%rip), %eax     # 0x2aef4
cmpl 0x16209(%rip), %eax     # 0x2aef8
je 0x14d90
movq 0x142bc(%rip), %rax     # 0x28fb8
movq (%rax), %rbx
callq 0xe343
movq %rax, %r14
movl 0x161e7(%rip), %edi     # 0x2aef4
callq 0x14c3e
movq %rax, %r15
movl 0x161dd(%rip), %edi     # 0x2aef8
callq 0x14c3e
leaq 0xb593(%rip), %rsi      # 0x202ba
movq %rbx, %rdi
movq %r14, %rdx
movq %r15, %rcx
movq %rax, %r8
xorl %eax, %eax
callq 0x52c0
leaq 0x14f67(%rip), %rax     # 0x29ca8
movq (%rax), %rbx
testq %rbx, %rbx
je 0x14d84
callq 0xe343
movq %rax, %r14
movl 0x1619d(%rip), %edi     # 0x2aef4
callq 0x14c3e
movq %rax, %r15
movl 0x16193(%rip), %edi     # 0x2aef8
callq 0x14c3e
leaq 0xb549(%rip), %rsi      # 0x202ba
movq %rbx, %rdi
movq %r14, %rdx
movq %r15, %rcx
movq %rax, %r8
xorl %eax, %eax
callq 0x52c0
movl 0x1616e(%rip), %eax     # 0x2aef8
movl %eax, 0x16164(%rip)     # 0x2aef4
movl 0x16166(%rip), %eax     # 0x2aefc
cmpl 0x16164(%rip), %eax     # 0x2af00
je 0x14e3d
movq 0x1420f(%rip), %rax     # 0x28fb8
movq (%rax), %rbx
callq 0xe343
movq %rax, %r14
movl 0x16142(%rip), %edi     # 0x2aefc
callq 0x14c8e
movq %rax, %r15
movl 0x16138(%rip), %edi     # 0x2af00
callq 0x14c8e
leaq 0xb50b(%rip), %rsi      # 0x202df
movq %rbx, %rdi
movq %r14, %rdx
movq %r15, %rcx
movq %rax, %r8
xorl %eax, %eax
callq 0x52c0
leaq 0x14eba(%rip), %rax     # 0x29ca8
movq (%rax), %rbx
testq %rbx, %rbx
je 0x14e31
callq 0xe343
movq %rax, %r14
movl 0x160f8(%rip), %edi     # 0x2aefc
callq 0x14c8e
movq %rax, %r15
movl 0x160ee(%rip), %edi     # 0x2af00
callq 0x14c8e
leaq 0xb4c1(%rip), %rsi      # 0x202df
movq %rbx, %rdi
movq %r14, %rdx
movq %r15, %rcx
movq %rax, %r8
xorl %eax, %eax
callq 0x52c0
movl 0x160c9(%rip), %eax     # 0x2af00
movl %eax, 0x160bf(%rip)     # 0x2aefc
movl 0x160c1(%rip), %eax     # 0x2af04
cmpl 0x160bf(%rip), %eax     # 0x2af08
je 0x14eea
movq 0x14162(%rip), %rax     # 0x28fb8
movq (%rax), %rbx
callq 0xe343
movq %rax, %r14
movl 0x1609d(%rip), %edi     # 0x2af04
callq 0x14bea
movq %rax, %r15
movl 0x16093(%rip), %edi     # 0x2af08
callq 0x14bea
leaq 0xb47c(%rip), %rsi      # 0x202fd
movq %rbx, %rdi
movq %r14, %rdx
movq %r15, %rcx
movq %rax, %r8
xorl %eax, %eax
callq 0x52c0
leaq 0x14e0d(%rip), %rax     # 0x29ca8
movq (%rax), %rbx
testq %rbx, %rbx
je 0x14ede
callq 0xe343
movq %rax, %r14
movl 0x16053(%rip), %edi     # 0x2af04
callq 0x14bea
movq %rax, %r15
movl 0x16049(%rip), %edi     # 0x2af08
callq 0x14bea
leaq 0xb432(%rip), %rsi      # 0x202fd
movq %rbx, %rdi
movq %r14, %rdx
movq %r15, %rcx
movq %rax, %r8
xorl %eax, %eax
callq 0x52c0
movl 0x16024(%rip), %eax     # 0x2af08
movl %eax, 0x1601a(%rip)     # 0x2af04
movl 0x1601c(%rip), %eax     # 0x2af0c
cmpl 0x1601a(%rip), %eax     # 0x2af10
je 0x14f97
movq 0x140b5(%rip), %rax     # 0x28fb8
movq (%rax), %rbx
callq 0xe343
movq %rax, %r14
movl 0x15ff8(%rip), %edi     # 0x2af0c
callq 0x14b70
movq %rax, %r15
movl 0x15fee(%rip), %edi     # 0x2af10
callq 0x14b70
leaq 0xb3f2(%rip), %rsi      # 0x20320
movq %rbx, %rdi
movq %r14, %rdx
movq %r15, %rcx
movq %rax, %r8
xorl %eax, %eax
callq 0x52c0
leaq 0x14d60(%rip), %rax     # 0x29ca8
movq (%rax), %rbx
testq %rbx, %rbx
je 0x14f8b
callq 0xe343
movq %rax, %r14
movl 0x15fae(%rip), %edi     # 0x2af0c
callq 0x14b70
movq %rax, %r15
movl 0x15fa4(%rip), %edi     # 0x2af10
callq 0x14b70
leaq 0xb3a8(%rip), %rsi      # 0x20320
movq %rbx, %rdi
movq %r14, %rdx
movq %r15, %rcx
movq %rax, %r8
xorl %eax, %eax
callq 0x52c0
movl 0x15f7f(%rip), %eax     # 0x2af10
movl %eax, 0x15f75(%rip)     # 0x2af0c
popq %rbx
popq %r14
popq %r15
retq