// File: DoubleString[P]RtConverter/src/Rtklib/ublox.cpp
// Function: bamboo::decode_trkd5(bamboo::raw_t*)
static int decode_trkd5(raw_t *raw)
{
    static double adrs[MAXRTKSAT]={0};
    gtime_t time;
    double ts,tr=-1.0,t,tau,adr,dop,snr,utc_gpst;
    int i,j,n=0,type,off,len,sys,prn,sat,qi,frq,flag,week;
    unsigned char *p=raw->buff+6;
    
    trace(4,"decode_trkd5: len=%d\n",raw->len);
    
    if (raw->outtype) {
        sprintf(raw->msgtype,"UBX TRK-D5    (%4d):",raw->len);
    }
    if (!raw->time.time) return 0;
    
    utc_gpst=timediff(gpst2utc(raw->time),raw->time);
    
    switch ((type=U1(p))) {
        case 3 : off=86; len=56; break;
        case 6 : off=86; len=64; break; /* u-blox 7 */
        default: off=78; len=56; break;
    }
    for (i=0,p=raw->buff+off;p-raw->buff<raw->len-2;i++,p+=len) {
        if (U1(p+41)<4) continue;
        t=I8(p)*P2_32/1000.0;
        if (ubx_sys(U1(p+56))==SYS_GLO) t-=10800.0+utc_gpst;
        if (t>tr) tr=t;
    }
    if (tr<0.0) return 0;
    
    tr=ROUND((tr+0.08)/0.1)*0.1;
    
    /* adjust week handover */
    t=time2gpst(raw->time,&week);
    if      (tr<t-302400.0) week++;
    else if (tr>t+302400.0) week--;
    time=gpst2time(week,tr);
    
    trace(4,"time=%s\n",time_str(time,0));
    
    for (i=0,p=raw->buff+off;p-raw->buff<raw->len-2;i++,p+=len) {
        
        /* quality indicator */
        qi =U1(p+41)&7;
        if (qi<4||7<qi) continue;
        
        if (type==6) {
            if (!(sys=ubx_sys(U1(p+56)))) {
                trace(2,"ubx trkd5: system error\n");
                continue;
            }
            prn=U1(p+57)+(sys==SYS_QZS?192:0);
            frq=U1(p+59)-7;
        }
        else {
            prn=U1(p+34);
            sys=prn<MINPRNSBS?SYS_GPS:SYS_SBS;
        }
        if (!(sat=satno(sys,prn))) {
            trace(2,"ubx trkd5 sat number error: sys=%2d prn=%2d\n",sys,prn);
            continue;
        }
        /* transmission time */
        ts=I8(p)*P2_32/1000.0;
        if (sys==SYS_GLO) ts-=10800.0+utc_gpst; /* glot -> gpst */
        
        /* signal travel time */
        tau=tr-ts;
        if      (tau<-302400.0) tau+=604800.0;
        else if (tau> 302400.0) tau-=604800.0;
        
        flag=U1(p+54);   /* tracking status */
        adr=qi<6?0.0:I8(p+8)*P2_32+(flag&0x01?0.5:0.0);
        dop=I4(p+16)*P2_10/4.0;
        snr=U2(p+32)/256.0;
        
        if (snr<=10.0) raw->lockt[sat-1][1]=1.0;
        
#if 0 /* for debug */
        trace(2,"[%2d] qi=%d sys=%d prn=%3d frq=%2d flag=%02X ts=%1.3f "
              "snr=%4.1f dop=%9.3f adr=%13.3f %6.3f\n",U1(p+35),qi,U1(p+56),
              prn,frq,flag,ts,snr,dop,adr,
              adrs[sat-1]==0.0||dop==0.0?0.0:(adr-adrs[sat-1])-dop);
#endif
        adrs[sat-1]=adr;
        
        /* check phase lock */
        if (!(flag&0x08)) continue;
        
        raw->obs.data[n].time=time;
        raw->obs.data[n].sat=sat;
        raw->obs.data[n].P[0]=tau*CLIGHT;
        raw->obs.data[n].L[0]=-adr;
        raw->obs.data[n].D[0]=(float)dop;
        raw->obs.data[n].SNR[0]=(unsigned char)(snr*4.0);
        raw->obs.data[n].code[0]=sys==SYS_CMP?CODE_L1I:CODE_L1C;
        raw->obs.data[n].LLI[0]=raw->lockt[sat-1][1]>0.0?1:0;
        raw->lockt[sat-1][1]=0.0;
        
        for (j=1;j<NFREQ+NEXOBS;j++) {
            raw->obs.data[n].L[j]=raw->obs.data[n].P[j]=0.0;
            raw->obs.data[n].D[j]=0.0;
            raw->obs.data[n].SNR[j]=raw->obs.data[n].LLI[j]=0;
            raw->obs.data[n].code[j]=CODE_NONE;
        }
        n++;
    }
    if (n<=0) return 0;
    raw->time=time;
    raw->obs.n=n;
    return 1;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x130, %rsp            # imm = 0x130
movq %rdi, -0x10(%rbp)
movsd 0x131e1(%rip), %xmm0    # 0xbedd8
movsd %xmm0, -0x30(%rbp)
movl $0x0, -0x6c(%rbp)
movq -0x10(%rbp), %rax
addq $0x81a90, %rax          # imm = 0x81A90
addq $0x6, %rax
movq %rax, -0xa0(%rbp)
movq -0x10(%rbp), %rax
movl 0x81a78(%rax), %edx
movl $0x4, %edi
leaq 0x2030d(%rip), %rsi     # 0xcbf3b
movb $0x0, %al
callq 0x8b980
movq -0x10(%rbp), %rax
cmpl $0x0, 0x81a8c(%rax)
je 0xabc65
movq -0x10(%rbp), %rdi
addq $0x70e70, %rdi          # imm = 0x70E70
movq -0x10(%rbp), %rax
movl 0x81a78(%rax), %edx
leaq 0x202f3(%rip), %rsi     # 0xcbf51
movb $0x0, %al
callq 0x9150
movq -0x10(%rbp), %rax
cmpq $0x0, (%rax)
jne 0xabc7b
movl $0x0, -0x4(%rbp)
jmp 0xac5be
movq -0x10(%rbp), %rax
movups (%rax), %xmm0
movaps %xmm0, -0xc0(%rbp)
movq -0xc0(%rbp), %rdi
movsd -0xb8(%rbp), %xmm0
callq 0x8ef80
movq %rax, -0xb0(%rbp)
movsd %xmm0, -0xa8(%rbp)
movq -0x10(%rbp), %rax
movups (%rax), %xmm0
movaps %xmm0, -0xd0(%rbp)
movq -0xb0(%rbp), %rdi
movsd -0xa8(%rbp), %xmm0
movq -0xd0(%rbp), %rsi
movsd -0xc8(%rbp), %xmm1
callq 0x8e8e0
movsd %xmm0, -0x60(%rbp)
movq -0xa0(%rbp), %rax
movzbl (%rax), %eax
movl %eax, -0x104(%rbp)
movl %eax, %ecx
subl $0x3, %ecx
movl %eax, -0x70(%rbp)
je 0xabd0b
jmp 0xabcfe
movl -0x104(%rbp), %eax
subl $0x6, %eax
je 0xabd1b
jmp 0xabd2b
movl $0x56, -0x74(%rbp)
movl $0x38, -0x78(%rbp)
jmp 0xabd39
movl $0x56, -0x74(%rbp)
movl $0x40, -0x78(%rbp)
jmp 0xabd39
movl $0x4e, -0x74(%rbp)
movl $0x38, -0x78(%rbp)
movl $0x0, -0x64(%rbp)
movq -0x10(%rbp), %rax
addq $0x81a90, %rax          # imm = 0x81A90
movslq -0x74(%rbp), %rcx
addq %rcx, %rax
movq %rax, -0xa0(%rbp)
movq -0xa0(%rbp), %rax
movq -0x10(%rbp), %rcx
addq $0x81a90, %rcx          # imm = 0x81A90
subq %rcx, %rax
movq -0x10(%rbp), %rcx
movl 0x81a78(%rcx), %ecx
subl $0x2, %ecx
movslq %ecx, %rcx
cmpq %rcx, %rax
jge 0xabe2e
movq -0xa0(%rbp), %rax
movzbl 0x29(%rax), %eax
cmpl $0x4, %eax
jge 0xabd98
jmp 0xabe09
movq -0xa0(%rbp), %rdi
callq 0xae6b0
movsd 0x13094(%rip), %xmm1    # 0xbee40
mulsd %xmm1, %xmm0
movsd 0x11670(%rip), %xmm1    # 0xbd428
divsd %xmm1, %xmm0
movsd %xmm0, -0x38(%rbp)
movq -0xa0(%rbp), %rax
movzbl 0x38(%rax), %edi
callq 0xac810
cmpl $0x4, %eax
jne 0xabdf1
movsd 0x11212(%rip), %xmm1    # 0xbcff0
addsd -0x60(%rbp), %xmm1
movsd -0x38(%rbp), %xmm0
subsd %xmm1, %xmm0
movsd %xmm0, -0x38(%rbp)
movsd -0x38(%rbp), %xmm0
ucomisd -0x30(%rbp), %xmm0
jbe 0xabe07
movsd -0x38(%rbp), %xmm0
movsd %xmm0, -0x30(%rbp)
jmp 0xabe09
movl -0x64(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x64(%rbp)
movl -0x78(%rbp), %ecx
movq -0xa0(%rbp), %rax
movslq %ecx, %rcx
addq %rcx, %rax
movq %rax, -0xa0(%rbp)
jmp 0xabd58
xorps %xmm0, %xmm0
ucomisd -0x30(%rbp), %xmm0
jbe 0xabe44
movl $0x0, -0x4(%rbp)
jmp 0xac5be
movsd 0x1f924(%rip), %xmm0    # 0xcb770
addsd -0x30(%rbp), %xmm0
movsd 0x11ef7(%rip), %xmm1    # 0xbdd50
divsd %xmm1, %xmm0
movsd 0x1101b(%rip), %xmm1    # 0xbce80
addsd %xmm1, %xmm0
callq 0x9c90
cvttsd2si %xmm0, %eax
cvtsi2sd %eax, %xmm0
movsd 0x11ed2(%rip), %xmm1    # 0xbdd50
mulsd %xmm1, %xmm0
movsd %xmm0, -0x30(%rbp)
movq -0x10(%rbp), %rax
movq (%rax), %rcx
movq %rcx, -0xe0(%rbp)
movq 0x8(%rax), %rax
movq %rax, -0xd8(%rbp)
movq -0xe0(%rbp), %rdi
movsd -0xd8(%rbp), %xmm0
leaq -0x94(%rbp), %rsi
callq 0x8e540
movsd %xmm0, -0x38(%rbp)
movsd -0x30(%rbp), %xmm1
movsd -0x38(%rbp), %xmm0
movsd 0x11e8e(%rip), %xmm2    # 0xbdd60
subsd %xmm2, %xmm0
ucomisd %xmm1, %xmm0
jbe 0xabeed
movl -0x94(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x94(%rbp)
jmp 0xabf16
movsd -0x30(%rbp), %xmm0
movsd 0x11e66(%rip), %xmm1    # 0xbdd60
addsd -0x38(%rbp), %xmm1
ucomisd %xmm1, %xmm0
jbe 0xabf14
movl -0x94(%rbp), %eax
addl $-0x1, %eax
movl %eax, -0x94(%rbp)
jmp 0xabf16
movl -0x94(%rbp), %edi
movsd -0x30(%rbp), %xmm0
callq 0x8e4a0
movq %rax, -0xf0(%rbp)
movsd %xmm0, -0xe8(%rbp)
movq -0xf0(%rbp), %rax
movq %rax, -0x20(%rbp)
movq -0xe8(%rbp), %rax
movq %rax, -0x18(%rbp)
movq -0x20(%rbp), %rax
movq %rax, -0x100(%rbp)
movq -0x18(%rbp), %rax
movq %rax, -0xf8(%rbp)
movq -0x100(%rbp), %rdi
movsd -0xf8(%rbp), %xmm0
xorl %esi, %esi
callq 0x8f6d0
movq %rax, %rdx
movl $0x4, %edi
leaq 0x1e028(%rip), %rsi     # 0xc9fae
movb $0x0, %al
callq 0x8b980
movl $0x0, -0x64(%rbp)
movq -0x10(%rbp), %rax
addq $0x81a90, %rax          # imm = 0x81A90
movslq -0x74(%rbp), %rcx
addq %rcx, %rax
movq %rax, -0xa0(%rbp)
movq -0xa0(%rbp), %rax
movq -0x10(%rbp), %rcx
addq $0x81a90, %rcx          # imm = 0x81A90
subq %rcx, %rax
movq -0x10(%rbp), %rcx
movl 0x81a78(%rcx), %ecx
subl $0x2, %ecx
movslq %ecx, %rcx
cmpq %rcx, %rax
jge 0xac588
movq -0xa0(%rbp), %rax
movzbl 0x29(%rax), %eax
andl $0x7, %eax
movl %eax, -0x88(%rbp)
cmpl $0x4, -0x88(%rbp)
jl 0xac004
movl $0x7, %eax
cmpl -0x88(%rbp), %eax
jge 0xac009
jmp 0xac563
cmpl $0x6, -0x70(%rbp)
jne 0xac075
movq -0xa0(%rbp), %rax
movzbl 0x38(%rax), %edi
callq 0xac810
movl %eax, -0x7c(%rbp)
cmpl $0x0, %eax
jne 0xac03f
movl $0x2, %edi
leaq 0x1ff33(%rip), %rsi     # 0xcbf66
movb $0x0, %al
callq 0x8b980
jmp 0xac563
movq -0xa0(%rbp), %rax
movzbl 0x39(%rax), %eax
movl -0x7c(%rbp), %esi
xorl %ecx, %ecx
movl $0xc0, %edx
cmpl $0x10, %esi
cmovel %edx, %ecx
addl %ecx, %eax
movl %eax, -0x80(%rbp)
movq -0xa0(%rbp), %rax
movzbl 0x3b(%rax), %eax
subl $0x7, %eax
movl %eax, -0x8c(%rbp)
jmp 0xac099
movq -0xa0(%rbp), %rax
movzbl 0x22(%rax), %eax
movl %eax, -0x80(%rbp)
movl -0x80(%rbp), %edx
movl $0x2, %eax
movl $0x1, %ecx
cmpl $0x78, %edx
cmovll %ecx, %eax
movl %eax, -0x7c(%rbp)
movl -0x7c(%rbp), %edi
movl -0x80(%rbp), %esi
callq 0x8b1b0
movl %eax, -0x84(%rbp)
cmpl $0x0, %eax
jne 0xac0cd
movl -0x7c(%rbp), %edx
movl -0x80(%rbp), %ecx
movl $0x2, %edi
leaq 0x1febe(%rip), %rsi     # 0xcbf7f
movb $0x0, %al
callq 0x8b980
jmp 0xac563
movq -0xa0(%rbp), %rdi
callq 0xae6b0
movsd 0x12d5f(%rip), %xmm1    # 0xbee40
mulsd %xmm1, %xmm0
movsd 0x1133b(%rip), %xmm1    # 0xbd428
divsd %xmm1, %xmm0
movsd %xmm0, -0x28(%rbp)
cmpl $0x4, -0x7c(%rbp)
jne 0xac117
movsd 0x10eec(%rip), %xmm1    # 0xbcff0
addsd -0x60(%rbp), %xmm1
movsd -0x28(%rbp), %xmm0
subsd %xmm1, %xmm0
movsd %xmm0, -0x28(%rbp)
movsd -0x30(%rbp), %xmm0
subsd -0x28(%rbp), %xmm0
movsd %xmm0, -0x40(%rbp)
movsd 0x12d52(%rip), %xmm0    # 0xbee80
ucomisd -0x40(%rbp), %xmm0
jbe 0xac149
movsd 0x11c2b(%rip), %xmm0    # 0xbdd68
addsd -0x40(%rbp), %xmm0
movsd %xmm0, -0x40(%rbp)
jmp 0xac174
movsd -0x40(%rbp), %xmm0
movsd 0x11c0a(%rip), %xmm1    # 0xbdd60
ucomisd %xmm1, %xmm0
jbe 0xac172
movsd -0x40(%rbp), %xmm0
movsd 0x11bff(%rip), %xmm1    # 0xbdd68
subsd %xmm1, %xmm0
movsd %xmm0, -0x40(%rbp)
jmp 0xac174
movq -0xa0(%rbp), %rax
movzbl 0x36(%rax), %eax
movl %eax, -0x90(%rbp)
cmpl $0x6, -0x88(%rbp)
jge 0xac19b
xorps %xmm0, %xmm0
movsd %xmm0, -0x110(%rbp)
jmp 0xac214
movq -0xa0(%rbp), %rdi
addq $0x8, %rdi
callq 0xae6b0
movsd %xmm0, -0x128(%rbp)
movl -0x90(%rbp), %eax
andl $0x1, %eax
movsd 0x10cbc(%rip), %xmm0    # 0xbce80
xorps %xmm1, %xmm1
movsd %xmm1, -0x120(%rbp)
cmpl $0x0, %eax
movsd %xmm0, -0x118(%rbp)
jne 0xac1ec
movsd -0x120(%rbp), %xmm0
movsd %xmm0, -0x118(%rbp)
movsd -0x128(%rbp), %xmm0
movsd -0x118(%rbp), %xmm1
movsd 0x12c3c(%rip), %xmm2    # 0xbee40
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, -0x110(%rbp)
movsd -0x110(%rbp), %xmm0
movsd %xmm0, -0x48(%rbp)
movq -0xa0(%rbp), %rdi
addq $0x10, %rdi
callq 0xae690
cvtsi2sd %eax, %xmm0
movsd 0x147eb(%rip), %xmm1    # 0xc0a28
mulsd %xmm1, %xmm0
movsd 0x10ba7(%rip), %xmm1    # 0xbcdf0
divsd %xmm1, %xmm0
movsd %xmm0, -0x50(%rbp)
movq -0xa0(%rbp), %rdi
addq $0x20, %rdi
callq 0xa8920
movzwl %ax, %eax
cvtsi2sd %eax, %xmm0
movsd 0x11b57(%rip), %xmm1    # 0xbddc8
divsd %xmm1, %xmm0
movsd %xmm0, -0x58(%rbp)
movsd 0x10d7e(%rip), %xmm0    # 0xbd000
ucomisd -0x58(%rbp), %xmm0
jb 0xac2b3
movq -0x10(%rbp), %rax
addq $0x7f670, %rax          # imm = 0x7F670
movl -0x84(%rbp), %ecx
subl $0x1, %ecx
movslq %ecx, %rcx
imulq $0x18, %rcx, %rcx
addq %rcx, %rax
movsd 0xfbb2(%rip), %xmm0     # 0xbbe60
movsd %xmm0, 0x8(%rax)
movsd -0x48(%rbp), %xmm0
movl -0x84(%rbp), %eax
subl $0x1, %eax
movslq %eax, %rcx
leaq 0x64385(%rip), %rax     # 0x110650
movsd %xmm0, (%rax,%rcx,8)
movl -0x90(%rbp), %eax
andl $0x8, %eax
cmpl $0x0, %eax
jne 0xac2e3
jmp 0xac563
movq -0x10(%rbp), %rax
movq 0x1d28(%rax), %rax
movslq -0x6c(%rbp), %rcx
leaq (%rcx,%rcx,2), %rcx
shlq $0x5, %rcx
movups -0x20(%rbp), %xmm0
movups %xmm0, (%rax,%rcx)
movb -0x84(%rbp), %dl
movq -0x10(%rbp), %rax
movq 0x1d28(%rax), %rax
movslq -0x6c(%rbp), %rcx
leaq (%rcx,%rcx,2), %rcx
shlq $0x5, %rcx
movb %dl, 0x10(%rax,%rcx)
movsd -0x40(%rbp), %xmm0
movsd 0x11a78(%rip), %xmm1    # 0xbdda8
mulsd %xmm1, %xmm0
movq -0x10(%rbp), %rax
movq 0x1d28(%rax), %rax
movslq -0x6c(%rbp), %rcx
leaq (%rcx,%rcx,2), %rcx
shlq $0x5, %rcx
movsd %xmm0, 0x38(%rax,%rcx)
movaps 0xf3b8(%rip), %xmm1     # 0xbb710
movsd -0x48(%rbp), %xmm0
pxor %xmm1, %xmm0
movq -0x10(%rbp), %rax
movq 0x1d28(%rax), %rax
movslq -0x6c(%rbp), %rcx
leaq (%rcx,%rcx,2), %rcx
shlq $0x5, %rcx
movlpd %xmm0, 0x20(%rax,%rcx)
movsd -0x50(%rbp), %xmm0
cvtsd2ss %xmm0, %xmm0
movq -0x10(%rbp), %rax
movq 0x1d28(%rax), %rax
movslq -0x6c(%rbp), %rcx
leaq (%rcx,%rcx,2), %rcx
shlq $0x5, %rcx
movss %xmm0, 0x50(%rax,%rcx)
movsd -0x58(%rbp), %xmm0
movsd 0x10a3f(%rip), %xmm1    # 0xbcdf0
mulsd %xmm1, %xmm0
cvttsd2si %xmm0, %eax
movb %al, %cl
movq -0x10(%rbp), %rax
movq 0x1d28(%rax), %rax
movslq -0x6c(%rbp), %rdx
imulq $0x60, %rdx, %rdx
addq %rdx, %rax
movb %cl, 0x12(%rax)
movl -0x7c(%rbp), %edx
movl $0x1, %eax
movl $0x2f, %ecx
cmpl $0x20, %edx
cmovel %ecx, %eax
movb %al, %cl
movq -0x10(%rbp), %rax
movq 0x1d28(%rax), %rax
movslq -0x6c(%rbp), %rdx
imulq $0x60, %rdx, %rdx
addq %rdx, %rax
movb %cl, 0x18(%rax)
movq -0x10(%rbp), %rax
addq $0x7f670, %rax          # imm = 0x7F670
movl -0x84(%rbp), %ecx
subl $0x1, %ecx
movslq %ecx, %rcx
imulq $0x18, %rcx, %rcx
addq %rcx, %rax
movsd 0x8(%rax), %xmm0
xorps %xmm1, %xmm1
xorl %eax, %eax
movl $0x1, %ecx
ucomisd %xmm1, %xmm0
cmoval %ecx, %eax
movb %al, %cl
movq -0x10(%rbp), %rax
movq 0x1d28(%rax), %rax
movslq -0x6c(%rbp), %rdx
imulq $0x60, %rdx, %rdx
addq %rdx, %rax
movb %cl, 0x15(%rax)
movq -0x10(%rbp), %rax
addq $0x7f670, %rax          # imm = 0x7F670
movl -0x84(%rbp), %ecx
subl $0x1, %ecx
movslq %ecx, %rcx
imulq $0x18, %rcx, %rcx
addq %rcx, %rax
xorps %xmm0, %xmm0
movsd %xmm0, 0x8(%rax)
movl $0x1, -0x68(%rbp)
cmpl $0x3, -0x68(%rbp)
jge 0xac55a
movq -0x10(%rbp), %rax
movq 0x1d28(%rax), %rax
movslq -0x6c(%rbp), %rcx
imulq $0x60, %rcx, %rcx
addq %rcx, %rax
movslq -0x68(%rbp), %rcx
xorps %xmm0, %xmm0
movsd %xmm0, 0x38(%rax,%rcx,8)
movq -0x10(%rbp), %rax
movq 0x1d28(%rax), %rax
movslq -0x6c(%rbp), %rcx
imulq $0x60, %rcx, %rcx
addq %rcx, %rax
movslq -0x68(%rbp), %rcx
xorps %xmm0, %xmm0
movsd %xmm0, 0x20(%rax,%rcx,8)
movq -0x10(%rbp), %rax
movq 0x1d28(%rax), %rax
movslq -0x6c(%rbp), %rcx
imulq $0x60, %rcx, %rcx
addq %rcx, %rax
movslq -0x68(%rbp), %rcx
xorps %xmm0, %xmm0
movss %xmm0, 0x50(%rax,%rcx,4)
movq -0x10(%rbp), %rax
movq 0x1d28(%rax), %rax
movslq -0x6c(%rbp), %rcx
imulq $0x60, %rcx, %rcx
addq %rcx, %rax
movslq -0x68(%rbp), %rcx
movb $0x0, 0x15(%rax,%rcx)
movq -0x10(%rbp), %rax
movq 0x1d28(%rax), %rax
movslq -0x6c(%rbp), %rcx
imulq $0x60, %rcx, %rcx
addq %rcx, %rax
movslq -0x68(%rbp), %rcx
movb $0x0, 0x12(%rax,%rcx)
movq -0x10(%rbp), %rax
movq 0x1d28(%rax), %rax
movslq -0x6c(%rbp), %rcx
imulq $0x60, %rcx, %rcx
addq %rcx, %rax
movslq -0x68(%rbp), %rcx
movb $0x0, 0x18(%rax,%rcx)
movl -0x68(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x68(%rbp)
jmp 0xac47c
movl -0x6c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x6c(%rbp)
movl -0x64(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x64(%rbp)
movl -0x78(%rbp), %ecx
movq -0xa0(%rbp), %rax
movslq %ecx, %rcx
addq %rcx, %rax
movq %rax, -0xa0(%rbp)
jmp 0xabfac
cmpl $0x0, -0x6c(%rbp)
jg 0xac597
movl $0x0, -0x4(%rbp)
jmp 0xac5be
movq -0x10(%rbp), %rax
movq -0x20(%rbp), %rcx
movq %rcx, (%rax)
movq -0x18(%rbp), %rcx
movq %rcx, 0x8(%rax)
movl -0x6c(%rbp), %ecx
movq -0x10(%rbp), %rax
movl %ecx, 0x1d20(%rax)
movl $0x1, -0x4(%rbp)
movl -0x4(%rbp), %eax
addq $0x130, %rsp            # imm = 0x130
popq %rbp
retq
nopw (%rax,%rax)