7cf7d0:	83 c4 04             	add    $0x4,%esp
7cf7d3:	85 c0                	test   %eax,%eax
7cf7d5:	0f 85 19 07 00 00    	jne    0x7cfef4
7cf7db:	8b 77 60             	mov    0x60(%edi),%esi
7cf7de:	8b 5f 64             	mov    0x64(%edi),%ebx
7cf7e1:	8a 06                	mov    (%esi),%al
7cf7e3:	83 c5 10             	add    $0x10,%ebp
7cf7e6:	0f b6 d0             	movzbl %al,%edx
7cf7e9:	46                   	inc    %esi
7cf7ea:	0f b6 44 24 13       	movzbl 0x13(%esp),%eax
7cf7ef:	c1 e2 08             	shl    $0x8,%edx
7cf7f2:	0b d0                	or     %eax,%edx
7cf7f4:	8b 44 24 20          	mov    0x20(%esp),%eax
7cf7f8:	8b c8                	mov    %eax,%ecx
7cf7fa:	83 e8 10             	sub    $0x10,%eax
7cf7fd:	d3 e2                	shl    %cl,%edx
7cf7ff:	8b 4c 24 14          	mov    0x14(%esp),%ecx
7cf803:	0b ca                	or     %edx,%ecx
7cf805:	89 44 24 20          	mov    %eax,0x20(%esp)
7cf809:	89 4c 24 14          	mov    %ecx,0x14(%esp)
7cf80d:	83 fd 10             	cmp    $0x10,%ebp
7cf810:	7c 92                	jl     0x7cf7a4
7cf812:	eb 04                	jmp    0x7cf818
7cf814:	8b 4c 24 14          	mov    0x14(%esp),%ecx
7cf818:	8b c1                	mov    %ecx,%eax
7cf81a:	ba fa 00 00 00       	mov    $0xfa,%edx
7cf81f:	c1 e8 14             	shr    $0x14,%eax
7cf822:	0f b7 84 47 b2 55 00 	movzwl 0x55b2(%edi,%eax,2),%eax
7cf829:	00
7cf82a:	66 3b c2             	cmp    %dx,%ax
7cf82d:	72 32                	jb     0x7cf861
7cf82f:	ba 00 00 10 00       	mov    $0x100000,%edx
7cf834:	d1 fa                	sar    $1,%edx
7cf836:	0f 84 f8 06 00 00    	je     0x7cff34
7cf83c:	23 ca                	and    %edx,%ecx
7cf83e:	0f b7 c0             	movzwl %ax,%eax
7cf841:	f7 d9                	neg    %ecx
7cf843:	1b c9                	sbb    %ecx,%ecx
7cf845:	03 c0                	add    %eax,%eax
7cf847:	f7 d9                	neg    %ecx
7cf849:	0b c8                	or     %eax,%ecx
7cf84b:	0f b7 84 4f b2 55 00 	movzwl 0x55b2(%edi,%ecx,2),%eax
7cf852:	00
7cf853:	b9 fa 00 00 00       	mov    $0xfa,%ecx
7cf858:	66 3b c1             	cmp    %cx,%ax
7cf85b:	8b 4c 24 14          	mov    0x14(%esp),%ecx
7cf85f:	73 d3                	jae    0x7cf834
7cf861:	0f b7 c0             	movzwl %ax,%eax
7cf864:	0f b6 8c 07 20 0b 00 	movzbl 0xb20(%edi,%eax,1),%ecx
7cf86b:	00
7cf86c:	d3 64 24 14          	shll   %cl,0x14(%esp)
7cf870:	2b e9                	sub    %ecx,%ebp
7cf872:	8b 4c 24 44          	mov    0x44(%esp),%ecx
7cf876:	03 c8                	add    %eax,%ecx
7cf878:	89 6c 24 2c          	mov    %ebp,0x2c(%esp)
7cf87c:	8b 44 24 18          	mov    0x18(%esp),%eax
7cf880:	c1 f8 03             	sar    $0x3,%eax
7cf883:	83 c1 02             	add    $0x2,%ecx
7cf886:	89 4c 24 20          	mov    %ecx,0x20(%esp)
7cf88a:	89 44 24 18          	mov    %eax,0x18(%esp)
7cf88e:	83 f8 03             	cmp    $0x3,%eax
7cf891:	77 4f                	ja     0x7cf8e2
7cf893:	ff 24 85 a4 ff 7c 00 	jmp    *0x7cffa4(,%eax,4)
7cf89a:	8b 44 24 30          	mov    0x30(%esp),%eax
7cf89e:	e9 19 01 00 00       	jmp    0x7cf9bc
7cf8a3:	8b 44 24 3c          	mov    0x3c(%esp),%eax
7cf8a7:	e9 04 01 00 00       	jmp    0x7cf9b0
7cf8ac:	8b 44 24 34          	mov    0x34(%esp),%eax
7cf8b0:	8b 54 24 30          	mov    0x30(%esp),%edx
7cf8b4:	89 54 24 34          	mov    %edx,0x34(%esp)
7cf8b8:	e9 fb 00 00 00       	jmp    0x7cf9b8
7cf8bd:	8b 54 24 3c          	mov    0x3c(%esp),%edx
7cf8c1:	8b 44 24 30          	mov    0x30(%esp),%eax
7cf8c5:	c7 44 24 1c 01 00 00 	movl   $0x1,0x1c(%esp)
7cf8cc:	00
7cf8cd:	89 54 24 34          	mov    %edx,0x34(%esp)
7cf8d1:	89 44 24 3c          	mov    %eax,0x3c(%esp)
7cf8d5:	c7 44 24 30 01 00 00 	movl   $0x1,0x30(%esp)
7cf8dc:	00
7cf8dd:	e9 de 00 00 00       	jmp    0x7cf9c0
7cf8e2:	83 f8 24             	cmp    $0x24,%eax
7cf8e5:	72 07                	jb     0x7cf8ee
7cf8e7:	b8 11 00 00 00       	mov    $0x11,%eax
7cf8ec:	eb 07                	jmp    0x7cf8f5
7cf8ee:	0f b6 80 54 c4 c2 00 	movzbl 0xc2c454(%eax),%eax
7cf8f5:	89 44 24 1c          	mov    %eax,0x1c(%esp)
7cf8f9:	3b e8                	cmp    %eax,%ebp
7cf8fb:	0f 8d 7a 00 00 00    	jge    0x7cf97b
7cf901:	b8 10 00 00 00       	mov    $0x10,%eax
7cf906:	2b c5                	sub    %ebp,%eax
7cf908:	89 44 24 34          	mov    %eax,0x34(%esp)
7cf90c:	0f 1f 40 00          	nopl   0x0(%eax)
7cf910:	3b f3                	cmp    %ebx,%esi
7cf912:	72 17                	jb     0x7cf92b
7cf914:	57                   	push   %edi
7cf915:	e8 56 1b 00 00       	call   0x7d1470
7cf91a:	83 c4 04             	add    $0x4,%esp
7cf91d:	85 c0                	test   %eax,%eax
7cf91f:	0f 85 cf 05 00 00    	jne    0x7cfef4
7cf925:	8b 77 60             	mov    0x60(%edi),%esi
7cf928:	8b 5f 64             	mov    0x64(%edi),%ebx
7cf92b:	8a 06                	mov    (%esi),%al
7cf92d:	46                   	inc    %esi
7cf92e:	88 44 24 13          	mov    %al,0x13(%esp)
7cf932:	3b f3                	cmp    %ebx,%esi
7cf934:	72 17                	jb     0x7cf94d
7cf936:	57                   	push   %edi
7cf937:	e8 34 1b 00 00       	call   0x7d1470
7cf93c:	83 c4 04             	add    $0x4,%esp
7cf93f:	85 c0                	test   %eax,%eax
7cf941:	0f 85 ad 05 00 00    	jne    0x7cfef4
7cf947:	8b 77 60             	mov    0x60(%edi),%esi
7cf94a:	8b 5f 64             	mov    0x64(%edi),%ebx
7cf94d:	8a 06                	mov    (%esi),%al
7cf94f:	83 c5 10             	add    $0x10,%ebp
7cf952:	0f b6 d0             	movzbl %al,%edx
7cf955:	46                   	inc    %esi
7cf956:	0f b6 44 24 13       	movzbl 0x13(%esp),%eax
7cf95b:	c1 e2 08             	shl    $0x8,%edx
7cf95e:	0b d0                	or     %eax,%edx
7cf960:	8b 44 24 34          	mov    0x34(%esp),%eax
7cf964:	8b c8                	mov    %eax,%ecx
7cf966:	83 e8 10             	sub    $0x10,%eax
7cf969:	d3 e2                	shl    %cl,%edx
7cf96b:	09 54 24 14          	or     %edx,0x14(%esp)
7cf96f:	89 44 24 34          	mov    %eax,0x34(%esp)
7cf973:	8b 44 24 1c          	mov    0x1c(%esp),%eax
7cf977:	3b e8                	cmp    %eax,%ebp
7cf979:	7c 95                	jl     0x7cf910
7cf97b:	8b 54 24 14          	mov    0x14(%esp),%edx
7cf97f:	b9 20 00 00 00       	mov    $0x20,%ecx
7cf984:	2b c8                	sub    %eax,%ecx
7cf986:	2b e8                	sub    %eax,%ebp
7cf988:	d3 ea                	shr    %cl,%edx
7cf98a:	8b c8                	mov    %eax,%ecx
7cf98c:	8b 44 24 18          	mov    0x18(%esp),%eax
7cf990:	d3 64 24 14          	shll   %cl,0x14(%esp)
7cf994:	8b 4c 24 20          	mov    0x20(%esp),%ecx
7cf998:	89 6c 24 2c          	mov    %ebp,0x2c(%esp)
7cf99c:	8b 04 85 78 c4 c2 00 	mov    0xc2c478(,%eax,4),%eax
7cf9a3:	83 c0 fe             	add    $0xfffffffe,%eax
7cf9a6:	03 c2                	add    %edx,%eax
7cf9a8:	8b 54 24 3c          	mov    0x3c(%esp),%edx
7cf9ac:	89 54 24 34          	mov    %edx,0x34(%esp)
7cf9b0:	8b 54 24 30          	mov    0x30(%esp),%edx
7cf9b4:	89 54 24 3c          	mov    %edx,0x3c(%esp)
7cf9b8:	89 44 24 30          	mov    %eax,0x30(%esp)
7cf9bc:	89 44 24 1c          	mov    %eax,0x1c(%esp)
7cf9c0:	81 f9 01 01 00 00    	cmp    $0x101,%ecx
7cf9c6:	0f 85 42 03 00 00    	jne    0x7cfd0e
7cf9cc:	80 7f 54 00          	cmpb   $0x0,0x54(%edi)
7cf9d0:	0f 84 38 03 00 00    	je     0x7cfd0e
7cf9d6:	83 fd 03             	cmp    $0x3,%ebp
7cf9d9:	0f 8d 81 00 00 00    	jge    0x7cfa60
7cf9df:	b8 10 00 00 00       	mov    $0x10,%eax
7cf9e4:	2b c5                	sub    %ebp,%eax
7cf9e6:	89 44 24 18          	mov    %eax,0x18(%esp)
7cf9ea:	66 0f 1f 44 00 00    	nopw   0x0(%eax,%eax,1)
7cf9f0:	3b f3                	cmp    %ebx,%esi
7cf9f2:	72 17                	jb     0x7cfa0b
7cf9f4:	57                   	push   %edi
7cf9f5:	e8 76 1a 00 00       	call   0x7d1470
7cf9fa:	83 c4 04             	add    $0x4,%esp
7cf9fd:	85 c0                	test   %eax,%eax
7cf9ff:	0f 85 ef 04 00 00    	jne    0x7cfef4
7cfa05:	8b 77 60             	mov    0x60(%edi),%esi
7cfa08:	8b 5f 64             	mov    0x64(%edi),%ebx
7cfa0b:	8a 06                	mov    (%esi),%al
7cfa0d:	46                   	inc    %esi
7cfa0e:	88 44 24 13          	mov    %al,0x13(%esp)
7cfa12:	3b f3                	cmp    %ebx,%esi
7cfa14:	72 17                	jb     0x7cfa2d
7cfa16:	57                   	push   %edi
7cfa17:	e8 54 1a 00 00       	call   0x7d1470
7cfa1c:	83 c4 04             	add    $0x4,%esp
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