// File: /workspace/github_c_makefile_star2_O2/johsteffens[P]beth/lib/bcore/bcore_cday.c
// Function: bcore_cday_ymd_s_check_plausibility
void bcore_cday_ymd_s_check_plausibility( const bcore_cday_ymd_s* o )
{
    ASSERT( ( o->y >= 1900 ) && ( o->y <= 2100 ) );
    ASSERT( o->m >= 1 && o->m <= 12 );
    ASSERT( o->d >= 1 && o->d <= 31 );

    if( o->y == 1900 ) ASSERT( o->m >= 3 );
    if( o->y == 2100 ) ASSERT( o->m <  3 );

    switch( o->m )
    {
        case  1: ASSERT( o->d <= 31 ); break;
        case  2: ASSERT( o->d <= 29 ); break;
        case  3: ASSERT( o->d <= 31 ); break;
        case  4: ASSERT( o->d <= 30 ); break;
        case  5: ASSERT( o->d <= 31 ); break;
        case  6: ASSERT( o->d <= 30 ); break;
        case  7: ASSERT( o->d <= 31 ); break;
        case  8: ASSERT( o->d <= 31 ); break;
        case  9: ASSERT( o->d <= 30 ); break;
        case 10: ASSERT( o->d <= 31 ); break;
        case 11: ASSERT( o->d <= 30 ); break;
        case 12: ASSERT( o->d <= 31 ); break;
        default: break;
    }
}

