7cece3:	f7 d9                	neg    %ecx
7cece5:	0b c8                	or     %eax,%ecx
7cece7:	0f b7 84 4f 72 0d 00 	movzwl 0xd72(%edi,%ecx,2),%eax
7cecee:	00
7cecef:	b9 10 0a 00 00       	mov    $0xa10,%ecx
7cecf4:	66 3b c1             	cmp    %cx,%ax
7cecf7:	8b 4c 24 14          	mov    0x14(%esp),%ecx
7cecfb:	73 d3                	jae    0x7cecd0
7cecfd:	0f b7 d0             	movzwl %ax,%edx
7ced00:	0f b6 8c 17 d0 00 00 	movzbl 0xd0(%edi,%edx,1),%ecx
7ced07:	00
7ced08:	d3 64 24 14          	shll   %cl,0x14(%esp)
7ced0c:	2b e9                	sub    %ecx,%ebp
7ced0e:	89 6c 24 2c          	mov    %ebp,0x2c(%esp)
7ced12:	81 fa 00 01 00 00    	cmp    $0x100,%edx
7ced18:	7d 1a                	jge    0x7ced34
7ced1a:	8b 4c 24 40          	mov    0x40(%esp),%ecx
7ced1e:	8b 44 24 28          	mov    0x28(%esp),%eax
7ced22:	88 14 08             	mov    %dl,(%eax,%ecx,1)
7ced25:	b9 01 00 00 00       	mov    $0x1,%ecx
7ced2a:	8b 54 24 38          	mov    0x38(%esp),%edx
7ced2e:	4a                   	dec    %edx
7ced2f:	e9 0e 09 00 00       	jmp    0x7cf642
7ced34:	81 ea 00 01 00 00    	sub    $0x100,%edx
7ced3a:	8b ca                	mov    %edx,%ecx
7ced3c:	89 54 24 1c          	mov    %edx,0x1c(%esp)
7ced40:	83 e1 07             	and    $0x7,%ecx
7ced43:	89 4c 24 20          	mov    %ecx,0x20(%esp)
7ced47:	83 f9 07             	cmp    $0x7,%ecx
7ced4a:	0f 85 fc 00 00 00    	jne    0x7cee4c
7ced50:	80 bf ba 7a 00 00 00 	cmpb   $0x0,0x7aba(%edi)
7ced57:	0f 85 d7 11 00 00    	jne    0x7cff34
7ced5d:	83 fd 10             	cmp    $0x10,%ebp
7ced60:	7d 7e                	jge    0x7cede0
7ced62:	b8 10 00 00 00       	mov    $0x10,%eax
7ced67:	2b c5                	sub    %ebp,%eax
7ced69:	89 44 24 18          	mov    %eax,0x18(%esp)
7ced6d:	0f 1f 00             	nopl   (%eax)
7ced70:	3b f3                	cmp    %ebx,%esi
7ced72:	72 17                	jb     0x7ced8b
7ced74:	57                   	push   %edi
7ced75:	e8 f6 26 00 00       	call   0x7d1470
7ced7a:	83 c4 04             	add    $0x4,%esp
7ced7d:	85 c0                	test   %eax,%eax
7ced7f:	0f 85 6f 11 00 00    	jne    0x7cfef4
7ced85:	8b 77 60             	mov    0x60(%edi),%esi
7ced88:	8b 5f 64             	mov    0x64(%edi),%ebx
7ced8b:	8a 06                	mov    (%esi),%al
7ced8d:	46                   	inc    %esi
7ced8e:	88 44 24 13          	mov    %al,0x13(%esp)
7ced92:	3b f3                	cmp    %ebx,%esi
7ced94:	72 17                	jb     0x7cedad
7ced96:	57                   	push   %edi
7ced97:	e8 d4 26 00 00       	call   0x7d1470
7ced9c:	83 c4 04             	add    $0x4,%esp
7ced9f:	85 c0                	test   %eax,%eax
7ceda1:	0f 85 4d 11 00 00    	jne    0x7cfef4
7ceda7:	8b 77 60             	mov    0x60(%edi),%esi
7cedaa:	8b 5f 64             	mov    0x64(%edi),%ebx
7cedad:	8a 06                	mov    (%esi),%al
7cedaf:	83 c5 10             	add    $0x10,%ebp
7cedb2:	0f b6 d0             	movzbl %al,%edx
7cedb5:	46                   	inc    %esi
7cedb6:	0f b6 44 24 13       	movzbl 0x13(%esp),%eax
7cedbb:	c1 e2 08             	shl    $0x8,%edx
7cedbe:	0b d0                	or     %eax,%edx
7cedc0:	8b 44 24 18          	mov    0x18(%esp),%eax
7cedc4:	8b c8                	mov    %eax,%ecx
7cedc6:	83 e8 10             	sub    $0x10,%eax
7cedc9:	d3 e2                	shl    %cl,%edx
7cedcb:	8b 4c 24 14          	mov    0x14(%esp),%ecx
7cedcf:	0b ca                	or     %edx,%ecx
7cedd1:	89 44 24 18          	mov    %eax,0x18(%esp)
7cedd5:	89 4c 24 14          	mov    %ecx,0x14(%esp)
7cedd9:	83 fd 10             	cmp    $0x10,%ebp
7ceddc:	7c 92                	jl     0x7ced70
7cedde:	eb 04                	jmp    0x7cede4
7cede0:	8b 4c 24 14          	mov    0x14(%esp),%ecx
7cede4:	8b c1                	mov    %ecx,%eax
7cede6:	ba fa 00 00 00       	mov    $0xfa,%edx
7cedeb:	c1 e8 14             	shr    $0x14,%eax
7cedee:	0f b7 84 47 b2 55 00 	movzwl 0x55b2(%edi,%eax,2),%eax
7cedf5:	00
7cedf6:	66 3b c2             	cmp    %dx,%ax
7cedf9:	72 32                	jb     0x7cee2d
7cedfb:	ba 00 00 10 00       	mov    $0x100000,%edx
7cee00:	d1 fa                	sar    $1,%edx
7cee02:	0f 84 2c 11 00 00    	je     0x7cff34
7cee08:	23 ca                	and    %edx,%ecx
7cee0a:	0f b7 c0             	movzwl %ax,%eax
7cee0d:	f7 d9                	neg    %ecx
7cee0f:	1b c9                	sbb    %ecx,%ecx
7cee11:	03 c0                	add    %eax,%eax
7cee13:	f7 d9                	neg    %ecx
7cee15:	0b c8                	or     %eax,%ecx
7cee17:	0f b7 84 4f b2 55 00 	movzwl 0x55b2(%edi,%ecx,2),%eax
7cee1e:	00
7cee1f:	b9 fa 00 00 00       	mov    $0xfa,%ecx
7cee24:	66 3b c1             	cmp    %cx,%ax
7cee27:	8b 4c 24 14          	mov    0x14(%esp),%ecx
7cee2b:	73 d3                	jae    0x7cee00
7cee2d:	8b 54 24 1c          	mov    0x1c(%esp),%edx
7cee31:	0f b7 c0             	movzwl %ax,%eax
7cee34:	0f b6 8c 07 20 0b 00 	movzbl 0xb20(%edi,%eax,1),%ecx
7cee3b:	00
7cee3c:	d3 64 24 14          	shll   %cl,0x14(%esp)
7cee40:	2b e9                	sub    %ecx,%ebp
7cee42:	8b 4c 24 20          	mov    0x20(%esp),%ecx
7cee46:	89 6c 24 2c          	mov    %ebp,0x2c(%esp)
7cee4a:	03 c8                	add    %eax,%ecx
7cee4c:	8d 41 02             	lea    0x2(%ecx),%eax
7cee4f:	c1 fa 03             	sar    $0x3,%edx
7cee52:	89 44 24 20          	mov    %eax,0x20(%esp)
7cee56:	8b c2                	mov    %edx,%eax
7cee58:	89 54 24 1c          	mov    %edx,0x1c(%esp)
7cee5c:	83 e8 00             	sub    $0x0,%eax
7cee5f:	0f 84 8f 03 00 00    	je     0x7cf1f4
7cee65:	83 e8 01             	sub    $0x1,%eax
7cee68:	0f 84 74 03 00 00    	je     0x7cf1e2
7cee6e:	83 e8 01             	sub    $0x1,%eax
7cee71:	0f 84 59 03 00 00    	je     0x7cf1d0
7cee77:	83 fa 24             	cmp    $0x24,%edx
7cee7a:	72 07                	jb     0x7cee83
7cee7c:	ba 11 00 00 00       	mov    $0x11,%edx
7cee81:	eb 07                	jmp    0x7cee8a
7cee83:	0f b6 92 54 c4 c2 00 	movzbl 0xc2c454(%edx),%edx
7cee8a:	8b 44 24 1c          	mov    0x1c(%esp),%eax
7cee8e:	89 54 24 18          	mov    %edx,0x18(%esp)
7cee92:	8b 04 85 78 c4 c2 00 	mov    0xc2c478(,%eax,4),%eax
7cee99:	83 e8 02             	sub    $0x2,%eax
7cee9c:	89 44 24 1c          	mov    %eax,0x1c(%esp)
7ceea0:	83 fa 03             	cmp    $0x3,%edx
7ceea3:	0f 86 8f 01 00 00    	jbe    0x7cf038
7ceea9:	83 ea 03             	sub    $0x3,%edx
7ceeac:	89 54 24 18          	mov    %edx,0x18(%esp)
7ceeb0:	3b ea                	cmp    %edx,%ebp
7ceeb2:	7d 77                	jge    0x7cef2b
7ceeb4:	b8 10 00 00 00       	mov    $0x10,%eax
7ceeb9:	2b c5                	sub    %ebp,%eax
7ceebb:	89 44 24 34          	mov    %eax,0x34(%esp)
7ceebf:	90                   	nop
7ceec0:	3b f3                	cmp    %ebx,%esi
7ceec2:	72 17                	jb     0x7ceedb
7ceec4:	57                   	push   %edi
7ceec5:	e8 a6 25 00 00       	call   0x7d1470
7ceeca:	83 c4 04             	add    $0x4,%esp
7ceecd:	85 c0                	test   %eax,%eax
7ceecf:	0f 85 1f 10 00 00    	jne    0x7cfef4
7ceed5:	8b 77 60             	mov    0x60(%edi),%esi
7ceed8:	8b 5f 64             	mov    0x64(%edi),%ebx
7ceedb:	8a 06                	mov    (%esi),%al
7ceedd:	46                   	inc    %esi
7ceede:	88 44 24 13          	mov    %al,0x13(%esp)
7ceee2:	3b f3                	cmp    %ebx,%esi
7ceee4:	72 17                	jb     0x7ceefd
7ceee6:	57                   	push   %edi
7ceee7:	e8 84 25 00 00       	call   0x7d1470
7ceeec:	83 c4 04             	add    $0x4,%esp
7ceeef:	85 c0                	test   %eax,%eax
7ceef1:	0f 85 fd 0f 00 00    	jne    0x7cfef4
7ceef7:	8b 77 60             	mov    0x60(%edi),%esi
7ceefa:	8b 5f 64             	mov    0x64(%edi),%ebx
7ceefd:	8a 06                	mov    (%esi),%al
7ceeff:	83 c5 10             	add    $0x10,%ebp
7cef02:	0f b6 d0             	movzbl %al,%edx
7cef05:	46                   	inc    %esi
7cef06:	0f b6 44 24 13       	movzbl 0x13(%esp),%eax
7cef0b:	c1 e2 08             	shl    $0x8,%edx
7cef0e:	0b d0                	or     %eax,%edx
7cef10:	8b 44 24 34          	mov    0x34(%esp),%eax
7cef14:	8b c8                	mov    %eax,%ecx
7cef16:	83 e8 10             	sub    $0x10,%eax
7cef19:	d3 e2                	shl    %cl,%edx
7cef1b:	09 54 24 14          	or     %edx,0x14(%esp)
7cef1f:	8b 54 24 18          	mov    0x18(%esp),%edx
7cef23:	89 44 24 34          	mov    %eax,0x34(%esp)
7cef27:	3b ea                	cmp    %edx,%ebp
7cef29:	7c 95                	jl     0x7ceec0
7cef2b:	8b 44 24 14          	mov    0x14(%esp),%eax
7cef2f:	b9 20 00 00 00       	mov    $0x20,%ecx
7cef34:	2b ca                	sub    %edx,%ecx
7cef36:	2b ea                	sub    %edx,%ebp
7cef38:	d3 e8                	shr    %cl,%eax
7cef3a:	8b ca                	mov    %edx,%ecx
7cef3c:	d3 64 24 14          	shll   %cl,0x14(%esp)
7cef40:	8b 4c 24 1c          	mov    0x1c(%esp),%ecx
7cef44:	8d 0c c1             	lea    (%ecx,%eax,8),%ecx
7cef47:	89 4c 24 1c          	mov    %ecx,0x1c(%esp)
7cef4b:	83 fd 10             	cmp    $0x10,%ebp
7cef4e:	0f 8d 7c 00 00 00    	jge    0x7cefd0
7cef54:	b8 10 00 00 00       	mov    $0x10,%eax
7cef59:	2b c5                	sub    %ebp,%eax
7cef5b:	89 44 24 18          	mov    %eax,0x18(%esp)
7cef5f:	90                   	nop
7cef60:	3b f3                	cmp    %ebx,%esi
7cef62:	72 17                	jb     0x7cef7b
7cef64:	57                   	push   %edi
7cef65:	e8 06 25 00 00       	call   0x7d1470
7cef6a:	83 c4 04             	add    $0x4,%esp
7cef6d:	85 c0                	test   %eax,%eax
7cef6f:	0f 85 7f 0f 00 00    	jne    0x7cfef4
7cef75:	8b 77 60             	mov    0x60(%edi),%esi
7cef78:	8b 5f 64             	mov    0x64(%edi),%ebx
7cef7b:	8a 06                	mov    (%esi),%al
7cef7d:	46                   	inc    %esi
7cef7e:	88 44 24 13          	mov    %al,0x13(%esp)
7cef82:	3b f3                	cmp    %ebx,%esi
7cef84:	72 17                	jb     0x7cef9d
7cef86:	57                   	push   %edi
7cef87:	e8 e4 24 00 00       	call   0x7d1470
7cef8c:	83 c4 04             	add    $0x4,%esp
7cef8f:	85 c0                	test   %eax,%eax
7cef91:	0f 85 5d 0f 00 00    	jne    0x7cfef4
7cef97:	8b 77 60             	mov    0x60(%edi),%esi
7cef9a:	8b 5f 64             	mov    0x64(%edi),%ebx
7cef9d:	8a 06                	mov    (%esi),%al
7cef9f:	83 c5 10             	add    $0x10,%ebp
7cefa2:	0f b6 d0             	movzbl %al,%edx
7cefa5:	46                   	inc    %esi
7cefa6:	0f b6 44 24 13       	movzbl 0x13(%esp),%eax
7cefab:	c1 e2 08             	shl    $0x8,%edx
7cefae:	0b d0                	or     %eax,%edx
7cefb0:	8b 44 24 18          	mov    0x18(%esp),%eax
7cefb4:	8b c8                	mov    %eax,%ecx
7cefb6:	83 e8 10             	sub    $0x10,%eax
7cefb9:	d3 e2                	shl    %cl,%edx
7cefbb:	8b 4c 24 14          	mov    0x14(%esp),%ecx
7cefbf:	0b ca                	or     %edx,%ecx
7cefc1:	89 44 24 18          	mov    %eax,0x18(%esp)
7cefc5:	89 4c 24 14          	mov    %ecx,0x14(%esp)
7cefc9:	83 fd 10             	cmp    $0x10,%ebp
7cefcc:	7c 92                	jl     0x7cef60
7cefce:	eb 04                	jmp    0x7cefd4
7cefd0:	8b 4c 24 14          	mov    0x14(%esp),%ecx
7cefd4:	8b c1                	mov    %ecx,%eax
7cefd6:	c1 e8 19             	shr    $0x19,%eax
7cefd9:	0f b7 84 47 9a 79 00 	movzwl 0x799a(%edi,%eax,2),%eax
7cefe0:	00
7cefe1:	83 f8 08             	cmp    $0x8,%eax
7cefe4:	72 32                	jb     0x7cf018
7cefe6:	ba 00 00 00 02       	mov    $0x2000000,%edx
7cefeb:	0f 1f 44 00 00       	nopl   0x0(%eax,%eax,1)
7ceff0:	d1 fa                	sar    $1,%edx
7ceff2:	0f 84 3c 0f 00 00    	je     0x7cff34
7ceff8:	23 ca                	and    %edx,%ecx
7ceffa:	0f b7 c0             	movzwl %ax,%eax
7ceffd:	f7 d9                	neg    %ecx
7cefff:	1b c9                	sbb    %ecx,%ecx
7cf001:	03 c0                	add    %eax,%eax
7cf003:	f7 d9                	neg    %ecx
7cf005:	0b c8                	or     %eax,%ecx
7cf007:	0f b7 84 4f 9a 79 00 	movzwl 0x799a(%edi,%ecx,2),%eax
7cf00e:	00
7cf00f:	8b 4c 24 14          	mov    0x14(%esp),%ecx
7cf013:	83 f8 08             	cmp    $0x8,%eax
7cf016:	73 d8                	jae    0x7ceff0
7cf018:	0f b7 c0             	movzwl %ax,%eax
7cf01b:	0f b6 8c 07 5a 0c 00 	movzbl 0xc5a(%edi,%eax,1),%ecx
7cf022:	00
7cf023:	d3 64 24 14          	shll   %cl,0x14(%esp)
7cf027:	2b e9                	sub    %ecx,%ebp
7cf029:	8b 4c 24 1c          	mov    0x1c(%esp),%ecx
7cf02d:	89 6c 24 2c          	mov    %ebp,0x2c(%esp)
7cf031:	03 c8                	add    %eax,%ecx
7cf033:	e9 7e 01 00 00       	jmp    0x7cf1b6
7cf038:	0f 85 d0 00 00 00    	jne    0x7cf10e
7cf03e:	83 fd 10             	cmp    $0x10,%ebp
7cf041:	0f 8d 7b 00 00 00    	jge    0x7cf0c2
7cf047:	b8 10 00 00 00       	mov    $0x10,%eax
7cf04c:	2b c5                	sub    %ebp,%eax
7cf04e:	89 44 24 18          	mov    %eax,0x18(%esp)
7cf052:	3b f3                	cmp    %ebx,%esi
7cf054:	72 17                	jb     0x7cf06d
7cf056:	57                   	push   %edi
7cf057:	e8 14 24 00 00       	call   0x7d1470
7cf05c:	83 c4 04             	add    $0x4,%esp
7cf05f:	85 c0                	test   %eax,%eax
7cf061:	0f 85 8d 0e 00 00    	jne    0x7cfef4
7cf067:	8b 77 60             	mov    0x60(%edi),%esi
7cf06a:	8b 5f 64             	mov    0x64(%edi),%ebx
7cf06d:	8a 06                	mov    (%esi),%al
7cf06f:	46                   	inc    %esi
7cf070:	88 44 24 13          	mov    %al,0x13(%esp)
7cf074:	3b f3                	cmp    %ebx,%esi
7cf076:	72 17                	jb     0x7cf08f
7cf078:	57                   	push   %edi
7cf079:	e8 f2 23 00 00       	call   0x7d1470
7cf07e:	83 c4 04             	add    $0x4,%esp
7cf081:	85 c0                	test   %eax,%eax
7cf083:	0f 85 6b 0e 00 00    	jne    0x7cfef4
7cf089:	8b 77 60             	mov    0x60(%edi),%esi
7cf08c:	8b 5f 64             	mov    0x64(%edi),%ebx
7cf08f:	8a 06                	mov    (%esi),%al
7cf091:	83 c5 10             	add    $0x10,%ebp
7cf094:	0f b6 d0             	movzbl %al,%edx
7cf097:	46                   	inc    %esi
7cf098:	0f b6 44 24 13       	movzbl 0x13(%esp),%eax
7cf09d:	c1 e2 08             	shl    $0x8,%edx
7cf0a0:	0b d0                	or     %eax,%edx
7cf0a2:	8b 44 24 18          	mov    0x18(%esp),%eax
7cf0a6:	8b c8                	mov    %eax,%ecx
7cf0a8:	83 e8 10             	sub    $0x10,%eax
7cf0ab:	d3 e2                	shl    %cl,%edx
7cf0ad:	8b 4c 24 14          	mov    0x14(%esp),%ecx
7cf0b1:	0b ca                	or     %edx,%ecx
7cf0b3:	89 44 24 18          	mov    %eax,0x18(%esp)
7cf0b7:	89 4c 24 14          	mov    %ecx,0x14(%esp)
7cf0bb:	83 fd 10             	cmp    $0x10,%ebp
7cf0be:	7c 92                	jl     0x7cf052
7cf0c0:	eb 04                	jmp    0x7cf0c6
7cf0c2:	8b 4c 24 14          	mov    0x14(%esp),%ecx
7cf0c6:	8b c1                	mov    %ecx,%eax
7cf0c8:	c1 e8 19             	shr    $0x19,%eax
7cf0cb:	0f b7 84 47 9a 79 00 	movzwl 0x799a(%edi,%eax,2),%eax
7cf0d2:	00
7cf0d3:	83 f8 08             	cmp    $0x8,%eax
7cf0d6:	0f 82 3c ff ff ff    	jb     0x7cf018
7cf0dc:	ba 00 00 00 02       	mov    $0x2000000,%edx
7cf0e1:	d1 fa                	sar    $1,%edx
7cf0e3:	0f 84 4b 0e 00 00    	je     0x7cff34
7cf0e9:	23 ca                	and    %edx,%ecx
7cf0eb:	0f b7 c0             	movzwl %ax,%eax
7cf0ee:	f7 d9                	neg    %ecx
7cf0f0:	1b c9                	sbb    %ecx,%ecx
7cf0f2:	03 c0                	add    %eax,%eax
7cf0f4:	f7 d9                	neg    %ecx
7cf0f6:	0b c8                	or     %eax,%ecx
7cf0f8:	0f b7 84 4f 9a 79 00 	movzwl 0x799a(%edi,%ecx,2),%eax
7cf0ff:	00
7cf100:	8b 4c 24 14          	mov    0x14(%esp),%ecx
7cf104:	83 f8 08             	cmp    $0x8,%eax
7cf107:	73 d8                	jae    0x7cf0e1
7cf109:	e9 0a ff ff ff       	jmp    0x7cf018
7cf10e:	85 d2                	test   %edx,%edx
7cf110:	0f 84 9b 00 00 00    	je     0x7cf1b1
7cf116:	3b ea                	cmp    %edx,%ebp
7cf118:	7d 76                	jge    0x7cf190
7cf11a:	b8 10 00 00 00       	mov    $0x10,%eax
7cf11f:	2b c5                	sub    %ebp,%eax
7cf121:	89 44 24 34          	mov    %eax,0x34(%esp)
7cf125:	3b f3                	cmp    %ebx,%esi
7cf127:	72 17                	jb     0x7cf140
7cf129:	57                   	push   %edi
7cf12a:	e8 41 23 00 00       	call   0x7d1470
7cf12f:	83 c4 04             	add    $0x4,%esp
7cf132:	85 c0                	test   %eax,%eax
7cf134:	0f 85 ba 0d 00 00    	jne    0x7cfef4
7cf13a:	8b 77 60             	mov    0x60(%edi),%esi
7cf13d:	8b 5f 64             	mov    0x64(%edi),%ebx
7cf140:	8a 06                	mov    (%esi),%al