// File: readmapping[P]alfalfa/src/dp.cpp
// Function: dynProg::dpFillStatic(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, bool, boundaries const&, dp_type const&)
int dynProg::dpFillStatic(const string& ref,const string& query, bool forward,
        const boundaries& offset, const dp_type& type){
    if(!forward)
        return dpFillStaticBackward(ref, query, offset);
    int        d = 0;
    int        local = type.local || (type.freeQueryB && type.freeRefB) ? 0 : 1;//TODO: remove because this will never happen (speed up)
    int bandL = max(bandLeft, bandSize);
    int bandR = max(bandRight, bandSize);
    for(long i = 1; i <= L2; i++ ){
        long idx2 = forward ? i-bandL : L1 - L2 + i - bandL;
        long colRB = forward ? i+bandR : L1 - L2 + i + bandR;
        if(idx2>0){//left value undefined
            d = scores.scoreMatrix[size_t (ref[offset.refB+idx2-1])][size_t (query[offset.queryB+i-1])];
            M[ i ][ idx2 ] = M[ i-1 ][ idx2-1 ] + d;
            UP[i][idx2] = max(M[ i-1 ][ idx2 ] + scores.extendGap + scores.openGap, UP[i-1][idx2]+scores.extendGap);
            M[ i ][ idx2 ] = max(M[ i ][ idx2 ] , UP[i][idx2]);
            //fill in generic value for gapLeft, such that it is defined, but not chosen in next step
            LEFT[i][idx2] = M[ i ][ idx2 ] + scores.extendGap + 2*scores.openGap;
            M[ i ][ idx2 ] = max(M[ i ][ idx2 ], 0 + local*M[ i ][ idx2 ]);
            idx2++;
        }
        for(long j = max( 1L, idx2); j <= min((long)L1, colRB-1); j++ ){
            //here insert substitution matrix!
            d = scores.scoreMatrix[size_t(ref[offset.refB+j-1])][size_t(query[offset.queryB+i-1])];
            UP[i][j] = max(M[ i-1 ][ j ] + scores.extendGap + scores.openGap, UP[i-1][j]+scores.extendGap);
            M[i][j] = M[ i-1 ][ j-1 ] + d;
            LEFT[i][j] = max(M[ i ][ j-1 ] + scores.extendGap + scores.openGap, LEFT[i][j-1]+scores.extendGap);
            M[i][j] = max(M[i][j], LEFT[i][j]);
            M[i][j] = max(M[i][j], UP[i][j]);
            M[ i ][ j ] = max(M[ i ][ j ], 0 + local*M[ i ][ j ]);
        }
        if(colRB <= L1){
            idx2 = colRB;
            d = scores.scoreMatrix[size_t(ref[offset.refB+idx2-1])][size_t(query[offset.queryB+i-1])];
            M[ i ][ idx2 ] = M[ i-1 ][ idx2-1 ] + d;
            LEFT[i][idx2] = max(M[ i ][ idx2-1 ] + scores.extendGap + scores.openGap, LEFT[i][idx2-1]+scores.extendGap);
            M[ i ][ idx2 ] = max(M[ i ][ idx2 ], LEFT[i][idx2]);
            //fill in generic value for gapUp, such that it is defined, but not chosen in next step
            UP[i][idx2] = M[ i ][ idx2 ] + scores.extendGap + 2*scores.openGap;
            M[ i ][ idx2 ] = max(M[ i ][ idx2 ], 0 + local*M[ i ][ idx2 ]);
        }
    }
    return 0;
}