// Assembly:
pushq %rbx
movq %rdi, %rbx
movl $0xfffff894, %eax       # imm = 0xFFFFF894
addl 0x8(%rdi), %eax
cmpl $0xc9, %eax
jb 0x5e9fe
leaq 0x4bc69(%rip), %rdi     # 0xaa647
leaq 0x62163(%rip), %rsi     # 0xc0b48
leaq 0x62181(%rip), %rdx     # 0xc0b6d
leaq 0x6219e(%rip), %rcx     # 0xc0b91
pushq $0x18
popq %r8
xorl %eax, %eax
callq 0x5ffac
movl 0xc(%rbx), %eax
decl %eax
cmpl $0xc, %eax
jb 0x5ea2f
leaq 0x4bc38(%rip), %rdi     # 0xaa647
leaq 0x62188(%rip), %rsi     # 0xc0b9e
leaq 0x62150(%rip), %rdx     # 0xc0b6d
leaq 0x6216d(%rip), %rcx     # 0xc0b91
pushq $0x19
popq %r8
xorl %eax, %eax
callq 0x5ffac
movl 0x10(%rbx), %eax
decl %eax
cmpl $0x1f, %eax
jb 0x5ea60
leaq 0x4bc07(%rip), %rdi     # 0xaa647
leaq 0x6216f(%rip), %rsi     # 0xc0bb6
leaq 0x6211f(%rip), %rdx     # 0xc0b6d
leaq 0x6213c(%rip), %rcx     # 0xc0b91
pushq $0x1a
popq %r8
xorl %eax, %eax
callq 0x5ffac
movl 0x8(%rbx), %ecx
movl 0xc(%rbx), %eax
cmpl $0x76c, %ecx            # imm = 0x76C
jne 0x5eaa0
cmpl $0x2, %eax
jg 0x5eadd
leaq 0x4bbcd(%rip), %rdi     # 0xaa647
leaq 0x6214d(%rip), %rsi     # 0xc0bce
leaq 0x620e5(%rip), %rdx     # 0xc0b6d
leaq 0x62102(%rip), %rcx     # 0xc0b91
pushq $0x1c
popq %r8
xorl %eax, %eax
callq 0x5ffac
movl 0x8(%rbx), %ecx
movl 0xc(%rbx), %eax
cmpl $0x834, %ecx            # imm = 0x834
setne %cl
cmpl $0x3, %eax
setl %dl
orb %cl, %dl
jne 0x5eadd
leaq 0x4bb8d(%rip), %rdi     # 0xaa647
leaq 0x62117(%rip), %rsi     # 0xc0bd8
leaq 0x620a5(%rip), %rdx     # 0xc0b6d
leaq 0x620c2(%rip), %rcx     # 0xc0b91
pushq $0x1d
popq %r8
xorl %eax, %eax
callq 0x5ffac
movl 0xc(%rbx), %eax
decl %eax
cmpl $0xb, %eax
ja 0x5ecd8
leaq 0x61fb1(%rip), %rcx     # 0xc0aa0
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
cmpl $0x20, 0x10(%rbx)
jl 0x5ecd8
leaq 0x4bb3e(%rip), %rdi     # 0xaa647
leaq 0x620b3(%rip), %rsi     # 0xc0bc3
leaq 0x62056(%rip), %rdx     # 0xc0b6d
leaq 0x62073(%rip), %rcx     # 0xc0b91
pushq $0x21
jmp 0x5ecf8
cmpl $0x20, 0x10(%rbx)
jl 0x5ecd8
leaq 0x4bb11(%rip), %rdi     # 0xaa647
leaq 0x62086(%rip), %rsi     # 0xc0bc3
leaq 0x62029(%rip), %rdx     # 0xc0b6d
leaq 0x62046(%rip), %rcx     # 0xc0b91
pushq $0x2c
jmp 0x5ecf8
cmpl $0x20, 0x10(%rbx)
jl 0x5ecd8
leaq 0x4bae4(%rip), %rdi     # 0xaa647
leaq 0x62059(%rip), %rsi     # 0xc0bc3
leaq 0x61ffc(%rip), %rdx     # 0xc0b6d
leaq 0x62019(%rip), %rcx     # 0xc0b91
pushq $0x25
jmp 0x5ecf8
cmpl $0x20, 0x10(%rbx)
jl 0x5ecd8
leaq 0x4bab7(%rip), %rdi     # 0xaa647
leaq 0x6202c(%rip), %rsi     # 0xc0bc3
leaq 0x61fcf(%rip), %rdx     # 0xc0b6d
leaq 0x61fec(%rip), %rcx     # 0xc0b91
pushq $0x2a
jmp 0x5ecf8
cmpl $0x20, 0x10(%rbx)
jl 0x5ecd8
leaq 0x4ba8a(%rip), %rdi     # 0xaa647
leaq 0x61fff(%rip), %rsi     # 0xc0bc3
leaq 0x61fa2(%rip), %rdx     # 0xc0b6d
leaq 0x61fbf(%rip), %rcx     # 0xc0b91
pushq $0x23
jmp 0x5ecf8
cmpl $0x1f, 0x10(%rbx)
jl 0x5ecd8
leaq 0x4ba5d(%rip), %rdi     # 0xaa647
leaq 0x61ffb(%rip), %rsi     # 0xc0bec
leaq 0x61f75(%rip), %rdx     # 0xc0b6d
leaq 0x61f92(%rip), %rcx     # 0xc0b91
pushq $0x24
jmp 0x5ecf8
cmpl $0x20, 0x10(%rbx)
jl 0x5ecd8
leaq 0x4ba30(%rip), %rdi     # 0xaa647
leaq 0x61fa5(%rip), %rsi     # 0xc0bc3
leaq 0x61f48(%rip), %rdx     # 0xc0b6d
leaq 0x61f65(%rip), %rcx     # 0xc0b91
pushq $0x28
jmp 0x5ecf8
cmpl $0x1e, 0x10(%rbx)
jl 0x5ecd8
leaq 0x4ba03(%rip), %rdi     # 0xaa647
leaq 0x61f96(%rip), %rsi     # 0xc0be1
leaq 0x61f1b(%rip), %rdx     # 0xc0b6d
leaq 0x61f38(%rip), %rcx     # 0xc0b91
pushq $0x22
jmp 0x5ecf8
cmpl $0x1f, 0x10(%rbx)
jl 0x5ecd8
leaq 0x4b9da(%rip), %rdi     # 0xaa647
leaq 0x61f78(%rip), %rsi     # 0xc0bec
leaq 0x61ef2(%rip), %rdx     # 0xc0b6d
leaq 0x61f0f(%rip), %rcx     # 0xc0b91
pushq $0x26
jmp 0x5ecf8
cmpl $0x20, 0x10(%rbx)
jl 0x5ecd8
leaq 0x4b9b4(%rip), %rdi     # 0xaa647
leaq 0x61f29(%rip), %rsi     # 0xc0bc3
leaq 0x61ecc(%rip), %rdx     # 0xc0b6d
leaq 0x61ee9(%rip), %rcx     # 0xc0b91
pushq $0x27
jmp 0x5ecf8
cmpl $0x1f, 0x10(%rbx)
jl 0x5ecd8
leaq 0x4b98e(%rip), %rdi     # 0xaa647
leaq 0x61f2c(%rip), %rsi     # 0xc0bec
leaq 0x61ea6(%rip), %rdx     # 0xc0b6d
leaq 0x61ec3(%rip), %rcx     # 0xc0b91
pushq $0x2b
jmp 0x5ecf8
cmpl $0x1f, 0x10(%rbx)
jge 0x5ecda
popq %rbx
retq
leaq 0x4b966(%rip), %rdi     # 0xaa647
leaq 0x61f04(%rip), %rsi     # 0xc0bec
leaq 0x61e7e(%rip), %rdx     # 0xc0b6d
leaq 0x61e9b(%rip), %rcx     # 0xc0b91
pushq $0x29
popq %r8
xorl %eax, %eax
popq %rbx
jmp 0x5ffac