// File: /workspace/github_cpp_makefile_star2_O2/loverszhaokai[P]TypoCheck/src/typo.cc
// Function: init_typos(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&)
void init_typos(const string &typos_file)
{
	fstream fs;

	fs.open(typos_file.c_str(), fstream::in);

	if (!fs.is_open()) {
		cout << "failed to read typos file[" << typos_file << "]" << endl;
		return;
	}

	string line;
	size_t index;

	while (getline(fs, line)) {
		if (line.size() != 0 && line[0] == '#')
			continue;
		index = line.find("||");
		insert_typo(line.substr(0, index), line.substr(index + 2));
	}

	fs.close();
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x328, %rsp            # imm = 0x328
movq %rdi, %rbx
leaq -0x348(%rbp), %r14
movq %r14, %rdi
callq 0x21c0
movq (%rbx), %rsi
pushq $0x8
popq %rdx
movq %r14, %rdi
callq 0x2160
leaq -0x2c8(%rbp), %rdi
callq 0x2070
testb %al, %al
je 0x27c9
leaq -0x48(%rbp), %rax
movq %rax, -0x10(%rax)
andq $0x0, -0x8(%rax)
movb $0x0, (%rax)
leaq -0x58(%rbp), %rbx
leaq -0xb8(%rbp), %r15
leaq -0xd8(%rbp), %r12
leaq -0x348(%rbp), %rdi
movq %rbx, %rsi
callq 0x2050
movq (%rax), %rcx
movq -0x18(%rcx), %rcx
testb $0x5, 0x20(%rax,%rcx)
jne 0x2800
cmpq $0x0, -0x50(%rbp)
je 0x2688
movq -0x58(%rbp), %rax
cmpb $0x23, (%rax)
je 0x2657
movq %rbx, %rdi
leaq 0x1a1b(%rip), %rsi      # 0x40ad
xorl %edx, %edx
callq 0x2230
movq %rax, %r14
leaq -0x78(%rbp), %rdi
movq %rbx, %rsi
xorl %edx, %edx
movq %rax, %rcx
callq 0x21a0
addq $0x2, %r14
movq %r15, %rdi
movq %rbx, %rsi
movq %r14, %rdx
pushq $-0x1
popq %rcx
callq 0x21a0
xorl %ecx, %ecx
leaq 0x3a8d(%rip), %r15      # 0x6158
cmpq %rcx, -0x70(%rbp)
jbe 0x2789
movq %r12, %rbx
addq $0x48, %r15
movq -0x78(%rbp), %rax
movq %rcx, -0x38(%rbp)
movb (%rax,%rcx), %r13b
movq %r15, %r14
movq (%r14), %r14
cmpq %r15, %r14
je 0x26fb
cmpb %r13b, 0x10(%r14)
je 0x2773
jle 0x26eb
leaq -0x98(%rbp), %rdi
leaq 0x19c9(%rip), %r12      # 0x40d2
movq %r12, %rsi
leaq -0x2a(%rbp), %rdx
callq 0x24d8
movq %rbx, %rdi
movq %r12, %rsi
leaq -0x29(%rbp), %rdx
callq 0x24d8
movsbl %r13b, %esi
leaq -0x138(%rbp), %r13
movq %r13, %rdi
leaq -0x98(%rbp), %rdx
movq %rbx, %rcx
callq 0x2e12
movq %rbx, %r12
movq %r15, %rdi
movq %r14, %rsi
movq %r13, %rdx
callq 0x2ecc
movq %rax, %r14
movq %r13, %rdi
callq 0x2cf8
movq %r12, %rdi
callq 0x20d0
leaq -0x98(%rbp), %rdi
callq 0x20d0
jmp 0x2776
movq %rbx, %r12
addq $0x10, %r14
movq -0x38(%rbp), %rcx
incq %rcx
movq %r14, %r15
jmp 0x26cb
leaq 0x8(%r15), %rdi
leaq -0x78(%rbp), %rsi
callq 0x2100
leaq -0xb8(%rbp), %r14
addq $0x28, %r15
movq %r15, %rdi
movq %r14, %rsi
callq 0x2100
movq %r14, %rdi
callq 0x20d0
leaq -0x78(%rbp), %rdi
callq 0x20d0
leaq -0x58(%rbp), %rbx
movq %r14, %r15
jmp 0x2657
movq 0x3808(%rip), %rdi      # 0x5fd8
leaq 0x18b9(%rip), %rsi      # 0x4090
callq 0x2170
movq %rax, %rdi
movq %rbx, %rsi
callq 0x2150
leaq 0x18bd(%rip), %rsi      # 0x40ab
movq %rax, %rdi
callq 0x2170
movq %rax, %rdi
callq 0x20e0
jmp 0x2815
leaq -0x348(%rbp), %rdi
callq 0x2030
leaq -0x58(%rbp), %rdi
callq 0x20d0
leaq -0x348(%rbp), %rdi
callq 0x2060
addq $0x328, %rsp            # imm = 0x328
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
jmp 0x2841
movq %rax, %rbx
jmp 0x289c
jmp 0x2841
movq %rax, %rbx
jmp 0x288a
movq %rax, %rbx
jmp 0x2893
jmp 0x287b
movq %rax, %rbx
leaq -0x138(%rbp), %rdi
callq 0x2cf8
jmp 0x285c
movq %rax, %rbx
leaq -0xd8(%rbp), %rdi
callq 0x20d0
jmp 0x286d
movq %rax, %rbx
leaq -0x98(%rbp), %rdi
callq 0x20d0
jmp 0x287e
movq %rax, %rbx
leaq -0xb8(%rbp), %rdi
callq 0x20d0
leaq -0x78(%rbp), %rdi
callq 0x20d0
leaq -0x58(%rbp), %rdi
callq 0x20d0
leaq -0x348(%rbp), %rdi
callq 0x2060
movq %rbx, %rdi
callq 0x2200