// Assembly:
subq $0x108, %rsp            # imm = 0x108
movb %cl, %al
movq %rdi, 0xf8(%rsp)
movq %rsi, 0xf0(%rsp)
movq %rdx, 0xe8(%rsp)
andb $0x1, %al
movb %al, 0xe7(%rsp)
movq %r8, 0xd8(%rsp)
movq %r9, 0xd0(%rsp)
movq 0xf8(%rsp), %rax
movq %rax, 0x50(%rsp)
testb $0x1, 0xe7(%rsp)
jne 0x321bf
movq 0x50(%rsp), %rdi
movq 0xf0(%rsp), %rsi
movq 0xe8(%rsp), %rdx
movq 0xd8(%rsp), %rcx
callq 0x32c90
movl %eax, 0x104(%rsp)
jmp 0x32c75
movl $0x0, 0xcc(%rsp)
movq 0xd0(%rsp), %rcx
movb $0x1, %al
testb $0x1, 0x4(%rcx)
movb %al, 0x4f(%rsp)
jne 0x32208
movq 0xd0(%rsp), %rcx
xorl %eax, %eax
testb $0x1, 0x2(%rcx)
movb %al, 0x4e(%rsp)
je 0x32200
movq 0xd0(%rsp), %rax
movb (%rax), %al
movb %al, 0x4e(%rsp)
movb 0x4e(%rsp), %al
movb %al, 0x4f(%rsp)
movq 0x50(%rsp), %rsi
movb 0x4f(%rsp), %dl
movl $0x1, %eax
xorl %ecx, %ecx
testb $0x1, %dl
cmovnel %ecx, %eax
movl %eax, 0xc8(%rsp)
movq %rsi, %rdi
addq $0x2c, %rdi
addq $0x28, %rsi
callq 0x14d40
movq 0x50(%rsp), %rsi
movl (%rax), %eax
movl %eax, 0xc4(%rsp)
movq %rsi, %rdi
addq $0x30, %rdi
addq $0x28, %rsi
callq 0x14d40
movl (%rax), %eax
movl %eax, 0xc0(%rsp)
movq $0x1, 0xb8(%rsp)
movq 0x50(%rsp), %rcx
movq 0xb8(%rsp), %rax
movslq 0x24(%rcx), %rcx
cmpq %rcx, %rax
jg 0x32c6a
testb $0x1, 0xe7(%rsp)
je 0x322a6
movq 0xb8(%rsp), %rax
movslq 0xc4(%rsp), %rcx
subq %rcx, %rax
movq %rax, 0x40(%rsp)
jmp 0x322cb
movq 0x50(%rsp), %rcx
movl 0x20(%rcx), %eax
subl 0x24(%rcx), %eax
cltq
addq 0xb8(%rsp), %rax
movslq 0xc4(%rsp), %rcx
subq %rcx, %rax
movq %rax, 0x40(%rsp)
movq 0x40(%rsp), %rax
movq %rax, 0xb0(%rsp)
testb $0x1, 0xe7(%rsp)
je 0x322fc
movq 0xb8(%rsp), %rax
movslq 0xc0(%rsp), %rcx
addq %rcx, %rax
movq %rax, 0x38(%rsp)
jmp 0x32321
movq 0x50(%rsp), %rcx
movl 0x20(%rcx), %eax
subl 0x24(%rcx), %eax
cltq
addq 0xb8(%rsp), %rax
movslq 0xc0(%rsp), %rcx
addq %rcx, %rax
movq %rax, 0x38(%rsp)
movq 0x38(%rsp), %rax
movq %rax, 0xa8(%rsp)
cmpq $0x0, 0xb0(%rsp)
jle 0x325e4
movq 0x50(%rsp), %rax
movq 0x38(%rax), %rax
addq $0x10, %rax
movq %rax, 0x28(%rsp)
movq 0xf0(%rsp), %rdi
movq 0xd8(%rsp), %rax
movq (%rax), %rsi
addq 0xb0(%rsp), %rsi
subq $0x1, %rsi
callq 0x8410
movq %rax, %rcx
movq 0x28(%rsp), %rax
movsbq (%rcx), %rcx
imulq $0x1fc, %rcx, %rcx      # imm = 0x1FC
addq %rcx, %rax
movq %rax, 0x30(%rsp)
movq 0xe8(%rsp), %rdi
movq 0xd8(%rsp), %rax
movslq 0x10(%rax), %rsi
addq 0xb8(%rsp), %rsi
subq $0x1, %rsi
callq 0x8410
movq 0x50(%rsp), %rcx
movq %rax, %rdx
movq 0x30(%rsp), %rax
movsbq (%rdx), %rdx
movl (%rax,%rdx,4), %eax
movl %eax, 0xcc(%rsp)
movq (%rcx), %rax
movq 0xb8(%rsp), %rdx
subq $0x1, %rdx
movq (%rax,%rdx,8), %rax
movq 0xb0(%rsp), %rdx
subq $0x1, %rdx
movl (%rax,%rdx,4), %esi
addl 0xcc(%rsp), %esi
movq (%rcx), %rax
movq 0xb8(%rsp), %rdx
movq (%rax,%rdx,8), %rax
movq 0xb0(%rsp), %rdx
movl %esi, (%rax,%rdx,4)
movq (%rcx), %rax
movq 0xb8(%rsp), %rdx
subq $0x1, %rdx
movq (%rax,%rdx,8), %rax
movq 0xb0(%rsp), %rdx
movl (%rax,%rdx,4), %eax
movq 0x38(%rcx), %rdx
addl 0xc(%rdx), %eax
movq 0x38(%rcx), %rdx
addl 0x8(%rdx), %eax
movl %eax, 0xa4(%rsp)
movq 0x8(%rcx), %rax
movq 0xb8(%rsp), %rdx
subq $0x1, %rdx
movq (%rax,%rdx,8), %rax
movq 0xb0(%rsp), %rdx
movl (%rax,%rdx,4), %eax
movq 0x38(%rcx), %rcx
addl 0xc(%rcx), %eax
movl %eax, 0xa0(%rsp)
leaq 0xa4(%rsp), %rdi
leaq 0xa0(%rsp), %rsi
callq 0x14d40
movq %rax, %rcx
movq 0x50(%rsp), %rax
movl (%rcx), %esi
movq 0x8(%rax), %rcx
movq 0xb8(%rsp), %rdx
movq (%rcx,%rdx,8), %rcx
movq 0xb0(%rsp), %rdx
movl %esi, (%rcx,%rdx,4)
movq (%rax), %rcx
movq 0xb8(%rsp), %rdx
movq (%rcx,%rdx,8), %rdi
movq 0xb0(%rsp), %rcx
shlq $0x2, %rcx
addq %rcx, %rdi
movq 0x8(%rax), %rax
movq 0xb8(%rsp), %rcx
movq (%rax,%rcx,8), %rsi
movq 0xb0(%rsp), %rax
shlq $0x2, %rax
addq %rax, %rsi
callq 0x14d40
movq 0x50(%rsp), %rcx
movl (%rax), %esi
movq (%rcx), %rax
movq 0xb8(%rsp), %rdx
movq (%rax,%rdx,8), %rax
movq 0xb0(%rsp), %rdx
movl %esi, (%rax,%rdx,4)
movq (%rcx), %rax
movq 0xb8(%rsp), %rdx
movq (%rax,%rdx,8), %rax
movq 0xb0(%rsp), %rdx
movl (%rax,%rdx,4), %esi
movq 0x38(%rcx), %rax
addl 0xc(%rax), %esi
movq 0x38(%rcx), %rax
movl 0x8(%rax), %eax
shll %eax
addl %eax, %esi
movq 0x10(%rcx), %rax
movq 0xb8(%rsp), %rdx
movq (%rax,%rdx,8), %rax
movq 0xb0(%rsp), %rdx
movl %esi, (%rax,%rdx,4)
movq (%rcx), %rax
movq 0xb8(%rsp), %rdx
movq (%rax,%rdx,8), %rdi
movq 0xb0(%rsp), %rax
shlq $0x2, %rax
addq %rax, %rdi
movl 0xc8(%rsp), %eax
movq (%rcx), %rcx
movq 0xb8(%rsp), %rdx
movq (%rcx,%rdx,8), %rcx
movq 0xb0(%rsp), %rdx
imull (%rcx,%rdx,4), %eax
addl $0x0, %eax
movl %eax, 0x9c(%rsp)
leaq 0x9c(%rsp), %rsi
callq 0x14d40
movq %rax, %rcx
movq 0x50(%rsp), %rax
movl (%rcx), %edx
movq (%rax), %rax
movq 0xb8(%rsp), %rcx
movq (%rax,%rcx,8), %rax
movq 0xb0(%rsp), %rcx
movl %edx, (%rax,%rcx,4)
movq 0xb0(%rsp), %rax
addq $0x1, %rax
movq %rax, 0xb0(%rsp)
movq $0x1, 0x88(%rsp)
leaq 0x88(%rsp), %rdi
leaq 0xb0(%rsp), %rsi
callq 0x1ec80
movq (%rax), %rax
movq %rax, 0x90(%rsp)
movq 0x50(%rsp), %rax
movq 0x90(%rsp), %rcx
movq %rcx, 0x20(%rsp)
movslq 0x20(%rax), %rax
movq %rax, 0x80(%rsp)
movq 0xa8(%rsp), %rax
subq $0x1, %rax
movq %rax, 0x78(%rsp)
leaq 0x80(%rsp), %rdi
leaq 0x78(%rsp), %rsi
callq 0x1efc0
movq %rax, %rcx
movq 0x20(%rsp), %rax
cmpq (%rcx), %rax
jg 0x329a6
movq 0x50(%rsp), %rax
movq 0x38(%rax), %rax
addq $0x10, %rax
movq %rax, 0x10(%rsp)
movq 0xf0(%rsp), %rdi
movq 0xd8(%rsp), %rax
movq (%rax), %rsi
addq 0x90(%rsp), %rsi
subq $0x1, %rsi
callq 0x8410
movq %rax, %rcx
movq 0x10(%rsp), %rax
movsbq (%rcx), %rcx
imulq $0x1fc, %rcx, %rcx      # imm = 0x1FC
addq %rcx, %rax
movq %rax, 0x18(%rsp)
movq 0xe8(%rsp), %rdi
movq 0xd8(%rsp), %rax
movslq 0x10(%rax), %rsi
addq 0xb8(%rsp), %rsi
subq $0x1, %rsi
callq 0x8410
movq 0x50(%rsp), %rcx
movq %rax, %rdx
movq 0x18(%rsp), %rax
movsbq (%rdx), %rdx
movl (%rax,%rdx,4), %eax
movl %eax, 0xcc(%rsp)
movq (%rcx), %rax
movq 0xb8(%rsp), %rdx
subq $0x1, %rdx
movq (%rax,%rdx,8), %rax
movq 0x90(%rsp), %rdx
movl (%rax,%rdx,4), %eax
movq 0x38(%rcx), %rdx
addl 0xc(%rdx), %eax
movq 0x38(%rcx), %rdx
addl 0x8(%rdx), %eax
movl %eax, 0x74(%rsp)
movq 0x8(%rcx), %rax
movq 0xb8(%rsp), %rdx
subq $0x1, %rdx
movq (%rax,%rdx,8), %rax
movq 0x90(%rsp), %rdx
movl (%rax,%rdx,4), %eax
movq 0x38(%rcx), %rcx
addl 0xc(%rcx), %eax
movl %eax, 0x70(%rsp)
leaq 0x74(%rsp), %rdi
leaq 0x70(%rsp), %rsi
callq 0x14d40
movq 0x50(%rsp), %rcx
movl (%rax), %esi
movq 0x8(%rcx), %rax
movq 0xb8(%rsp), %rdx
movq (%rax,%rdx,8), %rax
movq 0x90(%rsp), %rdx
movl %esi, (%rax,%rdx,4)
movq (%rcx), %rax
movq 0xb8(%rsp), %rdx
subq $0x1, %rdx
movq (%rax,%rdx,8), %rax
movq 0x90(%rsp), %rdx
subq $0x1, %rdx
movl (%rax,%rdx,4), %esi
addl 0xcc(%rsp), %esi
movq (%rcx), %rax
movq 0xb8(%rsp), %rdx
movq (%rax,%rdx,8), %rax
movq 0x90(%rsp), %rdx
movl %esi, (%rax,%rdx,4)
movq (%rcx), %rax
movq 0xb8(%rsp), %rdx
movq (%rax,%rdx,8), %rax
movq 0x90(%rsp), %rdx
subq $0x1, %rdx
movl (%rax,%rdx,4), %eax
movq 0x38(%rcx), %rdx
addl 0xc(%rdx), %eax
movq 0x38(%rcx), %rdx
addl 0x8(%rdx), %eax
movl %eax, 0x6c(%rsp)
movq 0x10(%rcx), %rax
movq 0xb8(%rsp), %rdx
movq (%rax,%rdx,8), %rax
movq 0x90(%rsp), %rdx
subq $0x1, %rdx
movl (%rax,%rdx,4), %eax
movq 0x38(%rcx), %rcx
addl 0xc(%rcx), %eax
movl %eax, 0x68(%rsp)
leaq 0x6c(%rsp), %rdi
leaq 0x68(%rsp), %rsi
callq 0x14d40
movq %rax, %rcx
movq 0x50(%rsp), %rax
movl (%rcx), %esi
movq 0x10(%rax), %rcx
movq 0xb8(%rsp), %rdx
movq (%rcx,%rdx,8), %rcx
movq 0x90(%rsp), %rdx
movl %esi, (%rcx,%rdx,4)
movq (%rax), %rcx
movq 0xb8(%rsp), %rdx
movq (%rcx,%rdx,8), %rdi
movq 0x90(%rsp), %rcx
shlq $0x2, %rcx
addq %rcx, %rdi
movq 0x10(%rax), %rax
movq 0xb8(%rsp), %rcx
movq (%rax,%rcx,8), %rsi
movq 0x90(%rsp), %rax
shlq $0x2, %rax
addq %rax, %rsi
callq 0x14d40
movq %rax, %rcx
movq 0x50(%rsp), %rax
movl (%rcx), %esi
movq (%rax), %rcx
movq 0xb8(%rsp), %rdx
movq (%rcx,%rdx,8), %rcx
movq 0x90(%rsp), %rdx
movl %esi, (%rcx,%rdx,4)
movq (%rax), %rcx
movq 0xb8(%rsp), %rdx
movq (%rcx,%rdx,8), %rdi
movq 0x90(%rsp), %rcx
shlq $0x2, %rcx
addq %rcx, %rdi
movq 0x8(%rax), %rax
movq 0xb8(%rsp), %rcx
movq (%rax,%rcx,8), %rsi
movq 0x90(%rsp), %rax
shlq $0x2, %rax
addq %rax, %rsi
callq 0x14d40
movq 0x50(%rsp), %rcx
movl (%rax), %esi
movq (%rcx), %rax
movq 0xb8(%rsp), %rdx
movq (%rax,%rdx,8), %rax
movq 0x90(%rsp), %rdx
movl %esi, (%rax,%rdx,4)
movq (%rcx), %rax
movq 0xb8(%rsp), %rdx
movq (%rax,%rdx,8), %rdi
movq 0x90(%rsp), %rax
shlq $0x2, %rax
addq %rax, %rdi
movl 0xc8(%rsp), %eax
movq (%rcx), %rcx
movq 0xb8(%rsp), %rdx
movq (%rcx,%rdx,8), %rcx
movq 0x90(%rsp), %rdx
imull (%rcx,%rdx,4), %eax
addl $0x0, %eax
movl %eax, 0x64(%rsp)
leaq 0x64(%rsp), %rsi
callq 0x14d40
movq %rax, %rcx
movq 0x50(%rsp), %rax
movl (%rcx), %edx
movq (%rax), %rax
movq 0xb8(%rsp), %rcx
movq (%rax,%rcx,8), %rax
movq 0x90(%rsp), %rcx
movl %edx, (%rax,%rcx,4)
movq 0x90(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x90(%rsp)
jmp 0x32610
movq 0x50(%rsp), %rcx
movq 0xa8(%rsp), %rax
movslq 0x20(%rcx), %rcx
cmpq %rcx, %rax
jg 0x32c4f
movq 0x50(%rsp), %rax
movq 0xa8(%rsp), %rcx
movq %rcx, 0xb0(%rsp)
movq 0x38(%rax), %rax
addq $0x10, %rax
movq %rax, (%rsp)
movq 0xf0(%rsp), %rdi
movq 0xd8(%rsp), %rax
movq (%rax), %rsi
addq 0xb0(%rsp), %rsi
subq $0x1, %rsi
callq 0x8410
movq %rax, %rcx
movq (%rsp), %rax
movsbq (%rcx), %rcx
imulq $0x1fc, %rcx, %rcx      # imm = 0x1FC
addq %rcx, %rax
movq %rax, 0x8(%rsp)
movq 0xe8(%rsp), %rdi
movq 0xd8(%rsp), %rax
movslq 0x10(%rax), %rsi
addq 0xb8(%rsp), %rsi
subq $0x1, %rsi
callq 0x8410
movq 0x50(%rsp), %rcx
movq %rax, %rdx
movq 0x8(%rsp), %rax
movsbq (%rdx), %rdx
movl (%rax,%rdx,4), %eax
movl %eax, 0xcc(%rsp)
movq (%rcx), %rax
movq 0xb8(%rsp), %rdx
subq $0x1, %rdx
movq (%rax,%rdx,8), %rax
movq 0xb0(%rsp), %rdx
subq $0x1, %rdx
movl (%rax,%rdx,4), %esi
addl 0xcc(%rsp), %esi
movq (%rcx), %rax
movq 0xb8(%rsp), %rdx
movq (%rax,%rdx,8), %rax
movq 0xb0(%rsp), %rdx
movl %esi, (%rax,%rdx,4)
movq (%rcx), %rax
movq 0xb8(%rsp), %rdx
movq (%rax,%rdx,8), %rax
movq 0xb0(%rsp), %rdx
subq $0x1, %rdx
movl (%rax,%rdx,4), %eax
movq 0x38(%rcx), %rdx
addl 0xc(%rdx), %eax
movq 0x38(%rcx), %rdx
addl 0x8(%rdx), %eax
movl %eax, 0x60(%rsp)
movq 0x10(%rcx), %rax
movq 0xb8(%rsp), %rdx
movq (%rax,%rdx,8), %rax
movq 0xb0(%rsp), %rdx
subq $0x1, %rdx
movl (%rax,%rdx,4), %eax
movq 0x38(%rcx), %rcx
addl 0xc(%rcx), %eax
movl %eax, 0x5c(%rsp)
leaq 0x60(%rsp), %rdi
leaq 0x5c(%rsp), %rsi
callq 0x14d40
movq %rax, %rcx
movq 0x50(%rsp), %rax
movl (%rcx), %esi
movq 0x10(%rax), %rcx
movq 0xb8(%rsp), %rdx
movq (%rcx,%rdx,8), %rcx
movq 0xb0(%rsp), %rdx
movl %esi, (%rcx,%rdx,4)
movq (%rax), %rcx
movq 0xb8(%rsp), %rdx
movq (%rcx,%rdx,8), %rdi
movq 0xb0(%rsp), %rcx
shlq $0x2, %rcx
addq %rcx, %rdi
movq 0x10(%rax), %rax
movq 0xb8(%rsp), %rcx
movq (%rax,%rcx,8), %rsi
movq 0xb0(%rsp), %rax
shlq $0x2, %rax
addq %rax, %rsi
callq 0x14d40
movq 0x50(%rsp), %rcx
movl (%rax), %esi
movq (%rcx), %rax
movq 0xb8(%rsp), %rdx
movq (%rax,%rdx,8), %rax
movq 0xb0(%rsp), %rdx
movl %esi, (%rax,%rdx,4)
movq (%rcx), %rax
movq 0xb8(%rsp), %rdx
movq (%rax,%rdx,8), %rax
movq 0xb0(%rsp), %rdx
movl (%rax,%rdx,4), %esi
movq 0x38(%rcx), %rax
addl 0xc(%rax), %esi
movq 0x38(%rcx), %rax
movl 0x8(%rax), %eax
shll %eax
addl %eax, %esi
movq 0x8(%rcx), %rax
movq 0xb8(%rsp), %rdx
movq (%rax,%rdx,8), %rax
movq 0xb0(%rsp), %rdx
movl %esi, (%rax,%rdx,4)
movq (%rcx), %rax
movq 0xb8(%rsp), %rdx
movq (%rax,%rdx,8), %rdi
movq 0xb0(%rsp), %rax
shlq $0x2, %rax
addq %rax, %rdi
movl 0xc8(%rsp), %eax
movq (%rcx), %rcx
movq 0xb8(%rsp), %rdx
movq (%rcx,%rdx,8), %rcx
movq 0xb0(%rsp), %rdx
imull (%rcx,%rdx,4), %eax
addl $0x0, %eax
movl %eax, 0x58(%rsp)
leaq 0x58(%rsp), %rsi
callq 0x14d40
movq %rax, %rcx
movq 0x50(%rsp), %rax
movl (%rcx), %edx
movq (%rax), %rax
movq 0xb8(%rsp), %rcx
movq (%rax,%rcx,8), %rax
movq 0xb0(%rsp), %rcx
movl %edx, (%rax,%rcx,4)
jmp 0x32c51
movq 0xb8(%rsp), %rax
addq $0x1, %rax
movq %rax, 0xb8(%rsp)
jmp 0x32268
movl $0x0, 0x104(%rsp)
movl 0x104(%rsp), %eax
addq $0x108, %rsp            # imm = 0x108
retq
nopw %cs:(%rax,%rax)