// File: /workspace/github_c_makefile_star2_O2/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
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x38, %rsp
movq %rsi, %r14
testq %rdi, %rdi
je 0x3246e
movb (%rdi), %al
testb %al, %al
sete %cl
testq %r14, %r14
sete %sil
orb %cl, %sil
pushq $0x1
popq %r15
je 0x32485
testb %al, %al
jne 0x3276e
testq %r14, %r14
je 0x326af
xorl %r15d, %r15d
cmpb (%r14), %r15b
sbbl %r15d, %r15d
jmp 0x3276e
cmpb $0x0, (%r14)
je 0x3276e
movl %edx, %eax
leaq -0x3(%rax), %rcx
movq %rcx, -0x48(%rbp)
leaq -0x2(%rax), %rcx
movq %rcx, -0x50(%rbp)
leaq -0x1(%rax), %rcx
movq %rcx, -0x58(%rbp)
xorl %r12d, %r12d
movq %r14, -0x30(%rbp)
movq %rdi, -0x38(%rbp)
movq %rax, -0x40(%rbp)
cmpl %r12d, %eax
je 0x326af
movzbl (%rdi,%r12), %r13d
testq %r13, %r13
je 0x326b7
movzbl (%r14,%r12), %ebx
testq %rbx, %rbx
je 0x326bc
cmpb $-0x41, %r13b
ja 0x324f3
callq 0xc190
movq (%rax), %rax
testb $0x1, 0x1(%rax,%r13,2)
jne 0x324f8
movl %r13d, %r15d
jmp 0x32504
callq 0xc4a0
movq (%rax), %rax
movl (%rax,%r13,4), %r15d
cmpb $-0x41, %bl
ja 0x32523
callq 0xc190
movq (%rax), %rax
testb $0x1, 0x1(%rax,%rbx,2)
je 0x32523
callq 0xc4a0
movq (%rax), %rax
movl (%rax,%rbx,4), %ebx
cmpl %ebx, %r15d
jne 0x326c2
cmpl %r12d, -0x58(%rbp)
je 0x326af
movq -0x38(%rbp), %rax
movzbl 0x1(%rax,%r12), %r13d
testq %r13, %r13
je 0x326c7
movzbl 0x1(%r14,%r12), %ebx
testq %rbx, %rbx
je 0x326cf
cmpb $-0x41, %r13b
ja 0x3256e
callq 0xc190
movq (%rax), %rax
testb $0x1, 0x1(%rax,%r13,2)
jne 0x32573
movl %r13d, %r15d
jmp 0x3257f
callq 0xc4a0
movq (%rax), %rax
movl (%rax,%r13,4), %r15d
cmpb $-0x41, %bl
ja 0x3259e
callq 0xc190
movq (%rax), %rax
testb $0x1, 0x1(%rax,%rbx,2)
je 0x3259e
callq 0xc4a0
movq (%rax), %rax
movl (%rax,%rbx,4), %ebx
cmpl %ebx, %r15d
jne 0x326d7
cmpl %r12d, -0x50(%rbp)
je 0x326af
movq -0x38(%rbp), %rax
movzbl 0x2(%rax,%r12), %r13d
testq %r13, %r13
je 0x326e0
movzbl 0x2(%r14,%r12), %ebx
testq %rbx, %rbx
je 0x326e9
cmpb $-0x41, %r13b
ja 0x325e9
callq 0xc190
movq (%rax), %rax
testb $0x1, 0x1(%rax,%r13,2)
jne 0x325ee
movl %r13d, %r15d
jmp 0x325fa
callq 0xc4a0
movq (%rax), %rax
movl (%rax,%r13,4), %r15d
cmpb $-0x41, %bl
ja 0x32619
callq 0xc190
movq (%rax), %rax
testb $0x1, 0x1(%rax,%rbx,2)
je 0x32619
callq 0xc4a0
movq (%rax), %rax
movl (%rax,%rbx,4), %ebx
cmpl %ebx, %r15d
jne 0x326f3
cmpl %r12d, -0x48(%rbp)
je 0x326af
movq -0x38(%rbp), %rax
movzbl 0x3(%rax,%r12), %r13d
testq %r13, %r13
je 0x326fc
movzbl 0x3(%r14,%r12), %ebx
testq %rbx, %rbx
je 0x32708
cmpb $-0x41, %r13b
ja 0x32664
callq 0xc190
movq (%rax), %rax
testb $0x1, 0x1(%rax,%r13,2)
jne 0x32669
movl %r13d, %r15d
jmp 0x32675
callq 0xc4a0
movq (%rax), %rax
movl (%rax,%r13,4), %r15d
cmpb $-0x41, %bl
ja 0x32694
callq 0xc190
movq (%rax), %rax
testb $0x1, 0x1(%rax,%rbx,2)
je 0x32694
callq 0xc4a0
movq (%rax), %rax
movl (%rax,%rbx,4), %ebx
cmpl %ebx, %r15d
jne 0x32711
addq $0x4, -0x30(%rbp)
addq $0x4, %r12
movq -0x38(%rbp), %rdi
movq -0x40(%rbp), %rax
jmp 0x324b8
xorl %r15d, %r15d
jmp 0x3276e
addq %r12, %r14
jmp 0x32703
movq -0x30(%rbp), %r14
jmp 0x32719
addq %r12, %r14
jmp 0x32719
addq %r12, %r14
incq %r14
jmp 0x32703
addq %r12, %r14
incq %r14
jmp 0x32719
movq -0x30(%rbp), %r14
incq %r14
jmp 0x32719
addq %r12, %r14
addq $0x2, %r14
jmp 0x32703
movq -0x30(%rbp), %r14
addq $0x2, %r14
jmp 0x32719
addq %r12, %r14
addq $0x2, %r14
jmp 0x32719
addq %r12, %r14
addq $0x3, %r14
xorl %r13d, %r13d
jmp 0x3271f
addq %r12, %r14
addq $0x3, %r14
jmp 0x32719
movq -0x30(%rbp), %r14
addq $0x3, %r14
cmpb $-0x40, %r13b
jae 0x32732
callq 0xc190
movq (%rax), %rax
movzbl %r13b, %ebx
testb $0x1, 0x1(%rax,%rbx,2)
jne 0x32738
movzbl %r13b, %r15d
jmp 0x32744
callq 0xc4a0
movq (%rax), %rax
movl (%rax,%rbx,4), %r15d
movzbl (%r14), %ebx
cmpq $0xbf, %rbx
ja 0x3276b
callq 0xc190
movq (%rax), %rax
testb $0x1, 0x1(%rax,%rbx,2)
je 0x3276b
callq 0xc4a0
movq (%rax), %rax
movl (%rax,%rbx,4), %ebx
subl %ebx, %r15d
movl %r15d, %eax
addq $0x38, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq