// File: DoubleString[P]RtConverter/src/Rtklib/ublox.cpp
// Function: bamboo::decode_rxmrawx(bamboo::raw_t*)
static int decode_rxmrawx(raw_t *raw)
{
    gtime_t time;
    unsigned char *p=raw->buff+6;
    char *q,tstr[64];
    double tow,P,L,D,tn,tadj=0.0,toff=0.0;
    int i,j,k,f,sys,prn,sat,code,slip,halfv,halfc,LLI,n=0,std_slip=0;
    int week,nmeas,ver,gnss,svid,sigid,frqid,lockt,cn0,cpstd,tstat;
    
    trace(4,"decode_rxmrawx: len=%d\n",raw->len);
    
    if (raw->len<24) {
        trace(2,"ubx rxmrawx length error: len=%d\n",raw->len);
        return -1;
    }
    tow  =R8(p   ); /* rcvTow (s) */
    week =U2(p+ 8); /* week */
    nmeas=U1(p+11); /* numMeas */
    ver  =U1(p+13); /* version ([5] 5.15.3.1) */
    
    if (raw->len<24+32*nmeas) {
        trace(2,"ubx rxmrawx length error: len=%d nmeas=%d\n",raw->len,nmeas);
        return -1;
    }
    if (week==0) {
        trace(3,"ubx rxmrawx week=0 error: len=%d nmeas=%d\n",raw->len,nmeas);
        return 0;
    }
    time=gpst2time(week,tow);
    
    if (raw->outtype) {
        time2str(time,tstr,2);
        sprintf(raw->msgtype,"UBX RXM-RAWX  (%4d): time=%s nmeas=%d ver=%d",
                raw->len,tstr,nmeas,ver);
    }
    /* time tag adjustment option (-TADJ) */
    if ((q=strstr(raw->opt,"-TADJ="))) {
        sscanf(q,"-TADJ=%lf",&tadj);
    }
    /* slip theshold of std-dev of carreir-phase (-STD_SLIP) */
    if ((q=strstr(raw->opt,"-STD_SLIP="))) {
        sscanf(q,"-STD_SLIP=%d",&std_slip);
    }
    /* time tag adjustment */
    if (tadj>0.0) {
        tn=time2gpst(time,&week)/tadj;
        toff=(tn-floor(tn+0.5))*tadj;
        time=timeadd(time,-toff);
    }
    for (i=0,p+=16;i<nmeas&&n<MAXOBS;i++,p+=32) {
        P    =R8(p   );    /* prMes (m) */
        L    =R8(p+ 8);    /* cpMes (cyc) */
        D    =R4(p+16);    /* doMes (hz) */
        gnss =U1(p+20);    /* gnssId */
        svid =U1(p+21);    /* svId */
        sigid=U1(p+22);    /* sigId ([5] 5.15.3.1) */
        frqid=U1(p+23);    /* freqId (fcn + 7) */
        lockt=U2(p+24);    /* locktime (ms) */
        cn0  =U1(p+26);    /* cn0 (dBHz) */
        cpstd=U1(p+28)&15; /* cpStdev (m) */
        tstat=U1(p+30);    /* trkStat */
        if (!(tstat&1)) P=0.0;
        if (!(tstat&2)||L==-0.5||cpstd>CPSTD_VALID) L=0.0;
        
        if (!(sys=ubx_sys(gnss))) {
            trace(2,"ubx rxmrawx: system error gnss=%d\n", gnss);
            continue;
        }
        prn=svid+(sys==SYS_QZS?192:0);
        if (!(sat=satno(sys,prn))) {
            if (sys==SYS_GLO&&prn==255) {
                continue; /* suppress warning for unknown glo satellite */
            }
            trace(2,"ubx rxmrawx sat number error: sys=%2d prn=%2d\n",sys,prn);
            continue;
        }
        if (ver>=1) {
            code=ubx_sig(sys,sigid);
        }
        else {
            code=(sys==SYS_CMP)?CODE_L1I:((sys==SYS_GAL)?CODE_L1X:CODE_L1C);
        }
        /* signal index in obs data */
        f=sig_idx(sys,code);
        
        if (f==0||f>NFREQ+NEXOBS) {
            trace(2,"ubx rxmrawx signal error: sat=%2d sigid=%d\n",sat,sigid);
            continue;
        }
        /* offset by time tag adjustment */
        if (toff!=0.0) {
            P-=toff*CLIGHT;
            L-=toff*sig_freq(sys,f,frqid-7);
        }
        halfv=tstat&4?1:0; /* half cycle valid */
        halfc=tstat&8?1:0; /* half cycle subtracted from phase */
        slip=lockt==0||lockt*1E-3<raw->lockt[sat-1][f-1]||
             halfc!=raw->halfc[sat-1][f-1]||(std_slip&&cpstd>=std_slip);
        raw->lockt[sat-1][f-1]=lockt*1E-3;
        raw->halfc[sat-1][f-1]=halfc;
        LLI=(slip?LLI_SLIP:0)|(!halfv?LLI_HALFC:0);
        
        for (j=0;j<n;j++) {
            if (raw->obs.data[j].sat==sat) break;
        }
        if (j>=n) {
            raw->obs.data[n].time=time;
            raw->obs.data[n].sat=sat;
            raw->obs.data[n].rcv=0;
            for (k=0;k<NFREQ+NEXOBS;k++) {
                raw->obs.data[n].L[k]=raw->obs.data[n].P[k]=0.0;
                raw->obs.data[n].D[k]=0.0;
                raw->obs.data[n].SNR[k]=raw->obs.data[n].LLI[k]=0;
                raw->obs.data[n].code[k]=CODE_NONE;
            }
            n++;
        }
        raw->obs.data[j].L[f-1]=L;
        raw->obs.data[j].P[f-1]=P;
        raw->obs.data[j].D[f-1]=(float)D;
        raw->obs.data[j].SNR[f-1]=(unsigned char)(cn0*4);
        raw->obs.data[j].LLI[f-1]=(unsigned char)LLI;
        raw->obs.data[j].code[f-1]=(unsigned char)code;
    }
    raw->time=time;
    raw->obs.n=n;
    return 1;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x180, %rsp            # imm = 0x180
movq %rdi, -0x10(%rbp)
movq -0x10(%rbp), %rax
addq $0x81a90, %rax          # imm = 0x81A90
addq $0x6, %rax
movq %rax, -0x28(%rbp)
xorps %xmm0, %xmm0
movsd %xmm0, -0xa0(%rbp)
xorps %xmm0, %xmm0
movsd %xmm0, -0xa8(%rbp)
movl $0x0, -0xdc(%rbp)
movl $0x0, -0xe0(%rbp)
movq -0x10(%rbp), %rax
movl 0x81a78(%rax), %edx
movl $0x4, %edi
leaq 0x219a2(%rip), %rsi     # 0xcb9b3
movb $0x0, %al
callq 0x8b980
movq -0x10(%rbp), %rax
cmpl $0x18, 0x81a78(%rax)
jge 0xaa04e
movq -0x10(%rbp), %rax
movl 0x81a78(%rax), %edx
movl $0x2, %edi
leaq 0x21990(%rip), %rsi     # 0xcb9cb
movb $0x0, %al
callq 0x8b980
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
jmp 0xaabd2
movq -0x28(%rbp), %rdi
callq 0xac7d0
movsd %xmm0, -0x78(%rbp)
movq -0x28(%rbp), %rdi
addq $0x8, %rdi
callq 0xa8920
movzwl %ax, %eax
movl %eax, -0xe4(%rbp)
movq -0x28(%rbp), %rax
movzbl 0xb(%rax), %eax
movl %eax, -0xe8(%rbp)
movq -0x28(%rbp), %rax
movzbl 0xd(%rax), %eax
movl %eax, -0xec(%rbp)
movq -0x10(%rbp), %rax
movl 0x81a78(%rax), %eax
movl -0xe8(%rbp), %ecx
shll $0x5, %ecx
addl $0x18, %ecx
cmpl %ecx, %eax
jge 0xaa0d7
movq -0x10(%rbp), %rax
movl 0x81a78(%rax), %edx
movl -0xe8(%rbp), %ecx
movl $0x2, %edi
leaq 0x21929(%rip), %rsi     # 0xcb9ed
movb $0x0, %al
callq 0x8b980
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
jmp 0xaabd2
cmpl $0x0, -0xe4(%rbp)
jne 0xaa10f
movq -0x10(%rbp), %rax
movl 0x81a78(%rax), %edx
movl -0xe8(%rbp), %ecx
movl $0x3, %edi
leaq 0x2191c(%rip), %rsi     # 0xcba18
movb $0x0, %al
callq 0x8b980
movl $0x0, -0x4(%rbp)
jmp 0xaabd2
movl -0xe4(%rbp), %edi
movsd -0x78(%rbp), %xmm0
callq 0x8e4a0
movq %rax, -0x120(%rbp)
movsd %xmm0, -0x118(%rbp)
movq -0x120(%rbp), %rax
movq %rax, -0x20(%rbp)
movq -0x118(%rbp), %rax
movq %rax, -0x18(%rbp)
movq -0x10(%rbp), %rax
cmpl $0x0, 0x81a8c(%rax)
je 0xaa1b9
movq -0x20(%rbp), %rax
movq %rax, -0x130(%rbp)
movq -0x18(%rbp), %rax
movq %rax, -0x128(%rbp)
leaq -0x70(%rbp), %rsi
movq -0x130(%rbp), %rdi
movsd -0x128(%rbp), %xmm0
movl $0x2, %edx
callq 0x8f550
movq -0x10(%rbp), %rdi
addq $0x70e70, %rdi          # imm = 0x70E70
movq -0x10(%rbp), %rax
movl 0x81a78(%rax), %edx
leaq -0x70(%rbp), %rcx
movl -0xe8(%rbp), %r8d
movl -0xec(%rbp), %r9d
leaq 0x21891(%rip), %rsi     # 0xcba43
movb $0x0, %al
callq 0x9150
movq -0x10(%rbp), %rdi
addq $0x82a90, %rdi          # imm = 0x82A90
leaq 0x21760(%rip), %rsi     # 0xcb92b
callq 0x91b0
movq %rax, -0x30(%rbp)
cmpq $0x0, %rax
je 0xaa1f3
movq -0x30(%rbp), %rdi
leaq 0x2174d(%rip), %rsi     # 0xcb932
leaq -0xa0(%rbp), %rdx
movb $0x0, %al
callq 0x9750
movq -0x10(%rbp), %rdi
addq $0x82a90, %rdi          # imm = 0x82A90
leaq 0x2186b(%rip), %rsi     # 0xcba70
callq 0x91b0
movq %rax, -0x30(%rbp)
cmpq $0x0, %rax
je 0xaa22d
movq -0x30(%rbp), %rdi
leaq 0x2185c(%rip), %rsi     # 0xcba7b
leaq -0xe0(%rbp), %rdx
movb $0x0, %al
callq 0x9750
movsd -0xa0(%rbp), %xmm0
xorps %xmm1, %xmm1
ucomisd %xmm1, %xmm0
jbe 0xaa335
movq -0x20(%rbp), %rax
movq %rax, -0x140(%rbp)
movq -0x18(%rbp), %rax
movq %rax, -0x138(%rbp)
movq -0x140(%rbp), %rdi
movsd -0x138(%rbp), %xmm0
leaq -0xe4(%rbp), %rsi
callq 0x8e540
divsd -0xa0(%rbp), %xmm0
movsd %xmm0, -0x98(%rbp)
movsd -0x98(%rbp), %xmm0
movsd %xmm0, -0x168(%rbp)
movsd 0x12be5(%rip), %xmm0    # 0xbce80
addsd -0x98(%rbp), %xmm0
callq 0x9c90
movaps %xmm0, %xmm1
movsd -0x168(%rbp), %xmm0
subsd %xmm1, %xmm0
mulsd -0xa0(%rbp), %xmm0
movsd %xmm0, -0xa8(%rbp)
movq -0x20(%rbp), %rax
movq %rax, -0x160(%rbp)
movq -0x18(%rbp), %rax
movq %rax, -0x158(%rbp)
movsd -0xa8(%rbp), %xmm0
movq %xmm0, %rax
movabsq $-0x8000000000000000, %rcx # imm = 0x8000000000000000
xorq %rcx, %rax
movq %rax, %xmm1
movq -0x160(%rbp), %rdi
movsd -0x158(%rbp), %xmm0
callq 0x8e860
movq %rax, -0x150(%rbp)
movsd %xmm0, -0x148(%rbp)
movq -0x150(%rbp), %rax
movq %rax, -0x20(%rbp)
movq -0x148(%rbp), %rax
movq %rax, -0x18(%rbp)
movl $0x0, -0xac(%rbp)
movq -0x28(%rbp), %rax
addq $0x10, %rax
movq %rax, -0x28(%rbp)
movl -0xac(%rbp), %ecx
xorl %eax, %eax
cmpl -0xe8(%rbp), %ecx
movb %al, -0x169(%rbp)
jge 0xaa371
cmpl $0x40, -0xdc(%rbp)
setl %al
movb %al, -0x169(%rbp)
movb -0x169(%rbp), %al
testb $0x1, %al
jne 0xaa380
jmp 0xaaba8
movq -0x28(%rbp), %rdi
callq 0xac7d0
movsd %xmm0, -0x80(%rbp)
movq -0x28(%rbp), %rdi
addq $0x8, %rdi
callq 0xac7d0
movsd %xmm0, -0x88(%rbp)
movq -0x28(%rbp), %rdi
addq $0x10, %rdi
callq 0xac7f0
cvtss2sd %xmm0, %xmm0
movsd %xmm0, -0x90(%rbp)
movq -0x28(%rbp), %rax
movzbl 0x14(%rax), %eax
movl %eax, -0xf0(%rbp)
movq -0x28(%rbp), %rax
movzbl 0x15(%rax), %eax
movl %eax, -0xf4(%rbp)
movq -0x28(%rbp), %rax
movzbl 0x16(%rax), %eax
movl %eax, -0xf8(%rbp)
movq -0x28(%rbp), %rax
movzbl 0x17(%rax), %eax
movl %eax, -0xfc(%rbp)
movq -0x28(%rbp), %rdi
addq $0x18, %rdi
callq 0xa8920
movzwl %ax, %eax
movl %eax, -0x100(%rbp)
movq -0x28(%rbp), %rax
movzbl 0x1a(%rax), %eax
movl %eax, -0x104(%rbp)
movq -0x28(%rbp), %rax
movzbl 0x1c(%rax), %eax
andl $0xf, %eax
movl %eax, -0x108(%rbp)
movq -0x28(%rbp), %rax
movzbl 0x1e(%rax), %eax
movl %eax, -0x10c(%rbp)
movl -0x10c(%rbp), %eax
andl $0x1, %eax
cmpl $0x0, %eax
jne 0xaa44d
xorps %xmm0, %xmm0
movsd %xmm0, -0x80(%rbp)
movl -0x10c(%rbp), %eax
andl $0x2, %eax
cmpl $0x0, %eax
je 0xaa47e
movsd -0x88(%rbp), %xmm0
movsd 0x12abd(%rip), %xmm1    # 0xbcf28
ucomisd %xmm1, %xmm0
jne 0xaa475
jp 0xaa475
jmp 0xaa47e
cmpl $0x5, -0x108(%rbp)
jle 0xaa489
xorps %xmm0, %xmm0
movsd %xmm0, -0x88(%rbp)
movl -0xf0(%rbp), %edi
callq 0xac810
movl %eax, -0xbc(%rbp)
cmpl $0x0, %eax
jne 0xaa4bd
movl -0xf0(%rbp), %edx
movl $0x2, %edi
leaq 0x215d7(%rip), %rsi     # 0xcba88
movb $0x0, %al
callq 0x8b980
jmp 0xaab88
movl -0xf4(%rbp), %eax
movl -0xbc(%rbp), %esi
xorl %ecx, %ecx
movl $0xc0, %edx
cmpl $0x10, %esi
cmovel %edx, %ecx
addl %ecx, %eax
movl %eax, -0xc0(%rbp)
movl -0xbc(%rbp), %edi
movl -0xc0(%rbp), %esi
callq 0x8b1b0
movl %eax, -0xc4(%rbp)
cmpl $0x0, %eax
jne 0xaa538
cmpl $0x4, -0xbc(%rbp)
jne 0xaa514
cmpl $0xff, -0xc0(%rbp)
jne 0xaa514
jmp 0xaab88
movl -0xbc(%rbp), %edx
movl -0xc0(%rbp), %ecx
movl $0x2, %edi
leaq 0x2157f(%rip), %rsi     # 0xcbaab
movb $0x0, %al
callq 0x8b980
jmp 0xaab88
cmpl $0x1, -0xec(%rbp)
jl 0xaa55a
movl -0xbc(%rbp), %edi
movl -0xf8(%rbp), %esi
callq 0xac880
movl %eax, -0xc8(%rbp)
jmp 0xaa598
cmpl $0x20, -0xbc(%rbp)
jne 0xaa570
movl $0x2f, %eax
movl %eax, -0x170(%rbp)
jmp 0xaa58c
movl -0xbc(%rbp), %edx
movl $0x1, %eax
movl $0xc, %ecx
cmpl $0x8, %edx
cmovel %ecx, %eax
movl %eax, -0x170(%rbp)
movl -0x170(%rbp), %eax
movl %eax, -0xc8(%rbp)
movl -0xbc(%rbp), %edi
movl -0xc8(%rbp), %esi
callq 0xac9e0
movl %eax, -0xb8(%rbp)
cmpl $0x0, -0xb8(%rbp)
je 0xaa5c1
cmpl $0x3, -0xb8(%rbp)
jle 0xaa5e5
movl -0xc4(%rbp), %edx
movl -0xf8(%rbp), %ecx
movl $0x2, %edi
leaq 0x21501(%rip), %rsi     # 0xcbada
movb $0x0, %al
callq 0x8b980
jmp 0xaab88
movsd -0xa8(%rbp), %xmm0
xorps %xmm1, %xmm1
ucomisd %xmm1, %xmm0
jne 0xaa5fd
jp 0xaa5fd
jmp 0xaa69a
movsd -0xa8(%rbp), %xmm0
movsd -0x80(%rbp), %xmm1
movq %xmm0, %rax
movabsq $-0x8000000000000000, %rcx # imm = 0x8000000000000000
xorq %rcx, %rax
movq %rax, %xmm0
movsd 0x1377f(%rip), %xmm2    # 0xbdda8
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, -0x80(%rbp)
movsd -0xa8(%rbp), %xmm0
movsd %xmm0, -0x178(%rbp)
movl -0xbc(%rbp), %edi
movl -0xb8(%rbp), %esi
movl -0xfc(%rbp), %edx
subl $0x7, %edx
callq 0xacb20
movaps %xmm0, %xmm2
movsd -0x178(%rbp), %xmm0
movsd -0x88(%rbp), %xmm1
movq %xmm0, %rax
movabsq $-0x8000000000000000, %rcx # imm = 0x8000000000000000
xorq %rcx, %rax
movq %rax, %xmm0
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, -0x88(%rbp)
movl -0x10c(%rbp), %edx
andl $0x4, %edx
xorl %eax, %eax
movl $0x1, %ecx
cmpl $0x0, %edx
cmovnel %ecx, %eax
movl %eax, -0xd0(%rbp)
movl -0x10c(%rbp), %edx
andl $0x8, %edx
xorl %eax, %eax
movl $0x1, %ecx
cmpl $0x0, %edx
cmovnel %ecx, %eax
movl %eax, -0xd4(%rbp)
movb $0x1, %al
cmpl $0x0, -0x100(%rbp)
movb %al, -0x179(%rbp)
je 0xaa7a8
cvtsi2sdl -0x100(%rbp), %xmm1
movsd 0x13651(%rip), %xmm0    # 0xbdd48
mulsd %xmm0, %xmm1
movq -0x10(%rbp), %rax
addq $0x7f670, %rax          # imm = 0x7F670
movl -0xc4(%rbp), %ecx
subl $0x1, %ecx
movslq %ecx, %rcx
imulq $0x18, %rcx, %rcx
addq %rcx, %rax
movl -0xb8(%rbp), %ecx
subl $0x1, %ecx
movslq %ecx, %rcx
movsd (%rax,%rcx,8), %xmm0
movb $0x1, %al
ucomisd %xmm1, %xmm0
movb %al, -0x179(%rbp)
ja 0xaa7a8
movl -0xd4(%rbp), %ecx
movq -0x10(%rbp), %rax
addq $0x81860, %rax          # imm = 0x81860
movl -0xc4(%rbp), %edx
subl $0x1, %edx
movslq %edx, %rdx
imulq $0x3, %rdx, %rdx
addq %rdx, %rax
movl -0xb8(%rbp), %edx
subl $0x1, %edx
movslq %edx, %rdx
movzbl (%rax,%rdx), %edx
movb $0x1, %al
cmpl %edx, %ecx
movb %al, -0x179(%rbp)
jne 0xaa7a8
xorl %eax, %eax
cmpl $0x0, -0xe0(%rbp)
movb %al, -0x17a(%rbp)
je 0xaa79c
movl -0x108(%rbp), %eax
cmpl -0xe0(%rbp), %eax
setge %al
movb %al, -0x17a(%rbp)
movb -0x17a(%rbp), %al
movb %al, -0x179(%rbp)
movb -0x179(%rbp), %al
andb $0x1, %al
movzbl %al, %eax
movl %eax, -0xcc(%rbp)
cvtsi2sdl -0x100(%rbp), %xmm0
movsd 0x1357f(%rip), %xmm1    # 0xbdd48
mulsd %xmm1, %xmm0
movq -0x10(%rbp), %rax
addq $0x7f670, %rax          # imm = 0x7F670
movl -0xc4(%rbp), %ecx
subl $0x1, %ecx
movslq %ecx, %rcx
imulq $0x18, %rcx, %rcx
addq %rcx, %rax
movl -0xb8(%rbp), %ecx
subl $0x1, %ecx
movslq %ecx, %rcx
movsd %xmm0, (%rax,%rcx,8)
movl -0xd4(%rbp), %eax
movb %al, %dl
movq -0x10(%rbp), %rax
addq $0x81860, %rax          # imm = 0x81860
movl -0xc4(%rbp), %ecx
subl $0x1, %ecx
movslq %ecx, %rcx
imulq $0x3, %rcx, %rcx
addq %rcx, %rax
movl -0xb8(%rbp), %ecx
subl $0x1, %ecx
movslq %ecx, %rcx
movb %dl, (%rax,%rcx)
movl -0xcc(%rbp), %edx
xorl %eax, %eax
movl $0x1, %ecx
cmpl $0x0, %edx
cmovnel %ecx, %eax
cmpl $0x0, -0xd0(%rbp)
setne %sil
xorb $-0x1, %sil
xorl %ecx, %ecx
movl $0x2, %edx
testb $0x1, %sil
cmovnel %edx, %ecx
orl %ecx, %eax
movl %eax, -0xd8(%rbp)
movl $0x0, -0xb0(%rbp)
movl -0xb0(%rbp), %eax
cmpl -0xdc(%rbp), %eax
jge 0xaa8b9
movq -0x10(%rbp), %rax
movq 0x1d28(%rax), %rax
movslq -0xb0(%rbp), %rcx
imulq $0x60, %rcx, %rcx
addq %rcx, %rax
movzbl 0x10(%rax), %eax
cmpl -0xc4(%rbp), %eax
jne 0xaa8a6
jmp 0xaa8b9
jmp 0xaa8a8
movl -0xb0(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xb0(%rbp)
jmp 0xaa871
movl -0xb0(%rbp), %eax
cmpl -0xdc(%rbp), %eax
jl 0xaaa58
movq -0x10(%rbp), %rax
movq 0x1d28(%rax), %rax
movslq -0xdc(%rbp), %rcx
imulq $0x60, %rcx, %rcx
addq %rcx, %rax
movq -0x20(%rbp), %rcx
movq %rcx, (%rax)
movq -0x18(%rbp), %rcx
movq %rcx, 0x8(%rax)
movl -0xc4(%rbp), %eax
movb %al, %cl
movq -0x10(%rbp), %rax
movq 0x1d28(%rax), %rax
movslq -0xdc(%rbp), %rdx
imulq $0x60, %rdx, %rdx
addq %rdx, %rax
movb %cl, 0x10(%rax)
movq -0x10(%rbp), %rax
movq 0x1d28(%rax), %rax
movslq -0xdc(%rbp), %rcx
imulq $0x60, %rcx, %rcx
addq %rcx, %rax
movb $0x0, 0x11(%rax)
movl $0x0, -0xb4(%rbp)
cmpl $0x3, -0xb4(%rbp)
jge 0xaaa49
movq -0x10(%rbp), %rax
movq 0x1d28(%rax), %rax
movslq -0xdc(%rbp), %rcx
imulq $0x60, %rcx, %rcx
addq %rcx, %rax
movslq -0xb4(%rbp), %rcx
xorps %xmm0, %xmm0
movsd %xmm0, 0x38(%rax,%rcx,8)
movq -0x10(%rbp), %rax
movq 0x1d28(%rax), %rax
movslq -0xdc(%rbp), %rcx
imulq $0x60, %rcx, %rcx
addq %rcx, %rax
movslq -0xb4(%rbp), %rcx
xorps %xmm0, %xmm0
movsd %xmm0, 0x20(%rax,%rcx,8)
movq -0x10(%rbp), %rax
movq 0x1d28(%rax), %rax
movslq -0xdc(%rbp), %rcx
imulq $0x60, %rcx, %rcx
addq %rcx, %rax
movslq -0xb4(%rbp), %rcx
xorps %xmm0, %xmm0
movss %xmm0, 0x50(%rax,%rcx,4)
movq -0x10(%rbp), %rax
movq 0x1d28(%rax), %rax
movslq -0xdc(%rbp), %rcx
imulq $0x60, %rcx, %rcx
addq %rcx, %rax
movslq -0xb4(%rbp), %rcx
movb $0x0, 0x15(%rax,%rcx)
movq -0x10(%rbp), %rax
movq 0x1d28(%rax), %rax
movslq -0xdc(%rbp), %rcx
imulq $0x60, %rcx, %rcx
addq %rcx, %rax
movslq -0xb4(%rbp), %rcx
movb $0x0, 0x12(%rax,%rcx)
movq -0x10(%rbp), %rax
movq 0x1d28(%rax), %rax
movslq -0xdc(%rbp), %rcx
imulq $0x60, %rcx, %rcx
addq %rcx, %rax
movslq -0xb4(%rbp), %rcx
movb $0x0, 0x18(%rax,%rcx)
movl -0xb4(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xb4(%rbp)
jmp 0xaa93e
movl -0xdc(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xdc(%rbp)
movsd -0x88(%rbp), %xmm0
movq -0x10(%rbp), %rax
movq 0x1d28(%rax), %rax
movslq -0xb0(%rbp), %rcx
imulq $0x60, %rcx, %rcx
addq %rcx, %rax
movl -0xb8(%rbp), %ecx
subl $0x1, %ecx
movslq %ecx, %rcx
movsd %xmm0, 0x20(%rax,%rcx,8)
movsd -0x80(%rbp), %xmm0
movq -0x10(%rbp), %rax
movq 0x1d28(%rax), %rax
movslq -0xb0(%rbp), %rcx
imulq $0x60, %rcx, %rcx
addq %rcx, %rax
movl -0xb8(%rbp), %ecx
subl $0x1, %ecx
movslq %ecx, %rcx
movsd %xmm0, 0x38(%rax,%rcx,8)
movsd -0x90(%rbp), %xmm0
cvtsd2ss %xmm0, %xmm0
movq -0x10(%rbp), %rax
movq 0x1d28(%rax), %rax
movslq -0xb0(%rbp), %rcx
imulq $0x60, %rcx, %rcx
addq %rcx, %rax
movl -0xb8(%rbp), %ecx
subl $0x1, %ecx
movslq %ecx, %rcx
movss %xmm0, 0x50(%rax,%rcx,4)
movl -0x104(%rbp), %eax
shll $0x2, %eax
movb %al, %dl
movq -0x10(%rbp), %rax
movq 0x1d28(%rax), %rax
movslq -0xb0(%rbp), %rcx
imulq $0x60, %rcx, %rcx
addq %rcx, %rax
movl -0xb8(%rbp), %ecx
subl $0x1, %ecx
movslq %ecx, %rcx
movb %dl, 0x12(%rax,%rcx)
movl -0xd8(%rbp), %eax
movb %al, %dl
movq -0x10(%rbp), %rax
movq 0x1d28(%rax), %rax
movslq -0xb0(%rbp), %rcx
imulq $0x60, %rcx, %rcx
addq %rcx, %rax
movl -0xb8(%rbp), %ecx
subl $0x1, %ecx
movslq %ecx, %rcx
movb %dl, 0x15(%rax,%rcx)
movl -0xc8(%rbp), %eax
movb %al, %dl
movq -0x10(%rbp), %rax
movq 0x1d28(%rax), %rax
movslq -0xb0(%rbp), %rcx
imulq $0x60, %rcx, %rcx
addq %rcx, %rax
movl -0xb8(%rbp), %ecx
subl $0x1, %ecx
movslq %ecx, %rcx
movb %dl, 0x18(%rax,%rcx)
movl -0xac(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xac(%rbp)
movq -0x28(%rbp), %rax
addq $0x20, %rax
movq %rax, -0x28(%rbp)
jmp 0xaa34b
movq -0x10(%rbp), %rax
movq -0x20(%rbp), %rcx
movq %rcx, (%rax)
movq -0x18(%rbp), %rcx
movq %rcx, 0x8(%rax)
movl -0xdc(%rbp), %ecx
movq -0x10(%rbp), %rax
movl %ecx, 0x1d20(%rax)
movl $0x1, -0x4(%rbp)
movl -0x4(%rbp), %eax
addq $0x180, %rsp            # imm = 0x180
popq %rbp
retq
nop