// File: /workspace/github_c_makefile_star2_O3/nurse[P]nkf/nkf.c
// Function: w_oconv16
void
w_oconv16(nkf_char c2, nkf_char c1)
{
    if (output_bom_f) {
	output_bom_f = FALSE;
	OUTPUT_UTF16_BYTES(0xFF, 0xFE);
    }

    if (c2 == EOF) {
	(*o_putc)(EOF);
	return;
    }

    if (c2 == 0 && nkf_char_unicode_p(c1)) {
	OUTPUT_UTF16(c1);
    } else if (c2) {
	nkf_char val, val2;
	val = e2w_conv(c2, c1);
	if (!val) return;
	val2 = e2w_combining(val, c2, c1);
	if (val2)
	    OUTPUT_UTF16(val2);
	OUTPUT_UTF16(val);
    } else {
	OUTPUT_UTF16_BYTES(c1, c2);
    }
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %rbx
pushq %rax
movl %esi, %ebx
movl %edi, %r14d
cmpb $0x1, 0x48293(%rip)     # 0x55530
jne 0xd2cb
movb $0x0, 0x4828a(%rip)     # 0x55530
movzbl 0x48286(%rip), %r15d    # 0x55534
leal 0xfe(%r15), %edi
xorl $0xff, %r15d
callq *0x40006(%rip)          # 0x4d2c8
movl %r15d, %edi
callq *0x3fffd(%rip)          # 0x4d2c8
testl %r14d, %r14d
je 0xd2e0
cmpl $-0x1, %r14d
jne 0xd32e
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
jmp 0xd44b
movl %ebx, %eax
andl $0xff000000, %eax       # imm = 0xFF000000
cmpl $0x1000000, %eax        # imm = 0x1000000
jne 0xd3a3
movl %ebx, %r14d
andl $0xffffff, %r14d        # imm = 0xFFFFFF
cmpl $0xffff, %r14d          # imm = 0xFFFF
ja 0xd3ff
movl %ebx, %ebp
shrl $0x8, %ebp
movl $0xff, %eax
andl %eax, %ebp
andl %eax, %ebx
movq 0x3ffaa(%rip), %rax     # 0x4d2c8
cmpb $0x1, 0x4820f(%rip)     # 0x55534
je 0xd398
movl %ebp, %edi
jmp 0xd447
movl %r14d, %edi
movl %ebx, %esi
callq 0x11d0f
testl %eax, %eax
je 0xd43a
movl %eax, %ebp
movl %eax, %edi
movl %r14d, %esi
movl %ebx, %edx
callq 0x11ef5
testl %eax, %eax
je 0xd377
movl %eax, %ebx
shrl $0x8, %ebx
movzbl %al, %eax
cmpb $0x0, 0x481d3(%rip)     # 0x55534
movl %ebx, %edi
cmovnel %eax, %edi
cmovel %eax, %ebx
callq *0x3ff59(%rip)          # 0x4d2c8
movl %ebx, %edi
callq *0x3ff51(%rip)          # 0x4d2c8
cmpl $0xffff, %ebp           # imm = 0xFFFF
ja 0xd3c2
movl %ebp, %ebx
shrl $0x8, %ebx
movzbl %bpl, %ebp
movq 0x3ff39(%rip), %rax     # 0x4d2c8
cmpb $0x1, 0x4819e(%rip)     # 0x55534
je 0xd327
movl %ebx, %edi
callq *%rax
movl %ebp, %edi
jmp 0xd44b
movq 0x3ff1e(%rip), %rax     # 0x4d2c8
cmpb $0x1, 0x48183(%rip)     # 0x55534
jne 0xd445
movl %ebx, %edi
callq *%rax
xorl %edi, %edi
jmp 0xd44b
cmpl $0x10ffff, %ebp         # imm = 0x10FFFF
ja 0xd43a
movl %ebp, %r14d
shrl $0xa, %r14d
addl $0xd7c0, %r14d          # imm = 0xD7C0
movl %ebp, %ebx
andl $0x3ff, %ebx            # imm = 0x3FF
movq 0x3fee1(%rip), %rax     # 0x4d2c8
cmpb $0x1, 0x48146(%rip)     # 0x55534
jne 0xd45b
movzbl %r14b, %edi
callq *%rax
shrl $0x8, %r14d
movl %r14d, %edi
jmp 0xd467
cmpl $0x10ffff, %r14d        # imm = 0x10FFFF
ja 0xd43a
shrl $0xa, %r14d
addl $0xd7c0, %r14d          # imm = 0xD7C0
movl %ebx, %ebp
andl $0x3ff, %ebp            # imm = 0x3FF
movq 0x3fea6(%rip), %rax     # 0x4d2c8
cmpb $0x1, 0x4810b(%rip)     # 0x55534
jne 0xd49b
movzbl %r14b, %edi
callq *%rax
shrl $0x8, %r14d
movl %r14d, %edi
jmp 0xd4a7
addq $0x8, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
retq
xorl %edi, %edi
callq *%rax
movl %ebx, %edi
addq $0x8, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
jmpq *0x3fe6d(%rip)          # 0x4d2c8
movl %r14d, %edi
shrl $0x8, %edi
callq *%rax
movzbl %r14b, %edi
callq *0x3fe5b(%rip)          # 0x4d2c8
orl $0xdc00, %ebx           # imm = 0xDC00
movq 0x3fe4e(%rip), %rax     # 0x4d2c8
cmpb $0x1, 0x480b3(%rip)     # 0x55534
jne 0xd48e
movzbl %bpl, %edi
callq *%rax
shrl $0x8, %ebx
jmp 0xd449
shrl $0x8, %ebx
movl %ebx, %edi
callq *%rax
movzbl %bpl, %edi
jmp 0xd44b
movl %r14d, %edi
shrl $0x8, %edi
callq *%rax
movzbl %r14b, %edi
callq *0x3fe1b(%rip)          # 0x4d2c8
orl $0xdc00, %ebp           # imm = 0xDC00
movq 0x3fe0e(%rip), %rax     # 0x4d2c8
cmpb $0x1, 0x48073(%rip)     # 0x55534
jne 0xd4d0
movzbl %bl, %edi
callq *%rax
shrl $0x8, %ebp
jmp 0xd39c
shrl $0x8, %ebp
movl %ebp, %edi
callq *%rax
movzbl %bl, %edi
jmp 0xd44b