// File: /workspace/github_cpp_makefile_star2_O3/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 0x4d1fb
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 0x1e5b6(%rip), %xmm1    # 0x6b478
xorpd %xmm2, %xmm2
ucomisd %xmm0, %xmm2
movl $0x0, %ecx
ja 0x4cf04
cvttsd2si %xmm1, %eax
movsd 0x1eeb3(%rip), %xmm1    # 0x6bd90
ucomisd %xmm0, %xmm1
jbe 0x4cee7
movl %eax, %ecx
jmp 0x4cf04
movsd 0x232e9(%rip), %xmm1    # 0x701d8
ucomisd %xmm0, %xmm1
jbe 0x4cf23
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 0x4da98
addl $0xa, %ebx
incq %r13
cmpq %r13, %r12
jne 0x4ceb0
jmp 0x4d1fb
movsd 0x232b5(%rip), %xmm1    # 0x701e0
ucomisd %xmm0, %xmm1
jbe 0x4cf46
leal 0x100(%rax), %ecx
addl $0x103, %eax            # imm = 0x103
testl %ecx, %ecx
cmovnsl %ecx, %eax
sarl $0x2, %eax
jmp 0x4cee3
movsd 0x2329a(%rip), %xmm1    # 0x701e8
ucomisd %xmm0, %xmm1
jbe 0x4cf6c
leal 0x300(%rax), %ecx
addl $0x307, %eax            # imm = 0x307
testl %ecx, %ecx
cmovnsl %ecx, %eax
sarl $0x3, %eax
jmp 0x4cee3
movsd 0x2327c(%rip), %xmm1    # 0x701f0
ucomisd %xmm0, %xmm1
jbe 0x4cf92
leal 0x800(%rax), %ecx
addl $0x80f, %eax            # imm = 0x80F
testl %ecx, %ecx
cmovnsl %ecx, %eax
sarl $0x4, %eax
jmp 0x4cee3
movsd 0x2325e(%rip), %xmm1    # 0x701f8
ucomisd %xmm0, %xmm1
jbe 0x4cfb8
leal 0x1400(%rax), %ecx
addl $0x141f, %eax           # imm = 0x141F
testl %ecx, %ecx
cmovnsl %ecx, %eax
sarl $0x5, %eax
jmp 0x4cee3
movsd 0x23240(%rip), %xmm1    # 0x70200
ucomisd %xmm0, %xmm1
jbe 0x4cfde
leal 0x3000(%rax), %ecx
addl $0x303f, %eax           # imm = 0x303F
testl %ecx, %ecx
cmovnsl %ecx, %eax
sarl $0x6, %eax
jmp 0x4cee3
movsd 0x23222(%rip), %xmm1    # 0x70208
ucomisd %xmm0, %xmm1
jbe 0x4d004
leal 0x7000(%rax), %ecx
addl $0x707f, %eax           # imm = 0x707F
testl %ecx, %ecx
cmovnsl %ecx, %eax
sarl $0x7, %eax
jmp 0x4cee3
movsd 0x23204(%rip), %xmm1    # 0x70210
ucomisd %xmm0, %xmm1
jbe 0x4d02a
leal 0x10000(%rax), %ecx
addl $0x100ff, %eax          # imm = 0x100FF
testl %ecx, %ecx
cmovnsl %ecx, %eax
sarl $0x8, %eax
jmp 0x4cee3
movsd 0x231e6(%rip), %xmm1    # 0x70218
ucomisd %xmm0, %xmm1
jbe 0x4d050
leal 0x24000(%rax), %ecx
addl $0x241ff, %eax          # imm = 0x241FF
testl %ecx, %ecx
cmovnsl %ecx, %eax
sarl $0x9, %eax
jmp 0x4cee3
movsd 0x231c8(%rip), %xmm1    # 0x70220
ucomisd %xmm0, %xmm1
jbe 0x4d076
leal 0x50000(%rax), %ecx
addl $0x503ff, %eax          # imm = 0x503FF
testl %ecx, %ecx
cmovnsl %ecx, %eax
sarl $0xa, %eax
jmp 0x4cee3
movsd 0x231aa(%rip), %xmm1    # 0x70228
ucomisd %xmm0, %xmm1
jbe 0x4d09c
leal 0xb0000(%rax), %ecx
addl $0xb07ff, %eax          # imm = 0xB07FF
testl %ecx, %ecx
cmovnsl %ecx, %eax
sarl $0xb, %eax
jmp 0x4cee3
movsd 0x2318c(%rip), %xmm1    # 0x70230
ucomisd %xmm0, %xmm1
jbe 0x4d0c2
leal 0x180000(%rax), %ecx
addl $0x180fff, %eax         # imm = 0x180FFF
testl %ecx, %ecx
cmovnsl %ecx, %eax
sarl $0xc, %eax
jmp 0x4cee3
movsd 0x2316e(%rip), %xmm1    # 0x70238
ucomisd %xmm0, %xmm1
jbe 0x4d0e8
leal 0x340000(%rax), %ecx
addl $0x341fff, %eax         # imm = 0x341FFF
testl %ecx, %ecx
cmovnsl %ecx, %eax
sarl $0xd, %eax
jmp 0x4cee3
movsd 0x23160(%rip), %xmm1    # 0x70250
ucomisd %xmm0, %xmm1
jbe 0x4d10e
leal 0x700000(%rax), %ecx
addl $0x703fff, %eax         # imm = 0x703FFF
testl %ecx, %ecx
cmovnsl %ecx, %eax
sarl $0xe, %eax
jmp 0x4cee3
movsd 0x23142(%rip), %xmm1    # 0x70258
ucomisd %xmm0, %xmm1
jbe 0x4d134
leal 0xf00000(%rax), %ecx
addl $0xf07fff, %eax         # imm = 0xF07FFF
testl %ecx, %ecx
cmovnsl %ecx, %eax
sarl $0xf, %eax
jmp 0x4cee3
movsd 0x23124(%rip), %xmm1    # 0x70260
ucomisd %xmm0, %xmm1
jbe 0x4d15a
leal 0x2000000(%rax), %ecx
addl $0x200ffff, %eax        # imm = 0x200FFFF
testl %ecx, %ecx
cmovnsl %ecx, %eax
sarl $0x10, %eax
jmp 0x4cee3
movsd 0x23106(%rip), %xmm1    # 0x70268
ucomisd %xmm0, %xmm1
jbe 0x4d180
leal 0x4400000(%rax), %ecx
addl $0x441ffff, %eax        # imm = 0x441FFFF
testl %ecx, %ecx
cmovnsl %ecx, %eax
sarl $0x11, %eax
jmp 0x4cee3
movsd 0x230e8(%rip), %xmm1    # 0x70270
ucomisd %xmm0, %xmm1
jbe 0x4d1a6
leal 0x9000000(%rax), %ecx
addl $0x903ffff, %eax        # imm = 0x903FFFF
testl %ecx, %ecx
cmovnsl %ecx, %eax
sarl $0x12, %eax
jmp 0x4cee3
movsd 0x230ca(%rip), %xmm1    # 0x70278
ucomisd %xmm0, %xmm1
jbe 0x4d1cc
leal 0x13000000(%rax), %ecx
addl $0x1307ffff, %eax       # imm = 0x1307FFFF
testl %ecx, %ecx
cmovnsl %ecx, %eax
sarl $0x13, %eax
jmp 0x4cee3
movl $0x2c0, %ecx            # imm = 0x2C0
movsd 0x230a7(%rip), %xmm1    # 0x70280
ucomisd %xmm0, %xmm1
jbe 0x4cf04
leal 0x28000000(%rax), %ecx
addl $0x280fffff, %eax       # imm = 0x280FFFFF
testl %ecx, %ecx
cmovnsl %ecx, %eax
sarl $0x14, %eax
jmp 0x4cee3
movl %ebx, %eax
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq