// File: /workspace/github_c_makefile_star2_O0/jeff-1amstudios[P]carmageddon-1-cheat-code-disassembly/src/test/framework/unity.c
// Function: UnityAssertGreaterOrLessOrEqualNumber
void UnityAssertGreaterOrLessOrEqualNumber(const UNITY_INT threshold,
                                           const UNITY_INT actual,
                                           const UNITY_COMPARISON_T compare,
                                           const char *msg,
                                           const UNITY_LINE_TYPE lineNumber,
                                           const UNITY_DISPLAY_STYLE_T style)
{
    int failed = 0;
    RETURN_IF_FAIL_OR_IGNORE;

    if (threshold == actual && compare & UNITY_EQUAL_TO) return;
    if (threshold == actual) failed = 1;

    if ((style & UNITY_DISPLAY_RANGE_INT) == UNITY_DISPLAY_RANGE_INT)
    {
        if (actual > threshold && compare & UNITY_SMALLER_THAN) failed = 1;
        if (actual < threshold && compare & UNITY_GREATER_THAN) failed = 1;
    }
    else /* UINT or HEX */
    {
        if ((UNITY_UINT)actual > (UNITY_UINT)threshold && compare & UNITY_SMALLER_THAN) failed = 1;
        if ((UNITY_UINT)actual < (UNITY_UINT)threshold && compare & UNITY_GREATER_THAN) failed = 1;
    }

    if (failed)
    {
        UnityTestResultsFailBegin(lineNumber);
        UnityPrint(UnityStrExpected);
        UnityPrintNumberByStyle(actual, style);
        if (compare & UNITY_GREATER_THAN) UnityPrint(UnityStrGt);
        if (compare & UNITY_SMALLER_THAN) UnityPrint(UnityStrLt);
        if (compare & UNITY_EQUAL_TO)     UnityPrint(UnityStrOrEqual);
        UnityPrintNumberByStyle(threshold, style);
        UnityAddMsgIfSpecified(msg);
        UNITY_FAIL_AND_BAIL;
    }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movl %edx, -0x14(%rbp)
movq %rcx, -0x20(%rbp)
movq %r8, -0x28(%rbp)
movl %r9d, -0x2c(%rbp)
movl $0x0, -0x30(%rbp)
cmpq $0x0, 0x8242(%rip)      # 0xdeb0
jne 0x5c7a
cmpq $0x0, 0x8240(%rip)      # 0xdeb8
je 0x5c7f
jmp 0x5dce
movq -0x8(%rbp), %rax
cmpq -0x10(%rbp), %rax
jne 0x5c99
movl -0x14(%rbp), %eax
andl $0x1, %eax
cmpl $0x0, %eax
je 0x5c99
jmp 0x5dce
movq -0x8(%rbp), %rax
cmpq -0x10(%rbp), %rax
jne 0x5caa
movl $0x1, -0x30(%rbp)
movl -0x2c(%rbp), %eax
andl $0x10, %eax
cmpl $0x10, %eax
jne 0x5cef
movq -0x10(%rbp), %rax
cmpq -0x8(%rbp), %rax
jle 0x5cd1
movl -0x14(%rbp), %eax
andl $0x4, %eax
cmpl $0x0, %eax
je 0x5cd1
movl $0x1, -0x30(%rbp)
movq -0x10(%rbp), %rax
cmpq -0x8(%rbp), %rax
jge 0x5ced
movl -0x14(%rbp), %eax
andl $0x2, %eax
cmpl $0x0, %eax
je 0x5ced
movl $0x1, -0x30(%rbp)
jmp 0x5d29
movq -0x10(%rbp), %rax
cmpq -0x8(%rbp), %rax
jbe 0x5d0b
movl -0x14(%rbp), %eax
andl $0x4, %eax
cmpl $0x0, %eax
je 0x5d0b
movl $0x1, -0x30(%rbp)
movq -0x10(%rbp), %rax
cmpq -0x8(%rbp), %rax
jae 0x5d27
movl -0x14(%rbp), %eax
andl $0x2, %eax
cmpl $0x0, %eax
je 0x5d27
movl $0x1, -0x30(%rbp)
jmp 0x5d29
cmpl $0x0, -0x30(%rbp)
je 0x5dce
movq -0x28(%rbp), %rdi
callq 0x5ad0
leaq 0x462e(%rip), %rdi      # 0xa371
callq 0x5020
movq -0x10(%rbp), %rdi
movl -0x2c(%rbp), %esi
callq 0x5290
movl -0x14(%rbp), %eax
andl $0x2, %eax
cmpl $0x0, %eax
je 0x5d6b
leaq 0x462a(%rip), %rdi      # 0xa390
callq 0x5020
movl -0x14(%rbp), %eax
andl $0x4, %eax
cmpl $0x0, %eax
je 0x5d82
leaq 0x4633(%rip), %rdi      # 0xa3b0
callq 0x5020
movl -0x14(%rbp), %eax
andl $0x1, %eax
cmpl $0x0, %eax
je 0x5d99
leaq 0x462e(%rip), %rdi      # 0xa3c2
callq 0x5020
movq -0x8(%rbp), %rdi
movl -0x2c(%rbp), %esi
callq 0x5290
movq -0x20(%rbp), %rdi
callq 0x5b10
movq $0x1, 0x80f7(%rip) # 0xdeb0
leaq 0x80b0(%rip), %rdi      # 0xde70
addq $0x50, %rdi
movl $0x1, %esi
callq 0x21d0
addq $0x30, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)