// File: /workspace/github_c_makefile_star2_O1/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 0x2aa48
movq %rdi, %r13
movq 0x8(%rdi), %rbx
testq %rbx, %rbx
je 0x2aa67
cmpl $0x0, 0x44(%rbx)
jle 0x2a900
xorl %r14d, %r14d
movq %rbx, -0x48(%rbp)
movq 0x48(%rbx), %rax
movq (%rax,%r14,8), %rsi
testq %rsi, %rsi
je 0x2a912
movl (%rsi), %eax
cmpl $0xa00, %eax            # imm = 0xA00
je 0x2a519
cmpl $0xd00, %eax            # imm = 0xD00
je 0x2a4a7
cmpl $0xc00, %eax            # imm = 0xC00
jne 0x2a931
movq %r13, %rdi
callq 0x2b59e
jmp 0x2a8f0
cmpl $0x2, 0x44(%rsi)
jne 0x2a98e
movq 0x48(%rsi), %rax
movq (%rax), %rbx
cmpl $0x200, (%rbx)          # imm = 0x200
jne 0x2a9ad
movq %r14, -0x40(%rbp)
movq 0x8(%rax), %r8
movl (%r8), %eax
cmpl $0x900, %eax            # imm = 0x900
je 0x2a4e1
cmpl $0xd01, %eax            # imm = 0xD01
jne 0x2a9eb
movq 0x30(%rsi), %r15
testq %r15, %r15
je 0x2a950
movq 0x10(%rbx), %rcx
cmpl $0x900, %eax            # imm = 0x900
jne 0x2a7c0
movq %r13, %rdi
movq %r15, %rsi
movq %rcx, %rdx
movq %r8, %rcx
movl $0x1, %r8d
callq 0x253df
jmp 0x2a8e8
movl 0x44(%rsi), %eax
cmpl $0x4, %eax
je 0x2a536
cmpl $0x3, %eax
jne 0x2aa0a
movq 0x48(%rsi), %rax
leaq 0x10(%rax), %rcx
xorl %edx, %edx
jmp 0x2a542
movq 0x48(%rsi), %rax
movq 0x10(%rax), %rdx
leaq 0x18(%rax), %rcx
movq %rdx, -0x50(%rbp)
movq %rsi, -0x38(%rbp)
movq %r14, -0x40(%rbp)
movq (%rax), %rdx
movq %rdx, -0x68(%rbp)
movq 0x8(%rax), %r14
movq (%rcx), %rax
movq %rax, -0x58(%rbp)
cmpl $0x0, 0x44(%r14)
jle 0x2a5b5
movq 0x48(%r14), %rax
movq (%rax), %rax
cmpl $0xa03, (%rax)          # imm = 0xA03
jne 0x2a5b5
movups 0x233ec(%rip), %xmm0    # 0x4d969
movups %xmm0, -0x456(%rbp)
movups 0x233d4(%rip), %xmm0    # 0x4d95f
movaps %xmm0, -0x460(%rbp)
movups 0x233b6(%rip), %xmm0    # 0x4d94f
movaps %xmm0, -0x470(%rbp)
movq 0x48(%r14), %rax
movq (%rax), %rsi
movq %r13, %rdi
leaq -0x470(%rbp), %rdx
callq *0x58(%r13)
cmpl $0x0, 0x44(%r14)
movq %r14, -0x60(%rbp)
jle 0x2a662
xorl %r15d, %r15d
movq 0x48(%r14), %rax
movq (%rax,%r15,8), %rbx
cmpl $0xa02, (%rbx)          # imm = 0xA02
jne 0x2a652
movq 0x48(%rbx), %rax
movq %r13, %rdi
movq (%rax), %r14
movq 0x8(%rax), %r12
movb $0x0, -0x29(%rbp)
movq %r12, %rsi
leaq -0x29(%rbp), %rdx
callq 0x2bbca
movzbl -0x29(%rbp), %eax
leal -0x1(%rax), %ecx
cmpb $0xb, %cl
jb 0x2a633
cmpl $0xc, %eax
je 0x2a633
cmpl $0x10, %eax
je 0x2a633
movl $0x52, %edx
leaq -0x470(%rbp), %rdi
leaq 0x2335b(%rip), %rsi     # 0x4d979
callq 0x3100
movq %r13, %rdi
movq %r12, %rsi
leaq -0x470(%rbp), %rdx
callq *0x58(%rdi)
movq 0x10(%r14), %rdx
movzbl -0x29(%rbp), %ecx
movq %r13, %rdi
movq -0x38(%rbp), %rsi
movq %r12, %r8
callq 0x2514e
movq %rax, 0x60(%rbx)
movq -0x60(%rbp), %r14
incq %r15
movslq 0x44(%r14), %rax
cmpq %rax, %r15
jl 0x2a5c7
movq -0x50(%rbp), %r15
testq %r15, %r15
movq -0x38(%rbp), %rbx
je 0x2a6e5
movb $0x0, -0x29(%rbp)
movq %r13, %rdi
movq %r15, %rsi
leaq -0x29(%rbp), %rdx
movl $0x1, %ecx
callq 0x2c8aa
movb -0x29(%rbp), %al
leal -0x1(%rax), %ecx
cmpb $0xb, %cl
setb %cl
cmpb $0x10, %al
sete %al
orb %cl, %al
jne 0x2a6e5
movups 0x23355(%rip), %xmm0    # 0x4d9f8
movups %xmm0, -0x443(%rbp)
movups 0x2333a(%rip), %xmm0    # 0x4d9eb
movaps %xmm0, -0x450(%rbp)
movups 0x2331c(%rip), %xmm0    # 0x4d9db
movaps %xmm0, -0x460(%rbp)
movups 0x232fe(%rip), %xmm0    # 0x4d9cb
movaps %xmm0, -0x470(%rbp)
movq %r13, %rdi
movq %r15, %rsi
leaq -0x470(%rbp), %rdx
callq *0x58(%r13)
movq 0x30(%rbx), %r15
testq %r15, %r15
je 0x2a96f
movq -0x58(%rbp), %rax
cmpl $0x900, (%rax)          # imm = 0x900
movq -0x68(%rbp), %rbx
movq 0x10(%rbx), %rcx
movq %r13, %rdi
jne 0x2a72e
movq %r15, %rsi
movq %rcx, %rdx
movq %r14, %rcx
movq -0x50(%rbp), %r8
movl $0x1, %r9d
callq 0x254a3
movq -0x38(%rbp), %rcx
movq %rax, 0x60(%rcx)
jmp 0x2a8e8
movq %r15, %rsi
movl $0x3, %edx
callq 0x6db9
testq %rax, %rax
je 0x2a81a
movq %rax, %r12
cmpb $0x1, 0x50(%rax)
jne 0x2a81a
movq %r13, %rdi
movl $0x430, %esi            # imm = 0x430
leaq 0x1887d(%rip), %rdx     # 0x42fdd
xorl %ecx, %ecx
xorl %r8d, %r8d
xorl %r9d, %r9d
callq 0x6721
movq %rax, %r15
movq %r13, %rdi
movq %rax, %rsi
movq %r14, %rdx
callq 0x69ff
movq -0x50(%rbp), %rdx
testq %rdx, %rdx
je 0x2a792
movq %r13, %rdi
movq %r15, %rsi
callq 0x69ff
movq 0x40(%r12), %rdx
movq %r13, %rdi
movq %r15, %rsi
callq 0x3372e
testb %al, %al
jne 0x2a7b8
movq 0x10(%rbx), %rsi
movq %r13, %rdi
leaq 0x23254(%rip), %rdx     # 0x4da08
callq *0x50(%r13)
movb $0x0, 0x50(%r12)
jmp 0x2a836
movq %rsi, %r14
movq %r8, -0x38(%rbp)
movq %r13, %rdi
movq %r15, %rsi
movl $0x2, %edx
callq 0x6db9
testq %rax, %rax
je 0x2a8aa
movq %rax, %r12
cmpb $0x1, 0x40(%rax)
jne 0x2a8aa
movq %r13, %rdi
movq %r14, %rbx
movq %r14, %rsi
movq -0x38(%rbp), %r14
movq %r14, %rdx
movq %r12, %rcx
callq 0x33919
movb $0x0, 0x40(%r12)
movq %rbx, 0x30(%r12)
movq %r14, 0x38(%r12)
jmp 0x2a8e8
movq 0x10(%rbx), %rdx
movq %r13, %rdi
movq %r15, %rsi
movq %r14, %rcx
movq -0x50(%rbp), %r8
xorl %r9d, %r9d
callq 0x254a3
movq %rax, %r12
movq -0x48(%rbp), %rbx
movq -0x40(%rbp), %r14
movq -0x38(%rbp), %rax
testq %r12, %r12
je 0x2a9cc
movq %r12, 0x60(%rax)
movq -0x60(%rbp), %rcx
movslq 0x44(%rcx), %rax
testq %rax, %rax
jle 0x2a87e
movq 0x48(%rcx), %rcx
xorl %edx, %edx
movq (%rcx,%rdx,8), %rsi
cmpl $0xa02, (%rsi)          # imm = 0xA02
jne 0x2a876
movq 0x60(%rsi), %rsi
movq %r12, 0x40(%rsi)
incq %rdx
cmpq %rdx, %rax
jne 0x2a862
movq -0x58(%rbp), %r15
cmpl $0xb00, (%r15)          # imm = 0xB00
jne 0x2aa29
movq %r13, %rdi
movq %r15, %rsi
movq %r15, %rdx
callq 0x3443f
movq %r13, %rdi
movq %r15, %rsi
callq 0x33bec
jmp 0x2a8f0
movq 0x10(%rbx), %rsi
movq %r13, %rdi
movq %r14, %rbx
movq %r14, %rdx
movq -0x38(%rbp), %r14
movq %r14, %rcx
xorl %r8d, %r8d
callq 0x2533e
movq %rax, %r12
movq %r13, %rdi
movq %rbx, %rsi
movq %r14, %rdx
movq %rax, %rcx
callq 0x33919
movq %r13, %rdi
movq %r15, %rsi
movq %r12, %rdx
callq 0x6cf7
movq -0x48(%rbp), %rbx
movq -0x40(%rbp), %r14
incq %r14
movslq 0x44(%rbx), %rax
cmpq %rax, %r14
jl 0x2a46a
addq $0x448, %rsp            # imm = 0x448
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
leaq 0x1947d(%rip), %rdi     # 0x43d96
leaq 0x20f3a(%rip), %rsi     # 0x4b85a
leaq 0x20ff1(%rip), %rcx     # 0x4b918
movl $0x1560, %edx           # imm = 0x1560
callq 0x30a0
leaq 0x15a4c(%rip), %rdi     # 0x40384
leaq 0x20f1b(%rip), %rsi     # 0x4b85a
leaq 0x20fd2(%rip), %rcx     # 0x4b918
movl $0x1570, %edx           # imm = 0x1570
callq 0x30a0
leaq 0x21021(%rip), %rdi     # 0x4b978
leaq 0x20efc(%rip), %rsi     # 0x4b85a
leaq 0x22e5c(%rip), %rcx     # 0x4d7c1
movl $0x1490, %edx           # imm = 0x1490
callq 0x30a0
leaq 0x21002(%rip), %rdi     # 0x4b978
leaq 0x20edd(%rip), %rsi     # 0x4b85a
leaq 0x22f9e(%rip), %rcx     # 0x4d922
movl $0x1523, %edx           # imm = 0x1523
callq 0x30a0
leaq 0x212c0(%rip), %rdi     # 0x4bc55
leaq 0x20ebe(%rip), %rsi     # 0x4b85a
leaq 0x22e1e(%rip), %rcx     # 0x4d7c1
movl $0x1486, %edx           # imm = 0x1486
callq 0x30a0
leaq 0x17bfa(%rip), %rdi     # 0x425ae
leaq 0x20e9f(%rip), %rsi     # 0x4b85a
leaq 0x22dff(%rip), %rcx     # 0x4d7c1
movl $0x1489, %edx           # imm = 0x1489
callq 0x30a0
leaq 0x1954d(%rip), %rdi     # 0x43f20
leaq 0x20e80(%rip), %rsi     # 0x4b85a
leaq 0x22f41(%rip), %rcx     # 0x4d922
movl $0x1548, %edx           # imm = 0x1548
callq 0x30a0
leaq 0x22dfe(%rip), %rdi     # 0x4d7f0
leaq 0x20e61(%rip), %rsi     # 0x4b85a
leaq 0x22dc1(%rip), %rcx     # 0x4d7c1
movl $0x148d, %edx           # imm = 0x148D
callq 0x30a0
leaq 0x15973(%rip), %rdi     # 0x40384
leaq 0x20e42(%rip), %rsi     # 0x4b85a
leaq 0x22f03(%rip), %rcx     # 0x4d922
movl $0x14eb, %edx           # imm = 0x14EB
callq 0x30a0
leaq 0x23069(%rip), %rdi     # 0x4da99
leaq 0x20e23(%rip), %rsi     # 0x4b85a
leaq 0x23020(%rip), %rcx     # 0x4da5e
movl $0x14cf, %edx           # imm = 0x14CF
callq 0x30a0
leaq 0x23f17(%rip), %rdi     # 0x4e966
leaq 0x20e04(%rip), %rsi     # 0x4b85a
leaq 0x20e1b(%rip), %rcx     # 0x4b878
movl $0x1587, %edx           # imm = 0x1587
callq 0x30a0
leaq 0x17905(%rip), %rdi     # 0x42373
leaq 0x20de5(%rip), %rsi     # 0x4b85a
leaq 0x20dfc(%rip), %rcx     # 0x4b878
movl $0x1588, %edx           # imm = 0x1588
callq 0x30a0