7cf5a6:	03 44 24 40          	add    0x40(%esp),%eax
7cf5aa:	89 44 24 18          	mov    %eax,0x18(%esp)
7cf5ae:	8b 44 24 1c          	mov    0x1c(%esp),%eax
7cf5b2:	3b 44 24 20          	cmp    0x20(%esp),%eax
7cf5b6:	7d 35                	jge    0x7cf5ed
7cf5b8:	8b 54 24 20          	mov    0x20(%esp),%edx
7cf5bc:	2b d0                	sub    %eax,%edx
7cf5be:	89 54 24 44          	mov    %edx,0x44(%esp)
7cf5c2:	85 c0                	test   %eax,%eax
7cf5c4:	7e 1f                	jle    0x7cf5e5
7cf5c6:	8b 7c 24 18          	mov    0x18(%esp),%edi
7cf5ca:	8b d0                	mov    %eax,%edx
7cf5cc:	0f 1f 40 00          	nopl   0x0(%eax)
7cf5d0:	8a 07                	mov    (%edi),%al
7cf5d2:	8d 7f 01             	lea    0x1(%edi),%edi
7cf5d5:	4a                   	dec    %edx
7cf5d6:	88 01                	mov    %al,(%ecx)
7cf5d8:	41                   	inc    %ecx
7cf5d9:	85 d2                	test   %edx,%edx
7cf5db:	7f f3                	jg     0x7cf5d0
7cf5dd:	8b 7c 24 48          	mov    0x48(%esp),%edi
7cf5e1:	8b 54 24 44          	mov    0x44(%esp),%edx
7cf5e5:	8b 44 24 40          	mov    0x40(%esp),%eax
7cf5e9:	89 44 24 18          	mov    %eax,0x18(%esp)
7cf5ed:	85 d2                	test   %edx,%edx
7cf5ef:	7e 43                	jle    0x7cf634
7cf5f1:	8b 7c 24 18          	mov    0x18(%esp),%edi
7cf5f5:	2b f9                	sub    %ecx,%edi
7cf5f7:	8a 04 0f             	mov    (%edi,%ecx,1),%al
7cf5fa:	8d 49 01             	lea    0x1(%ecx),%ecx
7cf5fd:	4a                   	dec    %edx
7cf5fe:	88 41 ff             	mov    %al,-0x1(%ecx)
7cf601:	85 d2                	test   %edx,%edx
7cf603:	7f f2                	jg     0x7cf5f7
7cf605:	eb 29                	jmp    0x7cf630
7cf607:	8b c1                	mov    %ecx,%eax
7cf609:	2b 44 24 1c          	sub    0x1c(%esp),%eax
7cf60d:	83 7c 24 20 00       	cmpl   $0x0,0x20(%esp)
7cf612:	89 44 24 44          	mov    %eax,0x44(%esp)
7cf616:	7e 1c                	jle    0x7cf634
7cf618:	8b f8                	mov    %eax,%edi
7cf61a:	66 0f 1f 44 00 00    	nopw   0x0(%eax,%eax,1)
7cf620:	8a 07                	mov    (%edi),%al
7cf622:	8d 49 01             	lea    0x1(%ecx),%ecx
7cf625:	4a                   	dec    %edx
7cf626:	88 41 ff             	mov    %al,-0x1(%ecx)
7cf629:	8d 7f 01             	lea    0x1(%edi),%edi
7cf62c:	85 d2                	test   %edx,%edx
7cf62e:	7f f0                	jg     0x7cf620
7cf630:	8b 7c 24 48          	mov    0x48(%esp),%edi
7cf634:	8b 54 24 38          	mov    0x38(%esp),%edx
7cf638:	8b 4c 24 20          	mov    0x20(%esp),%ecx
7cf63c:	2b d1                	sub    %ecx,%edx
7cf63e:	8b 44 24 28          	mov    0x28(%esp),%eax
7cf642:	03 c1                	add    %ecx,%eax
7cf644:	89 54 24 38          	mov    %edx,0x38(%esp)
7cf648:	89 44 24 28          	mov    %eax,0x28(%esp)
7cf64c:	85 d2                	test   %edx,%edx
7cf64e:	0f 8f dc f5 ff ff    	jg     0x7cec30
7cf654:	e9 57 f4 ff ff       	jmp    0x7ceab0
7cf659:	85 d2                	test   %edx,%edx
7cf65b:	0f 8e 51 f4 ff ff    	jle    0x7ceab2
7cf661:	83 fd 10             	cmp    $0x10,%ebp
7cf664:	0f 8d 7b 00 00 00    	jge    0x7cf6e5
7cf66a:	b8 10 00 00 00       	mov    $0x10,%eax
7cf66f:	2b c5                	sub    %ebp,%eax
7cf671:	89 44 24 18          	mov    %eax,0x18(%esp)
7cf675:	3b f3                	cmp    %ebx,%esi
7cf677:	72 17                	jb     0x7cf690
7cf679:	57                   	push   %edi
7cf67a:	e8 f1 1d 00 00       	call   0x7d1470
7cf67f:	83 c4 04             	add    $0x4,%esp
7cf682:	85 c0                	test   %eax,%eax
7cf684:	0f 85 6a 08 00 00    	jne    0x7cfef4
7cf68a:	8b 77 60             	mov    0x60(%edi),%esi
7cf68d:	8b 5f 64             	mov    0x64(%edi),%ebx
7cf690:	8a 06                	mov    (%esi),%al
7cf692:	46                   	inc    %esi
7cf693:	88 44 24 13          	mov    %al,0x13(%esp)
7cf697:	3b f3                	cmp    %ebx,%esi
7cf699:	72 17                	jb     0x7cf6b2
7cf69b:	57                   	push   %edi
7cf69c:	e8 cf 1d 00 00       	call   0x7d1470
7cf6a1:	83 c4 04             	add    $0x4,%esp
7cf6a4:	85 c0                	test   %eax,%eax
7cf6a6:	0f 85 48 08 00 00    	jne    0x7cfef4
7cf6ac:	8b 77 60             	mov    0x60(%edi),%esi
7cf6af:	8b 5f 64             	mov    0x64(%edi),%ebx
7cf6b2:	8a 06                	mov    (%esi),%al
7cf6b4:	83 c5 10             	add    $0x10,%ebp
7cf6b7:	0f b6 d0             	movzbl %al,%edx
7cf6ba:	46                   	inc    %esi
7cf6bb:	0f b6 44 24 13       	movzbl 0x13(%esp),%eax
7cf6c0:	c1 e2 08             	shl    $0x8,%edx
7cf6c3:	0b d0                	or     %eax,%edx
7cf6c5:	8b 44 24 18          	mov    0x18(%esp),%eax
7cf6c9:	8b c8                	mov    %eax,%ecx
7cf6cb:	83 e8 10             	sub    $0x10,%eax
7cf6ce:	d3 e2                	shl    %cl,%edx
7cf6d0:	8b 4c 24 14          	mov    0x14(%esp),%ecx
7cf6d4:	0b ca                	or     %edx,%ecx
7cf6d6:	89 44 24 18          	mov    %eax,0x18(%esp)
7cf6da:	89 4c 24 14          	mov    %ecx,0x14(%esp)
7cf6de:	83 fd 10             	cmp    $0x10,%ebp
7cf6e1:	7c 92                	jl     0x7cf675
7cf6e3:	eb 04                	jmp    0x7cf6e9
7cf6e5:	8b 4c 24 14          	mov    0x14(%esp),%ecx
7cf6e9:	8b c1                	mov    %ecx,%eax
7cf6eb:	ba 10 0a 00 00       	mov    $0xa10,%edx
7cf6f0:	c1 e8 14             	shr    $0x14,%eax
7cf6f3:	0f b7 84 47 72 0d 00 	movzwl 0xd72(%edi,%eax,2),%eax
7cf6fa:	00
7cf6fb:	66 3b c2             	cmp    %dx,%ax
7cf6fe:	72 32                	jb     0x7cf732
7cf700:	ba 00 00 10 00       	mov    $0x100000,%edx
7cf705:	d1 fa                	sar    $1,%edx
7cf707:	0f 84 27 08 00 00    	je     0x7cff34
7cf70d:	23 ca                	and    %edx,%ecx
7cf70f:	0f b7 c0             	movzwl %ax,%eax
7cf712:	f7 d9                	neg    %ecx
7cf714:	1b c9                	sbb    %ecx,%ecx
7cf716:	03 c0                	add    %eax,%eax
7cf718:	f7 d9                	neg    %ecx
7cf71a:	0b c8                	or     %eax,%ecx
7cf71c:	0f b7 84 4f 72 0d 00 	movzwl 0xd72(%edi,%ecx,2),%eax
7cf723:	00
7cf724:	b9 10 0a 00 00       	mov    $0xa10,%ecx
7cf729:	66 3b c1             	cmp    %cx,%ax
7cf72c:	8b 4c 24 14          	mov    0x14(%esp),%ecx
7cf730:	73 d3                	jae    0x7cf705
7cf732:	0f b7 c0             	movzwl %ax,%eax
7cf735:	0f b6 8c 07 d0 00 00 	movzbl 0xd0(%edi,%eax,1),%ecx
7cf73c:	00
7cf73d:	d3 64 24 14          	shll   %cl,0x14(%esp)
7cf741:	2b e9                	sub    %ecx,%ebp
7cf743:	89 6c 24 2c          	mov    %ebp,0x2c(%esp)
7cf747:	3d 00 01 00 00       	cmp    $0x100,%eax
7cf74c:	7d 1a                	jge    0x7cf768
7cf74e:	8b 4c 24 28          	mov    0x28(%esp),%ecx
7cf752:	8b 54 24 40          	mov    0x40(%esp),%edx
7cf756:	88 04 11             	mov    %al,(%ecx,%edx,1)
7cf759:	b9 01 00 00 00       	mov    $0x1,%ecx
7cf75e:	8b 54 24 38          	mov    0x38(%esp),%edx
7cf762:	4a                   	dec    %edx
7cf763:	e9 79 06 00 00       	jmp    0x7cfde1
7cf768:	2d 00 01 00 00       	sub    $0x100,%eax
7cf76d:	8b c8                	mov    %eax,%ecx
7cf76f:	89 44 24 18          	mov    %eax,0x18(%esp)
7cf773:	83 e1 07             	and    $0x7,%ecx
7cf776:	89 4c 24 44          	mov    %ecx,0x44(%esp)
7cf77a:	83 f9 07             	cmp    $0x7,%ecx
7cf77d:	0f 85 fd 00 00 00    	jne    0x7cf880
7cf783:	80 bf ba 7a 00 00 00 	cmpb   $0x0,0x7aba(%edi)
7cf78a:	0f 85 a4 07 00 00    	jne    0x7cff34
7cf790:	83 fd 10             	cmp    $0x10,%ebp
7cf793:	0f 8d 7b 00 00 00    	jge    0x7cf814
7cf799:	b8 10 00 00 00       	mov    $0x10,%eax
7cf79e:	2b c5                	sub    %ebp,%eax
7cf7a0:	89 44 24 20          	mov    %eax,0x20(%esp)
7cf7a4:	3b f3                	cmp    %ebx,%esi
7cf7a6:	72 17                	jb     0x7cf7bf
7cf7a8:	57                   	push   %edi
7cf7a9:	e8 c2 1c 00 00       	call   0x7d1470
7cf7ae:	83 c4 04             	add    $0x4,%esp
7cf7b1:	85 c0                	test   %eax,%eax
7cf7b3:	0f 85 3b 07 00 00    	jne    0x7cfef4
7cf7b9:	8b 77 60             	mov    0x60(%edi),%esi
7cf7bc:	8b 5f 64             	mov    0x64(%edi),%ebx
7cf7bf:	8a 06                	mov    (%esi),%al
7cf7c1:	46                   	inc    %esi
7cf7c2:	88 44 24 13          	mov    %al,0x13(%esp)
7cf7c6:	3b f3                	cmp    %ebx,%esi
7cf7c8:	72 17                	jb     0x7cf7e1
7cf7ca:	57                   	push   %edi
7cf7cb:	e8 a0 1c 00 00       	call   0x7d1470
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