// File: /workspace/github_c_makefile_star2_O1/jonof[P]jftekwar/jfbuild/src/kplib.c
// Function: kzread
int kzread (void *buffer, int leng)
{
	int i, j, k, bfinal, btype, hlit, hdist;

	if ((!kzfs.fil) || (leng <= 0)) return(0);

	if (kzfs.comptyp == 0)
	{
		if (kzfs.pos != kzfs.i) //Seek only when position changes
			fseek(kzfs.fil,kzfs.seek0+kzfs.pos,SEEK_SET);
		i = min(kzfs.leng-kzfs.pos,leng);
		i = (int)fread(buffer,1,i,kzfs.fil);
		kzfs.i += i; //kzfs.i is a local copy of ftell(kzfs.fil);
	}
	else if (kzfs.comptyp == 8)
	{
		zipfilmode = 1;

			//Initialize for putbuf4zip
		gzbufptr = (char *)buffer; gzbufptr = &gzbufptr[-kzfs.pos];
		kzfs.endpos = min(kzfs.pos+leng,kzfs.leng);
		if (kzfs.endpos == kzfs.pos) return(0); //Guard against reading 0 length

		if (kzfs.pos < gslidew-32768) // Must go back to start :(
		{
			if (kzfs.comptell) fseek(kzfs.fil,kzfs.seek0,SEEK_SET);

			gslidew = 0; gslider = 16384;
			kzfs.jmpplc = 0;

				//Initialize for suckbits/peekbits/getbits
			kzfs.comptell = min(kzfs.compleng,(int)sizeof(olinbuf));
			kzfs.comptell = (int)fread(&olinbuf[0],1,kzfs.comptell,kzfs.fil);
				//Make it re-load when there are < 32 bits left in FIFO
			bitpos = -(((int)sizeof(olinbuf)-4)<<3);
				//Identity: filptr + (bitpos>>3) = &olinbuf[0]
			filptr = &olinbuf[-(bitpos>>3)];
		}
		else
		{
			i = max(gslidew-32768,0); j = gslider-16384;

				//HACK: Don't unzip anything until you have to...
				//   (keeps file pointer as low as possible)
			if (kzfs.endpos <= gslidew) j = kzfs.endpos;

				//write uncompoffs on slidebuf from: i to j
			if (!((i^j)&32768))
				putbuf4zip(&slidebuf[i&32767],i,j);
			else
			{
				putbuf4zip(&slidebuf[i&32767],i,j&~32767);
				putbuf4zip(slidebuf,j&~32767,j);
			}

				//HACK: Don't unzip anything until you have to...
				//   (keeps file pointer as low as possible)
			if (kzfs.endpos <= gslidew) goto retkzread;
		}

		switch (kzfs.jmpplc)
		{
			case 0: goto kzreadplc0;
			case 1: goto kzreadplc1;
			case 2: goto kzreadplc2;
			case 3: goto kzreadplc3;
		}
kzreadplc0:;
		do
		{
			bfinal = getbits(1); btype = getbits(2);

#if 0
				//Display Huffman block offsets&lengths of input file - for debugging only!
			{
			static int ouncomppos = 0, ocomppos = 0;
			if (kzfs.comptell == sizeof(olinbuf)) i = 0;
			else if (kzfs.comptell < kzfs.compleng) i = kzfs.comptell-(sizeof(olinbuf)-4);
			else i = kzfs.comptell-(kzfs.comptell%(sizeof(olinbuf)-4));
			i += ((char *)&filptr[bitpos>>3])-((char *)(&olinbuf[0]));
			i = (i<<3)+(bitpos&7)-3;
			if (gslidew) printf(" ULng:0x%08x CLng:0x%08x.%x",gslidew-ouncomppos,(i-ocomppos)>>3,((i-ocomppos)&7)<<1);
			printf("\ntype:%d, Uoff:0x%08x Coff:0x%08x.%x",btype,gslidew,i>>3,(i&7)<<1);
			if (bfinal)
			{
				printf(" ULng:0x%08x CLng:0x%08x.%x",kzfs.leng-gslidew,((kzfs.compleng<<3)-i)>>3,(((kzfs.compleng<<3)-i)&7)<<1);
				printf("\n        Uoff:0x%08x Coff:0x%08x.0",kzfs.leng,kzfs.compleng);
				ouncomppos = ocomppos = 0;
			}
			else { ouncomppos = gslidew; ocomppos = i; }
			}
#endif

			if (btype == 0)
			{
				  //Raw (uncompressed)
				suckbits((-bitpos)&7);  //Synchronize to start of next byte
				i = getbits(16); if ((getbits(16)^i) != 0xffff) return(-1);
				for(;i;i--)
				{
					if (gslidew >= gslider)
					{
						putbuf4zip(&slidebuf[(gslider-16384)&32767],gslider-16384,gslider); gslider += 16384;
						if (gslider-16384 >= kzfs.endpos)
						{
							kzfs.jmpplc = 1; kzfs.i = i; kzfs.bfinal = bfinal;
							goto retkzread;
kzreadplc1:;         i = kzfs.i; bfinal = kzfs.bfinal;
						}
					}
					slidebuf[(gslidew++)&32767] = (char)getbits(8);
				}
				continue;
			}
			if (btype == 3) continue;

			if (btype == 1) //Fixed Huffman
			{
				hlit = 288; hdist = 32; i = 0;
				for(;i<144;i++) clen[i] = 8; //Fixed bit sizes (literals)
				for(;i<256;i++) clen[i] = 9; //Fixed bit sizes (literals)
				for(;i<280;i++) clen[i] = 7; //Fixed bit sizes (EOI,lengths)
				for(;i<288;i++) clen[i] = 8; //Fixed bit sizes (lengths)
				for(;i<320;i++) clen[i] = 5; //Fixed bit sizes (distances)
			}
			else  //Dynamic Huffman
			{
				hlit = getbits(5)+257; hdist = getbits(5)+1; j = getbits(4)+4;
				for(i=0;i<j;i++) cclen[ccind[i]] = getbits(3);
				for(;i<19;i++) cclen[ccind[i]] = 0;
				hufgencode(cclen,19,ibuf0,nbuf0);

				j = 0; k = hlit+hdist;
				while (j < k)
				{
					i = hufgetsym(ibuf0,nbuf0);
					if (i < 16) { clen[j++] = i; continue; }
					if (i == 16)
						{ for(i=getbits(2)+3;i;i--) { clen[j] = clen[j-1]; j++; } }
					else
					{
						if (i == 17) i = getbits(3)+3; else i = getbits(7)+11;
						for(;i;i--) clen[j++] = 0;
					}
				}
			}

			hufgencode(clen,hlit,ibuf0,nbuf0);
			qhufgencode(ibuf0,nbuf0,qhufval0,qhufbit0,LOGQHUFSIZ0);

			hufgencode(&clen[hlit],hdist,ibuf1,nbuf1);
			qhufgencode(ibuf1,nbuf1,qhufval1,qhufbit1,LOGQHUFSIZ1);

			while (1)
			{
				if (gslidew >= gslider)
				{
					putbuf4zip(&slidebuf[(gslider-16384)&32767],gslider-16384,gslider); gslider += 16384;
					if (gslider-16384 >= kzfs.endpos)
					{
						kzfs.jmpplc = 2; kzfs.bfinal = bfinal; goto retkzread;
kzreadplc2:;      bfinal = kzfs.bfinal;
					}
				}

				k = peekbits(LOGQHUFSIZ0);
				if (qhufbit0[k]) { i = qhufval0[k]; suckbits((int)qhufbit0[k]); }
				else i = hufgetsym(ibuf0,nbuf0);

				if (i < 256) { slidebuf[(gslidew++)&32767] = (char)i; continue; }
				if (i == 256) break;
				i = getbits(hxbit[i+30-257][0]) + hxbit[i+30-257][1];

				k = peekbits(LOGQHUFSIZ1);
				if (qhufbit1[k]) { j = qhufval1[k]; suckbits((int)qhufbit1[k]); }
				else j = hufgetsym(ibuf1,nbuf1);

				j = getbits(hxbit[j][0]) + hxbit[j][1];
				for(;i;i--,gslidew++) slidebuf[gslidew&32767] = slidebuf[(gslidew-j)&32767];
			}
		} while (!bfinal);

		gslider -= 16384;
		if (!((gslider^gslidew)&32768))
			putbuf4zip(&slidebuf[gslider&32767],gslider,gslidew);
		else
		{
			putbuf4zip(&slidebuf[gslider&32767],gslider,gslidew&~32767);
			putbuf4zip(slidebuf,gslidew&~32767,gslidew);
		}
kzreadplc3:; kzfs.jmpplc = 3;
	}

retkzread:;
	i = kzfs.pos;
	kzfs.pos += leng; if (kzfs.pos > kzfs.leng) kzfs.pos = kzfs.leng;
	return(kzfs.pos-i);
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x28, %rsp
movq %rdi, %r14
movq 0x570347(%rip), %rdi    # 0x5b5fc8
testq %rdi, %rdi
sete %cl
testl %esi, %esi
setle %dl
xorl %eax, %eax
orb %cl, %dl
jne 0x45d1a
movl %esi, %r13d
movl 0x570331(%rip), %ecx    # 0x5b5fd0
cmpl $0x8, %ecx
je 0x45d29
testl %ecx, %ecx
jne 0x45cf7
movl 0x570346(%rip), %esi    # 0x5b5ff8
cmpl 0x570358(%rip), %esi    # 0x5b6010
je 0x45cc7
addl 0x570318(%rip), %esi    # 0x5b5fd8
xorl %edx, %edx
callq 0x6c70
movl 0x570323(%rip), %eax    # 0x5b5ff0
subl 0x570325(%rip), %eax    # 0x5b5ff8
cmpl %r13d, %eax
cmovgel %r13d, %eax
movslq %eax, %rdx
movq 0x5702e4(%rip), %rcx    # 0x5b5fc8
movl $0x1, %esi
movq %r14, %rdi
callq 0x6550
addl %eax, 0x570319(%rip)    # 0x5b6010
movl 0x5702fb(%rip), %eax    # 0x5b5ff8
addl %eax, %r13d
movl 0x5702ea(%rip), %ecx    # 0x5b5ff0
cmpl %ecx, %r13d
cmovgel %ecx, %r13d
movl %r13d, 0x5702e4(%rip)   # 0x5b5ff8
subl %eax, %r13d
movl %r13d, %eax
addq $0x28, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movb $0x1, 0x570410(%rip)    # 0x5b6140
movslq 0x5702c1(%rip), %r12    # 0x5b5ff8
subq %r12, %r14
movq %r14, 0x570407(%rip)    # 0x5b6148
leal (%r12,%r13), %ecx
movl 0x5702a5(%rip), %ebx    # 0x5b5ff0
cmpl %ebx, %ecx
cmovll %ecx, %ebx
movl %ebx, 0x5702aa(%rip)    # 0x5b6000
cmpl %r12d, %ebx
je 0x45d1a
movl 0x5702be(%rip), %r15d   # 0x5b6020
leal -0x8000(%r15), %ecx
cmpl %ecx, %r12d
movq %r13, 0x10(%rsp)
jge 0x45df9
cmpl $0x0, 0x57026a(%rip)    # 0x5b5fe8
je 0x45d8d
movl 0x570252(%rip), %esi    # 0x5b5fd8
xorl %edx, %edx
callq 0x6c70
xorl %eax, %eax
movl 0x57024b(%rip), %ecx    # 0x5b5fe0
movl $0x10000, %edx          # imm = 0x10000
cmpl %edx, %ecx
cmovll %ecx, %edx
movl %eax, 0x57027b(%rip)    # 0x5b6020
movl $0x4000, 0x5703a1(%rip) # imm = 0x4000
movl %eax, 0x570253(%rip)    # 0x5b6008
movl %edx, 0x57022d(%rip)    # 0x5b5fe8
movslq %edx, %rdx
movq 0x570203(%rip), %rcx    # 0x5b5fc8
leaq 0x570394(%rip), %rdi    # 0x5b6160
movl $0x1, %esi
callq 0x6550
movl %eax, 0x57020c(%rip)    # 0x5b5fe8
movl $0xfff80020, 0x58037a(%rip) # imm = 0xFFF80020
leaq 0x58036f(%rip), %rax    # 0x5c615c
movq %rax, 0x580374(%rip)    # 0x5c6168
jmp 0x45ed7
xorl %eax, %eax
testl %ecx, %ecx
cmovgl %ecx, %eax
movl $0xffffc000, %ebp       # imm = 0xFFFFC000
addl 0x570345(%rip), %ebp    # 0x5b6150
cmpl %r15d, %ebx
cmovlel %ebx, %ebp
movl %ebp, %ecx
xorw %ax, %cx
js 0x45e4f
cmpl %eax, %r12d
movl %eax, %ecx
cmovgl %r12d, %ecx
cmpl %ebp, %ebx
cmovll %ebx, %ebp
subl %ecx, %ebp
jle 0x45ec9
movl %eax, %edx
andl $0x7fff, %edx           # imm = 0x7FFF
leaq 0x580333(%rip), %rdi    # 0x5c6170
addq %rdx, %rdi
movl %ecx, %edx
addq %rdx, %r14
subl %eax, %ecx
movslq %ecx, %rsi
addq %rdi, %rsi
jmp 0x45ebe
movl %ebp, %r13d
andl $0xffff8000, %r13d      # imm = 0xFFFF8000
cmpl %eax, %r12d
movl %eax, %edx
cmovgl %r12d, %edx
cmpl %r13d, %ebx
movl %r13d, %ecx
cmovll %ebx, %ecx
subl %edx, %ecx
jle 0x45e96
movl %eax, %esi
andl $0x7fff, %esi           # imm = 0x7FFF
leaq 0x5802f2(%rip), %r8     # 0x5c6170
addq %rsi, %r8
movl %edx, %edi
addq %r14, %rdi
subl %eax, %edx
movslq %edx, %rsi
addq %r8, %rsi
movslq %ecx, %rdx
callq 0x60c0
cmpl %r13d, %r12d
movl %r13d, %eax
cmovgl %r12d, %eax
cmpl %ebp, %ebx
cmovll %ebx, %ebp
subl %eax, %ebp
jle 0x45ec9
movslq %eax, %rcx
addq %rcx, %r14
subl %r13d, %eax
cltq
leaq 0x5802b5(%rip), %rsi    # 0x5c6170
addq %rax, %rsi
movslq %ebp, %rdx
movq %r14, %rdi
callq 0x60c0
cmpl %r15d, %ebx
movq 0x10(%rsp), %r13
jle 0x45cf7
movl 0x57012b(%rip), %eax    # 0x5b6008
cmpl $0x1, %eax
je 0x45efe
cmpl $0x2, %eax
je 0x45ef2
cmpl $0x3, %eax
je 0x476eb
jmp 0x45f10
movl 0x57011f(%rip), %r12d   # 0x5b6018
jmp 0x470c5
movl 0x57010c(%rip), %ebx    # 0x5b6010
movl 0x57010d(%rip), %r12d   # 0x5b6018
jmp 0x46efb
movq 0x580251(%rip), %rax    # 0x5c6168
movl 0x580243(%rip), %ebx    # 0x5c6160
movl %ebx, %ecx
sarl $0x3, %ecx
movslq %ecx, %rcx
movl (%rax,%rcx), %ebp
leal 0x1(%rbx), %ecx
movl %ecx, 0x58022f(%rip)    # 0x5c6160
cmpl $-0x1, %ebx
jl 0x46010
cmpb $0x0, 0x5701ff(%rip)    # 0x5b6140
je 0x45f93
movl 0x580213(%rip), %eax    # 0x5c615c
movl %eax, 0x570211(%rip)    # 0x5b6160
movl 0x57008b(%rip), %eax    # 0x5b5fe0
subl 0x57008d(%rip), %eax    # 0x5b5fe8
movl $0xfffc, %ecx           # imm = 0xFFFC
cmpl %ecx, %eax
cmovgel %ecx, %eax
movslq %eax, %rdx
movq 0x570059(%rip), %rcx    # 0x5b5fc8
leaq 0x5701ee(%rip), %rdi    # 0x5b6164
movl $0x1, %esi
callq 0x6550
addl %eax, 0x570062(%rip)    # 0x5b5fe8
movl $0xfff80020, %eax       # imm = 0xFFF80020
addl 0x5801cf(%rip), %eax    # 0x5c6160
jmp 0x4600a
movq 0x589e66(%rip), %rcx    # 0x5cfe00
testq %rcx, %rcx
je 0x45fc3
movq %rcx, 0x5801c2(%rip)    # 0x5c6168
movq $0x0, 0x589e4f(%rip) # 0x5cfe00
movl 0x5ad2f9(%rip), %ecx    # 0x5f32b0
shll $0x3, %ecx
movl %ebx, %eax
subl %ecx, %eax
addl $0x21, %eax
jmp 0x4600a
movl 0x8(%rax), %ecx
bswapl %ecx
movl %ecx, 0x5ad2e2(%rip)    # 0x5f32b0
movslq %ecx, %rcx
addq %rax, %rcx
addq $0xc, %rcx
movq %rcx, 0x589e21(%rip)    # 0x5cfe00
movl (%rax), %ecx
movl %ecx, 0x5ad2cd(%rip)    # 0x5f32b4
cmpl $0x54414449, 0xc(%rax)  # imm = 0x54414449
jne 0x45ff9
movl 0x10(%rax), %eax
movl %eax, 0x5ad2bf(%rip)    # 0x5f32b8
leaq 0x5ad2b8(%rip), %rax    # 0x5f32b8
movq %rax, 0x580161(%rip)    # 0x5c6168
leal -0x1f(%rbx), %eax
movl %eax, 0x580150(%rip)    # 0x5c6160
andl $0x7, %ebx
xorl %r12d, %r12d
btl %ebx, %ebp
setb %r12b
movq 0x580144(%rip), %rax    # 0x5c6168
movl 0x580135(%rip), %r14d   # 0x5c6160
movl %r14d, %ecx
sarl $0x3, %ecx
movslq %ecx, %rcx
movl (%rax,%rcx), %ebx
leal 0x2(%r14), %ecx
movl %ecx, 0x58011f(%rip)    # 0x5c6160
cmpl $-0x2, %r14d
jl 0x46123
cmpb $0x0, 0x5700ee(%rip)    # 0x5b6140
je 0x460a4
movl 0x580102(%rip), %eax    # 0x5c615c
movl %eax, 0x570100(%rip)    # 0x5b6160
movl 0x56ff7a(%rip), %eax    # 0x5b5fe0
subl 0x56ff7c(%rip), %eax    # 0x5b5fe8
movl $0xfffc, %ecx           # imm = 0xFFFC
cmpl %ecx, %eax
cmovgel %ecx, %eax
movslq %eax, %rdx
movq 0x56ff48(%rip), %rcx    # 0x5b5fc8
leaq 0x5700dd(%rip), %rdi    # 0x5b6164
movl $0x1, %esi
callq 0x6550
addl %eax, 0x56ff51(%rip)    # 0x5b5fe8
movl $0xfff80020, %eax       # imm = 0xFFF80020
addl 0x5800be(%rip), %eax    # 0x5c6160
jmp 0x4611d
movq 0x589d55(%rip), %rcx    # 0x5cfe00
testq %rcx, %rcx
je 0x460d5
movq %rcx, 0x5800b1(%rip)    # 0x5c6168
movq $0x0, 0x589d3e(%rip) # 0x5cfe00
movl 0x5ad1e8(%rip), %ecx    # 0x5f32b0
shll $0x3, %ecx
movl %r14d, %eax
subl %ecx, %eax
addl $0x22, %eax
jmp 0x4611d
movl 0x8(%rax), %ecx
bswapl %ecx
movl %ecx, 0x5ad1d0(%rip)    # 0x5f32b0
movslq %ecx, %rcx
addq %rax, %rcx
addq $0xc, %rcx
movq %rcx, 0x589d0f(%rip)    # 0x5cfe00
movl (%rax), %ecx
movl %ecx, 0x5ad1bb(%rip)    # 0x5f32b4
cmpl $0x54414449, 0xc(%rax)  # imm = 0x54414449
jne 0x4610b
movl 0x10(%rax), %eax
movl %eax, 0x5ad1ad(%rip)    # 0x5f32b8
leaq 0x5ad1a6(%rip), %rax    # 0x5f32b8
movq %rax, 0x58004f(%rip)    # 0x5c6168
leal -0x1e(%r14), %eax
movl %eax, 0x58003d(%rip)    # 0x5c6160
andb $0x7, %r14b
movl %r14d, %ecx
sarl %cl, %ebx
andl $0x3, %ebx
leaq 0x3057a(%rip), %rax     # 0x766b0
movslq (%rax,%rbx,4), %rcx
addq %rax, %rcx
jmpq *%rcx
movl 0x58001b(%rip), %ecx    # 0x5c6160
movl %ecx, %eax
negl %eax
andl $0x7, %eax
addl %ecx, %eax
movl %eax, 0x58000c(%rip)    # 0x5c6160
js 0x46392
cmpb $0x0, 0x56ffdf(%rip)    # 0x5b6140
je 0x462d7
movl 0x57ffef(%rip), %eax    # 0x5c615c
movl %eax, 0x56ffed(%rip)    # 0x5b6160
movl 0x56fe67(%rip), %eax    # 0x5b5fe0
subl 0x56fe69(%rip), %eax    # 0x5b5fe8
movl $0xfffc, %ecx           # imm = 0xFFFC
cmpl %ecx, %eax
cmovgel %ecx, %eax
movslq %eax, %rdx
movq 0x56fe35(%rip), %rcx    # 0x5b5fc8
leaq 0x56ffca(%rip), %rdi    # 0x5b6164
movl $0x1, %esi
callq 0x6550
addl %eax, 0x56fe3e(%rip)    # 0x5b5fe8
movl $0xfff80020, %eax       # imm = 0xFFF80020
addl 0x57ffab(%rip), %eax    # 0x5c6160
jmp 0x4638c
movl %r12d, 0x8(%rsp)
movq 0x57ffa2(%rip), %rax    # 0x5c6168
movl 0x57ff93(%rip), %r15d   # 0x5c6160
movl %r15d, %ecx
sarl $0x3, %ecx
movslq %ecx, %rcx
movl (%rax,%rcx), %ebx
leal 0x5(%r15), %ecx
movl %ecx, 0x57ff7d(%rip)    # 0x5c6160
cmpl $-0x5, %r15d
jl 0x464a2
cmpb $0x0, 0x56ff4c(%rip)    # 0x5b6140
je 0x46308
movl 0x57ff5c(%rip), %eax    # 0x5c615c
movl %eax, 0x56ff5a(%rip)    # 0x5b6160
movl 0x56fdd4(%rip), %eax    # 0x5b5fe0
subl 0x56fdd6(%rip), %eax    # 0x5b5fe8
movl $0xfffc, %ecx           # imm = 0xFFFC
cmpl %ecx, %eax
cmovgel %ecx, %eax
movslq %eax, %rdx
movq 0x56fda2(%rip), %rcx    # 0x5b5fc8
leaq 0x56ff37(%rip), %rdi    # 0x5b6164
movl $0x1, %esi
callq 0x6550
addl %eax, 0x56fdab(%rip)    # 0x5b5fe8
movl $0xfff80020, %eax       # imm = 0xFFF80020
addl 0x57ff18(%rip), %eax    # 0x5c6160
jmp 0x4649c
xorl %ecx, %ecx
leaq 0x587f1a(%rip), %rax    # 0x5ce170
movl $0x8, (%rcx,%rax)
addq $0x4, %rcx
cmpq $0x240, %rcx            # imm = 0x240
jne 0x46256
xorl %ecx, %ecx
movl $0x9, 0x240(%rax,%rcx,4)
incq %rcx
cmpq $0x70, %rcx
jne 0x4626c
xorl %ecx, %ecx
movl $0x7, 0x400(%rax,%rcx,4)
incq %rcx
cmpq $0x18, %rcx
jne 0x46282
xorl %ecx, %ecx
movl $0x8, 0x460(%rax,%rcx,4)
incq %rcx
cmpq $0x8, %rcx
jne 0x46298
xorl %ecx, %ecx
movl $0x5, 0x480(%rax,%rcx,4)
incq %rcx
cmpq $0x20, %rcx
jne 0x462ae
movl %r12d, 0x8(%rsp)
movl $0x20, %r15d
movl $0x120, %ebx            # imm = 0x120
jmp 0x46c73
movq 0x589b22(%rip), %rcx    # 0x5cfe00
testq %rcx, %rcx
je 0x46340
movq %rcx, 0x57fe7e(%rip)    # 0x5c6168
movq $0x0, 0x589b0b(%rip) # 0x5cfe00
movl 0x5acfb5(%rip), %ecx    # 0x5f32b0
shll $0x3, %ecx
subl %ecx, %eax
addl $0x20, %eax
jmp 0x4638c
movq 0x589af1(%rip), %rcx    # 0x5cfe00
testq %rcx, %rcx
je 0x46454
movq %rcx, 0x57fe49(%rip)    # 0x5c6168
movq $0x0, 0x589ad6(%rip) # 0x5cfe00
movl 0x5acf80(%rip), %ecx    # 0x5f32b0
shll $0x3, %ecx
movl %r15d, %eax
subl %ecx, %eax
addl $0x25, %eax
jmp 0x4649c
movq 0x57fe21(%rip), %rcx    # 0x5c6168
movl 0x8(%rcx), %edx
bswapl %edx
movl %edx, 0x5acf5e(%rip)    # 0x5f32b0
movslq %edx, %rdx
leaq 0xc(%rcx,%rdx), %rdx
movq %rdx, 0x589a9f(%rip)    # 0x5cfe00
movl (%rcx), %edx
movl %edx, 0x5acf4b(%rip)    # 0x5f32b4
cmpl $0x54414449, 0xc(%rcx)  # imm = 0x54414449
jne 0x4637b
movl 0x10(%rcx), %ecx
movl %ecx, 0x5acf3d(%rip)    # 0x5f32b8
leaq 0x5acf36(%rip), %rcx    # 0x5f32b8
movq %rcx, 0x57fddf(%rip)    # 0x5c6168
addl $-0x20, %eax
movl %eax, 0x57fdce(%rip)    # 0x5c6160
movq 0x57fdcf(%rip), %rax    # 0x5c6168
movl 0x57fdc0(%rip), %r14d   # 0x5c6160
movl %r14d, %ecx
sarl $0x3, %ecx
movslq %ecx, %rcx
movl (%rax,%rcx), %ebp
leal 0x10(%r14), %ecx
movl %ecx, 0x57fdaa(%rip)    # 0x5c6160
cmpl $-0x10, %r14d
jl 0x46d4b
cmpb $0x0, 0x56fd79(%rip)    # 0x5b6140
je 0x4641c
movl 0x57fd8d(%rip), %eax    # 0x5c615c
movl %eax, 0x56fd8b(%rip)    # 0x5b6160
movl 0x56fc05(%rip), %eax    # 0x5b5fe0
subl 0x56fc07(%rip), %eax    # 0x5b5fe8
movl $0xfffc, %ecx           # imm = 0xFFFC
cmpl %ecx, %eax
cmovgel %ecx, %eax
movslq %eax, %rdx
movq 0x56fbd3(%rip), %rcx    # 0x5b5fc8
leaq 0x56fd68(%rip), %rdi    # 0x5b6164
movl $0x1, %esi
callq 0x6550
addl %eax, 0x56fbdc(%rip)    # 0x5b5fe8
movl $0xfff80020, %eax       # imm = 0xFFF80020
addl 0x57fd49(%rip), %eax    # 0x5c6160
jmp 0x46d45
movq 0x5899dd(%rip), %rcx    # 0x5cfe00
testq %rcx, %rcx
je 0x46cfd
movq %rcx, 0x57fd35(%rip)    # 0x5c6168
movq $0x0, 0x5899c2(%rip) # 0x5cfe00
movl 0x5ace6c(%rip), %ecx    # 0x5f32b0
shll $0x3, %ecx
movl %r14d, %eax
subl %ecx, %eax
addl $0x30, %eax
jmp 0x46d45
movl 0x8(%rax), %ecx
bswapl %ecx
movl %ecx, 0x5ace51(%rip)    # 0x5f32b0
movslq %ecx, %rcx
addq %rax, %rcx
addq $0xc, %rcx
movq %rcx, 0x589990(%rip)    # 0x5cfe00
movl (%rax), %ecx
movl %ecx, 0x5ace3c(%rip)    # 0x5f32b4
cmpl $0x54414449, 0xc(%rax)  # imm = 0x54414449
jne 0x4648a
movl 0x10(%rax), %eax
movl %eax, 0x5ace2e(%rip)    # 0x5f32b8
leaq 0x5ace27(%rip), %rax    # 0x5f32b8
movq %rax, 0x57fcd0(%rip)    # 0x5c6168
leal -0x1b(%r15), %eax
movl %eax, 0x57fcbe(%rip)    # 0x5c6160
andb $0x7, %r15b
movl %r15d, %ecx
sarl %cl, %ebx
andl $0x1f, %ebx
addl $0x101, %ebx            # imm = 0x101
movq 0x57fcad(%rip), %rax    # 0x5c6168
movl 0x57fc9e(%rip), %r12d   # 0x5c6160
movl %r12d, %ecx
sarl $0x3, %ecx
movslq %ecx, %rcx
movl (%rax,%rcx), %r14d
leal 0x5(%r12), %ecx
movl %ecx, 0x57fc86(%rip)    # 0x5c6160
cmpl $-0x5, %r12d
jl 0x465bd
cmpb $0x0, 0x56fc55(%rip)    # 0x5b6140
je 0x4653d
movl 0x57fc69(%rip), %eax    # 0x5c615c
movl %eax, 0x56fc67(%rip)    # 0x5b6160
movl 0x56fae1(%rip), %eax    # 0x5b5fe0
subl 0x56fae3(%rip), %eax    # 0x5b5fe8
movl $0xfffc, %ecx           # imm = 0xFFFC
cmpl %ecx, %eax
cmovgel %ecx, %eax
movslq %eax, %rdx
movq 0x56faaf(%rip), %rcx    # 0x5b5fc8
leaq 0x56fc44(%rip), %rdi    # 0x5b6164
movl $0x1, %esi
callq 0x6550
addl %eax, 0x56fab8(%rip)    # 0x5b5fe8
movl $0xfff80020, %eax       # imm = 0xFFF80020
addl 0x57fc25(%rip), %eax    # 0x5c6160
jmp 0x465b7
movq 0x5898bc(%rip), %rcx    # 0x5cfe00
testq %rcx, %rcx
je 0x4656e
movq %rcx, 0x57fc18(%rip)    # 0x5c6168
movq $0x0, 0x5898a5(%rip) # 0x5cfe00
movl 0x5acd4f(%rip), %ecx    # 0x5f32b0
shll $0x3, %ecx
movl %r12d, %eax
subl %ecx, %eax
addl $0x25, %eax
jmp 0x465b7
movl 0x8(%rax), %ecx
bswapl %ecx
movl %ecx, 0x5acd37(%rip)    # 0x5f32b0
movslq %ecx, %rcx
addq %rax, %rcx
addq $0xc, %rcx
movq %rcx, 0x589876(%rip)    # 0x5cfe00
movl (%rax), %ecx
movl %ecx, 0x5acd22(%rip)    # 0x5f32b4
cmpl $0x54414449, 0xc(%rax)  # imm = 0x54414449
jne 0x465a4
movl 0x10(%rax), %eax
movl %eax, 0x5acd14(%rip)    # 0x5f32b8
leaq 0x5acd0d(%rip), %rax    # 0x5f32b8
movq %rax, 0x57fbb6(%rip)    # 0x5c6168
leal -0x1b(%r12), %eax
movl %eax, 0x57fba3(%rip)    # 0x5c6160
movq %rbx, 0x20(%rsp)
andb $0x7, %r12b
movl %r12d, %ecx
sarl %cl, %r14d
andl $0x1f, %r14d
incl %r14d
movq 0x57fb8e(%rip), %rax    # 0x5c6168
movl 0x57fb7f(%rip), %r12d   # 0x5c6160
movl %r12d, %ecx
sarl $0x3, %ecx
movslq %ecx, %rcx
movl (%rax,%rcx), %ebx
leal 0x4(%r12), %ecx
movl %ecx, 0x57fb68(%rip)    # 0x5c6160
cmpl $-0x4, %r12d
jl 0x466db
cmpb $0x0, 0x56fb37(%rip)    # 0x5b6140
je 0x4665b
movl 0x57fb4b(%rip), %eax    # 0x5c615c
movl %eax, 0x56fb49(%rip)    # 0x5b6160
movl 0x56f9c3(%rip), %eax    # 0x5b5fe0
subl 0x56f9c5(%rip), %eax    # 0x5b5fe8
movl $0xfffc, %ecx           # imm = 0xFFFC
cmpl %ecx, %eax
cmovgel %ecx, %eax
movslq %eax, %rdx
movq 0x56f991(%rip), %rcx    # 0x5b5fc8
leaq 0x56fb26(%rip), %rdi    # 0x5b6164
movl $0x1, %esi
callq 0x6550
addl %eax, 0x56f99a(%rip)    # 0x5b5fe8
movl $0xfff80020, %eax       # imm = 0xFFF80020
addl 0x57fb07(%rip), %eax    # 0x5c6160
jmp 0x466d5
movq 0x58979e(%rip), %rcx    # 0x5cfe00
testq %rcx, %rcx
je 0x4668c
movq %rcx, 0x57fafa(%rip)    # 0x5c6168
movq $0x0, 0x589787(%rip) # 0x5cfe00
movl 0x5acc31(%rip), %ecx    # 0x5f32b0
shll $0x3, %ecx
movl %r12d, %eax
subl %ecx, %eax
addl $0x24, %eax
jmp 0x466d5
movl 0x8(%rax), %ecx
bswapl %ecx
movl %ecx, 0x5acc19(%rip)    # 0x5f32b0
movslq %ecx, %rcx
addq %rax, %rcx
addq $0xc, %rcx
movq %rcx, 0x589758(%rip)    # 0x5cfe00
movl (%rax), %ecx
movl %ecx, 0x5acc04(%rip)    # 0x5f32b4
cmpl $0x54414449, 0xc(%rax)  # imm = 0x54414449
jne 0x466c2
movl 0x10(%rax), %eax
movl %eax, 0x5acbf6(%rip)    # 0x5f32b8
leaq 0x5acbef(%rip), %rax    # 0x5f32b8
movq %rax, 0x57fa98(%rip)    # 0x5c6168
leal -0x1c(%r12), %eax
movl %eax, 0x57fa85(%rip)    # 0x5c6160
movq %r14, 0x18(%rsp)
andb $0x7, %r12b
movl %r12d, %ecx
sarl %cl, %ebx
andl $0xf, %ebx
movq $-0x4, %rbp
subq %rbx, %rbp
leaq 0x30003(%rip), %rbx     # 0x76700
movq $-0x1, %r14
leaq 0x587f65(%rip), %r15    # 0x5ce670
movq 0x57fa56(%rip), %rax    # 0x5c6168
movl 0x57fa47(%rip), %r13d   # 0x5c6160
movl %r13d, %ecx
sarl $0x3, %ecx
movslq %ecx, %rcx
movl (%rax,%rcx), %r12d
leal 0x3(%r13), %ecx
movl %ecx, 0x57fa30(%rip)    # 0x5c6160
cmpl $-0x3, %r13d
jl 0x46814
cmpb $0x0, 0x56f9ff(%rip)    # 0x5b6140
je 0x46795
movl 0x57fa13(%rip), %eax    # 0x5c615c
movl %eax, 0x56fa11(%rip)    # 0x5b6160
movl 0x56f88b(%rip), %eax    # 0x5b5fe0
subl 0x56f88d(%rip), %eax    # 0x5b5fe8
movl $0xfffc, %ecx           # imm = 0xFFFC
cmpl %ecx, %eax
cmovgel %ecx, %eax
movslq %eax, %rdx
movq 0x56f859(%rip), %rcx    # 0x5b5fc8
movl $0x1, %esi
leaq 0x56f9e9(%rip), %rdi    # 0x5b6164
callq 0x6550
addl %eax, 0x56f862(%rip)    # 0x5b5fe8
movl 0x57f9d4(%rip), %eax    # 0x5c6160
movl $0xfff80020, %ecx       # imm = 0xFFF80020
addl %ecx, %eax
jmp 0x4680e
movq 0x589664(%rip), %rcx    # 0x5cfe00
testq %rcx, %rcx
je 0x467c6
movq %rcx, 0x57f9c0(%rip)    # 0x5c6168
movq $0x0, 0x58964d(%rip) # 0x5cfe00
movl 0x5acaf7(%rip), %ecx    # 0x5f32b0
shll $0x3, %ecx
movl %r13d, %eax
subl %ecx, %eax
addl $0x23, %eax
jmp 0x4680e
movl 0x8(%rax), %ecx
bswapl %ecx
movl %ecx, 0x5acadf(%rip)    # 0x5f32b0
movslq %ecx, %rcx
addq %rax, %rcx
addq $0xc, %rcx
movq %rcx, 0x58961e(%rip)    # 0x5cfe00
movl (%rax), %ecx
movl %ecx, 0x5acaca(%rip)    # 0x5f32b4
cmpl $0x54414449, 0xc(%rax)  # imm = 0x54414449
jne 0x467fc
movl 0x10(%rax), %eax
movl %eax, 0x5acabc(%rip)    # 0x5f32b8
leaq 0x5acab5(%rip), %rax    # 0x5f32b8
movq %rax, 0x57f95e(%rip)    # 0x5c6168
leal -0x1d(%r13), %eax
movl %eax, 0x57f94c(%rip)    # 0x5c6160
andb $0x7, %r13b
movl %r13d, %ecx
sarl %cl, %r12d
andl $0x7, %r12d
movslq (%rbx), %rax
movl %r12d, (%r15,%rax,4)
addq $0x4, %rbx
leaq (%r14,%rbp), %rax
incq %rax
incq %r14
cmpq $-0x1, %rax
jne 0x4670b
cmpq $0x11, %r14
ja 0x4685f
movslq (%rbx), %rax
movl $0x0, (%r15,%rax,4)
incq %r14
addq $0x4, %rbx
cmpq $0x12, %r14
jb 0x46847
leaq 0x587e0a(%rip), %rdi    # 0x5ce670
leaq 0x587e53(%rip), %r13    # 0x5ce6c0
leaq 0x5882cc(%rip), %rbx    # 0x5ceb40
movl $0x13, %esi
movq %r13, %rdx
movq %rbx, %rcx
callq 0x4791e
movq 0x20(%rsp), %rax
movq 0x18(%rsp), %rcx
leal (%rcx,%rax), %ebp
xorl %r14d, %r14d
leaq 0x5878d5(%rip), %r15    # 0x5ce170
movl %ebp, 0xc(%rsp)
movq %r13, %rdi
movq %rbx, %rsi
callq 0x479b5
movslq %r14d, %r12
cmpl $0xf, %eax
jg 0x468c0
leal 0x1(%r12), %r14d
movl %eax, (%r15,%r12,4)
jmp 0x46c60
movq %r13, %rbx
movq 0x57f89e(%rip), %rcx    # 0x5c6168
movl 0x57f890(%rip), %ebp    # 0x5c6160
movl %ebp, %edx
sarl $0x3, %edx
movslq %edx, %rdx
movl (%rcx,%rdx), %r13d
cmpl $0x11, %eax
je 0x4695e
cmpl $0x10, %eax
jne 0x469d2
leal 0x2(%rbp), %eax
movl %eax, 0x57f86d(%rip)    # 0x5c6160
cmpl $-0x2, %ebp
jl 0x46b51
cmpb $0x0, 0x56f83d(%rip)    # 0x5b6140
je 0x46a60
movl 0x57f84d(%rip), %eax    # 0x5c615c
movl %eax, 0x56f84b(%rip)    # 0x5b6160
movl 0x56f6c5(%rip), %eax    # 0x5b5fe0
subl 0x56f6c7(%rip), %eax    # 0x5b5fe8
movl $0xfffc, %ecx           # imm = 0xFFFC
cmpl %ecx, %eax
cmovgel %ecx, %eax
movslq %eax, %rdx
movq 0x56f693(%rip), %rcx    # 0x5b5fc8
movl $0x1, %esi
leaq 0x56f823(%rip), %rdi    # 0x5b6164
callq 0x6550
addl %eax, 0x56f69c(%rip)    # 0x5b5fe8
movl 0x57f80e(%rip), %eax    # 0x5c6160
movl $0xfff80020, %ecx       # imm = 0xFFF80020
addl %ecx, %eax
jmp 0x46b4b
leal 0x3(%rbp), %eax
movl %eax, 0x57f7f9(%rip)    # 0x5c6160
cmpl $-0x3, %ebp
jl 0x46a42
cmpb $0x0, 0x56f7c9(%rip)    # 0x5b6140
je 0x46a97
movl 0x57f7d9(%rip), %eax    # 0x5c615c
movl %eax, 0x56f7d7(%rip)    # 0x5b6160
movl 0x56f651(%rip), %eax    # 0x5b5fe0
subl 0x56f653(%rip), %eax    # 0x5b5fe8
movl $0xfffc, %ecx           # imm = 0xFFFC
cmpl %ecx, %eax
cmovgel %ecx, %eax
movslq %eax, %rdx
movq 0x56f61f(%rip), %rcx    # 0x5b5fc8
movl $0x1, %esi
leaq 0x56f7af(%rip), %rdi    # 0x5b6164
callq 0x6550
addl %eax, 0x56f628(%rip)    # 0x5b5fe8
movl 0x57f79a(%rip), %ecx    # 0x5c6160
movl $0xfff80020, %eax       # imm = 0xFFF80020
addl %eax, %ecx
jmp 0x46bcb
leal 0x7(%rbp), %eax
movl %eax, 0x57f785(%rip)    # 0x5c6160
cmpl $-0x7, %ebp
jl 0x46a51
cmpb $0x0, 0x56f759(%rip)    # 0x5b6140
je 0x46ace
movl 0x57f769(%rip), %eax    # 0x5c615c
movl %eax, 0x56f767(%rip)    # 0x5b6160
movl 0x56f5e1(%rip), %eax    # 0x5b5fe0
subl 0x56f5e3(%rip), %eax    # 0x5b5fe8
movl $0xfffc, %ecx           # imm = 0xFFFC
cmpl %ecx, %eax
cmovgel %ecx, %eax
movslq %eax, %rdx
movq 0x56f5af(%rip), %rcx    # 0x5b5fc8
movl $0x1, %esi
leaq 0x56f73f(%rip), %rdi    # 0x5b6164
callq 0x6550
addl %eax, 0x56f5b8(%rip)    # 0x5b5fe8
movl 0x57f72a(%rip), %ecx    # 0x5c6160
movl $0xfff80020, %eax       # imm = 0xFFF80020
addl %eax, %ecx
jmp 0x46c1d
movl $0x3, %eax
movl $0x7, %edx
jmp 0x46c2d
movl $0xb, %eax
movl $0x7f, %edx
jmp 0x46c2d
movq 0x589399(%rip), %rax    # 0x5cfe00
testq %rax, %rax
je 0x46b05
movq %rax, 0x57f6f1(%rip)    # 0x5c6168
movq $0x0, 0x58937e(%rip) # 0x5cfe00
movl 0x5ac828(%rip), %ecx    # 0x5f32b0
shll $0x3, %ecx
movl %ebp, %eax
subl %ecx, %eax
addl $0x22, %eax
jmp 0x46b4b
movq 0x589362(%rip), %rax    # 0x5cfe00
testq %rax, %rax
je 0x46b85
movq %rax, 0x57f6ba(%rip)    # 0x5c6168
movq $0x0, 0x589347(%rip) # 0x5cfe00
movl 0x5ac7f1(%rip), %eax    # 0x5f32b0
shll $0x3, %eax
movl %ebp, %ecx
subl %eax, %ecx
addl $0x23, %ecx
jmp 0x46bcb
movq 0x58932b(%rip), %rax    # 0x5cfe00
testq %rax, %rax
je 0x46bd7
movq %rax, 0x57f683(%rip)    # 0x5c6168
movq $0x0, 0x589310(%rip) # 0x5cfe00
movl 0x5ac7ba(%rip), %eax    # 0x5f32b0
shll $0x3, %eax
movl %ebp, %ecx
subl %eax, %ecx
addl $0x27, %ecx
jmp 0x46c1d
movl 0x8(%rcx), %eax
bswapl %eax
movl %eax, 0x5ac7a0(%rip)    # 0x5f32b0
cltq
addq %rcx, %rax
addq $0xc, %rax
movq %rax, 0x5892e0(%rip)    # 0x5cfe00
movl (%rcx), %eax
movl %eax, 0x5ac78c(%rip)    # 0x5f32b4
cmpl $0x54414449, 0xc(%rcx)  # imm = 0x54414449
jne 0x46b3a
movl 0x10(%rcx), %eax
movl %eax, 0x5ac77e(%rip)    # 0x5f32b8
leaq 0x5ac777(%rip), %rax    # 0x5f32b8
movq %rax, 0x57f620(%rip)    # 0x5c6168
leal -0x1e(%rbp), %eax
movl %eax, 0x57f60f(%rip)    # 0x5c6160
andb $0x7, %bpl
movl %ebp, %ecx
sarl %cl, %r13d
movl -0x4(%r15,%r12,4), %eax
shlq $0x2, %r12
andl $0x3, %r13d
addq $0x3, %r13
xorl %ecx, %ecx
leaq (%r12,%rcx,4), %rdx
movl %eax, (%r15,%rdx)
incq %rcx
cmpl %ecx, %r13d
jne 0x46b6d
addl %ecx, %r14d
jmp 0x46c52
movl 0x8(%rcx), %eax
bswapl %eax
movl %eax, 0x5ac720(%rip)    # 0x5f32b0
cltq
addq %rcx, %rax
addq $0xc, %rax
movq %rax, 0x589260(%rip)    # 0x5cfe00
movl (%rcx), %eax
movl %eax, 0x5ac70c(%rip)    # 0x5f32b4
cmpl $0x54414449, 0xc(%rcx)  # imm = 0x54414449
jne 0x46bba
movl 0x10(%rcx), %eax
movl %eax, 0x5ac6fe(%rip)    # 0x5f32b8
leaq 0x5ac6f7(%rip), %rax    # 0x5f32b8
movq %rax, 0x57f5a0(%rip)    # 0x5c6168
leal -0x1d(%rbp), %ecx
movl $0x3, %eax
movl $0x7, %edx
jmp 0x46c27
movl 0x8(%rcx), %eax
bswapl %eax
movl %eax, 0x5ac6ce(%rip)    # 0x5f32b0
cltq
addq %rcx, %rax
addq $0xc, %rax
movq %rax, 0x58920e(%rip)    # 0x5cfe00
movl (%rcx), %eax
movl %eax, 0x5ac6ba(%rip)    # 0x5f32b4
cmpl $0x54414449, 0xc(%rcx)  # imm = 0x54414449
jne 0x46c0c
movl 0x10(%rcx), %eax
movl %eax, 0x5ac6ac(%rip)    # 0x5f32b8
leaq 0x5ac6a5(%rip), %rax    # 0x5f32b8
movq %rax, 0x57f54e(%rip)    # 0x5c6168
leal -0x19(%rbp), %ecx
movl $0xb, %eax
movl $0x7f, %edx
movl %ecx, 0x57f533(%rip)    # 0x5c6160
andb $0x7, %bpl
movl %ebp, %ecx
sarl %cl, %r13d
andl %edx, %r13d
addl %eax, %r13d
leaq (%r15,%r12,4), %rdi
leal (,%r13,4), %edx
xorl %esi, %esi
callq 0x62f0
addl %r13d, %r14d
movq %rbx, %r13
leaq 0x587ee4(%rip), %rbx    # 0x5ceb40
movl 0xc(%rsp), %ebp
cmpl %ebp, %r14d
jl 0x4689f
movq 0x20(%rsp), %rbx
movq 0x18(%rsp), %r15
leaq 0x5874f6(%rip), %r12    # 0x5ce170
leaq 0x587a3f(%rip), %r13    # 0x5ce6c0
leaq 0x587eb8(%rip), %rbp    # 0x5ceb40
movq %r12, %rdi
movl %ebx, %esi
movq %r13, %rdx
movq %rbp, %rcx
callq 0x4791e
leaq 0x587f21(%rip), %rdx    # 0x5cebc0
leaq 0x58871a(%rip), %rcx    # 0x5cf3c0
movq %r13, %rdi
movq %rbp, %rsi
movl $0x9, %r8d
callq 0x47b19
movl %ebx, %eax
leaq (%r12,%rax,4), %rdi
leaq 0x5888fc(%rip), %r14    # 0x5cf5c0
leaq 0x588975(%rip), %r12    # 0x5cf640
movl %r15d, %esi
movq %r14, %rdx
movq %r12, %rcx
callq 0x4791e
leaq 0x5889e0(%rip), %rdx    # 0x5cf6c0
leaq 0x588ad9(%rip), %rcx    # 0x5cf7c0
movq %r14, %rdi
movq %r12, %rsi
movl $0x6, %r8d
callq 0x47b19
jmp 0x4704b
movl 0x8(%rax), %ecx
bswapl %ecx
movl %ecx, 0x5ac5a8(%rip)    # 0x5f32b0
movslq %ecx, %rcx
addq %rax, %rcx
addq $0xc, %rcx
movq %rcx, 0x5890e7(%rip)    # 0x5cfe00
movl (%rax), %ecx
movl %ecx, 0x5ac593(%rip)    # 0x5f32b4
cmpl $0x54414449, 0xc(%rax)  # imm = 0x54414449
jne 0x46d33
movl 0x10(%rax), %eax
movl %eax, 0x5ac585(%rip)    # 0x5f32b8
leaq 0x5ac57e(%rip), %rax    # 0x5f32b8
movq %rax, 0x57f427(%rip)    # 0x5c6168
leal -0x10(%r14), %eax
movl %eax, 0x57f415(%rip)    # 0x5c6160
andb $0x7, %r14b
movl %r14d, %ecx
sarl %cl, %ebp
movzwl %bp, %ebx
movq 0x57f40a(%rip), %rax    # 0x5c6168
movl 0x57f3fb(%rip), %r14d   # 0x5c6160
movl %r14d, %ecx
sarl $0x3, %ecx
movslq %ecx, %rcx
movl (%rax,%rcx), %r15d
leal 0x10(%r14), %ecx
movl %ecx, 0x57f3e4(%rip)    # 0x5c6160
cmpl $-0x10, %r14d
jl 0x46e5e
cmpb $0x0, 0x56f3b3(%rip)    # 0x5b6140
je 0x46ddf
movl 0x57f3c7(%rip), %eax    # 0x5c615c
movl %eax, 0x56f3c5(%rip)    # 0x5b6160
movl 0x56f23f(%rip), %eax    # 0x5b5fe0
subl 0x56f241(%rip), %eax    # 0x5b5fe8
movl $0xfffc, %ecx           # imm = 0xFFFC
cmpl %ecx, %eax
cmovgel %ecx, %eax
movslq %eax, %rdx
movq 0x56f20d(%rip), %rcx    # 0x5b5fc8
leaq 0x56f3a2(%rip), %rdi    # 0x5b6164
movl $0x1, %esi
callq 0x6550
addl %eax, 0x56f216(%rip)    # 0x5b5fe8
movl $0xfff80020, %eax       # imm = 0xFFF80020
addl 0x57f383(%rip), %eax    # 0x5c6160
jmp 0x46e58
movq 0x58901a(%rip), %rcx    # 0x5cfe00
testq %rcx, %rcx
je 0x46e10
movq %rcx, 0x57f376(%rip)    # 0x5c6168
movq $0x0, 0x589003(%rip) # 0x5cfe00
movl 0x5ac4ad(%rip), %ecx    # 0x5f32b0
shll $0x3, %ecx
movl %r14d, %eax
subl %ecx, %eax
addl $0x30, %eax
jmp 0x46e58
movl 0x8(%rax), %ecx
bswapl %ecx
movl %ecx, 0x5ac495(%rip)    # 0x5f32b0
movslq %ecx, %rcx
addq %rax, %rcx
addq $0xc, %rcx
movq %rcx, 0x588fd4(%rip)    # 0x5cfe00
movl (%rax), %ecx
movl %ecx, 0x5ac480(%rip)    # 0x5f32b4
cmpl $0x54414449, 0xc(%rax)  # imm = 0x54414449
jne 0x46e46
movl 0x10(%rax), %eax
movl %eax, 0x5ac472(%rip)    # 0x5f32b8
leaq 0x5ac46b(%rip), %rax    # 0x5f32b8
movq %rax, 0x57f314(%rip)    # 0x5c6168
leal -0x10(%r14), %eax
movl %eax, 0x57f302(%rip)    # 0x5c6160
andb $0x7, %r14b
movl %r14d, %ecx
sarl %cl, %r15d
xorl %ebp, %r15d
cmpw $-0x1, %r15w
je 0x46e7c
movl $0xffffffff, %eax       # imm = 0xFFFFFFFF
jmp 0x45d1a
testl %ebx, %ebx
je 0x47236
movl 0x56f2c5(%rip), %r14d   # 0x5b6150
cmpl %r14d, 0x56f18e(%rip)   # 0x5b6020
jl 0x46efb
leal -0x4000(%r14), %eax
movl 0x56f157(%rip), %ecx    # 0x5b5ff8
cmpl %eax, %ecx
cmovlel %eax, %ecx
movl 0x56f154(%rip), %ebp    # 0x5b6000
cmpl %r14d, %ebp
movl %r14d, %edx
cmovll %ebp, %edx
subl %ecx, %edx
jle 0x46ee5
movl %eax, %esi
andl $0x7fff, %esi           # imm = 0x7FFF
leaq 0x57f2a8(%rip), %r8     # 0x5c6170
addq %rsi, %r8
movslq %ecx, %rdi
addq 0x56f273(%rip), %rdi    # 0x5b6148
subl %eax, %ecx
movslq %ecx, %rsi
addq %r8, %rsi
movslq %edx, %rdx
callq 0x60c0
leal 0x4000(%r14), %eax
movl %eax, 0x56f25e(%rip)    # 0x5b6150
cmpl %ebp, %r14d
jge 0x47030
movq 0x57f266(%rip), %rax    # 0x5c6168
movl 0x57f257(%rip), %r14d   # 0x5c6160
movl %r14d, %ecx
sarl $0x3, %ecx
movslq %ecx, %rcx
movl (%rax,%rcx), %ebp
leal 0x8(%r14), %ecx
movl %ecx, 0x57f241(%rip)    # 0x5c6160
cmpl $-0x8, %r14d
jl 0x47001
cmpb $0x0, 0x56f210(%rip)    # 0x5b6140
je 0x46f82
movl 0x57f224(%rip), %eax    # 0x5c615c
movl %eax, 0x56f222(%rip)    # 0x5b6160
movl 0x56f09c(%rip), %eax    # 0x5b5fe0
subl 0x56f09e(%rip), %eax    # 0x5b5fe8
movl $0xfffc, %ecx           # imm = 0xFFFC
cmpl %ecx, %eax
cmovgel %ecx, %eax
movslq %eax, %rdx
movq 0x56f06a(%rip), %rcx    # 0x5b5fc8
leaq 0x56f1ff(%rip), %rdi    # 0x5b6164
movl $0x1, %esi
callq 0x6550
addl %eax, 0x56f073(%rip)    # 0x5b5fe8
movl $0xfff80020, %eax       # imm = 0xFFF80020
addl 0x57f1e0(%rip), %eax    # 0x5c6160
jmp 0x46ffb
movq 0x588e77(%rip), %rcx    # 0x5cfe00
testq %rcx, %rcx
je 0x46fb3
movq %rcx, 0x57f1d3(%rip)    # 0x5c6168
movq $0x0, 0x588e60(%rip) # 0x5cfe00
movl 0x5ac30a(%rip), %ecx    # 0x5f32b0
shll $0x3, %ecx
movl %r14d, %eax
subl %ecx, %eax
addl $0x28, %eax
jmp 0x46ffb
movl 0x8(%rax), %ecx
bswapl %ecx
movl %ecx, 0x5ac2f2(%rip)    # 0x5f32b0
movslq %ecx, %rcx
addq %rax, %rcx
addq $0xc, %rcx
movq %rcx, 0x588e31(%rip)    # 0x5cfe00
movl (%rax), %ecx
movl %ecx, 0x5ac2dd(%rip)    # 0x5f32b4
cmpl $0x54414449, 0xc(%rax)  # imm = 0x54414449
jne 0x46fe9
movl 0x10(%rax), %eax
movl %eax, 0x5ac2cf(%rip)    # 0x5f32b8
leaq 0x5ac2c8(%rip), %rax    # 0x5f32b8
movq %rax, 0x57f171(%rip)    # 0x5c6168
leal -0x18(%r14), %eax
movl %eax, 0x57f15f(%rip)    # 0x5c6160
andb $0x7, %r14b
movl %r14d, %ecx
sarl %cl, %ebp
movl 0x56f010(%rip), %eax    # 0x5b6020
leal 0x1(%rax), %ecx
movl %ecx, 0x56f007(%rip)    # 0x5b6020
andl $0x7fff, %eax           # imm = 0x7FFF
leaq 0x57f14b(%rip), %rcx    # 0x5c6170
movb %bpl, (%rax,%rcx)
decl %ebx
jmp 0x46e7c
movl $0x1, 0x56efce(%rip)    # 0x5b6008
movl %ebx, 0x56efd0(%rip)    # 0x5b6010
jmp 0x47704
movl %eax, 0x56efd5(%rip)    # 0x5b6020
movq 0x10(%rsp), %r13
movl 0x8(%rsp), %r12d
movl 0x56f0f5(%rip), %ebx    # 0x5b6150
cmpl %ebx, 0x56efbf(%rip)    # 0x5b6020
jl 0x470c5
leal -0x4000(%rbx), %eax
movl 0x56ef89(%rip), %ecx    # 0x5b5ff8
cmpl %eax, %ecx
cmovlel %eax, %ecx
movl 0x56ef86(%rip), %ebp    # 0x5b6000
cmpl %ebx, %ebp
movl %ebx, %edx
cmovll %ebp, %edx
subl %ecx, %edx
jle 0x470b1
movl %eax, %esi
andl $0x7fff, %esi           # imm = 0x7FFF
leaq 0x57f0dc(%rip), %r8     # 0x5c6170
addq %rsi, %r8
movslq %ecx, %rdi
addq 0x56f0a7(%rip), %rdi    # 0x5b6148
subl %eax, %ecx
movslq %ecx, %rsi
addq %r8, %rsi
movslq %edx, %rdx
callq 0x60c0
leal 0x4000(%rbx), %eax
movl %eax, 0x56f093(%rip)    # 0x5b6150
cmpl %ebp, %ebx
jge 0x476fa
movq 0x57f09c(%rip), %rdx    # 0x5c6168
movl 0x57f08e(%rip), %eax    # 0x5c6160
movl %eax, %ecx
sarl $0x3, %ecx
movslq %ecx, %rcx
movl (%rdx,%rcx), %esi
movl %eax, %ecx
andb $0x7, %cl
sarl %cl, %esi
andl $0x1ff, %esi            # imm = 0x1FF
leaq 0x5882cf(%rip), %rcx    # 0x5cf3c0
movzbl (%rsi,%rcx), %ecx
testl %ecx, %ecx
je 0x4716d
leaq 0x587ac0(%rip), %rdi    # 0x5cebc0
movl (%rdi,%rsi,4), %r14d
addl %ecx, %eax
movl %eax, 0x57f054(%rip)    # 0x5c6160
js 0x47200
cmpb $0x0, 0x56f027(%rip)    # 0x5b6140
je 0x47185
movl 0x57f03b(%rip), %eax    # 0x5c615c
movl %eax, 0x56f039(%rip)    # 0x5b6160
movl 0x56eeb3(%rip), %eax    # 0x5b5fe0
subl 0x56eeb5(%rip), %eax    # 0x5b5fe8
movl $0xfffc, %ecx           # imm = 0xFFFC
cmpl %ecx, %eax
cmovgel %ecx, %eax
movslq %eax, %rdx
movq 0x56ee81(%rip), %rcx    # 0x5b5fc8
leaq 0x56f016(%rip), %rdi    # 0x5b6164
movl $0x1, %esi
callq 0x6550
addl %eax, 0x56ee8a(%rip)    # 0x5b5fe8
addl $0xfff80020, 0x57eff8(%rip) # imm = 0xFFF80020
jmp 0x47200
leaq 0x58754c(%rip), %rdi    # 0x5ce6c0
leaq 0x5879c5(%rip), %rsi    # 0x5ceb40
callq 0x479b5
movl %eax, %r14d
jmp 0x47200
movq 0x588c74(%rip), %rcx    # 0x5cfe00
testq %rcx, %rcx
je 0x471b3
movq %rcx, 0x57efd0(%rip)    # 0x5c6168
movq $0x0, 0x588c5d(%rip) # 0x5cfe00
movl 0x5ac107(%rip), %ecx    # 0x5f32b0
shll $0x3, %ecx
subl %ecx, %eax
addl $0x20, %eax
jmp 0x471fa
movl 0x8(%rdx), %ecx
bswapl %ecx
movl %ecx, 0x5ac0f2(%rip)    # 0x5f32b0
movslq %ecx, %rcx
addq %rdx, %rcx
addq $0xc, %rcx
movq %rcx, 0x588c31(%rip)    # 0x5cfe00
movl (%rdx), %ecx
movl %ecx, 0x5ac0dd(%rip)    # 0x5f32b4
cmpl $0x54414449, 0xc(%rdx)  # imm = 0x54414449
jne 0x471e9
movl 0x10(%rdx), %ecx
movl %ecx, 0x5ac0cf(%rip)    # 0x5f32b8
leaq 0x5ac0c8(%rip), %rcx    # 0x5f32b8
movq %rcx, 0x57ef71(%rip)    # 0x5c6168
addl $-0x20, %eax
movl %eax, 0x57ef60(%rip)    # 0x5c6160
cmpl $0xff, %r14d
jg 0x4722d
movl 0x56ee11(%rip), %eax    # 0x5b6020
leal 0x1(%rax), %ecx
movl %ecx, 0x56ee08(%rip)    # 0x5b6020
andl $0x7fff, %eax           # imm = 0x7FFF
leaq 0x57ef4c(%rip), %rcx    # 0x5c6170
movb %r14b, (%rax,%rcx)
jmp 0x47055
cmpl $0x100, %r14d           # imm = 0x100
jne 0x472ab
testl %r12d, %r12d
je 0x45f10
movslq 0x56ef0a(%rip), %rax    # 0x5b6150
addq $-0x4000, %rax          # imm = 0xC000
movl %eax, 0x56eefe(%rip)    # 0x5b6150
movl 0x56edc8(%rip), %ebx    # 0x5b6020
movl %eax, %ecx
xorw %bx, %cx
js 0x4765e
movl 0x56ed8f(%rip), %ecx    # 0x5b5ff8
cmpl %eax, %ecx
cmovlel %eax, %ecx
movl 0x56ed8c(%rip), %edx    # 0x5b6000
cmpl %ebx, %edx
cmovll %edx, %ebx
subl %ecx, %ebx
jle 0x476eb
movl %eax, %edx
andl $0x7fff, %edx           # imm = 0x7FFF
leaq 0x57eee0(%rip), %r8     # 0x5c6170
addq %rdx, %r8
movslq %ecx, %rsi
movq 0x56eeab(%rip), %rdi    # 0x5b6148
addq %rsi, %rdi
subq %rax, %rsi
addq %r8, %rsi
jmp 0x476e3
movl %r12d, 0x8(%rsp)
addl $0xffffff1d, %r14d      # imm = 0xFFFFFF1D
leaq 0x588542(%rip), %r15    # 0x5cf800
movslq (%r15,%r14,8), %rax
movq 0x57ee9f(%rip), %rcx    # 0x5c6168
movl 0x57ee91(%rip), %ebp    # 0x5c6160
movl %ebp, %edx
sarl $0x3, %edx
movslq %edx, %rdx
movl (%rcx,%rdx), %ebx
leaq 0x2f4ef(%rip), %r12     # 0x767d0
movl (%r12,%rax,4), %r13d
addl %ebp, %eax
movl %eax, 0x57ee73(%rip)    # 0x5c6160
js 0x473c7
cmpb $0x0, 0x56ee46(%rip)    # 0x5b6140
je 0x4734c
movl 0x57ee5a(%rip), %eax    # 0x5c615c
movl %eax, 0x56ee58(%rip)    # 0x5b6160
movl 0x56ecd2(%rip), %eax    # 0x5b5fe0
subl 0x56ecd4(%rip), %eax    # 0x5b5fe8
movl $0xfffc, %ecx           # imm = 0xFFFC
cmpl %ecx, %eax
cmovgel %ecx, %eax
movslq %eax, %rdx
movq 0x56eca0(%rip), %rcx    # 0x5b5fc8
leaq 0x56ee35(%rip), %rdi    # 0x5b6164
movl $0x1, %esi
callq 0x6550
addl %eax, 0x56eca9(%rip)    # 0x5b5fe8
movl $0xfff80020, %eax       # imm = 0xFFF80020
addl 0x57ee16(%rip), %eax    # 0x5c6160
jmp 0x473c1
movq 0x588aad(%rip), %rdx    # 0x5cfe00
testq %rdx, %rdx
je 0x4737a
movq %rdx, 0x57ee09(%rip)    # 0x5c6168
movq $0x0, 0x588a96(%rip) # 0x5cfe00
movl 0x5abf40(%rip), %ecx    # 0x5f32b0
shll $0x3, %ecx
subl %ecx, %eax
addl $0x20, %eax
jmp 0x473c1
movl 0x8(%rcx), %edx
bswapl %edx
movl %edx, 0x5abf2b(%rip)    # 0x5f32b0
movslq %edx, %rdx
addq %rcx, %rdx
addq $0xc, %rdx
movq %rdx, 0x588a6a(%rip)    # 0x5cfe00
movl (%rcx), %edx
movl %edx, 0x5abf16(%rip)    # 0x5f32b4
cmpl $0x54414449, 0xc(%rcx)  # imm = 0x54414449
jne 0x473b0
movl 0x10(%rcx), %ecx
movl %ecx, 0x5abf08(%rip)    # 0x5f32b8
leaq 0x5abf01(%rip), %rcx    # 0x5f32b8
movq %rcx, 0x57edaa(%rip)    # 0x5c6168
addl $-0x20, %eax
movl %eax, 0x57ed99(%rip)    # 0x5c6160
andb $0x7, %bpl
movl %ebp, %ecx
sarl %cl, %ebx
andl %r13d, %ebx
addl 0x4(%r15,%r14,8), %ebx
movq 0x57ed8a(%rip), %rdx    # 0x5c6168
movl 0x57ed7c(%rip), %eax    # 0x5c6160
movl %eax, %ecx
sarl $0x3, %ecx
movslq %ecx, %rcx
movl (%rdx,%rcx), %esi
movl %eax, %ecx
andb $0x7, %cl
sarl %cl, %esi
andl $0x3f, %esi
leaq 0x5883c0(%rip), %rcx    # 0x5cf7c0
movzbl (%rsi,%rcx), %ecx
testl %ecx, %ecx
je 0x4747b
leaq 0x5882b1(%rip), %rdi    # 0x5cf6c0
movl (%rdi,%rsi,4), %ebp
addl %ecx, %eax
movl %eax, 0x57ed46(%rip)    # 0x5c6160
js 0x4750d
cmpb $0x0, 0x56ed19(%rip)    # 0x5b6140
je 0x47492
movl 0x57ed2d(%rip), %eax    # 0x5c615c
movl %eax, 0x56ed2b(%rip)    # 0x5b6160
movl 0x56eba5(%rip), %eax    # 0x5b5fe0
subl 0x56eba7(%rip), %eax    # 0x5b5fe8
movl $0xfffc, %ecx           # imm = 0xFFFC
cmpl %ecx, %eax
cmovgel %ecx, %eax
movslq %eax, %rdx
movq 0x56eb73(%rip), %rcx    # 0x5b5fc8
leaq 0x56ed08(%rip), %rdi    # 0x5b6164
movl $0x1, %esi
callq 0x6550
addl %eax, 0x56eb7c(%rip)    # 0x5b5fe8
addl $0xfff80020, 0x57ecea(%rip) # imm = 0xFFF80020
jmp 0x4750d
leaq 0x58813e(%rip), %rdi    # 0x5cf5c0
leaq 0x5881b7(%rip), %rsi    # 0x5cf640
callq 0x479b5
movl %eax, %ebp
jmp 0x4750d
movq 0x588967(%rip), %rcx    # 0x5cfe00
testq %rcx, %rcx
je 0x474c0
movq %rcx, 0x57ecc3(%rip)    # 0x5c6168
movq $0x0, 0x588950(%rip) # 0x5cfe00
movl 0x5abdfa(%rip), %ecx    # 0x5f32b0
shll $0x3, %ecx
subl %ecx, %eax
addl $0x20, %eax
jmp 0x47507
movl 0x8(%rdx), %ecx
bswapl %ecx
movl %ecx, 0x5abde5(%rip)    # 0x5f32b0
movslq %ecx, %rcx
addq %rdx, %rcx
addq $0xc, %rcx
movq %rcx, 0x588924(%rip)    # 0x5cfe00
movl (%rdx), %ecx
movl %ecx, 0x5abdd0(%rip)    # 0x5f32b4
cmpl $0x54414449, 0xc(%rdx)  # imm = 0x54414449
jne 0x474f6
movl 0x10(%rdx), %ecx
movl %ecx, 0x5abdc2(%rip)    # 0x5f32b8
leaq 0x5abdbb(%rip), %rcx    # 0x5f32b8
movq %rcx, 0x57ec64(%rip)    # 0x5c6168
addl $-0x20, %eax
movl %eax, 0x57ec53(%rip)    # 0x5c6160
movslq %ebp, %r13
movslq (%r15,%r13,8), %rax
movq 0x57ec4d(%rip), %rcx    # 0x5c6168
movl 0x57ec3f(%rip), %ebp    # 0x5c6160
movl %ebp, %edx
sarl $0x3, %edx
movslq %edx, %rdx
movl (%rcx,%rdx), %r14d
movl (%r12,%rax,4), %r12d
addl %ebp, %eax
movl %eax, 0x57ec27(%rip)    # 0x5c6160
js 0x47613
cmpb $0x0, 0x56ebfa(%rip)    # 0x5b6140
je 0x47598
movl 0x57ec0e(%rip), %eax    # 0x5c615c
movl %eax, 0x56ec0c(%rip)    # 0x5b6160
movl 0x56ea86(%rip), %eax    # 0x5b5fe0
subl 0x56ea88(%rip), %eax    # 0x5b5fe8
movl $0xfffc, %ecx           # imm = 0xFFFC
cmpl %ecx, %eax
cmovgel %ecx, %eax
movslq %eax, %rdx
movq 0x56ea54(%rip), %rcx    # 0x5b5fc8
leaq 0x56ebe9(%rip), %rdi    # 0x5b6164
movl $0x1, %esi
callq 0x6550
addl %eax, 0x56ea5d(%rip)    # 0x5b5fe8
movl $0xfff80020, %eax       # imm = 0xFFF80020
addl 0x57ebca(%rip), %eax    # 0x5c6160
jmp 0x4760d
movq 0x588861(%rip), %rdx    # 0x5cfe00
testq %rdx, %rdx
je 0x475c6
movq %rdx, 0x57ebbd(%rip)    # 0x5c6168
movq $0x0, 0x58884a(%rip) # 0x5cfe00
movl 0x5abcf4(%rip), %ecx    # 0x5f32b0
shll $0x3, %ecx
subl %ecx, %eax
addl $0x20, %eax
jmp 0x4760d
movl 0x8(%rcx), %edx
bswapl %edx
movl %edx, 0x5abcdf(%rip)    # 0x5f32b0
movslq %edx, %rdx
addq %rcx, %rdx
addq $0xc, %rdx
movq %rdx, 0x58881e(%rip)    # 0x5cfe00
movl (%rcx), %edx
movl %edx, 0x5abcca(%rip)    # 0x5f32b4
cmpl $0x54414449, 0xc(%rcx)  # imm = 0x54414449
jne 0x475fc
movl 0x10(%rcx), %ecx
movl %ecx, 0x5abcbc(%rip)    # 0x5f32b8
leaq 0x5abcb5(%rip), %rcx    # 0x5f32b8
movq %rcx, 0x57eb5e(%rip)    # 0x5c6168
addl $-0x20, %eax
movl %eax, 0x57eb4d(%rip)    # 0x5c6160
testl %ebx, %ebx
je 0x4704b
andb $0x7, %bpl
movl %ebp, %ecx
sarl %cl, %r14d
andl %r12d, %r14d
addl 0x4(%r15,%r13,8), %r14d
movl 0x56e9ee(%rip), %eax    # 0x5b6020
negl %r14d
movl $0x7fff, %ecx           # imm = 0x7FFF
leaq 0x57eb2f(%rip), %rdx    # 0x5c6170
leal (%r14,%rax), %esi
andl %ecx, %esi
movb (%rsi,%rdx), %sil
movl %eax, %edi
andl %ecx, %edi
movb %sil, (%rdi,%rdx)
incl %eax
decl %ebx
jne 0x47641
jmp 0x47045
movl %ebx, %ebp
andl $0xffff8000, %ebp       # imm = 0xFFFF8000
movl 0x56e98b(%rip), %r14d   # 0x5b5ff8
cmpl %eax, %r14d
movl %eax, %ecx
cmovgl %r14d, %ecx
movl 0x56e983(%rip), %r15d   # 0x5b6000
cmpl %ebp, %r15d
movl %ebp, %edx
cmovll %r15d, %edx
subl %ecx, %edx
jle 0x476b6
movl %eax, %esi
andl $0x7fff, %esi           # imm = 0x7FFF
leaq 0x57ead7(%rip), %r8     # 0x5c6170
addq %rsi, %r8
movslq %ecx, %rdi
addq 0x56eaa2(%rip), %rdi    # 0x5b6148
subl %eax, %ecx
movslq %ecx, %rsi
addq %r8, %rsi
movslq %edx, %rdx
callq 0x60c0
cmpl %ebp, %r14d
cmovlel %ebp, %r14d
cmpl %ebx, %r15d
cmovll %r15d, %ebx
subl %r14d, %ebx
jle 0x476eb
movslq %r14d, %rdi
addq 0x56ea75(%rip), %rdi    # 0x5b6148
subl %ebp, %r14d
movslq %r14d, %rax
leaq 0x57ea90(%rip), %rsi    # 0x5c6170
addq %rax, %rsi
movslq %ebx, %rdx
callq 0x60c0
movl $0x3, 0x56e913(%rip)    # 0x5b6008
jmp 0x45cf7
movl $0x2, 0x56e904(%rip)    # 0x5b6008
movl %r12d, 0x56e90d(%rip)   # 0x5b6018
jmp 0x45cf7