// File: /workspace/github_c_makefile_star2_O2/Ihsoh[P]ilang/compiler/frontend/semantics.c
// Function: fe_sem_process
void fe_sem_process(
	ParserContext *ctx
) {
	assert(ctx);
	assert(ctx->ast);

	ParserASTNode *node_module = ctx->ast;
	_module(ctx, node_module);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x448, %rsp            # imm = 0x448
testq %rdi, %rdi
je 0x28002
movq %rdi, %r12
movq 0x8(%rdi), %r15
testq %r15, %r15
je 0x28021
xorl %ecx, %ecx
movq %r15, -0x40(%rbp)
movslq 0x44(%r15), %rax
cmpq %rax, %rcx
jge 0x27eba
movq 0x48(%r15), %rax
movq (%rax,%rcx,8), %r14
testq %r14, %r14
je 0x27ecc
movl (%r14), %eax
cmpl $0xa00, %eax            # imm = 0xA00
movq %r14, -0x50(%rbp)
movq %rcx, -0x68(%rbp)
je 0x27b02
cmpl $0xd00, %eax            # imm = 0xD00
je 0x27a91
cmpl $0xc00, %eax            # imm = 0xC00
jne 0x27eeb
movq %r12, %rdi
movq %r14, %rsi
callq 0x28a9e
jmp 0x27eae
cmpl $0x2, 0x44(%r14)
jne 0x27f0a
movq 0x48(%r14), %rax
movq (%rax), %rbx
cmpl $0x200, (%rbx)          # imm = 0x200
jne 0x27f29
movq 0x8(%rax), %r14
movl (%r14), %eax
cmpl $0x900, %eax            # imm = 0x900
je 0x27ac8
cmpl $0xd01, %eax            # imm = 0xD01
jne 0x27fa5
movq -0x50(%rbp), %rcx
movq 0x30(%rcx), %r13
testq %r13, %r13
je 0x27f48
movq 0x10(%rbx), %rcx
movq %r12, %rdi
cmpl $0x900, %eax            # imm = 0x900
jne 0x27d9a
movq %r13, %rsi
movq %rcx, %rdx
movq %r14, %rcx
pushq $0x1
popq %r8
callq 0x2397b
jmp 0x27eae
movl 0x44(%r14), %eax
cmpl $0x4, %eax
je 0x27b20
cmpl $0x3, %eax
jne 0x27fc4
movq 0x48(%r14), %rax
leaq 0x10(%rax), %rcx
xorl %edx, %edx
jmp 0x27b2c
movq 0x48(%r14), %rax
movq 0x10(%rax), %rdx
leaq 0x18(%rax), %rcx
movq %rdx, -0x48(%rbp)
movq (%rax), %rdx
movq %rdx, -0x60(%rbp)
movq 0x8(%rax), %r8
movq (%rcx), %rax
movq %rax, -0x58(%rbp)
cmpl $0x0, 0x44(%r8)
movq %r8, -0x38(%rbp)
jle 0x27b9c
movq 0x48(%r8), %rax
movq (%rax), %rcx
cmpl $0xa03, (%rcx)          # imm = 0xA03
jne 0x27b9c
movups 0x21e8f(%rip), %xmm0    # 0x499f2
movups %xmm0, -0x456(%rbp)
movups 0x21e77(%rip), %xmm0    # 0x499e8
movaps %xmm0, -0x460(%rbp)
movups 0x21e59(%rip), %xmm0    # 0x499d8
movaps %xmm0, -0x470(%rbp)
movq (%rax), %rsi
movq %r12, %rdi
leaq -0x470(%rbp), %rdx
callq *0x58(%r12)
movq -0x38(%rbp), %r8
xorl %r15d, %r15d
movslq 0x44(%r8), %rax
cmpq %rax, %r15
jge 0x27c48
movq 0x48(%r8), %rax
movq (%rax,%r15,8), %rbx
cmpl $0xa02, (%rbx)          # imm = 0xA02
jne 0x27c40
movq 0x48(%rbx), %rax
movq %r12, %rdi
movq (%rax), %r14
movq 0x8(%rax), %r13
movb $0x0, -0x29(%rbp)
movq %r13, %rsi
leaq -0x29(%rbp), %rdx
callq 0x290cb
movb -0x29(%rbp), %al
leal -0x1(%rax), %ecx
cmpb $0xb, %cl
jb 0x27c1f
movzbl %al, %ecx
cmpl $0xc, %ecx
je 0x27c1f
cmpl $0x10, %ecx
je 0x27c1f
leaq -0x470(%rbp), %rdi
leaq 0x21dfe(%rip), %rsi     # 0x49a02
pushq $0x52
popq %rdx
callq 0x3100
movq %r12, %rdi
movq %r13, %rsi
leaq -0x470(%rbp), %rdx
callq *0x58(%rdi)
movb -0x29(%rbp), %al
movq 0x10(%r14), %rdx
movzbl %al, %ecx
movq %r12, %rdi
movq -0x50(%rbp), %r14
movq %r14, %rsi
movq %r13, %r8
callq 0x236f9
movq %rax, 0x60(%rbx)
movq -0x38(%rbp), %r8
incq %r15
jmp 0x27b9f
movq -0x48(%rbp), %rbx
testq %rbx, %rbx
je 0x27cc7
movb $0x0, -0x29(%rbp)
movq %r12, %rdi
movq %rbx, %rsi
leaq -0x29(%rbp), %rdx
callq 0x290cb
movb -0x29(%rbp), %al
leal -0x1(%rax), %ecx
cmpb $0xb, %cl
setb %cl
cmpb $0x10, %al
sete %al
orb %cl, %al
jne 0x27cc3
movups 0x21e01(%rip), %xmm0    # 0x49a81
movups %xmm0, -0x443(%rbp)
movups 0x21de6(%rip), %xmm0    # 0x49a74
movaps %xmm0, -0x450(%rbp)
movups 0x21dc8(%rip), %xmm0    # 0x49a64
movaps %xmm0, -0x460(%rbp)
movups 0x21daa(%rip), %xmm0    # 0x49a54
movaps %xmm0, -0x470(%rbp)
movq %r12, %rdi
movq %rbx, %rsi
leaq -0x470(%rbp), %rdx
callq *0x58(%r12)
movq -0x38(%rbp), %r8
movq 0x30(%r14), %r15
testq %r15, %r15
je 0x27f67
movq -0x58(%rbp), %rax
cmpl $0x900, (%rax)          # imm = 0x900
movq -0x60(%rbp), %rbx
movq 0x10(%rbx), %rcx
movq %r12, %rdi
jne 0x27d0a
movq %r15, %rsi
movq %rcx, %rdx
movq %r8, %rcx
movq -0x48(%rbp), %r8
pushq $0x1
popq %r9
callq 0x23a37
movq %rax, 0x60(%r14)
jmp 0x27eaa
movq %r15, %rsi
pushq $0x3
popq %rdx
callq 0x6779
testq %rax, %rax
je 0x27de2
movq %rax, %r13
cmpb $0x1, 0x50(%rax)
jne 0x27de2
movq %r12, %rdi
movl $0x430, %esi            # imm = 0x430
leaq 0x172ff(%rip), %rdx     # 0x3f039
callq 0x2e924
movq %rax, %r15
movq %r12, %rdi
movq %rax, %rsi
movq -0x38(%rbp), %rdx
callq 0x63c4
movq -0x48(%rbp), %rdx
testq %rdx, %rdx
je 0x27d65
movq %r12, %rdi
movq %r15, %rsi
callq 0x63c4
movq 0x40(%r13), %rdx
movq %r12, %rdi
movq %r15, %rsi
callq 0x30506
testb %al, %al
jne 0x27d8b
movq 0x10(%rbx), %rsi
movq %r12, %rdi
leaq 0x21d0b(%rip), %rdx     # 0x49a91
callq *0x50(%r12)
movb $0x0, 0x50(%r13)
movq -0x40(%rbp), %r15
movq -0x38(%rbp), %rbx
jmp 0x27e0f
movq %r13, %rsi
pushq $0x2
popq %rdx
callq 0x6779
testq %rax, %rax
je 0x27e6f
movq %rax, %r15
cmpb $0x1, 0x40(%rax)
jne 0x27e6f
movq %r12, %rdi
movq -0x50(%rbp), %rbx
movq %rbx, %rsi
movq %r14, %rdx
movq %r15, %rcx
callq 0x306d3
movb $0x0, 0x40(%r15)
movq %rbx, 0x30(%r15)
movq %r14, 0x38(%r15)
jmp 0x27eaa
movq 0x10(%rbx), %rdx
movq %r12, %rdi
movq %r15, %rsi
movq -0x38(%rbp), %rbx
movq %rbx, %rcx
movq -0x48(%rbp), %r8
xorl %r9d, %r9d
callq 0x23a37
movq %rax, %r13
testq %rax, %rax
movq -0x40(%rbp), %r15
je 0x27fe3
movq %r13, 0x60(%r14)
movl 0x44(%rbx), %eax
testl %eax, %eax
movl $0x0, %ecx
cmovlel %ecx, %eax
xorl %ecx, %ecx
cmpq %rcx, %rax
je 0x27e44
movq 0x48(%rbx), %rdx
movq (%rdx,%rcx,8), %rdx
cmpl $0xa02, (%rdx)          # imm = 0xA02
jne 0x27e3f
movq 0x60(%rdx), %rdx
movq %r13, 0x40(%rdx)
incq %rcx
jmp 0x27e22
movq -0x58(%rbp), %rbx
cmpl $0xb00, (%rbx)          # imm = 0xB00
jne 0x27f86
movq %r12, %rdi
movq %rbx, %rsi
movq %rbx, %rdx
callq 0x31179
movq %r12, %rdi
movq %rbx, %rsi
callq 0x3099a
jmp 0x27eae
movq 0x10(%rbx), %rsi
movq %r12, %rdi
movq -0x50(%rbp), %rbx
movq %rbx, %rdx
movq %r14, %rcx
xorl %r8d, %r8d
callq 0x238de
movq %rax, %r15
movq %r12, %rdi
movq %rbx, %rsi
movq %r14, %rdx
movq %rax, %rcx
callq 0x306d3
movq %r12, %rdi
movq %r13, %rsi
movq %r15, %rdx
callq 0x66b7
movq -0x40(%rbp), %r15
movq -0x68(%rbp), %rcx
incq %rcx
jmp 0x27a3b
addq $0x448, %rsp            # imm = 0x448
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
leaq 0x17f1f(%rip), %rdi     # 0x3fdf2
leaq 0x1fa60(%rip), %rsi     # 0x4793a
leaq 0x1fb17(%rip), %rcx     # 0x479f8
movl $0x1560, %edx           # imm = 0x1560
callq 0x30a0
leaq 0x1446e(%rip), %rdi     # 0x3c360
leaq 0x1fa41(%rip), %rsi     # 0x4793a
leaq 0x1faf8(%rip), %rcx     # 0x479f8
movl $0x1570, %edx           # imm = 0x1570
callq 0x30a0
leaq 0x1fe24(%rip), %rdi     # 0x47d35
leaq 0x1fa22(%rip), %rsi     # 0x4793a
leaq 0x2192b(%rip), %rcx     # 0x4984a
movl $0x1486, %edx           # imm = 0x1486
callq 0x30a0
leaq 0x166da(%rip), %rdi     # 0x3e60a
leaq 0x1fa03(%rip), %rsi     # 0x4793a
leaq 0x2190c(%rip), %rcx     # 0x4984a
movl $0x1489, %edx           # imm = 0x1489
callq 0x30a0
leaq 0x1fb09(%rip), %rdi     # 0x47a58
leaq 0x1f9e4(%rip), %rsi     # 0x4793a
leaq 0x218ed(%rip), %rcx     # 0x4984a
movl $0x1490, %edx           # imm = 0x1490
callq 0x30a0
leaq 0x1faea(%rip), %rdi     # 0x47a58
leaq 0x1f9c5(%rip), %rsi     # 0x4793a
leaq 0x21a2f(%rip), %rcx     # 0x499ab
movl $0x1523, %edx           # imm = 0x1523
callq 0x30a0
leaq 0x21b95(%rip), %rdi     # 0x49b22
leaq 0x1f9a6(%rip), %rsi     # 0x4793a
leaq 0x21b4c(%rip), %rcx     # 0x49ae7
movl $0x14cf, %edx           # imm = 0x14CF
callq 0x30a0
leaq 0x218cd(%rip), %rdi     # 0x49879
leaq 0x1f987(%rip), %rsi     # 0x4793a
leaq 0x21890(%rip), %rcx     # 0x4984a
movl $0x148d, %edx           # imm = 0x148D
callq 0x30a0
leaq 0x14395(%rip), %rdi     # 0x3c360
leaq 0x1f968(%rip), %rsi     # 0x4793a
leaq 0x219d2(%rip), %rcx     # 0x499ab
movl $0x14eb, %edx           # imm = 0x14EB
callq 0x30a0
leaq 0x17f92(%rip), %rdi     # 0x3ff7c
leaq 0x1f949(%rip), %rsi     # 0x4793a
leaq 0x219b3(%rip), %rcx     # 0x499ab
movl $0x1548, %edx           # imm = 0x1548
callq 0x30a0
leaq 0x15dbb(%rip), %rdi     # 0x3ddc4
leaq 0x1f92a(%rip), %rsi     # 0x4793a
leaq 0x1f941(%rip), %rcx     # 0x47958
movl $0x1587, %edx           # imm = 0x1587
callq 0x30a0
leaq 0x163a7(%rip), %rdi     # 0x3e3cf
leaq 0x1f90b(%rip), %rsi     # 0x4793a
leaq 0x1f922(%rip), %rcx     # 0x47958
movl $0x1588, %edx           # imm = 0x1588
callq 0x30a0