// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: big_pos_ucmp_
static int big_pos_ucmp_(BIG* a, INT b) {
    size_t bsize;
    uint32_t *bradix;
    uint32_t bradix_temp[2] = {0};
    if (IS_I63(b)) {
        int64_t ib = GET_I63(b);
        ASSERT(ib >= 0);
        bsize = 2;
        bradix = bradix_temp;
        bradix_temp[0] = LO_RADIX(ib);
        bradix_temp[1] = HI_RADIX(ib);
    } else {
        BIG* bb = GET_BIG(b);
        bsize = bb->size;
        bradix = bb->radix;
    }
    for(size_t i = a->size; i --> bsize;) {
        if (a->radix[i]) return -1;
    }
    for(size_t i = bsize; i --> a->size;) {
        if (bradix[i]) return 1;
    }
    for (size_t i = ((bsize < a->size) ? bsize : a->size); i --> 0;) {
        uint32_t ar = a->radix[i];
        uint32_t br = bradix[i];
        if (ar != br) {
            return (ar > br) - (ar < br);
        }
    }
    return 0;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x70, %rsp
movq %rsi, -0x10(%rbp)
movq %rdi, -0x18(%rbp)
leaq -0x30(%rbp), %rdi
xorl %esi, %esi
movl $0x8, %edx
callq 0x5080
movq -0x10(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0x4239b
movq -0x10(%rbp), %rax
subq $0x1, %rax
movl $0x2, %ecx
cqto
idivq %rcx
movq %rax, -0x38(%rbp)
cmpq $0x0, -0x38(%rbp)
jge 0x42375
movl $0x2, %edi
leaq 0x3138d0(%rip), %rsi    # 0x355c27
movl $0x35, %edx
callq 0x5060
callq 0x5310
callq 0x53b0
movl $0x1, %edi
callq 0x5130
jmp 0x42377
movq $0x2, -0x20(%rbp)
leaq -0x30(%rbp), %rax
movq %rax, -0x28(%rbp)
movq -0x38(%rbp), %rax
movl %eax, -0x30(%rbp)
movq -0x38(%rbp), %rax
shrq $0x20, %rax
movl %eax, -0x2c(%rbp)
jmp 0x423bb
movq -0x10(%rbp), %rax
movq %rax, -0x40(%rbp)
movq -0x40(%rbp), %rax
movq 0x10(%rax), %rax
movq %rax, -0x20(%rbp)
movq -0x40(%rbp), %rax
addq $0x18, %rax
movq %rax, -0x28(%rbp)
movq -0x18(%rbp), %rax
movq 0x10(%rax), %rax
movq %rax, -0x48(%rbp)
movq -0x48(%rbp), %rax
movq %rax, %rcx
addq $-0x1, %rcx
movq %rcx, -0x48(%rbp)
cmpq -0x20(%rbp), %rax
jbe 0x423f9
movq -0x18(%rbp), %rax
movq -0x48(%rbp), %rcx
cmpl $0x0, 0x18(%rax,%rcx,4)
je 0x423f7
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
jmp 0x424c9
jmp 0x423c7
movq -0x20(%rbp), %rax
movq %rax, -0x50(%rbp)
movq -0x50(%rbp), %rax
movq %rax, %rcx
addq $-0x1, %rcx
movq %rcx, -0x50(%rbp)
movq -0x18(%rbp), %rcx
cmpq 0x10(%rcx), %rax
jbe 0x42436
movq -0x28(%rbp), %rax
movq -0x50(%rbp), %rcx
cmpl $0x0, (%rax,%rcx,4)
je 0x42434
movl $0x1, -0x4(%rbp)
jmp 0x424c9
jmp 0x42401
movq -0x20(%rbp), %rax
movq -0x18(%rbp), %rcx
cmpq 0x10(%rcx), %rax
jae 0x4244e
movq -0x20(%rbp), %rax
movq %rax, -0x68(%rbp)
jmp 0x4245a
movq -0x18(%rbp), %rax
movq 0x10(%rax), %rax
movq %rax, -0x68(%rbp)
movq -0x68(%rbp), %rax
movq %rax, -0x58(%rbp)
movq -0x58(%rbp), %rax
movq %rax, %rcx
addq $-0x1, %rcx
movq %rcx, -0x58(%rbp)
cmpq $0x0, %rax
jbe 0x424c2
movq -0x18(%rbp), %rax
movq -0x58(%rbp), %rcx
movl 0x18(%rax,%rcx,4), %eax
movl %eax, -0x5c(%rbp)
movq -0x28(%rbp), %rax
movq -0x58(%rbp), %rcx
movl (%rax,%rcx,4), %eax
movl %eax, -0x60(%rbp)
movl -0x5c(%rbp), %eax
cmpl -0x60(%rbp), %eax
je 0x424c0
movl -0x5c(%rbp), %eax
cmpl -0x60(%rbp), %eax
seta %al
andb $0x1, %al
movzbl %al, %eax
movl -0x5c(%rbp), %ecx
cmpl -0x60(%rbp), %ecx
setb %cl
andb $0x1, %cl
movzbl %cl, %ecx
subl %ecx, %eax
movl %eax, -0x4(%rbp)
jmp 0x424c9
jmp 0x42462
movl $0x0, -0x4(%rbp)
movl -0x4(%rbp), %eax
addq $0x70, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)