415676:	83 f8 03             	cmp    $0x3,%eax
415679:	0f 86 18 03 00 00    	jbe    0x415997
41567f:	8a 4f 03             	mov    0x3(%edi),%cl
415682:	88 4b 03             	mov    %cl,0x3(%ebx)
415685:	83 f8 04             	cmp    $0x4,%eax
415688:	0f 86 09 03 00 00    	jbe    0x415997
41568e:	8a 4f 04             	mov    0x4(%edi),%cl
415691:	88 4b 04             	mov    %cl,0x4(%ebx)
415694:	83 f8 05             	cmp    $0x5,%eax
415697:	0f 86 fa 02 00 00    	jbe    0x415997
41569d:	8a 4f 05             	mov    0x5(%edi),%cl
4156a0:	88 4b 05             	mov    %cl,0x5(%ebx)
4156a3:	83 f8 06             	cmp    $0x6,%eax
4156a6:	0f 86 eb 02 00 00    	jbe    0x415997
4156ac:	8a 47 06             	mov    0x6(%edi),%al
4156af:	88 43 06             	mov    %al,0x6(%ebx)
4156b2:	e9 e0 02 00 00       	jmp    0x415997
4156b7:	85 db                	test   %ebx,%ebx
4156b9:	0f 86 d8 02 00 00    	jbe    0x415997
4156bf:	8b 96 f8 e6 00 00    	mov    0xe6f8(%esi),%edx
4156c5:	8b 8e 34 4b 00 00    	mov    0x4b34(%esi),%ecx
4156cb:	8b 7e 70             	mov    0x70(%esi),%edi
4156ce:	23 d0                	and    %eax,%edx
4156d0:	8a 14 0a             	mov    (%edx,%ecx,1),%dl
4156d3:	88 14 39             	mov    %dl,(%ecx,%edi,1)
4156d6:	8b 4e 70             	mov    0x70(%esi),%ecx
4156d9:	8b 96 f8 e6 00 00    	mov    0xe6f8(%esi),%edx
4156df:	4b                   	dec    %ebx
4156e0:	40                   	inc    %eax
4156e1:	41                   	inc    %ecx
4156e2:	23 ca                	and    %edx,%ecx
4156e4:	89 4e 70             	mov    %ecx,0x70(%esi)
4156e7:	85 db                	test   %ebx,%ebx
4156e9:	77 da                	ja     0x4156c5
4156eb:	e9 a7 02 00 00       	jmp    0x415997
4156f0:	83 f8 03             	cmp    $0x3,%eax
4156f3:	0f 85 1e 01 00 00    	jne    0x415817
4156f9:	8b 47 08             	mov    0x8(%edi),%eax
4156fc:	8b 54 86 54          	mov    0x54(%esi,%eax,4),%edx
415700:	85 c0                	test   %eax,%eax
415702:	76 11                	jbe    0x415715
415704:	8d 4c 86 54          	lea    0x54(%esi,%eax,4),%ecx
415708:	8b 59 fc             	mov    -0x4(%ecx),%ebx
41570b:	89 19                	mov    %ebx,(%ecx)
41570d:	48                   	dec    %eax
41570e:	83 e9 04             	sub    $0x4,%ecx
415711:	85 c0                	test   %eax,%eax
415713:	77 f3                	ja     0x415708
415715:	8b 4e 70             	mov    0x70(%esi),%ecx
415718:	89 56 54             	mov    %edx,0x54(%esi)
41571b:	0f b7 47 04          	movzwl 0x4(%edi),%eax
41571f:	89 46 68             	mov    %eax,0x68(%esi)
415722:	0f b7 5f 04          	movzwl 0x4(%edi),%ebx
415726:	8b be f4 e6 00 00    	mov    0xe6f4(%esi),%edi
41572c:	8b c1                	mov    %ecx,%eax
41572e:	2b c2                	sub    %edx,%eax
415730:	81 c7 ff ef ff ff    	add    $0xffffefff,%edi
415736:	89 5d 08             	mov    %ebx,0x8(%ebp)
415739:	3b c7                	cmp    %edi,%eax
41573b:	0f 83 9d 00 00 00    	jae    0x4157de
415741:	3b cf                	cmp    %edi,%ecx
415743:	0f 83 95 00 00 00    	jae    0x4157de
415749:	8b 9e 34 4b 00 00    	mov    0x4b34(%esi),%ebx
41574f:	8d 3c 03             	lea    (%ebx,%eax,1),%edi
415752:	8b 45 08             	mov    0x8(%ebp),%eax
415755:	03 d9                	add    %ecx,%ebx
415757:	03 c8                	add    %eax,%ecx
415759:	89 4e 70             	mov    %ecx,0x70(%esi)
41575c:	3b d0                	cmp    %eax,%edx
41575e:	73 4c                	jae    0x4157ac
415760:	83 f8 08             	cmp    $0x8,%eax
415763:	0f 82 e0 fe ff ff    	jb     0x415649
415769:	c1 e8 03             	shr    $0x3,%eax
41576c:	8a 0f                	mov    (%edi),%cl
41576e:	83 6d 08 08          	subl   $0x8,0x8(%ebp)
415772:	88 0b                	mov    %cl,(%ebx)
415774:	8a 4f 01             	mov    0x1(%edi),%cl
415777:	88 4b 01             	mov    %cl,0x1(%ebx)
41577a:	8a 4f 02             	mov    0x2(%edi),%cl
41577d:	88 4b 02             	mov    %cl,0x2(%ebx)
415780:	8a 4f 03             	mov    0x3(%edi),%cl
415783:	88 4b 03             	mov    %cl,0x3(%ebx)
415786:	8a 4f 04             	mov    0x4(%edi),%cl
415789:	88 4b 04             	mov    %cl,0x4(%ebx)
41578c:	8a 4f 05             	mov    0x5(%edi),%cl
41578f:	88 4b 05             	mov    %cl,0x5(%ebx)
415792:	8a 4f 06             	mov    0x6(%edi),%cl
415795:	88 4b 06             	mov    %cl,0x6(%ebx)
415798:	8a 4f 07             	mov    0x7(%edi),%cl
41579b:	88 4b 07             	mov    %cl,0x7(%ebx)
41579e:	83 c7 08             	add    $0x8,%edi
4157a1:	83 c3 08             	add    $0x8,%ebx
4157a4:	48                   	dec    %eax
4157a5:	75 c5                	jne    0x41576c
4157a7:	e9 9d fe ff ff       	jmp    0x415649
4157ac:	83 f8 08             	cmp    $0x8,%eax
4157af:	0f 82 94 fe ff ff    	jb     0x415649
4157b5:	8b 45 08             	mov    0x8(%ebp),%eax
4157b8:	c1 e8 03             	shr    $0x3,%eax
4157bb:	89 45 f8             	mov    %eax,-0x8(%ebp)
4157be:	6a 08                	push   $0x8
4157c0:	57                   	push   %edi
4157c1:	53                   	push   %ebx
4157c2:	e8 a9 64 00 00       	call   0x41bc70
4157c7:	83 6d 08 08          	subl   $0x8,0x8(%ebp)
4157cb:	83 c4 0c             	add    $0xc,%esp
4157ce:	83 c7 08             	add    $0x8,%edi
4157d1:	83 c3 08             	add    $0x8,%ebx
4157d4:	ff 4d f8             	decl   -0x8(%ebp)
4157d7:	75 e5                	jne    0x4157be
4157d9:	e9 6b fe ff ff       	jmp    0x415649
4157de:	85 db                	test   %ebx,%ebx
4157e0:	0f 86 b1 01 00 00    	jbe    0x415997
4157e6:	8b 96 f8 e6 00 00    	mov    0xe6f8(%esi),%edx
4157ec:	8b 8e 34 4b 00 00    	mov    0x4b34(%esi),%ecx
4157f2:	8b 7e 70             	mov    0x70(%esi),%edi
4157f5:	23 d0                	and    %eax,%edx
4157f7:	8a 14 0a             	mov    (%edx,%ecx,1),%dl
4157fa:	88 14 39             	mov    %dl,(%ecx,%edi,1)
4157fd:	8b 4e 70             	mov    0x70(%esi),%ecx
415800:	8b 96 f8 e6 00 00    	mov    0xe6f8(%esi),%edx
415806:	4b                   	dec    %ebx
415807:	40                   	inc    %eax
415808:	41                   	inc    %ecx
415809:	23 ca                	and    %edx,%ecx
41580b:	89 4e 70             	mov    %ecx,0x70(%esi)
41580e:	85 db                	test   %ebx,%ebx
415810:	77 da                	ja     0x4157ec
415812:	e9 80 01 00 00       	jmp    0x415997
415817:	83 f8 02             	cmp    $0x2,%eax
41581a:	0f 85 49 01 00 00    	jne    0x415969
415820:	8b 46 68             	mov    0x68(%esi),%eax
415823:	85 c0                	test   %eax,%eax
415825:	0f 84 6c 01 00 00    	je     0x415997
41582b:	8b 4e 70             	mov    0x70(%esi),%ecx
41582e:	8b 56 54             	mov    0x54(%esi),%edx
415831:	8b be f4 e6 00 00    	mov    0xe6f4(%esi),%edi
415837:	8b d8                	mov    %eax,%ebx
415839:	8b c1                	mov    %ecx,%eax
41583b:	2b c2                	sub    %edx,%eax
41583d:	81 c7 ff ef ff ff    	add    $0xffffefff,%edi
415843:	89 5d 08             	mov    %ebx,0x8(%ebp)
415846:	3b c7                	cmp    %edi,%eax
415848:	0f 83 e9 00 00 00    	jae    0x415937
41584e:	3b cf                	cmp    %edi,%ecx
415850:	0f 83 e1 00 00 00    	jae    0x415937
415856:	8b 9e 34 4b 00 00    	mov    0x4b34(%esi),%ebx
41585c:	8d 3c 03             	lea    (%ebx,%eax,1),%edi
41585f:	8b 45 08             	mov    0x8(%ebp),%eax
415862:	03 d9                	add    %ecx,%ebx
415864:	03 c8                	add    %eax,%ecx
415866:	89 4e 70             	mov    %ecx,0x70(%esi)
415869:	3b d0                	cmp    %eax,%edx
41586b:	73 45                	jae    0x4158b2
41586d:	83 f8 08             	cmp    $0x8,%eax
415870:	72 66                	jb     0x4158d8
415872:	c1 e8 03             	shr    $0x3,%eax
415875:	8a 0f                	mov    (%edi),%cl
415877:	83 6d 08 08          	subl   $0x8,0x8(%ebp)
41587b:	88 0b                	mov    %cl,(%ebx)
41587d:	8a 4f 01             	mov    0x1(%edi),%cl
415880:	88 4b 01             	mov    %cl,0x1(%ebx)
415883:	8a 4f 02             	mov    0x2(%edi),%cl
415886:	88 4b 02             	mov    %cl,0x2(%ebx)
415889:	8a 4f 03             	mov    0x3(%edi),%cl
41588c:	88 4b 03             	mov    %cl,0x3(%ebx)
41588f:	8a 4f 04             	mov    0x4(%edi),%cl
415892:	88 4b 04             	mov    %cl,0x4(%ebx)
415895:	8a 4f 05             	mov    0x5(%edi),%cl
415898:	88 4b 05             	mov    %cl,0x5(%ebx)
41589b:	8a 4f 06             	mov    0x6(%edi),%cl
41589e:	88 4b 06             	mov    %cl,0x6(%ebx)
4158a1:	8a 4f 07             	mov    0x7(%edi),%cl
4158a4:	88 4b 07             	mov    %cl,0x7(%ebx)
4158a7:	83 c7 08             	add    $0x8,%edi
4158aa:	83 c3 08             	add    $0x8,%ebx
4158ad:	48                   	dec    %eax
4158ae:	75 c5                	jne    0x415875
4158b0:	eb 26                	jmp    0x4158d8
4158b2:	83 f8 08             	cmp    $0x8,%eax
4158b5:	72 21                	jb     0x4158d8
4158b7:	c1 e8 03             	shr    $0x3,%eax
4158ba:	89 45 f8             	mov    %eax,-0x8(%ebp)
4158bd:	6a 08                	push   $0x8
4158bf:	57                   	push   %edi
4158c0:	53                   	push   %ebx
4158c1:	e8 aa 63 00 00       	call   0x41bc70
4158c6:	83 6d 08 08          	subl   $0x8,0x8(%ebp)
4158ca:	83 c4 0c             	add    $0xc,%esp
4158cd:	83 c7 08             	add    $0x8,%edi
4158d0:	83 c3 08             	add    $0x8,%ebx
4158d3:	ff 4d f8             	decl   -0x8(%ebp)
4158d6:	75 e5                	jne    0x4158bd
4158d8:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
4158dc:	0f 86 b5 00 00 00    	jbe    0x415997
4158e2:	83 7d 08 01          	cmpl   $0x1,0x8(%ebp)
4158e6:	8a 07                	mov    (%edi),%al
4158e8:	88 03                	mov    %al,(%ebx)
4158ea:	0f 86 a7 00 00 00    	jbe    0x415997
4158f0:	83 7d 08 02          	cmpl   $0x2,0x8(%ebp)
4158f4:	8a 47 01             	mov    0x1(%edi),%al
4158f7:	88 43 01             	mov    %al,0x1(%ebx)
4158fa:	0f 86 97 00 00 00    	jbe    0x415997
415900:	83 7d 08 03          	cmpl   $0x3,0x8(%ebp)
415904:	8a 47 02             	mov    0x2(%edi),%al
415907:	88 43 02             	mov    %al,0x2(%ebx)
41590a:	0f 86 87 00 00 00    	jbe    0x415997
415910:	83 7d 08 04          	cmpl   $0x4,0x8(%ebp)
415914:	8a 47 03             	mov    0x3(%edi),%al
415917:	88 43 03             	mov    %al,0x3(%ebx)
41591a:	76 7b                	jbe    0x415997
41591c:	83 7d 08 05          	cmpl   $0x5,0x8(%ebp)
415920:	8a 47 04             	mov    0x4(%edi),%al
415923:	88 43 04             	mov    %al,0x4(%ebx)
415926:	76 6f                	jbe    0x415997
415928:	8a 47 05             	mov    0x5(%edi),%al
41592b:	83 7d 08 06          	cmpl   $0x6,0x8(%ebp)
41592f:	88 43 05             	mov    %al,0x5(%ebx)
415932:	e9 6f fd ff ff       	jmp    0x4156a6
415937:	85 db                	test   %ebx,%ebx
415939:	76 5c                	jbe    0x415997
41593b:	8b 96 f8 e6 00 00    	mov    0xe6f8(%esi),%edx
415941:	8b 8e 34 4b 00 00    	mov    0x4b34(%esi),%ecx
415947:	8b 7e 70             	mov    0x70(%esi),%edi
41594a:	23 d0                	and    %eax,%edx
41594c:	8a 14 0a             	mov    (%edx,%ecx,1),%dl
41594f:	88 14 39             	mov    %dl,(%ecx,%edi,1)
415952:	8b 4e 70             	mov    0x70(%esi),%ecx
415955:	8b 96 f8 e6 00 00    	mov    0xe6f8(%esi),%edx
41595b:	4b                   	dec    %ebx
41595c:	40                   	inc    %eax
41595d:	41                   	inc    %ecx
41595e:	23 ca                	and    %edx,%ecx
415960:	89 4e 70             	mov    %ecx,0x70(%esi)
415963:	85 db                	test   %ebx,%ebx
415965:	77 da                	ja     0x415941
415967:	eb 2e                	jmp    0x415997
415969:	83 f8 04             	cmp    $0x4,%eax
41596c:	75 29                	jne    0x415997
41596e:	8a 47 04             	mov    0x4(%edi),%al
415971:	88 45 e4             	mov    %al,-0x1c(%ebp)
415974:	8b 47 08             	mov    0x8(%edi),%eax
415977:	83 c7 0c             	add    $0xc,%edi
41597a:	89 45 e8             	mov    %eax,-0x18(%ebp)
41597d:	8a 47 04             	mov    0x4(%edi),%al
415980:	88 45 f0             	mov    %al,-0x10(%ebp)
415983:	8b 47 08             	mov    0x8(%edi),%eax
415986:	89 45 ec             	mov    %eax,-0x14(%ebp)
415989:	8d 45 e4             	lea    -0x1c(%ebp),%eax
41598c:	50                   	push   %eax
41598d:	8b ce                	mov    %esi,%ecx
41598f:	89 7d fc             	mov    %edi,-0x4(%ebp)
415992:	e8 fb f9 ff ff       	call   0x415392
415997:	8b 7d fc             	mov    -0x4(%ebp),%edi
41599a:	83 c7 0c             	add    $0xc,%edi
41599d:	3b 7d f4             	cmp    -0xc(%ebp),%edi
4159a0:	89 7d fc             	mov    %edi,-0x4(%ebp)
4159a3:	0f 82 1a fb ff ff    	jb     0x4154c3
4159a9:	b0 01                	mov    $0x1,%al
4159ab:	5f                   	pop    %edi
4159ac:	5e                   	pop    %esi
4159ad:	5b                   	pop    %ebx
4159ae:	c9                   	leave
4159af:	c2 04 00             	ret    $0x4
4159b2:	32 c0                	xor    %al,%al
4159b4:	eb f5                	jmp    0x4159ab
4159b6:	55                   	push   %ebp
4159b7:	8b ec                	mov    %esp,%ebp
4159b9:	83 ec 30             	sub    $0x30,%esp
4159bc:	53                   	push   %ebx
4159bd:	8b 5d 08             	mov    0x8(%ebp),%ebx
4159c0:	80 7b 2c 00          	cmpb   $0x0,0x2c(%ebx)
4159c4:	57                   	push   %edi
4159c5:	8b f9                	mov    %ecx,%edi
4159c7:	75 25                	jne    0x4159ee
4159c9:	8d 43 30             	lea    0x30(%ebx),%eax
4159cc:	50                   	push   %eax
4159cd:	8d 43 18             	lea    0x18(%ebx),%eax
4159d0:	50                   	push   %eax
4159d1:	8d 43 04             	lea    0x4(%ebx),%eax
4159d4:	50                   	push   %eax
4159d5:	c6 43 2c 01          	movb   $0x1,0x2c(%ebx)
4159d9:	e8 71 e8 ff ff       	call   0x41424f
4159de:	84 c0                	test   %al,%al
4159e0:	75 0c                	jne    0x4159ee
4159e2:	c6 83 d0 4a 00 00 01 	movb   $0x1,0x4ad0(%ebx)
4159e9:	e9 cb 05 00 00       	jmp    0x415fb9
4159ee:	8b 43 18             	mov    0x18(%ebx),%eax
4159f1:	8b 4b 24             	mov    0x24(%ebx),%ecx
4159f4:	56                   	push   %esi
4159f5:	8d 73 04             	lea    0x4(%ebx),%esi
4159f8:	03 c8                	add    %eax,%ecx
4159fa:	39 0e                	cmp    %ecx,(%esi)
4159fc:	7e 0e                	jle    0x415a0c
4159fe:	c6 83 d0 4a 00 00 01 	movb   $0x1,0x4ad0(%ebx)
415a05:	32 c0                	xor    %al,%al
415a07:	e9 ac 05 00 00       	jmp    0x415fb8
415a0c:	8b 4b 20             	mov    0x20(%ebx),%ecx
415a0f:	8d 4c 01 ff          	lea    -0x1(%ecx,%eax,1),%ecx
415a13:	8b 83 cc 4a 00 00    	mov    0x4acc(%ebx),%eax
415a19:	83 e8 10             	sub    $0x10,%eax
415a1c:	3b c8                	cmp    %eax,%ecx
415a1e:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
415a21:	89 45 e0             	mov    %eax,-0x20(%ebp)
415a24:	89 4d e8             	mov    %ecx,-0x18(%ebp)
415a27:	7c 03                	jl     0x415a2c
415a29:	89 45 e8             	mov    %eax,-0x18(%ebp)
415a2c:	8b 8f f8 e6 00 00    	mov    0xe6f8(%edi),%ecx
415a32:	21 4f 70             	and    %ecx,0x70(%edi)
415a35:	8b 06                	mov    (%esi),%eax
415a37:	3b 45 e8             	cmp    -0x18(%ebp),%eax
415a3a:	7c 35                	jl     0x415a71
415a3c:	3b 45 e4             	cmp    -0x1c(%ebp),%eax
415a3f:	0f 8f 71 05 00 00    	jg     0x415fb6
415a45:	75 0c                	jne    0x415a53
415a47:	8b 53 08             	mov    0x8(%ebx),%edx
415a4a:	3b 53 1c             	cmp    0x1c(%ebx),%edx
415a4d:	0f 8d 63 05 00 00    	jge    0x415fb6
415a53:	3b 45 e0             	cmp    -0x20(%ebp),%eax
415a56:	7c 0d                	jl     0x415a65
415a58:	80 bb d2 4a 00 00 00 	cmpb   $0x0,0x4ad2(%ebx)
415a5f:	0f 84 3b 09 00 00    	je     0x4163a0
415a65:	3b 83 cc 4a 00 00    	cmp    0x4acc(%ebx),%eax
415a6b:	0f 8d 2f 09 00 00    	jge    0x4163a0
415a71:	8b 97 30 4b 00 00    	mov    0x4b30(%edi),%edx
415a77:	8b 47 70             	mov    0x70(%edi),%eax
415a7a:	2b d0                	sub    %eax,%edx
415a7c:	23 d1                	and    %ecx,%edx
415a7e:	81 fa 04 10 00 00    	cmp    $0x1004,%edx
415a84:	73 35                	jae    0x415abb
415a86:	39 87 30 4b 00 00    	cmp    %eax,0x4b30(%edi)
415a8c:	74 2d                	je     0x415abb
415a8e:	8b cf                	mov    %edi,%ecx
415a90:	e8 d8 f4 ff ff       	call   0x414f6d
415a95:	8b 87 54 4c 00 00    	mov    0x4c54(%edi),%eax
415a9b:	3b 87 44 4c 00 00    	cmp    0x4c44(%edi),%eax
415aa1:	0f 8f 5e ff ff ff    	jg     0x415a05
415aa7:	7c 12                	jl     0x415abb
415aa9:	8b 87 50 4c 00 00    	mov    0x4c50(%edi),%eax
415aaf:	3b 87 40 4c 00 00    	cmp    0x4c40(%edi),%eax
415ab5:	0f 87 4a ff ff ff    	ja     0x415a05
415abb:	8b ce                	mov    %esi,%ecx
415abd:	e8 48 3c ff ff       	call   0x40970a
415ac2:	8b 93 b4 00 00 00    	mov    0xb4(%ebx),%edx
415ac8:	25 fe ff 00 00       	and    $0xfffe,%eax
415acd:	3b 44 93 34          	cmp    0x34(%ebx,%edx,4),%eax
415ad1:	73 29                	jae    0x415afc
415ad3:	6a 10                	push   $0x10
415ad5:	59                   	pop    %ecx
415ad6:	2b ca                	sub    %edx,%ecx