// File: /workspace/github_c_makefile_star2_O3/Carton32[P]quectel-CM/QMIThread.c
// Function: requestRegistrationState
static int requestRegistrationState(UCHAR *pPSAttachedState) {
    PQCQMIMSG pRequest;
    PQCQMIMSG pResponse;
    PQMUX_MSG pMUXMsg;
    int err;
    PQMINAS_CURRENT_PLMN_MSG pCurrentPlmn;
    PSERVING_SYSTEM pServingSystem;
    PQMINAS_DATA_CAP pDataCap;
    USHORT MobileCountryCode = 0;
    USHORT MobileNetworkCode = 0;
    const char *pDataCapStr = "UNKNOW";

    if (s_9x07) {
        return requestRegistrationState2(pPSAttachedState);
    }

    pRequest = ComposeQMUXMsg(QMUX_TYPE_NAS, QMINAS_GET_SERVING_SYSTEM_REQ, NULL, NULL);
    err = QmiThreadSendQMI(pRequest, &pResponse);
    qmi_rsp_check_and_return();

    pCurrentPlmn = (PQMINAS_CURRENT_PLMN_MSG)GetTLV(&pResponse->MUXMsg.QMUXMsgHdr, 0x12);
    if (pCurrentPlmn) {
        MobileCountryCode = le16_to_cpu(pCurrentPlmn->MobileCountryCode);
        MobileNetworkCode = le16_to_cpu(pCurrentPlmn->MobileNetworkCode);
    }

    *pPSAttachedState = 0;
    pServingSystem = (PSERVING_SYSTEM)GetTLV(&pResponse->MUXMsg.QMUXMsgHdr, 0x01);
    if (pServingSystem) {
    //Packet-switched domain attach state of the mobile.
    //0x00    PS_UNKNOWN ?Unknown or not applicable
    //0x01    PS_ATTACHED ?Attached
    //0x02    PS_DETACHED ?Detached
        *pPSAttachedState = pServingSystem->RegistrationState;
        if (pServingSystem->RegistrationState == 0x01) //0x01 ?C REGISTERED ?C Registered with a network
            *pPSAttachedState  = pServingSystem->PSAttachedState;
        else {
            //MobileCountryCode = MobileNetworkCode = 0;
            *pPSAttachedState  = 0x02;
        }
    }

    pDataCap = (PQMINAS_DATA_CAP)GetTLV(&pResponse->MUXMsg.QMUXMsgHdr, 0x11);
    if (pDataCap && pDataCap->DataCapListLen) {
        UCHAR *DataCap = &pDataCap->DataCap;
        if (pDataCap->DataCapListLen == 2) {
            if ((DataCap[0] == 0x06) && ((DataCap[1] == 0x08) || (DataCap[1] == 0x0A)))
                DataCap[0] = DataCap[1];
        }
        switch (DataCap[0]) {
             case 0x01: pDataCapStr = "GPRS"; break;
             case 0x02: pDataCapStr = "EDGE"; break;
             case 0x03: pDataCapStr = "HSDPA"; break;
             case 0x04: pDataCapStr = "HSUPA"; break;
             case 0x05: pDataCapStr = "UMTS"; break;
             case 0x06: pDataCapStr = "1XRTT"; break;
             case 0x07: pDataCapStr = "1XEVDO"; break;
             case 0x08: pDataCapStr = "1XEVDO_REVA"; break;
             case 0x09: pDataCapStr = "GPRS"; break;
             case 0x0A: pDataCapStr = "1XEVDO_REVB"; break;
             case 0x0B: pDataCapStr = "LTE"; break;
             case 0x0C: pDataCapStr = "HSDPA"; break;
             case 0x0D: pDataCapStr = "HSDPA"; break;
             default: pDataCapStr = "UNKNOW"; break;
        }
    }

    if (pServingSystem && pServingSystem->RegistrationState == 0x01 && pServingSystem->InUseRadioIF && pServingSystem->RadioIF == 0x09) {
        pDataCapStr = "TD-SCDMA";
    }

    s_is_cdma = 0;
    if (pServingSystem && pServingSystem->RegistrationState == 0x01 && pServingSystem->InUseRadioIF && (pServingSystem->RadioIF == 0x01 || pServingSystem->RadioIF == 0x02)) {
        USHORT cmda_mcc = 0, cdma_mnc = 0;
        s_is_cdma = 1;
        if(!requestGetHomeNetwork(&cmda_mcc, &cdma_mnc,NULL, NULL) && cmda_mcc) {
            quectel_convert_cdma_mcc_2_ascii_mcc(&MobileCountryCode, cmda_mcc);
            quectel_convert_cdma_mnc_2_ascii_mnc(&MobileNetworkCode, cdma_mnc);
        }
        if (1) {
            PQCQMUX_TLV pTLV = (PQCQMUX_TLV)GetTLV(&pResponse->MUXMsg.QMUXMsgHdr, 0x23);
            if (pTLV)
                s_hdr_personality = pTLV->Value;
            else
                s_hdr_personality = 0;
            if (s_hdr_personality == 2)
                pDataCapStr = "eHRPD";
        }
    }

    dbg_time("%s MCC: %d, MNC: %d, PS: %s, DataCap: %s", __func__,
        MobileCountryCode, MobileNetworkCode, (*pPSAttachedState == 1) ? "Attached" : "Detached" , pDataCapStr);

    free(pResponse);

    return 0;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x48, %rsp
movq %rdi, %rbx
movw $0x0, 0x22(%rsp)
cmpl $0x0, 0x1e47a(%rip)     # 0x2a2f8
je 0xbf30
movw $0x0, 0xe(%rsp)
movb $0x0, (%rbx)
movl $0x3, %edi
movl $0x4d, %esi
xorl %edx, %edx
xorl %ecx, %ecx
callq 0xd9a2
leaq 0x14c31(%rip), %rcx     # 0x20ad9
leaq 0x28(%rsp), %r14
movq %rax, %rdi
movq %r14, %rsi
movl $0x7530, %edx           # imm = 0x7530
callq 0xa273
movl %eax, %ebp
testl %eax, %eax
sets %al
movq (%r14), %r12
testq %r12, %r12
sete %cl
orb %al, %cl
cmpb $0x1, %cl
jne 0xbfe2
movq 0x1e0e1(%rip), %rax     # 0x29fc0
movq (%rax), %rbx
callq 0xea3b
leaq 0x14893(%rip), %rsi     # 0x20781
leaq 0x14be4(%rip), %rcx     # 0x20ad9
movq %rbx, %rdi
movq %rax, %rdx
movl %ebp, %r8d
xorl %eax, %eax
callq 0x52c0
leaq 0x1ed9c(%rip), %rax     # 0x2aca8
movq (%rax), %rbx
testq %rbx, %rbx
je 0xc153
callq 0xea3b
leaq 0x1485d(%rip), %rsi     # 0x20781
leaq 0x14bae(%rip), %rcx     # 0x20ad9
jmp 0xbfcd
movl $0x3, %edi
movl $0x24, %esi
xorl %edx, %edx
xorl %ecx, %ecx
callq 0xd9a2
leaq 0x14ae8(%rip), %rcx     # 0x20a32
leaq 0x28(%rsp), %r14
movq %rax, %rdi
movq %r14, %rsi
movl $0x7530, %edx           # imm = 0x7530
callq 0xa273
movl %eax, %ebp
testl %eax, %eax
sets %al
movq (%r14), %r12
testq %r12, %r12
sete %cl
orb %al, %cl
cmpb $0x1, %cl
jne 0xc092
movq 0x1e03f(%rip), %rax     # 0x29fc0
movq (%rax), %rbx
callq 0xea3b
leaq 0x147f1(%rip), %rsi     # 0x20781
leaq 0x14a9b(%rip), %rcx     # 0x20a32
movq %rbx, %rdi
movq %rax, %rdx
movl %ebp, %r8d
xorl %eax, %eax
callq 0x52c0
leaq 0x1ecfa(%rip), %rax     # 0x2aca8
movq (%rax), %rbx
testq %rbx, %rbx
je 0xc153
callq 0xea3b
leaq 0x147bb(%rip), %rsi     # 0x20781
leaq 0x14a65(%rip), %rcx     # 0x20a32
movq %rbx, %rdi
movq %rax, %rdx
movl %ebp, %r8d
xorl %eax, %eax
callq 0x52c0
jmp 0xc153
movzwl 0x10(%r12), %edi
callq 0xee73
testw %ax, %ax
jne 0xc006
movzwl 0x12(%r12), %edi
callq 0xee73
testw %ax, %ax
je 0xc164
movzwl 0x12(%r12), %edi
callq 0xee73
movl %eax, %ebx
movq 0x1dfa6(%rip), %rax     # 0x29fc0
movq (%rax), %r14
callq 0xea3b
movq %rax, %r15
movzwl 0x10(%r12), %edi
callq 0xee73
movzwl %ax, %r8d
movzwl %bx, %ebp
leaq 0x14755(%rip), %rsi     # 0x20793
leaq 0x14a94(%rip), %rcx     # 0x20ad9
movq %r14, %rdi
movq %r15, %rdx
movl %ebp, %r9d
xorl %eax, %eax
callq 0x52c0
leaq 0x1ec4c(%rip), %rax     # 0x2aca8
movq (%rax), %rbx
testq %rbx, %rbx
je 0xc149
callq 0xea3b
movq %rax, %r14
movzwl 0x10(%r12), %edi
callq 0xee73
movzwl %ax, %r8d
leaq 0x1470d(%rip), %rsi     # 0x20793
leaq 0x14a4c(%rip), %rcx     # 0x20ad9
jmp 0xc139
movzwl 0x10(%r12), %edi
callq 0xee73
testw %ax, %ax
jne 0xc0b6
movzwl 0x12(%r12), %edi
callq 0xee73
testw %ax, %ax
je 0xc554
movzwl 0x12(%r12), %edi
callq 0xee73
movl %eax, %ebx
movq 0x1def6(%rip), %rax     # 0x29fc0
movq (%rax), %r14
callq 0xea3b
movq %rax, %r15
movzwl 0x10(%r12), %edi
callq 0xee73
movzwl %ax, %r8d
movzwl %bx, %ebp
leaq 0x146a5(%rip), %rsi     # 0x20793
leaq 0x1493d(%rip), %rcx     # 0x20a32
movq %r14, %rdi
movq %r15, %rdx
movl %ebp, %r9d
xorl %eax, %eax
callq 0x52c0
leaq 0x1eb9c(%rip), %rax     # 0x2aca8
movq (%rax), %rbx
testq %rbx, %rbx
je 0xc149
callq 0xea3b
movq %rax, %r14
movzwl 0x10(%r12), %edi
callq 0xee73
movzwl %ax, %r8d
leaq 0x14661(%rip), %rsi     # 0x20793
leaq 0x148f9(%rip), %rcx     # 0x20a32
movq %rbx, %rdi
movq %r14, %rdx
movl %ebp, %r9d
xorl %eax, %eax
callq 0x52c0
movq 0x28(%rsp), %rdi
callq 0x5040
movl %ebp, %eax
addq $0x48, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movzwl 0xb(%r12), %edi
callq 0xee73
xorl %ecx, %ecx
movl %ecx, 0x1eabd(%rip)     # 0x2ac34
movl %ecx, 0x1eabb(%rip)     # 0x2ac38
testw %ax, %ax
je 0xc58e
movzwl %ax, %r15d
addq $0xd, %r12
leaq 0x14896(%rip), %rax     # 0x20a2b
movq %rax, 0x40(%rsp)
movb $0x1, 0x21(%rsp)
leaq 0x144e6(%rip), %r13     # 0x2068c
movl $0x0, 0x3c(%rsp)
movl $0x0, 0x34(%rsp)
movl $0x0, 0x38(%rsp)
xorl %r14d, %r14d
xorl %ebp, %ebp
movl $0x0, 0x10(%rsp)
movl $0x0, 0x1c(%rsp)
movzbl (%r12), %eax
leal -0x10(%rax), %ecx
cmpl $0x15, %ecx
ja 0xc211
movslq (%r13,%rcx,4), %rax
addq %r13, %rax
jmpq *%rax
cmpb $0x2, 0x3(%r12)
jne 0xc4c9
xorl %eax, %eax
cmpl $0x0, 0x10(%rsp)
sete %al
movl %eax, 0x1ea2e(%rip)     # 0x2ac34
movl $0x2f0000, %r14d        # imm = 0x2F0000
jmp 0xc2dc
addl $-0x4a, %eax
cmpl $0x5, %eax
ja 0xc4c9
leaq 0x144c0(%rip), %rcx     # 0x206e4
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
cmpb $0x2, 0x3(%r12)
jne 0xc4c9
orl $0x80, %r14d
movl $0x0, 0x1e9ea(%rip)     # 0x2ac34
jmp 0xc288
cmpb $0x1, 0x3(%r12)
jne 0xc309
testb $0x2, 0x4(%r12)
je 0xc309
movb $0x1, (%rbx)
jmp 0xc309
cmpb $0x2, 0x3(%r12)
jne 0xc4c9
movl $0x0, 0x1e9b2(%rip)     # 0x2ac34
movl $0x20, %r14d
movb $0x2, %bpl
movl $0x1, 0x10(%rsp)
jmp 0xc4c9
cmpb $0x1, 0x3(%r12)
jne 0xc2ac
testb $0x2, 0x4(%r12)
jne 0xc400
cmpb $0x0, (%rbx)
jne 0xc413
jmp 0xc42d
cmpb $0x2, 0x3(%r12)
jne 0xc4c9
xorl %eax, %eax
cmpl $0x0, 0x10(%rsp)
sete %al
movl %eax, 0x1e95e(%rip)     # 0x2ac34
movl $0x500000, %r14d        # imm = 0x500000
movb $0x1, %bpl
jmp 0xc4c9
cmpb $0x1, 0x3(%r12)
jne 0xc309
testb $0x2, 0x4(%r12)
je 0xc309
movb $0x1, (%rbx)
movl $0x0, 0x1e933(%rip)     # 0x2ac34
movl $0x1, 0x10(%rsp)
cmpb $0x1, 0x16(%r12)
jne 0xc4c9
leaq 0x17(%r12), %rdi
callq 0xe53c
movw %ax, 0xe(%rsp)
leaq 0x1a(%r12), %rdi
callq 0xe53c
movl %eax, 0x1c(%rsp)
jmp 0xc4c9
cmpb $0x2, 0x3(%r12)
movzbl %bpl, %ebp
movl $0x2, %eax
cmovel %eax, %ebp
movl $0x3, %eax
jmp 0xc367
cmpb $0x2, 0x3(%r12)
movzbl %bpl, %ebp
movl $0x2, %eax
cmovel %eax, %ebp
movl $0x4, %eax
cmovel %eax, %r14d
jmp 0xc4c9
cmpb $0x1, 0x3(%r12)
jne 0xc393
testb $0x2, 0x4(%r12)
je 0xc393
movb $0x1, (%rbx)
xorl %eax, %eax
cmpl $0x0, 0x10(%rsp)
sete %al
movl %eax, 0x1e8a1(%rip)     # 0x2ac34
cmpb $0x1, 0x26(%r12)
jne 0xc4c9
leaq 0x27(%r12), %rdi
callq 0xe53c
movw %ax, 0xe(%rsp)
leaq 0x2a(%r12), %rdi
jmp 0xc329
cmpb $0x2, 0x3(%r12)
movq 0x40(%rsp), %rax
leaq 0x146bf(%rip), %rcx     # 0x20a89
cmoveq %rcx, %rax
movq %rax, 0x40(%rsp)
jmp 0xc4c9
movb 0x3(%r12), %al
movl %eax, 0x34(%rsp)
movb $0x1, %al
movl %eax, 0x38(%rsp)
jmp 0xc4c9
movb 0x3(%r12), %al
movb %al, 0x21(%rsp)
movb $0x1, %al
movl %eax, 0x3c(%rsp)
jmp 0xc4c9
movb $0x1, (%rbx)
xorl %eax, %eax
cmpl $0x0, 0x10(%rsp)
sete %al
movl %eax, 0x1e821(%rip)     # 0x2ac34
cmpb $0x1, 0xd(%r12)
jne 0xc42d
cmpb $0x3, 0xe(%r12)
jne 0xc42d
movl $0x2, 0x1e80b(%rip)     # 0x2ac38
xorl %eax, %eax
movw %ax, 0x24(%rsp)
movw %ax, 0x26(%rsp)
leaq 0x24(%rsp), %rdi
leaq 0x26(%rsp), %rsi
callq 0xe2c6
testl %eax, %eax
sete %cl
movzwl 0x24(%rsp), %eax
testw %ax, %ax
setne %dl
andb %cl, %dl
cmpb $0x1, %dl
jne 0xc4c9
movzwl %ax, %esi
leaq 0xe(%rsp), %rdi
callq 0xe4ac
movzwl 0x26(%rsp), %eax
cmpl $0x7f, %eax
jne 0xc47f
movw $0x7, %ax
jmp 0xc32e
leal 0xb(%rax), %edx
imulq $0x1999999a, %rdx, %rcx # imm = 0x1999999A
shrq $0x20, %rcx
addl %ecx, %ecx
leal (%rcx,%rcx,4), %esi
incl %eax
movl %edx, %ecx
subl %esi, %ecx
cmovnel %edx, %eax
imulq $0x1999999a, %rax, %rdx # imm = 0x1999999A
shrq $0x20, %rdx
addl $-0x64, %eax
xorl %esi, %esi
cmpl $0xa, %eax
movl $0x0, 0x1c(%rsp)
cmovbl %esi, %edx
cmpl $0x9, %edx
ja 0xc4c9
leal (%rdx,%rdx,4), %eax
leal (%rcx,%rax,2), %eax
jmp 0xc32e
movzwl 0x1(%r12), %edi
callq 0xee73
movzwl %ax, %eax
subq %rax, %r15
addq $-0x3, %r15
movzwl 0x1(%r12), %edi
callq 0xee73
movzwl %ax, %eax
addq %rax, %r12
addq $0x3, %r12
testq %r15, %r15
jg 0xc1d3
cmpb $0x0, 0x38(%rsp)
sete %al
cmpb $0x0, 0x3c(%rsp)
sete %cl
testb $0x20, %r14b
sete %dl
orb %al, %dl
orb %cl, %dl
jne 0xc531
movl %r14d, %eax
orl $0x40, %eax
cmpb $0x0, 0x21(%rsp)
cmovnel %r14d, %eax
cmpb $0x0, 0x34(%rsp)
cmovnel %eax, %r14d
cmpb $0x1, %bpl
jne 0xc5a1
cmpl $0x2, 0x1e6fa(%rip)     # 0x2ac38
movl 0x1c(%rsp), %edx
jne 0xc685
leaq 0x14543(%rip), %rax     # 0x20a92
jmp 0xc944
movq 0x28(%rsp), %rdi
addq $0x9, %rdi
movl $0x12, %esi
callq 0xa1f8
testq %rax, %rax
je 0xc5dd
movq %rax, %r15
movzwl 0x3(%rax), %edi
callq 0xee73
movl %eax, %r14d
movw %ax, 0x22(%rsp)
movzwl 0x5(%r15), %edi
callq 0xee73
movl %eax, %ebp
jmp 0xc5e2
leaq 0x14496(%rip), %rax     # 0x20a2b
movq %rax, 0x10(%rsp)
xorl %edx, %edx
jmp 0xc949
testb %r14b, %r14b
movl 0x1c(%rsp), %edx
js 0xc6cf
testb $0x40, %r14b
jne 0xc6db
testb $0x20, %r14b
jne 0xc8c7
movl %r14d, %eax
andl $0x18, %eax
cmpl $0x18, %eax
jne 0xc8d9
leaq 0x1451b(%rip), %rax     # 0x20af3
jmp 0xc944
xorl %r14d, %r14d
xorl %ebp, %ebp
movb $0x0, (%rbx)
movq 0x28(%rsp), %rdi
addq $0x9, %rdi
movl $0x1, %esi
callq 0xa1f8
movq %rax, %r15
testq %rax, %rax
je 0xc613
movb 0x3(%r15), %cl
movb %cl, (%rbx)
movb $0x2, %al
cmpb $0x1, %cl
jne 0xc611
movb 0x5(%r15), %al
movb %al, (%rbx)
movq 0x28(%rsp), %rdi
addq $0x9, %rdi
movl $0x11, %esi
callq 0xa1f8
leaq 0x143fe(%rip), %r12     # 0x20a2b
testq %rax, %rax
je 0xc6fa
movb 0x3(%rax), %dl
testb %dl, %dl
je 0xc6fa
xorb $0x2, %dl
movb 0x4(%rax), %cl
movl %ecx, %esi
xorb $0x6, %sil
orb %dl, %sil
jne 0xc667
movzbl 0x5(%rax), %ecx
movl %ecx, %edx
orl $0x2, %edx
cmpl $0xa, %edx
jne 0xc6f3
movb %cl, 0x4(%rax)
decb %cl
cmpb $0xc, %cl
ja 0xc6fa
movzbl %cl, %eax
leaq 0x14080(%rip), %rcx     # 0x206fc
movslq (%rcx,%rax,4), %r12
addq %rcx, %r12
jmp 0xc6fa
btl $0x15, %r14d
jb 0xc6e7
btl $0x12, %r14d
jb 0xc8d0
btl $0x11, %r14d
jb 0xc8fa
btl $0x10, %r14d
jb 0xc903
btl $0x14, %r14d
jb 0xc92b
btl $0x16, %r14d
leaq 0x1444e(%rip), %rax     # 0x20b12
cmovaeq 0x40(%rsp), %rax
jmp 0xc944
leaq 0x14430(%rip), %rax     # 0x20b06
jmp 0xc944
leaq 0x1441d(%rip), %rax     # 0x20aff
jmp 0xc944
leaq 0x1438b(%rip), %rax     # 0x20a79
jmp 0xc944
leaq 0x14366(%rip), %r12     # 0x20a60
testq %r15, %r15
je 0xc81a
cmpb $0x1, 0x3(%r15)
jne 0xc81a
cmpb $0x0, 0x7(%r15)
je 0xc725
cmpb $0x9, 0x8(%r15)
leaq 0x14368(%rip), %rax     # 0x20a89
cmoveq %rax, %r12
movl $0x0, 0x1e505(%rip)     # 0x2ac34
cmpb $0x0, 0x7(%r15)
je 0xc824
movb 0x8(%r15), %al
decb %al
cmpb $0x1, %al
ja 0xc824
xorl %r15d, %r15d
leaq 0xe(%rsp), %r14
movw %r15w, (%r14)
leaq 0x24(%rsp), %rsi
movw %r15w, (%rsi)
movl $0x1, 0x1e4cd(%rip)     # 0x2ac34
movq %r14, %rdi
callq 0xe2c6
testl %eax, %eax
sete %cl
movzwl (%r14), %eax
testw %ax, %ax
setne %dl
andb %cl, %dl
cmpb $0x1, %dl
jne 0xc7dd
movzwl %ax, %esi
leaq 0x22(%rsp), %rdi
callq 0xe4ac
movzwl 0x24(%rsp), %eax
movw $0x7, %bp
cmpl $0x7f, %eax
je 0xc7dd
leal 0xb(%rax), %edx
imulq $0x1999999a, %rdx, %rcx # imm = 0x1999999A
shrq $0x20, %rcx
addl %ecx, %ecx
leal (%rcx,%rcx,4), %esi
incl %eax
movl %edx, %ecx
subl %esi, %ecx
cmovnel %edx, %eax
imulq $0x1999999a, %rax, %rdx # imm = 0x1999999A
shrq $0x20, %rdx
addl $-0x64, %eax
xorl %ebp, %ebp
cmpl $0xa, %eax
cmovbl %ebp, %edx
cmpl $0x9, %edx
ja 0xc7dd
leal (%rdx,%rdx,4), %eax
leal (%rcx,%rax,2), %ebp
movq 0x28(%rsp), %rdi
addq $0x9, %rdi
movl $0x23, %esi
callq 0xa1f8
testq %rax, %rax
je 0xc80b
movb 0x3(%rax), %al
movzbl %al, %r15d
cmpb $0x2, %r15b
leaq 0x1428b(%rip), %rax     # 0x20a92
cmoveq %rax, %r12
movl %r15d, 0x1e426(%rip)    # 0x2ac38
movzwl 0x22(%rsp), %r14d
jmp 0xc824
movl $0x0, 0x1e410(%rip)     # 0x2ac34
movq 0x1d795(%rip), %rax     # 0x29fc0
movq (%rax), %r15
callq 0xea3b
movzwl %r14w, %r8d
movzwl %bp, %r14d
cmpb $0x1, (%rbx)
leaq 0x14282(%rip), %rcx     # 0x20ac7
leaq 0x14284(%rip), %r13     # 0x20ad0
movq %r13, %r10
cmoveq %rcx, %r10
leaq 0x1423e(%rip), %rsi     # 0x20a98
leaq 0x141d1(%rip), %rcx     # 0x20a32
xorl %ebp, %ebp
movq %r15, %rdi
movq %rax, %rdx
movl %r14d, %r9d
xorl %eax, %eax
pushq %r12
pushq %r10
callq 0x52c0
addq $0x10, %rsp
leaq 0x1e426(%rip), %rax     # 0x2aca8
movq (%rax), %r15
testq %r15, %r15
je 0xc149
callq 0xea3b
movzwl 0x22(%rsp), %r8d
cmpb $0x1, (%rbx)
leaq 0x14224(%rip), %rcx     # 0x20ac7
cmoveq %rcx, %r13
leaq 0x141ea(%rip), %rsi     # 0x20a98
leaq 0x1417d(%rip), %rcx     # 0x20a32
movq %r15, %rdi
movq %rax, %rdx
movl %r14d, %r9d
xorl %eax, %eax
pushq %r12
jmp 0xc9e6
leaq 0x141b7(%rip), %rax     # 0x20a85
jmp 0xc944
leaq 0x14196(%rip), %rax     # 0x20a6d
jmp 0xc944
testb $0x8, %r14b
leaq 0x14215(%rip), %rcx     # 0x20af9
leaq 0x1416a(%rip), %rsi     # 0x20a55
cmoveq %rcx, %rsi
testl %eax, %eax
je 0xc90c
movq %rsi, 0x10(%rsp)
jmp 0xc949
leaq 0x14165(%rip), %rax     # 0x20a66
jmp 0xc944
leaq 0x14156(%rip), %rax     # 0x20a60
jmp 0xc944
testb $0x4, %r14b
jne 0xc934
testb $0x2, %r14b
jne 0xc93d
testb $0x1, %r14b
leaq 0x14128(%rip), %rax     # 0x20a4b
cmoveq 0x40(%rsp), %rax
jmp 0xc944
leaq 0x141da(%rip), %rax     # 0x20b0c
jmp 0xc944
leaq 0x14120(%rip), %rax     # 0x20a5b
jmp 0xc944
leaq 0x1410c(%rip), %rax     # 0x20a50
movq %rax, 0x10(%rsp)
movzwl %dx, %r14d
movq 0x1d66c(%rip), %rax     # 0x29fc0
movq (%rax), %r15
callq 0xea3b
movzwl 0xe(%rsp), %r8d
cmpb $0x1, (%rbx)
leaq 0x1415b(%rip), %r12     # 0x20ac7
leaq 0x1415d(%rip), %r13     # 0x20ad0
movq %r13, %r10
cmoveq %r12, %r10
leaq 0x14117(%rip), %rsi     # 0x20a98
leaq 0x14151(%rip), %rcx     # 0x20ad9
xorl %ebp, %ebp
movq %r15, %rdi
movq %rax, %rdx
movl %r14d, %r9d
xorl %eax, %eax
pushq 0x10(%rsp)
pushq %r10
callq 0x52c0
addq $0x10, %rsp
leaq 0x1e2fd(%rip), %rax     # 0x2aca8
movq (%rax), %r15
testq %r15, %r15
je 0xc149
callq 0xea3b
movzwl 0xe(%rsp), %r8d
cmpb $0x1, (%rbx)
cmoveq %r12, %r13
leaq 0x140c8(%rip), %rsi     # 0x20a98
leaq 0x14102(%rip), %rcx     # 0x20ad9
movq %r15, %rdi
movq %rax, %rdx
movl %r14d, %r9d
xorl %eax, %eax
pushq 0x10(%rsp)
pushq %r13
callq 0x52c0
addq $0x10, %rsp
jmp 0xc149