// File: /workspace/github_c_makefile_star2_O0/coyove[P]chann/./lib/unqlite/unqlite.c
// Function: SyStrnicmp
JX9_PRIVATE sxi32 SyStrnicmp(const char *zLeft, const char *zRight, sxu32 SLen)
{
  	register unsigned char *p = (unsigned char *)zLeft;
	register unsigned char *q = (unsigned char *)zRight;
	
	if( SX_EMPTY_STR(p) || SX_EMPTY_STR(q) ){
		return SX_EMPTY_STR(p)? SX_EMPTY_STR(q) ? 0 : -1 :1;
	}
	for(;;){
		if( !SLen ){ return 0; }if( !*p || !*q || SyCharToLower(*p) != SyCharToLower(*q) ){ break; }p++;q++;--SLen;
		if( !SLen ){ return 0; }if( !*p || !*q || SyCharToLower(*p) != SyCharToLower(*q) ){ break; }p++;q++;--SLen;
		if( !SLen ){ return 0; }if( !*p || !*q || SyCharToLower(*p) != SyCharToLower(*q) ){ break; }p++;q++;--SLen;
		if( !SLen ){ return 0; }if( !*p || !*q || SyCharToLower(*p) != SyCharToLower(*q) ){ break; }p++;q++;--SLen;
		
	}
	return (sxi32)(SyCharToLower(p[0]) - SyCharToLower(q[0]));
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x80, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movl %edx, -0x1c(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x28(%rbp)
movq -0x18(%rbp), %rax
movq %rax, -0x30(%rbp)
cmpq $0x0, -0x28(%rbp)
je 0x6787c
movq -0x28(%rbp), %rax
movzbl (%rax), %eax
cmpl $0x0, %eax
je 0x6787c
cmpq $0x0, -0x30(%rbp)
je 0x6787c
movq -0x30(%rbp), %rax
movzbl (%rax), %eax
cmpl $0x0, %eax
jne 0x678d5
cmpq $0x0, -0x28(%rbp)
je 0x6788f
movq -0x28(%rbp), %rax
movzbl (%rax), %eax
cmpl $0x0, %eax
jne 0x678c0
movb $0x1, %al
cmpq $0x0, -0x30(%rbp)
movb %al, -0x31(%rbp)
je 0x678ab
movq -0x30(%rbp), %rax
movzbl (%rax), %eax
cmpl $0x0, %eax
sete %al
movb %al, -0x31(%rbp)
movb -0x31(%rbp), %dl
movl $0xffffffff, %eax       # imm = 0xFFFFFFFF
xorl %ecx, %ecx
testb $0x1, %dl
cmovnel %ecx, %eax
movl %eax, -0x38(%rbp)
jmp 0x678ca
movl $0x1, %eax
movl %eax, -0x38(%rbp)
jmp 0x678ca
movl -0x38(%rbp), %eax
movl %eax, -0x4(%rbp)
jmp 0x67d4c
jmp 0x678d7
cmpl $0x0, -0x1c(%rbp)
jne 0x678e9
movl $0x0, -0x4(%rbp)
jmp 0x67d4c
movq -0x28(%rbp), %rax
cmpb $0x0, (%rax)
je 0x679a5
movq -0x30(%rbp), %rax
cmpb $0x0, (%rax)
je 0x679a5
movq -0x28(%rbp), %rax
movzbl (%rax), %eax
cmpl $0xc0, %eax
jge 0x67942
callq 0xd1f0
movq (%rax), %rax
movq -0x28(%rbp), %rcx
movzbl (%rcx), %ecx
movslq %ecx, %rcx
movzwl (%rax,%rcx,2), %eax
andl $0x100, %eax            # imm = 0x100
cmpl $0x0, %eax
je 0x67942
movq -0x28(%rbp), %rax
movzbl (%rax), %edi
callq 0xdf58
movl %eax, -0x3c(%rbp)
jmp 0x6794c
movq -0x28(%rbp), %rax
movzbl (%rax), %eax
movl %eax, -0x3c(%rbp)
movl -0x3c(%rbp), %eax
movl %eax, -0x40(%rbp)
movq -0x30(%rbp), %rax
movzbl (%rax), %eax
cmpl $0xc0, %eax
jge 0x67991
callq 0xd1f0
movq (%rax), %rax
movq -0x30(%rbp), %rcx
movzbl (%rcx), %ecx
movslq %ecx, %rcx
movzwl (%rax,%rcx,2), %eax
andl $0x100, %eax            # imm = 0x100
cmpl $0x0, %eax
je 0x67991
movq -0x30(%rbp), %rax
movzbl (%rax), %edi
callq 0xdf58
movl %eax, -0x44(%rbp)
jmp 0x6799b
movq -0x30(%rbp), %rax
movzbl (%rax), %eax
movl %eax, -0x44(%rbp)
movl -0x40(%rbp), %eax
movl -0x44(%rbp), %ecx
cmpl %ecx, %eax
je 0x679aa
jmp 0x67ca9
movq -0x28(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x28(%rbp)
movq -0x30(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x30(%rbp)
movl -0x1c(%rbp), %eax
addl $-0x1, %eax
movl %eax, -0x1c(%rbp)
cmpl $0x0, -0x1c(%rbp)
jne 0x679dd
movl $0x0, -0x4(%rbp)
jmp 0x67d4c
movq -0x28(%rbp), %rax
cmpb $0x0, (%rax)
je 0x67a99
movq -0x30(%rbp), %rax
cmpb $0x0, (%rax)
je 0x67a99
movq -0x28(%rbp), %rax
movzbl (%rax), %eax
cmpl $0xc0, %eax
jge 0x67a36
callq 0xd1f0
movq (%rax), %rax
movq -0x28(%rbp), %rcx
movzbl (%rcx), %ecx
movslq %ecx, %rcx
movzwl (%rax,%rcx,2), %eax
andl $0x100, %eax            # imm = 0x100
cmpl $0x0, %eax
je 0x67a36
movq -0x28(%rbp), %rax
movzbl (%rax), %edi
callq 0xdf58
movl %eax, -0x48(%rbp)
jmp 0x67a40
movq -0x28(%rbp), %rax
movzbl (%rax), %eax
movl %eax, -0x48(%rbp)
movl -0x48(%rbp), %eax
movl %eax, -0x4c(%rbp)
movq -0x30(%rbp), %rax
movzbl (%rax), %eax
cmpl $0xc0, %eax
jge 0x67a85
callq 0xd1f0
movq (%rax), %rax
movq -0x30(%rbp), %rcx
movzbl (%rcx), %ecx
movslq %ecx, %rcx
movzwl (%rax,%rcx,2), %eax
andl $0x100, %eax            # imm = 0x100
cmpl $0x0, %eax
je 0x67a85
movq -0x30(%rbp), %rax
movzbl (%rax), %edi
callq 0xdf58
movl %eax, -0x50(%rbp)
jmp 0x67a8f
movq -0x30(%rbp), %rax
movzbl (%rax), %eax
movl %eax, -0x50(%rbp)
movl -0x4c(%rbp), %eax
movl -0x50(%rbp), %ecx
cmpl %ecx, %eax
je 0x67a9e
jmp 0x67ca9
movq -0x28(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x28(%rbp)
movq -0x30(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x30(%rbp)
movl -0x1c(%rbp), %eax
addl $-0x1, %eax
movl %eax, -0x1c(%rbp)
cmpl $0x0, -0x1c(%rbp)
jne 0x67ad1
movl $0x0, -0x4(%rbp)
jmp 0x67d4c
movq -0x28(%rbp), %rax
cmpb $0x0, (%rax)
je 0x67b8d
movq -0x30(%rbp), %rax
cmpb $0x0, (%rax)
je 0x67b8d
movq -0x28(%rbp), %rax
movzbl (%rax), %eax
cmpl $0xc0, %eax
jge 0x67b2a
callq 0xd1f0
movq (%rax), %rax
movq -0x28(%rbp), %rcx
movzbl (%rcx), %ecx
movslq %ecx, %rcx
movzwl (%rax,%rcx,2), %eax
andl $0x100, %eax            # imm = 0x100
cmpl $0x0, %eax
je 0x67b2a
movq -0x28(%rbp), %rax
movzbl (%rax), %edi
callq 0xdf58
movl %eax, -0x54(%rbp)
jmp 0x67b34
movq -0x28(%rbp), %rax
movzbl (%rax), %eax
movl %eax, -0x54(%rbp)
movl -0x54(%rbp), %eax
movl %eax, -0x58(%rbp)
movq -0x30(%rbp), %rax
movzbl (%rax), %eax
cmpl $0xc0, %eax
jge 0x67b79
callq 0xd1f0
movq (%rax), %rax
movq -0x30(%rbp), %rcx
movzbl (%rcx), %ecx
movslq %ecx, %rcx
movzwl (%rax,%rcx,2), %eax
andl $0x100, %eax            # imm = 0x100
cmpl $0x0, %eax
je 0x67b79
movq -0x30(%rbp), %rax
movzbl (%rax), %edi
callq 0xdf58
movl %eax, -0x5c(%rbp)
jmp 0x67b83
movq -0x30(%rbp), %rax
movzbl (%rax), %eax
movl %eax, -0x5c(%rbp)
movl -0x58(%rbp), %eax
movl -0x5c(%rbp), %ecx
cmpl %ecx, %eax
je 0x67b92
jmp 0x67ca9
movq -0x28(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x28(%rbp)
movq -0x30(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x30(%rbp)
movl -0x1c(%rbp), %eax
addl $-0x1, %eax
movl %eax, -0x1c(%rbp)
cmpl $0x0, -0x1c(%rbp)
jne 0x67bc5
movl $0x0, -0x4(%rbp)
jmp 0x67d4c
movq -0x28(%rbp), %rax
cmpb $0x0, (%rax)
je 0x67c81
movq -0x30(%rbp), %rax
cmpb $0x0, (%rax)
je 0x67c81
movq -0x28(%rbp), %rax
movzbl (%rax), %eax
cmpl $0xc0, %eax
jge 0x67c1e
callq 0xd1f0
movq (%rax), %rax
movq -0x28(%rbp), %rcx
movzbl (%rcx), %ecx
movslq %ecx, %rcx
movzwl (%rax,%rcx,2), %eax
andl $0x100, %eax            # imm = 0x100
cmpl $0x0, %eax
je 0x67c1e
movq -0x28(%rbp), %rax
movzbl (%rax), %edi
callq 0xdf58
movl %eax, -0x60(%rbp)
jmp 0x67c28
movq -0x28(%rbp), %rax
movzbl (%rax), %eax
movl %eax, -0x60(%rbp)
movl -0x60(%rbp), %eax
movl %eax, -0x64(%rbp)
movq -0x30(%rbp), %rax
movzbl (%rax), %eax
cmpl $0xc0, %eax
jge 0x67c6d
callq 0xd1f0
movq (%rax), %rax
movq -0x30(%rbp), %rcx
movzbl (%rcx), %ecx
movslq %ecx, %rcx
movzwl (%rax,%rcx,2), %eax
andl $0x100, %eax            # imm = 0x100
cmpl $0x0, %eax
je 0x67c6d
movq -0x30(%rbp), %rax
movzbl (%rax), %edi
callq 0xdf58
movl %eax, -0x68(%rbp)
jmp 0x67c77
movq -0x30(%rbp), %rax
movzbl (%rax), %eax
movl %eax, -0x68(%rbp)
movl -0x64(%rbp), %eax
movl -0x68(%rbp), %ecx
cmpl %ecx, %eax
je 0x67c83
jmp 0x67ca9
movq -0x28(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x28(%rbp)
movq -0x30(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x30(%rbp)
movl -0x1c(%rbp), %eax
addl $-0x1, %eax
movl %eax, -0x1c(%rbp)
jmp 0x678d7
movq -0x28(%rbp), %rax
movzbl (%rax), %eax
cmpl $0xc0, %eax
jge 0x67ce8
callq 0xd1f0
movq (%rax), %rax
movq -0x28(%rbp), %rcx
movzbl (%rcx), %ecx
movslq %ecx, %rcx
movzwl (%rax,%rcx,2), %eax
andl $0x100, %eax            # imm = 0x100
cmpl $0x0, %eax
je 0x67ce8
movq -0x28(%rbp), %rax
movzbl (%rax), %edi
callq 0xdf58
movl %eax, -0x6c(%rbp)
jmp 0x67cf2
movq -0x28(%rbp), %rax
movzbl (%rax), %eax
movl %eax, -0x6c(%rbp)
movl -0x6c(%rbp), %eax
movl %eax, -0x70(%rbp)
movq -0x30(%rbp), %rax
movzbl (%rax), %eax
cmpl $0xc0, %eax
jge 0x67d37
callq 0xd1f0
movq (%rax), %rax
movq -0x30(%rbp), %rcx
movzbl (%rcx), %ecx
movslq %ecx, %rcx
movzwl (%rax,%rcx,2), %eax
andl $0x100, %eax            # imm = 0x100
cmpl $0x0, %eax
je 0x67d37
movq -0x30(%rbp), %rax
movzbl (%rax), %edi
callq 0xdf58
movl %eax, -0x74(%rbp)
jmp 0x67d41
movq -0x30(%rbp), %rax
movzbl (%rax), %eax
movl %eax, -0x74(%rbp)
movl -0x70(%rbp), %eax
movl -0x74(%rbp), %ecx
subl %ecx, %eax
movl %eax, -0x4(%rbp)
movl -0x4(%rbp), %eax
addq $0x80, %rsp
popq %rbp
retq
nopl (%rax,%rax)