7ce638:	c1 e2 10             	shl    $0x10,%edx
7ce63b:	89 4c 24 20          	mov    %ecx,0x20(%esp)
7ce63f:	89 54 24 14          	mov    %edx,0x14(%esp)
7ce643:	83 fd 08             	cmp    $0x8,%ebp
7ce646:	0f 8d 7b 00 00 00    	jge    0x7ce6c7
7ce64c:	b8 10 00 00 00       	mov    $0x10,%eax
7ce651:	2b c5                	sub    %ebp,%eax
7ce653:	89 44 24 18          	mov    %eax,0x18(%esp)
7ce657:	3b f3                	cmp    %ebx,%esi
7ce659:	72 17                	jb     0x7ce672
7ce65b:	57                   	push   %edi
7ce65c:	e8 0f 2e 00 00       	call   0x7d1470
7ce661:	83 c4 04             	add    $0x4,%esp
7ce664:	85 c0                	test   %eax,%eax
7ce666:	0f 85 88 18 00 00    	jne    0x7cfef4
7ce66c:	8b 77 60             	mov    0x60(%edi),%esi
7ce66f:	8b 5f 64             	mov    0x64(%edi),%ebx
7ce672:	8a 06                	mov    (%esi),%al
7ce674:	46                   	inc    %esi
7ce675:	88 44 24 13          	mov    %al,0x13(%esp)
7ce679:	3b f3                	cmp    %ebx,%esi
7ce67b:	72 17                	jb     0x7ce694
7ce67d:	57                   	push   %edi
7ce67e:	e8 ed 2d 00 00       	call   0x7d1470
7ce683:	83 c4 04             	add    $0x4,%esp
7ce686:	85 c0                	test   %eax,%eax
7ce688:	0f 85 66 18 00 00    	jne    0x7cfef4
7ce68e:	8b 77 60             	mov    0x60(%edi),%esi
7ce691:	8b 5f 64             	mov    0x64(%edi),%ebx
7ce694:	8a 06                	mov    (%esi),%al
7ce696:	83 c5 10             	add    $0x10,%ebp
7ce699:	0f b6 d0             	movzbl %al,%edx
7ce69c:	46                   	inc    %esi
7ce69d:	0f b6 44 24 13       	movzbl 0x13(%esp),%eax
7ce6a2:	c1 e2 08             	shl    $0x8,%edx
7ce6a5:	0b d0                	or     %eax,%edx
7ce6a7:	8b 44 24 18          	mov    0x18(%esp),%eax
7ce6ab:	8b c8                	mov    %eax,%ecx
7ce6ad:	83 e8 10             	sub    $0x10,%eax
7ce6b0:	d3 e2                	shl    %cl,%edx
7ce6b2:	09 54 24 14          	or     %edx,0x14(%esp)
7ce6b6:	89 44 24 18          	mov    %eax,0x18(%esp)
7ce6ba:	83 fd 08             	cmp    $0x8,%ebp
7ce6bd:	7c 98                	jl     0x7ce657
7ce6bf:	8b 4c 24 20          	mov    0x20(%esp),%ecx
7ce6c3:	8b 54 24 14          	mov    0x14(%esp),%edx
7ce6c7:	8b c2                	mov    %edx,%eax
7ce6c9:	c1 e1 08             	shl    $0x8,%ecx
7ce6cc:	c1 e8 18             	shr    $0x18,%eax
7ce6cf:	83 ed 08             	sub    $0x8,%ebp
7ce6d2:	0b c8                	or     %eax,%ecx
7ce6d4:	c1 e2 08             	shl    $0x8,%edx
7ce6d7:	0f b6 47 51          	movzbl 0x51(%edi),%eax
7ce6db:	89 54 24 14          	mov    %edx,0x14(%esp)
7ce6df:	89 4f 40             	mov    %ecx,0x40(%edi)
7ce6e2:	89 4f 44             	mov    %ecx,0x44(%edi)
7ce6e5:	83 e8 01             	sub    $0x1,%eax
7ce6e8:	0f 84 f0 01 00 00    	je     0x7ce8de
7ce6ee:	83 e8 01             	sub    $0x1,%eax
7ce6f1:	0f 84 0b 01 00 00    	je     0x7ce802
7ce6f7:	83 e8 01             	sub    $0x1,%eax
7ce6fa:	0f 85 34 18 00 00    	jne    0x7cff34
7ce700:	c6 47 50 01          	movb   $0x1,0x50(%edi)
7ce704:	85 ed                	test   %ebp,%ebp
7ce706:	75 40                	jne    0x7ce748
7ce708:	3b f3                	cmp    %ebx,%esi
7ce70a:	72 17                	jb     0x7ce723
7ce70c:	57                   	push   %edi
7ce70d:	e8 5e 2d 00 00       	call   0x7d1470
7ce712:	83 c4 04             	add    $0x4,%esp
7ce715:	85 c0                	test   %eax,%eax
7ce717:	0f 85 d7 17 00 00    	jne    0x7cfef4
7ce71d:	8b 77 60             	mov    0x60(%edi),%esi
7ce720:	8b 5f 64             	mov    0x64(%edi),%ebx
7ce723:	46                   	inc    %esi
7ce724:	3b f3                	cmp    %ebx,%esi
7ce726:	72 17                	jb     0x7ce73f
7ce728:	57                   	push   %edi
7ce729:	e8 42 2d 00 00       	call   0x7d1470
7ce72e:	83 c4 04             	add    $0x4,%esp
7ce731:	85 c0                	test   %eax,%eax
7ce733:	0f 85 bb 17 00 00    	jne    0x7cfef4
7ce739:	8b 77 60             	mov    0x60(%edi),%esi
7ce73c:	8b 5f 64             	mov    0x64(%edi),%ebx
7ce73f:	83 c5 10             	add    $0x10,%ebp
7ce742:	46                   	inc    %esi
7ce743:	83 fd 10             	cmp    $0x10,%ebp
7ce746:	7c c0                	jl     0x7ce708
7ce748:	33 ed                	xor    %ebp,%ebp
7ce74a:	33 c9                	xor    %ecx,%ecx
7ce74c:	89 6c 24 2c          	mov    %ebp,0x2c(%esp)
7ce750:	89 6c 24 14          	mov    %ebp,0x14(%esp)
7ce754:	89 4c 24 18          	mov    %ecx,0x18(%esp)
7ce758:	3b f3                	cmp    %ebx,%esi
7ce75a:	72 1b                	jb     0x7ce777
7ce75c:	57                   	push   %edi
7ce75d:	e8 0e 2d 00 00       	call   0x7d1470
7ce762:	83 c4 04             	add    $0x4,%esp
7ce765:	85 c0                	test   %eax,%eax
7ce767:	0f 85 87 17 00 00    	jne    0x7cfef4
7ce76d:	8b 77 60             	mov    0x60(%edi),%esi
7ce770:	8b 5f 64             	mov    0x64(%edi),%ebx
7ce773:	8b 4c 24 18          	mov    0x18(%esp),%ecx
7ce777:	8a 06                	mov    (%esi),%al
7ce779:	46                   	inc    %esi
7ce77a:	88 44 0c 54          	mov    %al,0x54(%esp,%ecx,1)
7ce77e:	41                   	inc    %ecx
7ce77f:	89 4c 24 18          	mov    %ecx,0x18(%esp)
7ce783:	83 f9 0c             	cmp    $0xc,%ecx
7ce786:	7c d0                	jl     0x7ce758
7ce788:	0f b6 4c 24 57       	movzbl 0x57(%esp),%ecx
7ce78d:	0f b6 44 24 56       	movzbl 0x56(%esp),%eax
7ce792:	c1 e1 08             	shl    $0x8,%ecx
7ce795:	0b c8                	or     %eax,%ecx
7ce797:	0f b6 44 24 55       	movzbl 0x55(%esp),%eax
7ce79c:	c1 e1 08             	shl    $0x8,%ecx
7ce79f:	0b c8                	or     %eax,%ecx
7ce7a1:	0f b6 44 24 54       	movzbl 0x54(%esp),%eax
7ce7a6:	c1 e1 08             	shl    $0x8,%ecx
7ce7a9:	0b c8                	or     %eax,%ecx
7ce7ab:	0f b6 44 24 5a       	movzbl 0x5a(%esp),%eax
7ce7b0:	89 4c 24 30          	mov    %ecx,0x30(%esp)
7ce7b4:	0f b6 4c 24 5b       	movzbl 0x5b(%esp),%ecx
7ce7b9:	c1 e1 08             	shl    $0x8,%ecx
7ce7bc:	0b c8                	or     %eax,%ecx
7ce7be:	0f b6 44 24 59       	movzbl 0x59(%esp),%eax
7ce7c3:	c1 e1 08             	shl    $0x8,%ecx
7ce7c6:	0b c8                	or     %eax,%ecx
7ce7c8:	0f b6 44 24 58       	movzbl 0x58(%esp),%eax
7ce7cd:	c1 e1 08             	shl    $0x8,%ecx
7ce7d0:	0b c8                	or     %eax,%ecx
7ce7d2:	0f b6 44 24 5e       	movzbl 0x5e(%esp),%eax
7ce7d7:	89 4c 24 3c          	mov    %ecx,0x3c(%esp)
7ce7db:	0f b6 4c 24 5f       	movzbl 0x5f(%esp),%ecx
7ce7e0:	c1 e1 08             	shl    $0x8,%ecx
7ce7e3:	0b c8                	or     %eax,%ecx
7ce7e5:	0f b6 44 24 5d       	movzbl 0x5d(%esp),%eax
7ce7ea:	c1 e1 08             	shl    $0x8,%ecx
7ce7ed:	0b c8                	or     %eax,%ecx
7ce7ef:	0f b6 44 24 5c       	movzbl 0x5c(%esp),%eax
7ce7f4:	c1 e1 08             	shl    $0x8,%ecx
7ce7f7:	0b c8                	or     %eax,%ecx
7ce7f9:	89 4c 24 34          	mov    %ecx,0x34(%esp)
7ce7fd:	e9 fb 01 00 00       	jmp    0x7ce9fd
7ce802:	33 c9                	xor    %ecx,%ecx
7ce804:	89 4c 24 20          	mov    %ecx,0x20(%esp)
7ce808:	0f 1f 84 00 00 00 00 	nopl   0x0(%eax,%eax,1)
7ce80f:	00
7ce810:	83 fd 03             	cmp    $0x3,%ebp
7ce813:	0f 8d 7b 00 00 00    	jge    0x7ce894
7ce819:	b8 10 00 00 00       	mov    $0x10,%eax
7ce81e:	2b c5                	sub    %ebp,%eax
7ce820:	89 44 24 18          	mov    %eax,0x18(%esp)
7ce824:	3b f3                	cmp    %ebx,%esi
7ce826:	72 17                	jb     0x7ce83f
7ce828:	57                   	push   %edi
7ce829:	e8 42 2c 00 00       	call   0x7d1470
7ce82e:	83 c4 04             	add    $0x4,%esp
7ce831:	85 c0                	test   %eax,%eax
7ce833:	0f 85 bb 16 00 00    	jne    0x7cfef4
7ce839:	8b 77 60             	mov    0x60(%edi),%esi
7ce83c:	8b 5f 64             	mov    0x64(%edi),%ebx
7ce83f:	8a 06                	mov    (%esi),%al
7ce841:	46                   	inc    %esi
7ce842:	88 44 24 13          	mov    %al,0x13(%esp)
7ce846:	3b f3                	cmp    %ebx,%esi
7ce848:	72 17                	jb     0x7ce861
7ce84a:	57                   	push   %edi
7ce84b:	e8 20 2c 00 00       	call   0x7d1470
7ce850:	83 c4 04             	add    $0x4,%esp
7ce853:	85 c0                	test   %eax,%eax
7ce855:	0f 85 99 16 00 00    	jne    0x7cfef4
7ce85b:	8b 77 60             	mov    0x60(%edi),%esi
7ce85e:	8b 5f 64             	mov    0x64(%edi),%ebx
7ce861:	8a 06                	mov    (%esi),%al
7ce863:	83 c5 10             	add    $0x10,%ebp
7ce866:	0f b6 d0             	movzbl %al,%edx
7ce869:	46                   	inc    %esi
7ce86a:	0f b6 44 24 13       	movzbl 0x13(%esp),%eax
7ce86f:	c1 e2 08             	shl    $0x8,%edx
7ce872:	0b d0                	or     %eax,%edx
7ce874:	8b 44 24 18          	mov    0x18(%esp),%eax
7ce878:	8b c8                	mov    %eax,%ecx
7ce87a:	83 e8 10             	sub    $0x10,%eax
7ce87d:	d3 e2                	shl    %cl,%edx
7ce87f:	09 54 24 14          	or     %edx,0x14(%esp)
7ce883:	89 44 24 18          	mov    %eax,0x18(%esp)
7ce887:	83 fd 03             	cmp    $0x3,%ebp
7ce88a:	7c 98                	jl     0x7ce824
7ce88c:	8b 4c 24 20          	mov    0x20(%esp),%ecx
7ce890:	8b 54 24 14          	mov    0x14(%esp),%edx
7ce894:	8b c2                	mov    %edx,%eax
7ce896:	83 ed 03             	sub    $0x3,%ebp
7ce899:	c1 e8 1d             	shr    $0x1d,%eax
7ce89c:	88 84 0f 5a 0c 00 00 	mov    %al,0xc5a(%edi,%ecx,1)
7ce8a3:	41                   	inc    %ecx
7ce8a4:	c1 e2 03             	shl    $0x3,%edx
7ce8a7:	89 54 24 14          	mov    %edx,0x14(%esp)
7ce8ab:	89 4c 24 20          	mov    %ecx,0x20(%esp)
7ce8af:	83 f9 08             	cmp    $0x8,%ecx
7ce8b2:	0f 8c 58 ff ff ff    	jl     0x7ce810
7ce8b8:	8d 87 9a 79 00 00    	lea    0x799a(%edi),%eax
7ce8be:	50                   	push   %eax
7ce8bf:	8d 87 5a 0c 00 00    	lea    0xc5a(%edi),%eax
7ce8c5:	50                   	push   %eax
7ce8c6:	6a 07                	push   $0x7
7ce8c8:	6a 08                	push   $0x8
7ce8ca:	e8 f1 28 00 00       	call   0x7d11c0
7ce8cf:	83 c4 10             	add    $0x10,%esp
7ce8d2:	85 c0                	test   %eax,%eax
7ce8d4:	0f 85 5a 16 00 00    	jne    0x7cff34
7ce8da:	8b 54 24 14          	mov    0x14(%esp),%edx
7ce8de:	68 00 01 00 00       	push   $0x100
7ce8e3:	89 77 60             	mov    %esi,0x60(%edi)
7ce8e6:	8d b7 d0 00 00 00    	lea    0xd0(%edi),%esi
7ce8ec:	6a 00                	push   $0x0
7ce8ee:	56                   	push   %esi
7ce8ef:	57                   	push   %edi
7ce8f0:	89 5f 64             	mov    %ebx,0x64(%edi)
7ce8f3:	89 57 70             	mov    %edx,0x70(%edi)
7ce8f6:	89 6f 74             	mov    %ebp,0x74(%edi)
7ce8f9:	e8 62 20 00 00       	call   0x7d0960
7ce8fe:	83 c4 10             	add    $0x10,%esp
7ce901:	85 c0                	test   %eax,%eax
7ce903:	0f 85 eb 15 00 00    	jne    0x7cfef4
7ce909:	8b 47 20             	mov    0x20(%edi),%eax
7ce90c:	05 00 01 00 00       	add    $0x100,%eax
7ce911:	50                   	push   %eax
7ce912:	68 00 01 00 00       	push   $0x100
7ce917:	56                   	push   %esi
7ce918:	57                   	push   %edi
7ce919:	e8 42 20 00 00       	call   0x7d0960
7ce91e:	83 c4 10             	add    $0x10,%esp
7ce921:	85 c0                	test   %eax,%eax
7ce923:	0f 85 cb 15 00 00    	jne    0x7cfef4
7ce929:	8b 47 70             	mov    0x70(%edi),%eax
7ce92c:	8b 5f 60             	mov    0x60(%edi),%ebx
7ce92f:	8b 6f 64             	mov    0x64(%edi),%ebp
7ce932:	89 44 24 18          	mov    %eax,0x18(%esp)
7ce936:	8b 47 74             	mov    0x74(%edi),%eax
7ce939:	89 44 24 20          	mov    %eax,0x20(%esp)
7ce93d:	8d 87 72 0d 00 00    	lea    0xd72(%edi),%eax
7ce943:	50                   	push   %eax
7ce944:	56                   	push   %esi
7ce945:	6a 0c                	push   $0xc
7ce947:	68 10 0a 00 00       	push   $0xa10
7ce94c:	e8 6f 28 00 00       	call   0x7d11c0
7ce951:	83 c4 10             	add    $0x10,%esp
7ce954:	85 c0                	test   %eax,%eax
7ce956:	0f 85 d8 15 00 00    	jne    0x7cff34
7ce95c:	38 87 b8 01 00 00    	cmp    %al,0x1b8(%edi)
7ce962:	74 04                	je     0x7ce968
7ce964:	c6 47 50 01          	movb   $0x1,0x50(%edi)
7ce968:	8b 44 24 18          	mov    0x18(%esp),%eax
7ce96c:	89 47 70             	mov    %eax,0x70(%edi)
7ce96f:	8b 44 24 20          	mov    0x20(%esp),%eax
7ce973:	68 f9 00 00 00       	push   $0xf9
7ce978:	89 47 74             	mov    %eax,0x74(%edi)
7ce97b:	8d 87 20 0b 00 00    	lea    0xb20(%edi),%eax
7ce981:	6a 00                	push   $0x0
7ce983:	50                   	push   %eax
7ce984:	57                   	push   %edi
7ce985:	89 5f 60             	mov    %ebx,0x60(%edi)
7ce988:	89 6f 64             	mov    %ebp,0x64(%edi)
7ce98b:	e8 d0 1f 00 00       	call   0x7d0960
7ce990:	83 c4 10             	add    $0x10,%esp
7ce993:	85 c0                	test   %eax,%eax
7ce995:	0f 85 59 15 00 00    	jne    0x7cfef4
7ce99b:	8b 47 70             	mov    0x70(%edi),%eax
7ce99e:	8b 6f 74             	mov    0x74(%edi),%ebp
7ce9a1:	8b 77 60             	mov    0x60(%edi),%esi
7ce9a4:	8b 5f 64             	mov    0x64(%edi),%ebx
7ce9a7:	89 44 24 14          	mov    %eax,0x14(%esp)
7ce9ab:	8d 87 b2 55 00 00    	lea    0x55b2(%edi),%eax
7ce9b1:	50                   	push   %eax
7ce9b2:	8d 87 20 0b 00 00    	lea    0xb20(%edi),%eax
7ce9b8:	89 6c 24 30          	mov    %ebp,0x30(%esp)
7ce9bc:	50                   	push   %eax
7ce9bd:	6a 0c                	push   $0xc
7ce9bf:	68 fa 00 00 00       	push   $0xfa
7ce9c4:	c6 87 ba 7a 00 00 00 	movb   $0x0,0x7aba(%edi)
7ce9cb:	e8 f0 27 00 00       	call   0x7d11c0
7ce9d0:	83 c4 10             	add    $0x10,%esp
7ce9d3:	85 c0                	test   %eax,%eax
7ce9d5:	74 26                	je     0x7ce9fd
7ce9d7:	33 c0                	xor    %eax,%eax
7ce9d9:	0f 1f 80 00 00 00 00 	nopl   0x0(%eax)
7ce9e0:	80 bc 07 20 0b 00 00 	cmpb   $0x0,0xb20(%edi,%eax,1)
7ce9e7:	00
7ce9e8:	0f 87 46 15 00 00    	ja     0x7cff34
7ce9ee:	40                   	inc    %eax
7ce9ef:	3d fa 00 00 00       	cmp    $0xfa,%eax
7ce9f4:	7c ea                	jl     0x7ce9e0
7ce9f6:	c6 87 ba 7a 00 00 01 	movb   $0x1,0x7aba(%edi)
7ce9fd:	8b 4c 24 28          	mov    0x28(%esp),%ecx
7cea01:	8b 47 44             	mov    0x44(%edi),%eax
7cea04:	8b d0                	mov    %eax,%edx
7cea06:	3b 44 24 24          	cmp    0x24(%esp),%eax
7cea0a:	0f 4f 54 24 24       	cmovg  0x24(%esp),%edx
7cea0f:	29 54 24 24          	sub    %edx,0x24(%esp)
7cea13:	2b c2                	sub    %edx,%eax
7cea15:	89 47 44             	mov    %eax,0x44(%edi)
7cea18:	0f b6 47 51          	movzbl 0x51(%edi),%eax
7cea1c:	89 54 24 38          	mov    %edx,0x38(%esp)
7cea20:	83 e8 01             	sub    $0x1,%eax
7cea23:	0f 84 30 0c 00 00    	je     0x7cf659
7cea29:	83 e8 01             	sub    $0x1,%eax
7cea2c:	0f 84 f3 01 00 00    	je     0x7cec25
7cea32:	83 e8 01             	sub    $0x1,%eax
7cea35:	0f 85 f9 14 00 00    	jne    0x7cff34
7cea3b:	8b 54 24 40          	mov    0x40(%esp),%edx
7cea3f:	8b 44 24 38          	mov    0x38(%esp),%eax
7cea43:	03 d1                	add    %ecx,%edx
7cea45:	03 c8                	add    %eax,%ecx
7cea47:	89 54 24 18          	mov    %edx,0x18(%esp)
7cea4b:	89 4c 24 28          	mov    %ecx,0x28(%esp)
7cea4f:	85 c0                	test   %eax,%eax
7cea51:	7e 59                	jle    0x7ceaac
7cea53:	8b cb                	mov    %ebx,%ecx
7cea55:	2b ce                	sub    %esi,%ecx
7cea57:	75 21                	jne    0x7cea7a
7cea59:	3b f3                	cmp    %ebx,%esi
7cea5b:	72 4b                	jb     0x7ceaa8
7cea5d:	57                   	push   %edi
7cea5e:	e8 0d 2a 00 00       	call   0x7d1470
7cea63:	83 c4 04             	add    $0x4,%esp
7cea66:	85 c0                	test   %eax,%eax
7cea68:	0f 85 86 14 00 00    	jne    0x7cfef4
7cea6e:	8b 77 60             	mov    0x60(%edi),%esi
7cea71:	8b 5f 64             	mov    0x64(%edi),%ebx
7cea74:	8b 54 24 18          	mov    0x18(%esp),%edx
7cea78:	eb 2a                	jmp    0x7ceaa4
7cea7a:	3b c8                	cmp    %eax,%ecx
7cea7c:	0f 4f c8             	cmovg  %eax,%ecx
7cea7f:	8b 07                	mov    (%edi),%eax
7cea81:	51                   	push   %ecx
7cea82:	52                   	push   %edx
7cea83:	56                   	push   %esi
7cea84:	8b 40 24             	mov    0x24(%eax),%eax
7cea87:	89 4c 24 2c          	mov    %ecx,0x2c(%esp)
7cea8b:	ff d0                	call   *%eax
7cea8d:	8b 44 24 2c          	mov    0x2c(%esp),%eax
7cea91:	83 c4 0c             	add    $0xc,%esp
7cea94:	8b 54 24 18          	mov    0x18(%esp),%edx
7cea98:	03 f0                	add    %eax,%esi
7cea9a:	03 d0                	add    %eax,%edx
7cea9c:	29 44 24 38          	sub    %eax,0x38(%esp)
7ceaa0:	89 54 24 18          	mov    %edx,0x18(%esp)
7ceaa4:	8b 44 24 38          	mov    0x38(%esp),%eax
7ceaa8:	85 c0                	test   %eax,%eax