// File: tap3edit[P]tap3xml/asn1_lexer.cpp
// Function: yyunput(int, char*)
static void yyunput (int c, char * yy_bp )
{
	char *yy_cp;
    
    yy_cp = (yy_c_buf_p);

	/* undo effects of setting up yytext */
	*yy_cp = (yy_hold_char);

	if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 )
		{ /* need to shift things up to make room */
		/* +2 for EOB chars. */
		int number_to_move = (yy_n_chars) + 2;
		char *dest = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[
					YY_CURRENT_BUFFER_LVALUE->yy_buf_size + 2];
		char *source =
				&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move];

		while ( source > YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
			*--dest = *--source;

		yy_cp += (int) (dest - source);
		yy_bp += (int) (dest - source);
		YY_CURRENT_BUFFER_LVALUE->yy_n_chars =
			(yy_n_chars) = (int) YY_CURRENT_BUFFER_LVALUE->yy_buf_size;

		if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 )
			YY_FATAL_ERROR( "flex scanner push-back overflow" );
		}

	*--yy_cp = (char) c;

    if ( c == '\n' ){
        --yylineno;
    }

	(yytext_ptr) = yy_bp;
	(yy_hold_char) = *yy_cp;
	(yy_c_buf_p) = yy_cp;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movl %edi, -0x4(%rbp)
movq %rsi, -0x10(%rbp)
movq 0x25b1a(%rip), %rax     # 0x314e0
movq %rax, -0x18(%rbp)
movb 0x25b18(%rip), %cl      # 0x314e8
movq -0x18(%rbp), %rax
movb %cl, (%rax)
movq -0x18(%rbp), %rax
movq 0x25aef(%rip), %rcx     # 0x314d0
movq 0x25af0(%rip), %rdx     # 0x314d8
movq (%rcx,%rdx,8), %rcx
movq 0x8(%rcx), %rcx
addq $0x2, %rcx
cmpq %rcx, %rax
jae 0xbb3b
movl 0x25af5(%rip), %eax     # 0x314f8
addl $0x2, %eax
movl %eax, -0x1c(%rbp)
movq 0x25ac0(%rip), %rax     # 0x314d0
movq 0x25ac1(%rip), %rcx     # 0x314d8
movq (%rax,%rcx,8), %rax
movq 0x8(%rax), %rax
movq 0x25aaa(%rip), %rcx     # 0x314d0
movq 0x25aab(%rip), %rdx     # 0x314d8
movq (%rcx,%rdx,8), %rcx
movl 0x18(%rcx), %ecx
addl $0x2, %ecx
movslq %ecx, %rcx
addq %rcx, %rax
movq %rax, -0x28(%rbp)
movq 0x25a88(%rip), %rax     # 0x314d0
movq 0x25a89(%rip), %rcx     # 0x314d8
movq (%rax,%rcx,8), %rax
movq 0x8(%rax), %rax
movslq -0x1c(%rbp), %rcx
addq %rcx, %rax
movq %rax, -0x30(%rbp)
movq -0x30(%rbp), %rax
movq 0x25a63(%rip), %rcx     # 0x314d0
movq 0x25a64(%rip), %rdx     # 0x314d8
movq (%rcx,%rdx,8), %rcx
cmpq 0x8(%rcx), %rax
jbe 0xbaa4
movq -0x30(%rbp), %rax
movq %rax, %rcx
addq $-0x1, %rcx
movq %rcx, -0x30(%rbp)
movb -0x1(%rax), %cl
movq -0x28(%rbp), %rax
movq %rax, %rdx
addq $-0x1, %rdx
movq %rdx, -0x28(%rbp)
movb %cl, -0x1(%rax)
jmp 0xba62
movq -0x28(%rbp), %rax
movq -0x30(%rbp), %rcx
subq %rcx, %rax
movl %eax, %ecx
movq -0x18(%rbp), %rax
movslq %ecx, %rcx
addq %rcx, %rax
movq %rax, -0x18(%rbp)
movq -0x28(%rbp), %rax
movq -0x30(%rbp), %rcx
subq %rcx, %rax
movl %eax, %ecx
movq -0x10(%rbp), %rax
movslq %ecx, %rcx
addq %rcx, %rax
movq %rax, -0x10(%rbp)
movq 0x259ef(%rip), %rax     # 0x314d0
movq 0x259f0(%rip), %rcx     # 0x314d8
movq (%rax,%rcx,8), %rax
movl 0x18(%rax), %ecx
movl %ecx, 0x25a03(%rip)     # 0x314f8
movq 0x259d4(%rip), %rax     # 0x314d0
movq 0x259d5(%rip), %rdx     # 0x314d8
movq (%rax,%rdx,8), %rax
movl %ecx, 0x1c(%rax)
movq -0x18(%rbp), %rax
movq 0x259bb(%rip), %rcx     # 0x314d0
movq 0x259bc(%rip), %rdx     # 0x314d8
movq (%rcx,%rdx,8), %rcx
movq 0x8(%rcx), %rcx
addq $0x2, %rcx
cmpq %rcx, %rax
jae 0xbb39
leaq 0x1920d(%rip), %rdi     # 0x24d41
callq 0xc450
jmp 0xbb3b
movl -0x4(%rbp), %eax
movb %al, %cl
movq -0x18(%rbp), %rax
movq %rax, %rdx
addq $-0x1, %rdx
movq %rdx, -0x18(%rbp)
movb %cl, -0x1(%rax)
cmpl $0xa, -0x4(%rbp)
jne 0xbb67
movl 0x258aa(%rip), %eax     # 0x31408
addl $-0x1, %eax
movl %eax, 0x258a1(%rip)     # 0x31408
movq -0x10(%rbp), %rax
movq %rax, 0x2593e(%rip)     # 0x314b0
movq -0x18(%rbp), %rax
movb (%rax), %al
movb %al, 0x2596a(%rip)      # 0x314e8
movq -0x18(%rbp), %rax
movq %rax, 0x25957(%rip)     # 0x314e0
addq $0x30, %rsp
popq %rbp
retq
nop