// File: /workspace/github_c_makefile_star2_O1/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 0xc6a6c
leaq 0x71bfd(%rip), %rdi     # 0x138647
leaq 0x87327(%rip), %rsi     # 0x14dd78
leaq 0x87345(%rip), %rdx     # 0x14dd9d
leaq 0x87362(%rip), %rcx     # 0x14ddc1
movl $0x18, %r8d
xorl %eax, %eax
callq 0xc8053
movl 0xc(%rbx), %eax
decl %eax
cmpl $0xc, %eax
jb 0xc6a9f
leaq 0x71bca(%rip), %rdi     # 0x138647
leaq 0x8734a(%rip), %rsi     # 0x14ddce
leaq 0x87312(%rip), %rdx     # 0x14dd9d
leaq 0x8732f(%rip), %rcx     # 0x14ddc1
movl $0x19, %r8d
xorl %eax, %eax
callq 0xc8053
movl 0x10(%rbx), %eax
decl %eax
cmpl $0x1f, %eax
jb 0xc6ad2
leaq 0x71b97(%rip), %rdi     # 0x138647
leaq 0x8732f(%rip), %rsi     # 0x14dde6
leaq 0x872df(%rip), %rdx     # 0x14dd9d
leaq 0x872fc(%rip), %rcx     # 0x14ddc1
movl $0x1a, %r8d
xorl %eax, %eax
callq 0xc8053
cmpl $0x76c, 0x8(%rbx)       # imm = 0x76C
jne 0xc6b0a
cmpl $0x2, 0xc(%rbx)
jg 0xc6b0a
leaq 0x71b5f(%rip), %rdi     # 0x138647
leaq 0x8730f(%rip), %rsi     # 0x14ddfe
leaq 0x872a7(%rip), %rdx     # 0x14dd9d
leaq 0x872c4(%rip), %rcx     # 0x14ddc1
movl $0x1c, %r8d
xorl %eax, %eax
callq 0xc8053
cmpl $0x834, 0x8(%rbx)       # imm = 0x834
jne 0xc6b42
cmpl $0x3, 0xc(%rbx)
jl 0xc6b42
leaq 0x71b27(%rip), %rdi     # 0x138647
leaq 0x872e1(%rip), %rsi     # 0x14de08
leaq 0x8726f(%rip), %rdx     # 0x14dd9d
leaq 0x8728c(%rip), %rcx     # 0x14ddc1
movl $0x1d, %r8d
xorl %eax, %eax
callq 0xc8053
movl 0xc(%rbx), %eax
decl %eax
cmpl $0xb, %eax
ja 0xc6d6c
leaq 0x87179(%rip), %rcx     # 0x14dcd0
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
cmpl $0x20, 0x10(%rbx)
jl 0xc6d6c
leaq 0x71ad6(%rip), %rdi     # 0x138647
leaq 0x8727b(%rip), %rsi     # 0x14ddf3
leaq 0x8721e(%rip), %rdx     # 0x14dd9d
leaq 0x8723b(%rip), %rcx     # 0x14ddc1
movl $0x21, %r8d
jmp 0xc6d90
cmpl $0x20, 0x10(%rbx)
jl 0xc6d6c
leaq 0x71aa5(%rip), %rdi     # 0x138647
leaq 0x8724a(%rip), %rsi     # 0x14ddf3
leaq 0x871ed(%rip), %rdx     # 0x14dd9d
leaq 0x8720a(%rip), %rcx     # 0x14ddc1
movl $0x2c, %r8d
jmp 0xc6d90
cmpl $0x20, 0x10(%rbx)
jl 0xc6d6c
leaq 0x71a74(%rip), %rdi     # 0x138647
leaq 0x87219(%rip), %rsi     # 0x14ddf3
leaq 0x871bc(%rip), %rdx     # 0x14dd9d
leaq 0x871d9(%rip), %rcx     # 0x14ddc1
movl $0x25, %r8d
jmp 0xc6d90
cmpl $0x20, 0x10(%rbx)
jl 0xc6d6c
leaq 0x71a43(%rip), %rdi     # 0x138647
leaq 0x871e8(%rip), %rsi     # 0x14ddf3
leaq 0x8718b(%rip), %rdx     # 0x14dd9d
leaq 0x871a8(%rip), %rcx     # 0x14ddc1
movl $0x2a, %r8d
jmp 0xc6d90
cmpl $0x20, 0x10(%rbx)
jl 0xc6d6c
leaq 0x71a12(%rip), %rdi     # 0x138647
leaq 0x871b7(%rip), %rsi     # 0x14ddf3
leaq 0x8715a(%rip), %rdx     # 0x14dd9d
leaq 0x87177(%rip), %rcx     # 0x14ddc1
movl $0x23, %r8d
jmp 0xc6d90
cmpl $0x1f, 0x10(%rbx)
jl 0xc6d6c
leaq 0x719e1(%rip), %rdi     # 0x138647
leaq 0x871af(%rip), %rsi     # 0x14de1c
leaq 0x87129(%rip), %rdx     # 0x14dd9d
leaq 0x87146(%rip), %rcx     # 0x14ddc1
movl $0x24, %r8d
jmp 0xc6d90
cmpl $0x20, 0x10(%rbx)
jl 0xc6d6c
leaq 0x719b0(%rip), %rdi     # 0x138647
leaq 0x87155(%rip), %rsi     # 0x14ddf3
leaq 0x870f8(%rip), %rdx     # 0x14dd9d
leaq 0x87115(%rip), %rcx     # 0x14ddc1
movl $0x28, %r8d
jmp 0xc6d90
cmpl $0x1e, 0x10(%rbx)
jl 0xc6d6c
leaq 0x7197f(%rip), %rdi     # 0x138647
leaq 0x87142(%rip), %rsi     # 0x14de11
leaq 0x870c7(%rip), %rdx     # 0x14dd9d
leaq 0x870e4(%rip), %rcx     # 0x14ddc1
movl $0x22, %r8d
jmp 0xc6d90
cmpl $0x1f, 0x10(%rbx)
jl 0xc6d6c
leaq 0x71952(%rip), %rdi     # 0x138647
leaq 0x87120(%rip), %rsi     # 0x14de1c
leaq 0x8709a(%rip), %rdx     # 0x14dd9d
leaq 0x870b7(%rip), %rcx     # 0x14ddc1
movl $0x26, %r8d
jmp 0xc6d90
cmpl $0x20, 0x10(%rbx)
jl 0xc6d6c
leaq 0x71928(%rip), %rdi     # 0x138647
leaq 0x870cd(%rip), %rsi     # 0x14ddf3
leaq 0x87070(%rip), %rdx     # 0x14dd9d
leaq 0x8708d(%rip), %rcx     # 0x14ddc1
movl $0x27, %r8d
jmp 0xc6d90
cmpl $0x1f, 0x10(%rbx)
jl 0xc6d6c
leaq 0x718fe(%rip), %rdi     # 0x138647
leaq 0x870cc(%rip), %rsi     # 0x14de1c
leaq 0x87046(%rip), %rdx     # 0x14dd9d
leaq 0x87063(%rip), %rcx     # 0x14ddc1
movl $0x2b, %r8d
jmp 0xc6d90
cmpl $0x1f, 0x10(%rbx)
jge 0xc6d6e
popq %rbx
retq
leaq 0x718d2(%rip), %rdi     # 0x138647
leaq 0x870a0(%rip), %rsi     # 0x14de1c
leaq 0x8701a(%rip), %rdx     # 0x14dd9d
leaq 0x87037(%rip), %rcx     # 0x14ddc1
movl $0x29, %r8d
xorl %eax, %eax
popq %rbx
jmp 0xc8053