// File: /workspace/github_cpp_makefile_star2_O1/DoubleString[P]RtConverter/src/Rtklib/rtcm3e.cpp
// Function: bamboo::encode_msm_lock_ex(bamboo::rtcm_t*, int, double const*, int)
static int encode_msm_lock_ex(rtcm_t *rtcm, int i, const double *lock,
                              int ncell)
{
    int j,lock_val;
    
    for (j=0;j<ncell;j++) {
        lock_val=to_msm_lock_ex(lock[j]);
        setbitu(rtcm->buff,i,10,lock_val); i+=10;
    }
    return i;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
movl %esi, %ebx
testl %ecx, %ecx
jle 0x4db32
movq %rdx, %r14
movq %rdi, %r15
addq $0x9f0c4, %r15          # imm = 0x9F0C4
movl %ecx, %r12d
xorl %r13d, %r13d
movsd (%r14,%r13,8), %xmm0
movapd %xmm0, %xmm1
mulsd 0x1dc7f(%rip), %xmm1    # 0x6b478
xorpd %xmm2, %xmm2
ucomisd %xmm0, %xmm2
movl $0x0, %ecx
ja 0x4d83b
cvttsd2si %xmm1, %eax
movsd 0x1e57c(%rip), %xmm1    # 0x6bd90
ucomisd %xmm0, %xmm1
jbe 0x4d81e
movl %eax, %ecx
jmp 0x4d83b
movsd 0x229b2(%rip), %xmm1    # 0x701d8
ucomisd %xmm0, %xmm1
jbe 0x4d85a
movl %eax, %ecx
addl $0x40, %ecx
shrl $0x1f, %ecx
addl %eax, %ecx
addl $0x40, %ecx
sarl %ecx
movq %r15, %rdi
movl %ebx, %esi
movl $0xa, %edx
callq 0x4e403
addl $0xa, %ebx
incq %r13
cmpq %r13, %r12
jne 0x4d7e7
jmp 0x4db32
movsd 0x2297e(%rip), %xmm1    # 0x701e0
ucomisd %xmm0, %xmm1
jbe 0x4d87d
leal 0x100(%rax), %ecx
addl $0x103, %eax            # imm = 0x103
testl %ecx, %ecx
cmovnsl %ecx, %eax
sarl $0x2, %eax
jmp 0x4d81a
movsd 0x22963(%rip), %xmm1    # 0x701e8
ucomisd %xmm0, %xmm1
jbe 0x4d8a3
leal 0x300(%rax), %ecx
addl $0x307, %eax            # imm = 0x307
testl %ecx, %ecx
cmovnsl %ecx, %eax
sarl $0x3, %eax
jmp 0x4d81a
movsd 0x22945(%rip), %xmm1    # 0x701f0
ucomisd %xmm0, %xmm1
jbe 0x4d8c9
leal 0x800(%rax), %ecx
addl $0x80f, %eax            # imm = 0x80F
testl %ecx, %ecx
cmovnsl %ecx, %eax
sarl $0x4, %eax
jmp 0x4d81a
movsd 0x22927(%rip), %xmm1    # 0x701f8
ucomisd %xmm0, %xmm1
jbe 0x4d8ef
leal 0x1400(%rax), %ecx
addl $0x141f, %eax           # imm = 0x141F
testl %ecx, %ecx
cmovnsl %ecx, %eax
sarl $0x5, %eax
jmp 0x4d81a
movsd 0x22909(%rip), %xmm1    # 0x70200
ucomisd %xmm0, %xmm1
jbe 0x4d915
leal 0x3000(%rax), %ecx
addl $0x303f, %eax           # imm = 0x303F
testl %ecx, %ecx
cmovnsl %ecx, %eax
sarl $0x6, %eax
jmp 0x4d81a
movsd 0x228eb(%rip), %xmm1    # 0x70208
ucomisd %xmm0, %xmm1
jbe 0x4d93b
leal 0x7000(%rax), %ecx
addl $0x707f, %eax           # imm = 0x707F
testl %ecx, %ecx
cmovnsl %ecx, %eax
sarl $0x7, %eax
jmp 0x4d81a
movsd 0x228cd(%rip), %xmm1    # 0x70210
ucomisd %xmm0, %xmm1
jbe 0x4d961
leal 0x10000(%rax), %ecx
addl $0x100ff, %eax          # imm = 0x100FF
testl %ecx, %ecx
cmovnsl %ecx, %eax
sarl $0x8, %eax
jmp 0x4d81a
movsd 0x228af(%rip), %xmm1    # 0x70218
ucomisd %xmm0, %xmm1
jbe 0x4d987
leal 0x24000(%rax), %ecx
addl $0x241ff, %eax          # imm = 0x241FF
testl %ecx, %ecx
cmovnsl %ecx, %eax
sarl $0x9, %eax
jmp 0x4d81a
movsd 0x22891(%rip), %xmm1    # 0x70220
ucomisd %xmm0, %xmm1
jbe 0x4d9ad
leal 0x50000(%rax), %ecx
addl $0x503ff, %eax          # imm = 0x503FF
testl %ecx, %ecx
cmovnsl %ecx, %eax
sarl $0xa, %eax
jmp 0x4d81a
movsd 0x22873(%rip), %xmm1    # 0x70228
ucomisd %xmm0, %xmm1
jbe 0x4d9d3
leal 0xb0000(%rax), %ecx
addl $0xb07ff, %eax          # imm = 0xB07FF
testl %ecx, %ecx
cmovnsl %ecx, %eax
sarl $0xb, %eax
jmp 0x4d81a
movsd 0x22855(%rip), %xmm1    # 0x70230
ucomisd %xmm0, %xmm1
jbe 0x4d9f9
leal 0x180000(%rax), %ecx
addl $0x180fff, %eax         # imm = 0x180FFF
testl %ecx, %ecx
cmovnsl %ecx, %eax
sarl $0xc, %eax
jmp 0x4d81a
movsd 0x22837(%rip), %xmm1    # 0x70238
ucomisd %xmm0, %xmm1
jbe 0x4da1f
leal 0x340000(%rax), %ecx
addl $0x341fff, %eax         # imm = 0x341FFF
testl %ecx, %ecx
cmovnsl %ecx, %eax
sarl $0xd, %eax
jmp 0x4d81a
movsd 0x22829(%rip), %xmm1    # 0x70250
ucomisd %xmm0, %xmm1
jbe 0x4da45
leal 0x700000(%rax), %ecx
addl $0x703fff, %eax         # imm = 0x703FFF
testl %ecx, %ecx
cmovnsl %ecx, %eax
sarl $0xe, %eax
jmp 0x4d81a
movsd 0x2280b(%rip), %xmm1    # 0x70258
ucomisd %xmm0, %xmm1
jbe 0x4da6b
leal 0xf00000(%rax), %ecx
addl $0xf07fff, %eax         # imm = 0xF07FFF
testl %ecx, %ecx
cmovnsl %ecx, %eax
sarl $0xf, %eax
jmp 0x4d81a
movsd 0x227ed(%rip), %xmm1    # 0x70260
ucomisd %xmm0, %xmm1
jbe 0x4da91
leal 0x2000000(%rax), %ecx
addl $0x200ffff, %eax        # imm = 0x200FFFF
testl %ecx, %ecx
cmovnsl %ecx, %eax
sarl $0x10, %eax
jmp 0x4d81a
movsd 0x227cf(%rip), %xmm1    # 0x70268
ucomisd %xmm0, %xmm1
jbe 0x4dab7
leal 0x4400000(%rax), %ecx
addl $0x441ffff, %eax        # imm = 0x441FFFF
testl %ecx, %ecx
cmovnsl %ecx, %eax
sarl $0x11, %eax
jmp 0x4d81a
movsd 0x227b1(%rip), %xmm1    # 0x70270
ucomisd %xmm0, %xmm1
jbe 0x4dadd
leal 0x9000000(%rax), %ecx
addl $0x903ffff, %eax        # imm = 0x903FFFF
testl %ecx, %ecx
cmovnsl %ecx, %eax
sarl $0x12, %eax
jmp 0x4d81a
movsd 0x22793(%rip), %xmm1    # 0x70278
ucomisd %xmm0, %xmm1
jbe 0x4db03
leal 0x13000000(%rax), %ecx
addl $0x1307ffff, %eax       # imm = 0x1307FFFF
testl %ecx, %ecx
cmovnsl %ecx, %eax
sarl $0x13, %eax
jmp 0x4d81a
movl $0x2c0, %ecx            # imm = 0x2C0
movsd 0x22770(%rip), %xmm1    # 0x70280
ucomisd %xmm0, %xmm1
jbe 0x4d83b
leal 0x28000000(%rax), %ecx
addl $0x280fffff, %eax       # imm = 0x280FFFFF
testl %ecx, %ecx
cmovnsl %ecx, %eax
sarl $0x14, %eax
jmp 0x4d81a
movl %ebx, %eax
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq