// File: /workspace/github_c_makefile_star2_O0/nurse[P]nkf/nkf.c
// Function: mimeout_addchar
static void
mimeout_addchar(nkf_char c)
{
    switch(mimeout_mode) {
    case 'Q':
	if (c==CR||c==LF) {
	    (*o_mputc)(c);
	    base64_count = 0;
	} else if(!nkf_isalnum(c)) {
	    (*o_mputc)('=');
	    (*o_mputc)(bin2hex(((c>>4)&0xf)));
	    (*o_mputc)(bin2hex((c&0xf)));
	    base64_count += 3;
	} else {
	    (*o_mputc)(c);
	    base64_count++;
	}
	break;
    case 'B':
	nkf_state->mimeout_state=c;
	(*o_mputc)(basis_64[c>>2]);
	mimeout_mode=2;
	base64_count ++;
	break;
    case 2:
	(*o_mputc)(basis_64[((nkf_state->mimeout_state & 0x3)<< 4) | ((c & 0xF0) >> 4)]);
	nkf_state->mimeout_state=c;
	mimeout_mode=1;
	base64_count ++;
	break;
    case 1:
	(*o_mputc)(basis_64[((nkf_state->mimeout_state & 0xF) << 2) | ((c & 0xC0) >>6)]);
	(*o_mputc)(basis_64[c & 0x3F]);
	mimeout_mode='B';
	base64_count += 2;
	break;
    default:
	(*o_mputc)(c);
	base64_count++;
	break;
    }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movl %edi, -0x4(%rbp)
movl 0x41fbb(%rip), %eax     # 0x5a5ec
movl %eax, -0x8(%rbp)
subl $0x1, %eax
je 0x187e9
jmp 0x1863f
movl -0x8(%rbp), %eax
subl $0x2, %eax
je 0x18789
jmp 0x1864d
movl -0x8(%rbp), %eax
subl $0x42, %eax
je 0x18741
jmp 0x1865b
movl -0x8(%rbp), %eax
subl $0x51, %eax
jne 0x18856
jmp 0x18669
cmpl $0xd, -0x4(%rbp)
je 0x18675
cmpl $0xa, -0x4(%rbp)
jne 0x18690
movq 0x39cac(%rip), %rax     # 0x52328
movl -0x4(%rbp), %edi
callq *%rax
movl $0x0, 0x41fc5(%rip)     # 0x5a650
jmp 0x1873c
movl $0x30, %eax
cmpl -0x4(%rbp), %eax
jg 0x186a0
cmpl $0x39, -0x4(%rbp)
jle 0x1871f
movl $0x61, %eax
cmpl -0x4(%rbp), %eax
jg 0x186b0
cmpl $0x7a, -0x4(%rbp)
jle 0x1871f
movl $0x41, %eax
cmpl -0x4(%rbp), %eax
jg 0x186c0
cmpl $0x5a, -0x4(%rbp)
jle 0x1871f
movl $0x3d, %edi
callq *0x39c5d(%rip)          # 0x52328
movq 0x39c56(%rip), %rax     # 0x52328
movl -0x4(%rbp), %ecx
sarl $0x4, %ecx
andl $0xf, %ecx
andl $0xf, %ecx
movslq %ecx, %rdx
leaq 0x51c3(%rip), %rcx      # 0x1d8ab
movsbl (%rcx,%rdx), %edi
callq *%rax
movq 0x39c33(%rip), %rax     # 0x52328
movl -0x4(%rbp), %ecx
andl $0xf, %ecx
andl $0xf, %ecx
movslq %ecx, %rdx
leaq 0x51a3(%rip), %rcx      # 0x1d8ab
movsbl (%rcx,%rdx), %edi
callq *%rax
movl 0x41f3c(%rip), %eax     # 0x5a650
addl $0x3, %eax
movl %eax, 0x41f33(%rip)     # 0x5a650
jmp 0x1873a
movq 0x39c02(%rip), %rax     # 0x52328
movl -0x4(%rbp), %edi
callq *%rax
movl 0x41f1f(%rip), %eax     # 0x5a650
addl $0x1, %eax
movl %eax, 0x41f16(%rip)     # 0x5a650
jmp 0x1873c
jmp 0x18871
movl -0x4(%rbp), %ecx
movq 0x41e4d(%rip), %rax     # 0x5a598
movl %ecx, 0x18(%rax)
movq 0x39bd3(%rip), %rax     # 0x52328
movl -0x4(%rbp), %ecx
sarl $0x2, %ecx
movslq %ecx, %rdx
leaq 0x40eb(%rip), %rcx      # 0x1c850
movsbl (%rcx,%rdx), %edi
callq *%rax
movl $0x2, 0x41e77(%rip)     # 0x5a5ec
movl 0x41ed5(%rip), %eax     # 0x5a650
addl $0x1, %eax
movl %eax, 0x41ecc(%rip)     # 0x5a650
jmp 0x18871
movq 0x39b98(%rip), %rax     # 0x52328
movq 0x41e01(%rip), %rcx     # 0x5a598
movl 0x18(%rcx), %ecx
andl $0x3, %ecx
shll $0x4, %ecx
movl -0x4(%rbp), %edx
andl $0xf0, %edx
sarl $0x4, %edx
orl %edx, %ecx
movslq %ecx, %rdx
leaq 0x4098(%rip), %rcx      # 0x1c850
movsbl (%rcx,%rdx), %edi
callq *%rax
movl -0x4(%rbp), %ecx
movq 0x41dd0(%rip), %rax     # 0x5a598
movl %ecx, 0x18(%rax)
movl $0x1, 0x41e17(%rip)     # 0x5a5ec
movl 0x41e75(%rip), %eax     # 0x5a650
addl $0x1, %eax
movl %eax, 0x41e6c(%rip)     # 0x5a650
jmp 0x18871
movq 0x39b38(%rip), %rax     # 0x52328
movq 0x41da1(%rip), %rcx     # 0x5a598
movl 0x18(%rcx), %ecx
andl $0xf, %ecx
shll $0x2, %ecx
movl -0x4(%rbp), %edx
andl $0xc0, %edx
sarl $0x6, %edx
orl %edx, %ecx
movslq %ecx, %rdx
leaq 0x4038(%rip), %rcx      # 0x1c850
movsbl (%rcx,%rdx), %edi
callq *%rax
movq 0x39b03(%rip), %rax     # 0x52328
movl -0x4(%rbp), %ecx
andl $0x3f, %ecx
movslq %ecx, %rdx
leaq 0x401b(%rip), %rcx      # 0x1c850
movsbl (%rcx,%rdx), %edi
callq *%rax
movl $0x42, 0x41da7(%rip)    # 0x5a5ec
movl 0x41e05(%rip), %eax     # 0x5a650
addl $0x2, %eax
movl %eax, 0x41dfc(%rip)     # 0x5a650
jmp 0x18871
movq 0x39acb(%rip), %rax     # 0x52328
movl -0x4(%rbp), %edi
callq *%rax
movl 0x41de8(%rip), %eax     # 0x5a650
addl $0x1, %eax
movl %eax, 0x41ddf(%rip)     # 0x5a650
addq $0x10, %rsp
popq %rbp
retq
nopw (%rax,%rax)