// File: /workspace/github_c_makefile_star2_O0/nurse[P]nkf/nkf.c
// Function: e_oconv
static void
e_oconv(nkf_char c2, nkf_char c1)
{
    if (c2 == 0 && nkf_char_unicode_p(c1)){
	w16e_conv(c1, &c2, &c1);
	if (c2 == 0 && nkf_char_unicode_p(c1)){
	    c2 = c1 & VALUE_MASK;
	    if (x0212_f && 0xE000 <= c2 && c2 <= 0xE757) {
		/* eucJP-ms UDC */
		c1 &= 0xFFF;
		c2 = c1 / 94;
		c2 += c2 < 10 ? 0x75 : 0x8FEB;
		c1 = 0x21 + c1 % 94;
		if (is_eucg3(c2)){
		    (*o_putc)(0x8f);
		    (*o_putc)((c2 & 0x7f) | 0x080);
		    (*o_putc)(c1 | 0x080);
		}else{
		    (*o_putc)((c2 & 0x7f) | 0x080);
		    (*o_putc)(c1 | 0x080);
		}
		return;
	    } else {
		if (encode_fallback) (*encode_fallback)(c1);
		return;
	    }
	}
    }

    if (c2 == EOF) {
	(*o_putc)(EOF);
    } else if (c2 == 0) {
	output_mode = ASCII;
	(*o_putc)(c1);
    } else if (c2 == JIS_X_0201_1976_K) {
	output_mode = EUC_JP;
	(*o_putc)(SS2); (*o_putc)(c1|0x80);
    } else if (c2 == ISO_8859_1) {
	output_mode = ISO_8859_1;
	(*o_putc)(c1 | 0x080);
#ifdef X0212_ENABLE
    } else if (is_eucg3(c2)){
	output_mode = EUC_JP;
#ifdef SHIFTJIS_CP932
	if (!cp932inv_f){
	    nkf_char s2, s1;
	    if (e2s_conv(c2, c1, &s2, &s1) == 0){
		s2e_conv(s2, s1, &c2, &c1);
	    }
	}
#endif
	if (c2 == 0) {
	    output_mode = ASCII;
	    (*o_putc)(c1);
	}else if (is_eucg3(c2)){
	    if (x0212_f){
		(*o_putc)(0x8f);
		(*o_putc)((c2 & 0x7f) | 0x080);
		(*o_putc)(c1 | 0x080);
	    }
	}else{
	    (*o_putc)((c2 & 0x7f) | 0x080);
	    (*o_putc)(c1 | 0x080);
	}
#endif
    } else {
	if (!nkf_isgraph(c1) || !nkf_isgraph(c2)) {
	    set_iconv(FALSE, 0);
	    return; /* too late to rescue this char */
	}
	output_mode = EUC_JP;
	(*o_putc)(c2 | 0x080);
	(*o_putc)(c1 | 0x080);
    }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movl %edi, -0x4(%rbp)
movl %esi, -0x8(%rbp)
cmpl $0x0, -0x4(%rbp)
jne 0xc70b
movl -0x8(%rbp), %eax
andl $0xff000000, %eax       # imm = 0xFF000000
cmpl $0x1000000, %eax        # imm = 0x1000000
jne 0xc70b
movl -0x8(%rbp), %edi
leaq -0x4(%rbp), %rsi
leaq -0x8(%rbp), %rdx
callq 0x13020
cmpl $0x0, -0x4(%rbp)
jne 0xc709
movl -0x8(%rbp), %eax
andl $0xff000000, %eax       # imm = 0xFF000000
cmpl $0x1000000, %eax        # imm = 0x1000000
jne 0xc709
movl -0x8(%rbp), %eax
andl $0xffffff, %eax         # imm = 0xFFFFFF
movl %eax, -0x4(%rbp)
cmpl $0x0, 0x45dfe(%rip)     # 0x52418
je 0xc6ee
movl $0xe000, %eax           # imm = 0xE000
cmpl -0x4(%rbp), %eax
jg 0xc6ee
cmpl $0xe757, -0x4(%rbp)     # imm = 0xE757
jg 0xc6ee
movl -0x8(%rbp), %eax
andl $0xfff, %eax            # imm = 0xFFF
movl %eax, -0x8(%rbp)
movl -0x8(%rbp), %eax
movl $0x5e, %ecx
cltd
idivl %ecx
movl %eax, -0x4(%rbp)
movl -0x4(%rbp), %edx
movl $0x8feb, %eax           # imm = 0x8FEB
movl $0x75, %ecx
cmpl $0xa, %edx
cmovll %ecx, %eax
addl -0x4(%rbp), %eax
movl %eax, -0x4(%rbp)
movl -0x8(%rbp), %eax
movl $0x5e, %ecx
cltd
idivl %ecx
addl $0x21, %edx
movl %edx, -0x8(%rbp)
movl -0x4(%rbp), %eax
movzwl %ax, %eax
sarl $0x8, %eax
cmpl $0x8f, %eax
jne 0xc6c2
movl $0x8f, %edi
callq *0x45c0f(%rip)          # 0x522a8
movq 0x45c08(%rip), %rax     # 0x522a8
movl -0x4(%rbp), %edi
andl $0x7f, %edi
orl $0x80, %edi
callq *%rax
movq 0x45bf3(%rip), %rax     # 0x522a8
movl -0x8(%rbp), %edi
orl $0x80, %edi
callq *%rax
jmp 0xc6e9
movq 0x45bdf(%rip), %rax     # 0x522a8
movl -0x4(%rbp), %edi
andl $0x7f, %edi
orl $0x80, %edi
callq *%rax
movq 0x45bca(%rip), %rax     # 0x522a8
movl -0x8(%rbp), %edi
orl $0x80, %edi
callq *%rax
jmp 0xc8eb
cmpq $0x0, 0x4dd7a(%rip)     # 0x5a470
je 0xc704
movq 0x4dd71(%rip), %rax     # 0x5a470
movl -0x8(%rbp), %edi
callq *%rax
jmp 0xc8eb
jmp 0xc70b
cmpl $-0x1, -0x4(%rbp)
jne 0xc721
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
callq *0x45b8c(%rip)          # 0x522a8
jmp 0xc8eb
cmpl $0x0, -0x4(%rbp)
jne 0xc742
movl $0x0, 0x4dd4b(%rip)     # 0x5a47c
movq 0x45b70(%rip), %rax     # 0x522a8
movl -0x8(%rbp), %edi
callq *%rax
jmp 0xc8e9
cmpl $0x1013, -0x4(%rbp)     # imm = 0x1013
jne 0xc777
movl $0xc, 0x4dd27(%rip)     # 0x5a47c
movl $0x8e, %edi
callq *0x45b48(%rip)          # 0x522a8
movq 0x45b41(%rip), %rax     # 0x522a8
movl -0x8(%rbp), %edi
orl $0x80, %edi
callq *%rax
jmp 0xc8e7
cmpl $0x1, -0x4(%rbp)
jne 0xc79e
movl $0x1, 0x4dcf5(%rip)     # 0x5a47c
movq 0x45b1a(%rip), %rax     # 0x522a8
movl -0x8(%rbp), %edi
orl $0x80, %edi
callq *%rax
jmp 0xc8e5
movl -0x4(%rbp), %eax
movzwl %ax, %eax
sarl $0x8, %eax
cmpl $0x8f, %eax
jne 0xc888
movl $0xc, 0x4dcc0(%rip)     # 0x5a47c
cmpl $0x0, 0x45add(%rip)     # 0x522a0
jne 0xc7f2
movl -0x4(%rbp), %edi
movl -0x8(%rbp), %esi
leaq -0xc(%rbp), %rdx
leaq -0x10(%rbp), %rcx
callq 0x11f30
cmpl $0x0, %eax
jne 0xc7f0
movl -0xc(%rbp), %edi
movl -0x10(%rbp), %esi
leaq -0x4(%rbp), %rdx
leaq -0x8(%rbp), %rcx
callq 0x121e0
jmp 0xc7f2
cmpl $0x0, -0x4(%rbp)
jne 0xc810
movl $0x0, 0x4dc7a(%rip)     # 0x5a47c
movq 0x45a9f(%rip), %rax     # 0x522a8
movl -0x8(%rbp), %edi
callq *%rax
jmp 0xc886
movl -0x4(%rbp), %eax
movzwl %ax, %eax
sarl $0x8, %eax
cmpl $0x8f, %eax
jne 0xc85d
cmpl $0x0, 0x45bf1(%rip)     # 0x52418
je 0xc85b
movl $0x8f, %edi
callq *0x45a74(%rip)          # 0x522a8
movq 0x45a6d(%rip), %rax     # 0x522a8
movl -0x4(%rbp), %edi
andl $0x7f, %edi
orl $0x80, %edi
callq *%rax
movq 0x45a58(%rip), %rax     # 0x522a8
movl -0x8(%rbp), %edi
orl $0x80, %edi
callq *%rax
jmp 0xc884
movq 0x45a44(%rip), %rax     # 0x522a8
movl -0x4(%rbp), %edi
andl $0x7f, %edi
orl $0x80, %edi
callq *%rax
movq 0x45a2f(%rip), %rax     # 0x522a8
movl -0x8(%rbp), %edi
orl $0x80, %edi
callq *%rax
jmp 0xc886
jmp 0xc8e3
movl $0x21, %eax
cmpl -0x8(%rbp), %eax
jg 0xc8a8
cmpl $0x7e, -0x8(%rbp)
jg 0xc8a8
movl $0x21, %eax
cmpl -0x4(%rbp), %eax
jg 0xc8a8
cmpl $0x7e, -0x4(%rbp)
jle 0xc8b5
xorl %edi, %edi
xorl %eax, %eax
movl %eax, %esi
callq 0x135a0
jmp 0xc8eb
movl $0xc, 0x4dbbd(%rip)     # 0x5a47c
movq 0x459e2(%rip), %rax     # 0x522a8
movl -0x4(%rbp), %edi
orl $0x80, %edi
callq *%rax
movq 0x459d0(%rip), %rax     # 0x522a8
movl -0x8(%rbp), %edi
orl $0x80, %edi
callq *%rax
jmp 0xc8e5
jmp 0xc8e7
jmp 0xc8e9
jmp 0xc8eb
addq $0x10, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)