// File: /workspace/github_c_makefile_star2_O0/LemonBoy[P]autobahn/main.c
// Function: main
int main (int argc, char **argv)
{
        xpparam_t param = { 0 };
        xdemitconf_t econf = { 0, 0, 0, NULL, NULL, print_hunk };
        xdemitcb_t ecb = { NULL, NULL, };

        param.flags = XDF_INDENT_HEURISTIC;

        ARGBEGIN {
        case '1':
        case '2':
                param.flags &= ~XDF_DIFF_ALGORITHM_MASK;
                param.flags |= (ARGC() == '1') ? XDF_PATIENCE_DIFF : XDF_HISTOGRAM_DIFF;
                break;
        case 'Z':
                param.flags |= XDF_IGNORE_WHITESPACE_AT_EOL;
                break;
        case 'b':
                param.flags |= XDF_IGNORE_WHITESPACE_CHANGE;
                break;
        case 'w':
                param.flags |= XDF_IGNORE_WHITESPACE;
                break;
        case 'd':
                param.flags |= XDF_NEED_MINIMAL;
                break;
        case 'B':
                param.flags |= XDF_IGNORE_BLANK_LINES;
                break;
        default:
                usage();
        } ARGEND;

        if (argc != 2)
                usage();

        mmfile_t f1, f2;
        read_mmfile(&f1, argv[0]);
        read_mmfile(&f2, argv[1]);

        seen_hunk = 0;
        xdl_diff(&f1, &f2, &param, &econf, &ecb);

        return (seen_hunk ? EXIT_FAILURE : EXIT_SUCCESS);
}

