// File: /workspace/github_c_makefile_star2_O2/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, 0x474cc(%rip)     # 0x54520
jne 0xd082
movb $0x0, 0x474c3(%rip)     # 0x54520
movzbl 0x474bf(%rip), %r15d    # 0x54524
leal 0xfe(%r15), %edi
xorl $0xff, %r15d
callq *0x3f23f(%rip)          # 0x4c2b8
movl %r15d, %edi
callq *0x3f236(%rip)          # 0x4c2b8
testl %r14d, %r14d
je 0xd095
cmpl $-0x1, %r14d
jne 0xd0e3
pushq $-0x1
popq %rdi
jmp 0xd200
movl %ebx, %eax
andl $0xff000000, %eax       # imm = 0xFF000000
cmpl $0x1000000, %eax        # imm = 0x1000000
jne 0xd158
movl %ebx, %r14d
andl $0xffffff, %r14d        # imm = 0xFFFFFF
cmpl $0xffff, %r14d          # imm = 0xFFFF
ja 0xd1b4
movl %ebx, %ebp
shrl $0x8, %ebp
movl $0xff, %eax
andl %eax, %ebp
andl %eax, %ebx
movq 0x3f1e5(%rip), %rax     # 0x4c2b8
cmpb $0x1, 0x4744a(%rip)     # 0x54524
je 0xd14d
movl %ebp, %edi
jmp 0xd1fc
movl %r14d, %edi
movl %ebx, %esi
callq 0x11a77
testl %eax, %eax
je 0xd1ef
movl %eax, %ebp
movl %eax, %edi
movl %r14d, %esi
movl %ebx, %edx
callq 0x11c39
testl %eax, %eax
je 0xd12c
movl %eax, %ebx
shrl $0x8, %ebx
movzbl %al, %eax
cmpb $0x0, 0x4740e(%rip)     # 0x54524
movl %ebx, %edi
cmovnel %eax, %edi
cmovel %eax, %ebx
callq *0x3f194(%rip)          # 0x4c2b8
movl %ebx, %edi
callq *0x3f18c(%rip)          # 0x4c2b8
cmpl $0xffff, %ebp           # imm = 0xFFFF
ja 0xd177
movl %ebp, %ebx
shrl $0x8, %ebx
movzbl %bpl, %ebp
movq 0x3f174(%rip), %rax     # 0x4c2b8
cmpb $0x1, 0x473d9(%rip)     # 0x54524
je 0xd0dc
movl %ebx, %edi
callq *%rax
movl %ebp, %edi
jmp 0xd200
movq 0x3f159(%rip), %rax     # 0x4c2b8
cmpb $0x1, 0x473be(%rip)     # 0x54524
jne 0xd1fa
movl %ebx, %edi
callq *%rax
xorl %edi, %edi
jmp 0xd200
cmpl $0x10ffff, %ebp         # imm = 0x10FFFF
ja 0xd1ef
movl %ebp, %r14d
shrl $0xa, %r14d
addl $0xd7c0, %r14d          # imm = 0xD7C0
movl %ebp, %ebx
andl $0x3ff, %ebx            # imm = 0x3FF
movq 0x3f11c(%rip), %rax     # 0x4c2b8
cmpb $0x1, 0x47381(%rip)     # 0x54524
jne 0xd210
movzbl %r14b, %edi
callq *%rax
shrl $0x8, %r14d
movl %r14d, %edi
jmp 0xd21c
cmpl $0x10ffff, %r14d        # imm = 0x10FFFF
ja 0xd1ef
shrl $0xa, %r14d
addl $0xd7c0, %r14d          # imm = 0xD7C0
movl %ebx, %ebp
andl $0x3ff, %ebp            # imm = 0x3FF
movq 0x3f0e1(%rip), %rax     # 0x4c2b8
cmpb $0x1, 0x47346(%rip)     # 0x54524
jne 0xd250
movzbl %r14b, %edi
callq *%rax
shrl $0x8, %r14d
movl %r14d, %edi
jmp 0xd25c
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 *0x3f0a8(%rip)          # 0x4c2b8
movl %r14d, %edi
shrl $0x8, %edi
callq *%rax
movzbl %r14b, %edi
callq *0x3f096(%rip)          # 0x4c2b8
orl $0xdc00, %ebx           # imm = 0xDC00
movq 0x3f089(%rip), %rax     # 0x4c2b8
cmpb $0x1, 0x472ee(%rip)     # 0x54524
jne 0xd243
movzbl %bpl, %edi
callq *%rax
shrl $0x8, %ebx
jmp 0xd1fe
shrl $0x8, %ebx
movl %ebx, %edi
callq *%rax
movzbl %bpl, %edi
jmp 0xd200
movl %r14d, %edi
shrl $0x8, %edi
callq *%rax
movzbl %r14b, %edi
callq *0x3f056(%rip)          # 0x4c2b8
orl $0xdc00, %ebp           # imm = 0xDC00
movq 0x3f049(%rip), %rax     # 0x4c2b8
cmpb $0x1, 0x472ae(%rip)     # 0x54524
jne 0xd285
movzbl %bl, %edi
callq *%rax
shrl $0x8, %ebp
jmp 0xd151
shrl $0x8, %ebp
movl %ebp, %edi
callq *%rax
movzbl %bl, %edi
jmp 0xd200