7cfa1f:	85 c0                	test   %eax,%eax
7cfa21:	0f 85 cd 04 00 00    	jne    0x7cfef4
7cfa27:	8b 77 60             	mov    0x60(%edi),%esi
7cfa2a:	8b 5f 64             	mov    0x64(%edi),%ebx
7cfa2d:	8a 06                	mov    (%esi),%al
7cfa2f:	83 c5 10             	add    $0x10,%ebp
7cfa32:	0f b6 d0             	movzbl %al,%edx
7cfa35:	46                   	inc    %esi
7cfa36:	0f b6 44 24 13       	movzbl 0x13(%esp),%eax
7cfa3b:	c1 e2 08             	shl    $0x8,%edx
7cfa3e:	0b d0                	or     %eax,%edx
7cfa40:	8b 44 24 18          	mov    0x18(%esp),%eax
7cfa44:	8b c8                	mov    %eax,%ecx
7cfa46:	83 e8 10             	sub    $0x10,%eax
7cfa49:	d3 e2                	shl    %cl,%edx
7cfa4b:	8b 4c 24 14          	mov    0x14(%esp),%ecx
7cfa4f:	0b ca                	or     %edx,%ecx
7cfa51:	89 44 24 18          	mov    %eax,0x18(%esp)
7cfa55:	89 4c 24 14          	mov    %ecx,0x14(%esp)
7cfa59:	83 fd 03             	cmp    $0x3,%ebp
7cfa5c:	7c 92                	jl     0x7cf9f0
7cfa5e:	eb 04                	jmp    0x7cfa64
7cfa60:	8b 4c 24 14          	mov    0x14(%esp),%ecx
7cfa64:	81 f9 00 00 00 80    	cmp    $0x80000000,%ecx
7cfa6a:	0f 83 9e 00 00 00    	jae    0x7cfb0e
7cfa70:	03 c9                	add    %ecx,%ecx
7cfa72:	4d                   	dec    %ebp
7cfa73:	89 4c 24 14          	mov    %ecx,0x14(%esp)
7cfa77:	83 fd 08             	cmp    $0x8,%ebp
7cfa7a:	0f 8d 7e 00 00 00    	jge    0x7cfafe
7cfa80:	b8 10 00 00 00       	mov    $0x10,%eax
7cfa85:	2b c5                	sub    %ebp,%eax
7cfa87:	89 44 24 18          	mov    %eax,0x18(%esp)
7cfa8b:	0f 1f 44 00 00       	nopl   0x0(%eax,%eax,1)
7cfa90:	3b f3                	cmp    %ebx,%esi
7cfa92:	72 17                	jb     0x7cfaab
7cfa94:	57                   	push   %edi
7cfa95:	e8 d6 19 00 00       	call   0x7d1470
7cfa9a:	83 c4 04             	add    $0x4,%esp
7cfa9d:	85 c0                	test   %eax,%eax
7cfa9f:	0f 85 4f 04 00 00    	jne    0x7cfef4
7cfaa5:	8b 77 60             	mov    0x60(%edi),%esi
7cfaa8:	8b 5f 64             	mov    0x64(%edi),%ebx
7cfaab:	8a 06                	mov    (%esi),%al
7cfaad:	46                   	inc    %esi
7cfaae:	88 44 24 13          	mov    %al,0x13(%esp)
7cfab2:	3b f3                	cmp    %ebx,%esi
7cfab4:	72 17                	jb     0x7cfacd
7cfab6:	57                   	push   %edi
7cfab7:	e8 b4 19 00 00       	call   0x7d1470
7cfabc:	83 c4 04             	add    $0x4,%esp
7cfabf:	85 c0                	test   %eax,%eax
7cfac1:	0f 85 2d 04 00 00    	jne    0x7cfef4
7cfac7:	8b 77 60             	mov    0x60(%edi),%esi
7cfaca:	8b 5f 64             	mov    0x64(%edi),%ebx
7cfacd:	8a 06                	mov    (%esi),%al
7cfacf:	83 c5 10             	add    $0x10,%ebp
7cfad2:	0f b6 d0             	movzbl %al,%edx
7cfad5:	46                   	inc    %esi
7cfad6:	0f b6 44 24 13       	movzbl 0x13(%esp),%eax
7cfadb:	c1 e2 08             	shl    $0x8,%edx
7cfade:	0b d0                	or     %eax,%edx
7cfae0:	8b 44 24 18          	mov    0x18(%esp),%eax
7cfae4:	8b c8                	mov    %eax,%ecx
7cfae6:	83 e8 10             	sub    $0x10,%eax
7cfae9:	d3 e2                	shl    %cl,%edx
7cfaeb:	8b 4c 24 14          	mov    0x14(%esp),%ecx
7cfaef:	0b ca                	or     %edx,%ecx
7cfaf1:	89 44 24 18          	mov    %eax,0x18(%esp)
7cfaf5:	89 4c 24 14          	mov    %ecx,0x14(%esp)
7cfaf9:	83 fd 08             	cmp    $0x8,%ebp
7cfafc:	7c 92                	jl     0x7cfa90
7cfafe:	8b c1                	mov    %ecx,%eax
7cfb00:	c1 e1 08             	shl    $0x8,%ecx
7cfb03:	c1 e8 18             	shr    $0x18,%eax
7cfb06:	83 ed 08             	sub    $0x8,%ebp
7cfb09:	e9 ee 01 00 00       	jmp    0x7cfcfc
7cfb0e:	8b c1                	mov    %ecx,%eax
7cfb10:	25 00 00 00 c0       	and    $0xc0000000,%eax
7cfb15:	3d 00 00 00 80       	cmp    $0x80000000,%eax
7cfb1a:	0f 85 a3 00 00 00    	jne    0x7cfbc3
7cfb20:	c1 e1 02             	shl    $0x2,%ecx
7cfb23:	83 ed 02             	sub    $0x2,%ebp
7cfb26:	89 4c 24 14          	mov    %ecx,0x14(%esp)
7cfb2a:	83 fd 0a             	cmp    $0xa,%ebp
7cfb2d:	7d 7f                	jge    0x7cfbae
7cfb2f:	b8 10 00 00 00       	mov    $0x10,%eax
7cfb34:	2b c5                	sub    %ebp,%eax
7cfb36:	89 44 24 18          	mov    %eax,0x18(%esp)
7cfb3a:	66 0f 1f 44 00 00    	nopw   0x0(%eax,%eax,1)
7cfb40:	3b f3                	cmp    %ebx,%esi
7cfb42:	72 17                	jb     0x7cfb5b
7cfb44:	57                   	push   %edi
7cfb45:	e8 26 19 00 00       	call   0x7d1470
7cfb4a:	83 c4 04             	add    $0x4,%esp
7cfb4d:	85 c0                	test   %eax,%eax
7cfb4f:	0f 85 9f 03 00 00    	jne    0x7cfef4
7cfb55:	8b 77 60             	mov    0x60(%edi),%esi
7cfb58:	8b 5f 64             	mov    0x64(%edi),%ebx
7cfb5b:	8a 06                	mov    (%esi),%al
7cfb5d:	46                   	inc    %esi
7cfb5e:	88 44 24 13          	mov    %al,0x13(%esp)
7cfb62:	3b f3                	cmp    %ebx,%esi
7cfb64:	72 17                	jb     0x7cfb7d
7cfb66:	57                   	push   %edi
7cfb67:	e8 04 19 00 00       	call   0x7d1470
7cfb6c:	83 c4 04             	add    $0x4,%esp
7cfb6f:	85 c0                	test   %eax,%eax
7cfb71:	0f 85 7d 03 00 00    	jne    0x7cfef4
7cfb77:	8b 77 60             	mov    0x60(%edi),%esi
7cfb7a:	8b 5f 64             	mov    0x64(%edi),%ebx
7cfb7d:	8a 06                	mov    (%esi),%al
7cfb7f:	83 c5 10             	add    $0x10,%ebp
7cfb82:	0f b6 d0             	movzbl %al,%edx
7cfb85:	46                   	inc    %esi
7cfb86:	0f b6 44 24 13       	movzbl 0x13(%esp),%eax
7cfb8b:	c1 e2 08             	shl    $0x8,%edx
7cfb8e:	0b d0                	or     %eax,%edx
7cfb90:	8b 44 24 18          	mov    0x18(%esp),%eax
7cfb94:	8b c8                	mov    %eax,%ecx
7cfb96:	83 e8 10             	sub    $0x10,%eax
7cfb99:	d3 e2                	shl    %cl,%edx
7cfb9b:	8b 4c 24 14          	mov    0x14(%esp),%ecx
7cfb9f:	0b ca                	or     %edx,%ecx
7cfba1:	89 44 24 18          	mov    %eax,0x18(%esp)
7cfba5:	89 4c 24 14          	mov    %ecx,0x14(%esp)
7cfba9:	83 fd 0a             	cmp    $0xa,%ebp
7cfbac:	7c 92                	jl     0x7cfb40
7cfbae:	8b c1                	mov    %ecx,%eax
7cfbb0:	83 ed 0a             	sub    $0xa,%ebp
7cfbb3:	c1 e8 16             	shr    $0x16,%eax
7cfbb6:	c1 e1 0a             	shl    $0xa,%ecx
7cfbb9:	05 00 01 00 00       	add    $0x100,%eax
7cfbbe:	e9 39 01 00 00       	jmp    0x7cfcfc
7cfbc3:	8b c1                	mov    %ecx,%eax
7cfbc5:	83 ed 03             	sub    $0x3,%ebp
7cfbc8:	25 00 00 00 e0       	and    $0xe0000000,%eax
7cfbcd:	c1 e1 03             	shl    $0x3,%ecx
7cfbd0:	89 4c 24 14          	mov    %ecx,0x14(%esp)
7cfbd4:	3d 00 00 00 c0       	cmp    $0xc0000000,%eax
7cfbd9:	0f 85 94 00 00 00    	jne    0x7cfc73
7cfbdf:	83 fd 0c             	cmp    $0xc,%ebp
7cfbe2:	7d 7a                	jge    0x7cfc5e
7cfbe4:	b8 10 00 00 00       	mov    $0x10,%eax
7cfbe9:	2b c5                	sub    %ebp,%eax
7cfbeb:	89 44 24 18          	mov    %eax,0x18(%esp)
7cfbef:	90                   	nop
7cfbf0:	3b f3                	cmp    %ebx,%esi
7cfbf2:	72 17                	jb     0x7cfc0b
7cfbf4:	57                   	push   %edi
7cfbf5:	e8 76 18 00 00       	call   0x7d1470
7cfbfa:	83 c4 04             	add    $0x4,%esp
7cfbfd:	85 c0                	test   %eax,%eax
7cfbff:	0f 85 ef 02 00 00    	jne    0x7cfef4
7cfc05:	8b 77 60             	mov    0x60(%edi),%esi
7cfc08:	8b 5f 64             	mov    0x64(%edi),%ebx
7cfc0b:	8a 06                	mov    (%esi),%al
7cfc0d:	46                   	inc    %esi
7cfc0e:	88 44 24 13          	mov    %al,0x13(%esp)
7cfc12:	3b f3                	cmp    %ebx,%esi
7cfc14:	72 17                	jb     0x7cfc2d
7cfc16:	57                   	push   %edi
7cfc17:	e8 54 18 00 00       	call   0x7d1470
7cfc1c:	83 c4 04             	add    $0x4,%esp
7cfc1f:	85 c0                	test   %eax,%eax
7cfc21:	0f 85 cd 02 00 00    	jne    0x7cfef4
7cfc27:	8b 77 60             	mov    0x60(%edi),%esi
7cfc2a:	8b 5f 64             	mov    0x64(%edi),%ebx
7cfc2d:	8a 06                	mov    (%esi),%al
7cfc2f:	83 c5 10             	add    $0x10,%ebp
7cfc32:	0f b6 d0             	movzbl %al,%edx
7cfc35:	46                   	inc    %esi
7cfc36:	0f b6 44 24 13       	movzbl 0x13(%esp),%eax
7cfc3b:	c1 e2 08             	shl    $0x8,%edx
7cfc3e:	0b d0                	or     %eax,%edx
7cfc40:	8b 44 24 18          	mov    0x18(%esp),%eax
7cfc44:	8b c8                	mov    %eax,%ecx
7cfc46:	83 e8 10             	sub    $0x10,%eax
7cfc49:	d3 e2                	shl    %cl,%edx
7cfc4b:	8b 4c 24 14          	mov    0x14(%esp),%ecx
7cfc4f:	0b ca                	or     %edx,%ecx
7cfc51:	89 44 24 18          	mov    %eax,0x18(%esp)
7cfc55:	89 4c 24 14          	mov    %ecx,0x14(%esp)
7cfc59:	83 fd 0c             	cmp    $0xc,%ebp
7cfc5c:	7c 92                	jl     0x7cfbf0
7cfc5e:	8b c1                	mov    %ecx,%eax
7cfc60:	83 ed 0c             	sub    $0xc,%ebp
7cfc63:	c1 e8 14             	shr    $0x14,%eax
7cfc66:	c1 e1 0c             	shl    $0xc,%ecx
7cfc69:	05 00 05 00 00       	add    $0x500,%eax
7cfc6e:	e9 89 00 00 00       	jmp    0x7cfcfc
7cfc73:	83 fd 0f             	cmp    $0xf,%ebp
7cfc76:	7d 79                	jge    0x7cfcf1
7cfc78:	b8 10 00 00 00       	mov    $0x10,%eax
7cfc7d:	2b c5                	sub    %ebp,%eax
7cfc7f:	89 44 24 18          	mov    %eax,0x18(%esp)
7cfc83:	3b f3                	cmp    %ebx,%esi
7cfc85:	72 17                	jb     0x7cfc9e
7cfc87:	57                   	push   %edi
7cfc88:	e8 e3 17 00 00       	call   0x7d1470
7cfc8d:	83 c4 04             	add    $0x4,%esp
7cfc90:	85 c0                	test   %eax,%eax
7cfc92:	0f 85 5c 02 00 00    	jne    0x7cfef4
7cfc98:	8b 77 60             	mov    0x60(%edi),%esi
7cfc9b:	8b 5f 64             	mov    0x64(%edi),%ebx
7cfc9e:	8a 06                	mov    (%esi),%al
7cfca0:	46                   	inc    %esi
7cfca1:	88 44 24 13          	mov    %al,0x13(%esp)
7cfca5:	3b f3                	cmp    %ebx,%esi
7cfca7:	72 17                	jb     0x7cfcc0
7cfca9:	57                   	push   %edi
7cfcaa:	e8 c1 17 00 00       	call   0x7d1470
7cfcaf:	83 c4 04             	add    $0x4,%esp
7cfcb2:	85 c0                	test   %eax,%eax
7cfcb4:	0f 85 3a 02 00 00    	jne    0x7cfef4
7cfcba:	8b 77 60             	mov    0x60(%edi),%esi
7cfcbd:	8b 5f 64             	mov    0x64(%edi),%ebx
7cfcc0:	8a 06                	mov    (%esi),%al
7cfcc2:	83 c5 10             	add    $0x10,%ebp
7cfcc5:	0f b6 d0             	movzbl %al,%edx
7cfcc8:	46                   	inc    %esi
7cfcc9:	0f b6 44 24 13       	movzbl 0x13(%esp),%eax
7cfcce:	c1 e2 08             	shl    $0x8,%edx
7cfcd1:	0b d0                	or     %eax,%edx
7cfcd3:	8b 44 24 18          	mov    0x18(%esp),%eax
7cfcd7:	8b c8                	mov    %eax,%ecx
7cfcd9:	83 e8 10             	sub    $0x10,%eax
7cfcdc:	d3 e2                	shl    %cl,%edx
7cfcde:	8b 4c 24 14          	mov    0x14(%esp),%ecx
7cfce2:	0b ca                	or     %edx,%ecx
7cfce4:	89 44 24 18          	mov    %eax,0x18(%esp)
7cfce8:	89 4c 24 14          	mov    %ecx,0x14(%esp)
7cfcec:	83 fd 0f             	cmp    $0xf,%ebp
7cfcef:	7c 92                	jl     0x7cfc83
7cfcf1:	8b c1                	mov    %ecx,%eax
7cfcf3:	c1 e1 0f             	shl    $0xf,%ecx
7cfcf6:	c1 e8 11             	shr    $0x11,%eax
7cfcf9:	83 ed 0f             	sub    $0xf,%ebp
7cfcfc:	89 4c 24 14          	mov    %ecx,0x14(%esp)
7cfd00:	8b 4c 24 20          	mov    0x20(%esp),%ecx
7cfd04:	03 c8                	add    %eax,%ecx
7cfd06:	89 6c 24 2c          	mov    %ebp,0x2c(%esp)
7cfd0a:	89 4c 24 20          	mov    %ecx,0x20(%esp)
7cfd0e:	8b 44 24 28          	mov    0x28(%esp),%eax
7cfd12:	8b 57 18             	mov    0x18(%edi),%edx
7cfd15:	03 c1                	add    %ecx,%eax
7cfd17:	3b c2                	cmp    %edx,%eax
7cfd19:	0f 87 15 02 00 00    	ja     0x7cff34
7cfd1f:	8b 44 24 20          	mov    0x20(%esp),%eax
7cfd23:	8b 4c 24 40          	mov    0x40(%esp),%ecx
7cfd27:	03 4c 24 28          	add    0x28(%esp),%ecx
7cfd2b:	89 44 24 18          	mov    %eax,0x18(%esp)
7cfd2f:	8b 44 24 1c          	mov    0x1c(%esp),%eax
7cfd33:	3b 44 24 28          	cmp    0x28(%esp),%eax
7cfd37:	76 7b                	jbe    0x7cfdb4
7cfd39:	3b 47 0c             	cmp    0xc(%edi),%eax
7cfd3c:	76 11                	jbe    0x7cfd4f
7cfd3e:	2b 44 24 28          	sub    0x28(%esp),%eax
7cfd42:	3b 47 1c             	cmp    0x1c(%edi),%eax
7cfd45:	0f 87 e9 01 00 00    	ja     0x7cff34
7cfd4b:	8b 44 24 1c          	mov    0x1c(%esp),%eax
7cfd4f:	2b 44 24 28          	sub    0x28(%esp),%eax
7cfd53:	89 44 24 1c          	mov    %eax,0x1c(%esp)
7cfd57:	3b c2                	cmp    %edx,%eax
7cfd59:	0f 8f d5 01 00 00    	jg     0x7cff34
7cfd5f:	2b d0                	sub    %eax,%edx
7cfd61:	03 54 24 40          	add    0x40(%esp),%edx
7cfd65:	3b 44 24 20          	cmp    0x20(%esp),%eax
7cfd69:	7d 2c                	jge    0x7cfd97
7cfd6b:	8b 44 24 20          	mov    0x20(%esp),%eax
7cfd6f:	2b 44 24 1c          	sub    0x1c(%esp),%eax
7cfd73:	83 7c 24 1c 00       	cmpl   $0x0,0x1c(%esp)
7cfd78:	89 44 24 18          	mov    %eax,0x18(%esp)
7cfd7c:	7e 15                	jle    0x7cfd93
7cfd7e:	8b 7c 24 1c          	mov    0x1c(%esp),%edi
7cfd82:	8a 02                	mov    (%edx),%al
7cfd84:	8d 52 01             	lea    0x1(%edx),%edx
7cfd87:	4f                   	dec    %edi
7cfd88:	88 01                	mov    %al,(%ecx)
7cfd8a:	41                   	inc    %ecx
7cfd8b:	85 ff                	test   %edi,%edi
7cfd8d:	7f f3                	jg     0x7cfd82
7cfd8f:	8b 7c 24 48          	mov    0x48(%esp),%edi
7cfd93:	8b 54 24 40          	mov    0x40(%esp),%edx
7cfd97:	83 7c 24 18 00       	cmpl   $0x0,0x18(%esp)
7cfd9c:	7e 39                	jle    0x7cfdd7
7cfd9e:	8b 7c 24 18          	mov    0x18(%esp),%edi
7cfda2:	8a 02                	mov    (%edx),%al
7cfda4:	8d 49 01             	lea    0x1(%ecx),%ecx
7cfda7:	4f                   	dec    %edi
7cfda8:	88 41 ff             	mov    %al,-0x1(%ecx)
7cfdab:	8d 52 01             	lea    0x1(%edx),%edx
7cfdae:	85 ff                	test   %edi,%edi
7cfdb0:	7f f0                	jg     0x7cfda2
7cfdb2:	eb 1f                	jmp    0x7cfdd3
7cfdb4:	8b d1                	mov    %ecx,%edx
7cfdb6:	2b d0                	sub    %eax,%edx
7cfdb8:	83 7c 24 20 00       	cmpl   $0x0,0x20(%esp)
7cfdbd:	7e 18                	jle    0x7cfdd7
7cfdbf:	8b 7c 24 18          	mov    0x18(%esp),%edi
7cfdc3:	8a 02                	mov    (%edx),%al
7cfdc5:	8d 49 01             	lea    0x1(%ecx),%ecx
7cfdc8:	4f                   	dec    %edi
7cfdc9:	88 41 ff             	mov    %al,-0x1(%ecx)
7cfdcc:	8d 52 01             	lea    0x1(%edx),%edx
7cfdcf:	85 ff                	test   %edi,%edi
7cfdd1:	7f f0                	jg     0x7cfdc3
7cfdd3:	8b 7c 24 48          	mov    0x48(%esp),%edi
7cfdd7:	8b 54 24 38          	mov    0x38(%esp),%edx
7cfddb:	8b 4c 24 20          	mov    0x20(%esp),%ecx
7cfddf:	2b d1                	sub    %ecx,%edx
7cfde1:	01 4c 24 28          	add    %ecx,0x28(%esp)
7cfde5:	89 54 24 38          	mov    %edx,0x38(%esp)
7cfde9:	85 d2                	test   %edx,%edx
7cfdeb:	0f 8f 70 f8 ff ff    	jg     0x7cf661
7cfdf1:	e9 ba ec ff ff       	jmp    0x7ceab0
7cfdf6:	0f b6 4a 03          	movzbl 0x3(%edx),%ecx
7cfdfa:	0f b6 42 02          	movzbl 0x2(%edx),%eax
7cfdfe:	c1 e1 08             	shl    $0x8,%ecx
7cfe01:	0b c8                	or     %eax,%ecx
7cfe03:	0f b6 42 01          	movzbl 0x1(%edx),%eax
7cfe07:	c1 e1 08             	shl    $0x8,%ecx
7cfe0a:	0b c8                	or     %eax,%ecx
7cfe0c:	0f b6 02             	movzbl (%edx),%eax
7cfe0f:	c1 e1 08             	shl    $0x8,%ecx
7cfe12:	0b c8                	or     %eax,%ecx
7cfe14:	8b 44 24 24          	mov    0x24(%esp),%eax
7cfe18:	f7 d8                	neg    %eax
7cfe1a:	3b c8                	cmp    %eax,%ecx
7cfe1c:	7c 28                	jl     0x7cfe46
7cfe1e:	3b cf                	cmp    %edi,%ecx
7cfe20:	7d 24                	jge    0x7cfe46
7cfe22:	85 c9                	test   %ecx,%ecx
7cfe24:	78 06                	js     0x7cfe2c
7cfe26:	2b 4c 24 24          	sub    0x24(%esp),%ecx
7cfe2a:	eb 02                	jmp    0x7cfe2e
7cfe2c:	03 cf                	add    %edi,%ecx
7cfe2e:	8b c1                	mov    %ecx,%eax
7cfe30:	88 0a                	mov    %cl,(%edx)
7cfe32:	c1 f8 08             	sar    $0x8,%eax
7cfe35:	88 42 01             	mov    %al,0x1(%edx)
7cfe38:	8b c1                	mov    %ecx,%eax
7cfe3a:	c1 f8 10             	sar    $0x10,%eax
7cfe3d:	c1 f9 18             	sar    $0x18,%ecx
7cfe40:	88 42 02             	mov    %al,0x2(%edx)
7cfe43:	88 4a 03             	mov    %cl,0x3(%edx)
7cfe46:	8b 4c 24 24          	mov    0x24(%esp),%ecx
7cfe4a:	83 c2 04             	add    $0x4,%edx
7cfe4d:	b8 05 00 00 00       	mov    $0x5,%eax
7cfe52:	03 c8                	add    %eax,%ecx