// Assembly:
subq $0x98, %rsp
movl $0x0, 0x94(%rsp)
movl %edi, 0x90(%rsp)
movq %rsi, 0x88(%rsp)
leaq 0x80(%rsp), %rdi
xorl %esi, %esi
movl $0x8, %edx
callq 0x1090
leaq 0x50(%rsp), %rdi
leaq 0x314f(%rip), %rsi      # 0xedc0
movl $0x30, %edx
callq 0x10e0
leaq 0x40(%rsp), %rdi
xorl %esi, %esi
movl $0x10, %edx
callq 0x1090
movq $0x100, 0x80(%rsp) # imm = 0x100
movq 0x88(%rsp), %rax
movq (%rax), %rax
movq %rax, 0x341e(%rip)      # 0xf0c8
movq 0x88(%rsp), %rax
addq $0x8, %rax
movq %rax, 0x88(%rsp)
movl 0x90(%rsp), %eax
addl $-0x1, %eax
movl %eax, 0x90(%rsp)
movq 0x88(%rsp), %rcx
xorl %eax, %eax
cmpq $0x0, (%rcx)
movb %al, 0x7(%rsp)
je 0xbd15
movq 0x88(%rsp), %rax
movq (%rax), %rax
movsbl (%rax), %ecx
xorl %eax, %eax
cmpl $0x2d, %ecx
movb %al, 0x7(%rsp)
jne 0xbd15
movq 0x88(%rsp), %rax
movq (%rax), %rax
movsbl 0x1(%rax), %eax
cmpl $0x0, %eax
setne %al
movb %al, 0x7(%rsp)
movb 0x7(%rsp), %al
testb $0x1, %al
jne 0xbd22
jmp 0xbf3a
movq 0x88(%rsp), %rax
movq (%rax), %rax
movsbl 0x1(%rax), %eax
cmpl $0x2d, %eax
jne 0xbd74
movq 0x88(%rsp), %rax
movq (%rax), %rax
movsbl 0x2(%rax), %eax
cmpl $0x0, %eax
jne 0xbd74
movq 0x88(%rsp), %rax
addq $0x8, %rax
movq %rax, 0x88(%rsp)
movl 0x90(%rsp), %eax
addl $-0x1, %eax
movl %eax, 0x90(%rsp)
jmp 0xbf3a
movl $0x0, 0x2c(%rsp)
movq 0x88(%rsp), %rax
movq (%rax), %rcx
addq $0x1, %rcx
movq %rcx, (%rax)
movq 0x88(%rsp), %rax
movq %rax, 0x30(%rsp)
movq 0x88(%rsp), %rax
movq (%rax), %rax
movsbl (%rax), %ecx
xorl %eax, %eax
cmpl $0x0, %ecx
movb %al, 0x6(%rsp)
je 0xbdc2
cmpl $0x0, 0x2c(%rsp)
setne %al
xorb $-0x1, %al
movb %al, 0x6(%rsp)
movb 0x6(%rsp), %al
testb $0x1, %al
jne 0xbdcf
jmp 0xbf0e
movq 0x30(%rsp), %rax
cmpq 0x88(%rsp), %rax
je 0xbde3
jmp 0xbf0e
movq 0x88(%rsp), %rax
movq (%rax), %rax
movb (%rax), %al
movb %al, 0x3f(%rsp)
movsbl 0x3f(%rsp), %eax
movl %eax, (%rsp)
addl $-0x31, %eax
subl $0x2, %eax
jb 0xbe43
jmp 0xbe06
movl (%rsp), %eax
subl $0x42, %eax
je 0xbed8
jmp 0xbe14
movl (%rsp), %eax
subl $0x5a, %eax
je 0xbe80
jmp 0xbe1e
movl (%rsp), %eax
subl $0x62, %eax
je 0xbe96
jmp 0xbe28
movl (%rsp), %eax
subl $0x64, %eax
je 0xbec2
jmp 0xbe36
movl (%rsp), %eax
subl $0x77, %eax
je 0xbeac
jmp 0xbef0
movq 0x80(%rsp), %rax
andq $-0x61, %rax
movq %rax, 0x80(%rsp)
movsbl 0x3f(%rsp), %edx
movl $0x40, %eax
movl $0x20, %ecx
cmpl $0x31, %edx
cmovel %ecx, %eax
cltq
orq 0x80(%rsp), %rax
movq %rax, 0x80(%rsp)
jmp 0xbef5
movq 0x80(%rsp), %rax
orq $0x10, %rax
movq %rax, 0x80(%rsp)
jmp 0xbef5
movq 0x80(%rsp), %rax
orq $0x8, %rax
movq %rax, 0x80(%rsp)
jmp 0xbef5
movq 0x80(%rsp), %rax
orq $0x4, %rax
movq %rax, 0x80(%rsp)
jmp 0xbef5
movq 0x80(%rsp), %rax
orq $0x2, %rax
movq %rax, 0x80(%rsp)
jmp 0xbef5
movq 0x80(%rsp), %rax
orq $0x80, %rax
movq %rax, 0x80(%rsp)
jmp 0xbef5
callq 0xbc10
jmp 0xbef7
movq 0x88(%rsp), %rax
movq (%rax), %rcx
addq $0x1, %rcx
movq %rcx, (%rax)
jmp 0xbd9b
jmp 0xbf10
movl 0x90(%rsp), %eax
addl $-0x1, %eax
movl %eax, 0x90(%rsp)
movq 0x88(%rsp), %rax
addq $0x8, %rax
movq %rax, 0x88(%rsp)
jmp 0xbccf
cmpl $0x2, 0x90(%rsp)
je 0xbf49
callq 0xbc10
movq 0x88(%rsp), %rax
movq (%rax), %rsi
leaq 0x18(%rsp), %rdi
callq 0xbb20
movq 0x88(%rsp), %rax
movq 0x8(%rax), %rsi
leaq 0x8(%rsp), %rdi
callq 0xbb20
movl $0x0, 0x3142(%rip)      # 0xf0c0
leaq 0x18(%rsp), %rdi
leaq 0x8(%rsp), %rsi
leaq 0x80(%rsp), %rdx
leaq 0x50(%rsp), %rcx
leaq 0x40(%rsp), %r8
callq 0x33a0
movl 0x311b(%rip), %edx      # 0xf0c0
xorl %eax, %eax
movl $0x1, %ecx
cmpl $0x0, %edx
cmovnel %ecx, %eax
addq $0x98, %rsp
retq