// File: /workspace/github_c_makefile_star2_O0/nurse[P]nkf/nkf.c
// Function: module_connection
static int
module_connection(void)
{
    if (input_encoding) set_input_encoding(input_encoding);
    if (!output_encoding) {
	output_encoding = nkf_default_encoding();
    }
    if (!output_encoding) {
	if (noout_f || guess_f) output_encoding = nkf_enc_from_index(ISO_2022_JP);
	else return -1;
    }
    set_output_encoding(output_encoding);
    oconv = nkf_enc_to_oconv(output_encoding);
    o_putc = std_putc;
    if (nkf_enc_unicode_p(output_encoding))
	output_mode = UTF_8;

    if (x0201_f == NKF_UNSPECIFIED) {
	x0201_f = X0201_DEFAULT;
    }

    /* replace continuation module, from output side */

    /* output redirection */
#ifdef CHECK_OPTION
    if (noout_f || guess_f){
	o_putc = no_putc;
    }
#endif
    if (mimeout_f) {
	o_mputc = o_putc;
	o_putc = mime_putc;
	if (mimeout_f == TRUE) {
	    o_base64conv = oconv; oconv = base64_conv;
	}
	/* base64_count = 0; */
    }

    if (eolmode_f || guess_f) {
	o_eol_conv = oconv; oconv = eol_conv;
    }
    if (rot_f) {
	o_rot_conv = oconv; oconv = rot_conv;
    }
    if (iso2022jp_f) {
	o_iso2022jp_check_conv = oconv; oconv = iso2022jp_check_conv;
    }
    if (hira_f) {
	o_hira_conv = oconv; oconv = hira_conv;
    }
    if (fold_f) {
	o_fconv = oconv; oconv = fold_conv;
	f_line = 0;
    }
    if (alpha_f || x0201_f) {
	o_zconv = oconv; oconv = z_conv;
    }

    i_getc = std_getc;
    i_ungetc = std_ungetc;
    /* input redirection */
#ifdef INPUT_OPTION
    if (cap_f){
	i_cgetc = i_getc; i_getc = cap_getc;
	i_cungetc = i_ungetc; i_ungetc= cap_ungetc;
    }
    if (url_f){
	i_ugetc = i_getc; i_getc = url_getc;
	i_uungetc = i_ungetc; i_ungetc= url_ungetc;
    }
#endif
#ifdef NUMCHAR_OPTION
    if (numchar_f){
	i_ngetc = i_getc; i_getc = numchar_getc;
	i_nungetc = i_ungetc; i_ungetc= numchar_ungetc;
    }
#endif
#ifdef UNICODE_NORMALIZATION
    if (nfc_f){
	i_nfc_getc = i_getc; i_getc = nfc_getc;
	i_nfc_ungetc = i_ungetc; i_ungetc= nfc_ungetc;
    }
#endif
    if (mime_f && mimebuf_f==FIXED_MIME) {
	i_mgetc = i_getc; i_getc = mime_getc;
	i_mungetc = i_ungetc; i_ungetc = mime_ungetc;
    }
    if (broken_f & 1) {
	i_bgetc = i_getc; i_getc = broken_getc;
	i_bungetc = i_ungetc; i_ungetc = broken_ungetc;
    }
    if (input_encoding) {
	set_iconv(-TRUE, nkf_enc_to_iconv(input_encoding));
    } else {
	set_iconv(FALSE, e_iconv);
    }

    {
	struct input_code *p = input_code_list;
	while (p->name){
	    status_reinit(p++);
	}
    }
    return 0;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
cmpq $0x0, 0x45a60(%rip)     # 0x5a480
je 0x14a2e
movq 0x45a57(%rip), %rdi     # 0x5a480
callq 0x14e90
cmpq $0x0, 0x45b72(%rip)     # 0x5a5a8
jne 0x14a44
callq 0x147f0
movq %rax, 0x45b64(%rip)     # 0x5a5a8
cmpq $0x0, 0x45b5c(%rip)     # 0x5a5a8
jne 0x14a81
cmpl $0x0, 0x45b67(%rip)     # 0x5a5bc
jne 0x14a60
cmpl $0x0, 0x3d9b2(%rip)     # 0x52410
je 0x14a73
movl $0x2, %edi
callq 0x144a0
movq %rax, 0x45b37(%rip)     # 0x5a5a8
jmp 0x14a7f
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
jmp 0x14e85
jmp 0x14a81
movq 0x45b20(%rip), %rdi     # 0x5a5a8
callq 0x150a0
movq 0x45b14(%rip), %rax     # 0x5a5a8
movq 0x10(%rax), %rax
movq 0x10(%rax), %rax
movq %rax, 0x3d7f5(%rip)     # 0x52298
leaq -0x152a(%rip), %rax     # 0x13580
movq %rax, 0x3d7f7(%rip)     # 0x522a8
movq 0x45af0(%rip), %rax     # 0x5a5a8
leaq 0x36df1(%rip), %rcx     # 0x4b8b0
cmpq %rcx, 0x10(%rax)
je 0x14aed
movq 0x45adc(%rip), %rax     # 0x5a5a8
leaq 0x36df5(%rip), %rcx     # 0x4b8c8
cmpq %rcx, 0x10(%rax)
je 0x14aed
movq 0x45ac8(%rip), %rax     # 0x5a5a8
leaq 0x36df9(%rip), %rcx     # 0x4b8e0
cmpq %rcx, 0x10(%rax)
jne 0x14af7
movl $0x15, 0x45985(%rip)    # 0x5a47c
cmpl $-0x1, 0x3d792(%rip)    # 0x52290
jne 0x14b0a
movl $0x1, 0x3d786(%rip)     # 0x52290
cmpl $0x0, 0x45aab(%rip)     # 0x5a5bc
jne 0x14b1c
cmpl $0x0, 0x3d8f6(%rip)     # 0x52410
je 0x14b2a
leaq 0x85d(%rip), %rax       # 0x15380
movq %rax, 0x3d77e(%rip)     # 0x522a8
cmpl $0x0, 0x45abf(%rip)     # 0x5a5f0
je 0x14b76
movq 0x3d76e(%rip), %rax     # 0x522a8
movq %rax, 0x3d7e7(%rip)     # 0x52328
leaq 0x848(%rip), %rax       # 0x15390
movq %rax, 0x3d759(%rip)     # 0x522a8
cmpl $0x1, 0x45a9a(%rip)     # 0x5a5f0
jne 0x14b74
movq 0x3d739(%rip), %rax     # 0x52298
movq %rax, 0x3d792(%rip)     # 0x522f8
leaq 0x13a3(%rip), %rax      # 0x15f10
movq %rax, 0x3d724(%rip)     # 0x52298
jmp 0x14b76
cmpl $0x0, 0x45a7b(%rip)     # 0x5a5f8
jne 0x14b88
cmpl $0x0, 0x3d88a(%rip)     # 0x52410
je 0x14ba4
movq 0x3d709(%rip), %rax     # 0x52298
movq %rax, 0x3d74a(%rip)     # 0x522e0
leaq 0x13a3(%rip), %rax      # 0x15f40
movq %rax, 0x3d6f4(%rip)     # 0x52298
cmpl $0x0, 0x45a21(%rip)     # 0x5a5cc
je 0x14bc9
movq 0x3d6e4(%rip), %rax     # 0x52298
movq %rax, 0x3d72d(%rip)     # 0x522e8
leaq 0x14ee(%rip), %rax      # 0x160b0
movq %rax, 0x3d6cf(%rip)     # 0x52298
cmpl $0x0, 0x45890(%rip)     # 0x5a460
je 0x14bee
movq 0x3d6bf(%rip), %rax     # 0x52298
movq %rax, 0x3d720(%rip)     # 0x52300
leaq 0x1639(%rip), %rax      # 0x16220
movq %rax, 0x3d6aa(%rip)     # 0x52298
cmpl $0x0, 0x459d3(%rip)     # 0x5a5c8
je 0x14c13
movq 0x3d69a(%rip), %rax     # 0x52298
movq %rax, 0x3d6eb(%rip)     # 0x522f0
leaq 0x16f4(%rip), %rax      # 0x16300
movq %rax, 0x3d685(%rip)     # 0x52298
cmpl $0x0, 0x459be(%rip)     # 0x5a5d8
je 0x14c42
movq 0x3d675(%rip), %rax     # 0x52298
movq %rax, 0x3d6ae(%rip)     # 0x522d8
leaq 0x184f(%rip), %rax      # 0x16480
movq %rax, 0x3d660(%rip)     # 0x52298
movl $0x0, 0x45a12(%rip)     # 0x5a654
cmpl $0x0, 0x45987(%rip)     # 0x5a5d0
jne 0x14c54
cmpl $0x0, 0x3d63e(%rip)     # 0x52290
je 0x14c70
movq 0x3d63d(%rip), %rax     # 0x52298
movq %rax, 0x3d66e(%rip)     # 0x522d0
leaq 0x1e87(%rip), %rax      # 0x16af0
movq %rax, 0x3d628(%rip)     # 0x52298
leaq -0x3a7(%rip), %rax      # 0x148d0
movq %rax, 0x3d68a(%rip)     # 0x52308
leaq -0x365(%rip), %rax      # 0x14920
movq %rax, 0x3d684(%rip)     # 0x52310
cmpl $0x0, 0x4591d(%rip)     # 0x5a5b0
je 0x14ccd
movq 0x3d66c(%rip), %rax     # 0x52308
movq %rax, 0x3d6ad(%rip)     # 0x52350
leaq 0x2436(%rip), %rax      # 0x170e0
movq %rax, 0x3d657(%rip)     # 0x52308
movq 0x3d658(%rip), %rax     # 0x52310
movq %rax, 0x3d699(%rip)     # 0x52358
leaq 0x244a(%rip), %rax      # 0x17110
movq %rax, 0x3d643(%rip)     # 0x52310
cmpl $0x0, 0x458e0(%rip)     # 0x5a5b4
je 0x14d0e
movq 0x3d62b(%rip), %rax     # 0x52308
movq %rax, 0x3d67c(%rip)     # 0x52360
leaq 0x2455(%rip), %rax      # 0x17140
movq %rax, 0x3d616(%rip)     # 0x52308
movq 0x3d617(%rip), %rax     # 0x52310
movq %rax, 0x3d668(%rip)     # 0x52368
leaq 0x2469(%rip), %rax      # 0x17170
movq %rax, 0x3d602(%rip)     # 0x52310
cmpl $0x0, 0x458a3(%rip)     # 0x5a5b8
je 0x14d4f
movq 0x3d5ea(%rip), %rax     # 0x52308
movq %rax, 0x3d64b(%rip)     # 0x52370
leaq 0x2474(%rip), %rax      # 0x171a0
movq %rax, 0x3d5d5(%rip)     # 0x52308
movq 0x3d5d6(%rip), %rax     # 0x52310
movq %rax, 0x3d637(%rip)     # 0x52378
leaq 0x27d8(%rip), %rax      # 0x17520
movq %rax, 0x3d5c1(%rip)     # 0x52310
cmpl $0x0, 0x4586a(%rip)     # 0x5a5c0
je 0x14d90
movq 0x3d5a9(%rip), %rax     # 0x52308
movq %rax, 0x3d61a(%rip)     # 0x52380
leaq 0x27e3(%rip), %rax      # 0x17550
movq %rax, 0x3d594(%rip)     # 0x52308
movq 0x3d595(%rip), %rax     # 0x52310
movq %rax, 0x3d606(%rip)     # 0x52388
leaq 0x2a47(%rip), %rax      # 0x177d0
movq %rax, 0x3d580(%rip)     # 0x52310
cmpl $0x0, 0x3d4e9(%rip)     # 0x52280
je 0x14dda
cmpl $0x7, 0x45844(%rip)     # 0x5a5e4
jne 0x14dda
movq 0x3d55f(%rip), %rax     # 0x52308
movq %rax, 0x3d580(%rip)     # 0x52330
leaq 0x2a49(%rip), %rax      # 0x17800
movq %rax, 0x3d54a(%rip)     # 0x52308
movq 0x3d54b(%rip), %rax     # 0x52310
movq %rax, 0x3d56c(%rip)     # 0x52338
leaq 0x34ad(%rip), %rax      # 0x18280
movq %rax, 0x3d536(%rip)     # 0x52310
movl 0x45814(%rip), %eax     # 0x5a5f4
andl $0x1, %eax
cmpl $0x0, %eax
je 0x14e20
movq 0x3d519(%rip), %rax     # 0x52308
movq %rax, 0x3d522(%rip)     # 0x52318
leaq 0x34a3(%rip), %rax      # 0x182a0
movq %rax, 0x3d504(%rip)     # 0x52308
movq 0x3d505(%rip), %rax     # 0x52310
movq %rax, 0x3d50e(%rip)     # 0x52320
leaq 0x3637(%rip), %rax      # 0x18450
movq %rax, 0x3d4f0(%rip)     # 0x52310
cmpq $0x0, 0x45658(%rip)     # 0x5a480
je 0x14e45
movq 0x4564f(%rip), %rax     # 0x5a480
movq 0x10(%rax), %rax
movq 0x8(%rax), %rsi
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
callq 0x135a0
jmp 0x14e53
xorl %edi, %edi
leaq -0x8b0e(%rip), %rsi     # 0xc340
callq 0x135a0
leaq 0x3d2d6(%rip), %rax     # 0x52130
movq %rax, -0x10(%rbp)
movq -0x10(%rbp), %rax
cmpq $0x0, (%rax)
je 0x14e7e
movq -0x10(%rbp), %rdi
movq %rdi, %rax
addq $0x38, %rax
movq %rax, -0x10(%rbp)
callq 0x148a0
jmp 0x14e5e
movl $0x0, -0x4(%rbp)
movl -0x4(%rbp), %eax
addq $0x10, %rsp
popq %rbp
retq
nop