81069f:	8b dd                	mov    %ebp,%ebx
8106a1:	8d 4b 01             	lea    0x1(%ebx),%ecx
8106a4:	8a 03                	mov    (%ebx),%al
8106a6:	43                   	inc    %ebx
8106a7:	84 c0                	test   %al,%al
8106a9:	75 f9                	jne    0x8106a4
8106ab:	2b d9                	sub    %ecx,%ebx
8106ad:	89 5c 24 20          	mov    %ebx,0x20(%esp)
8106b1:	8d 84 24 c4 04 00 00 	lea    0x4c4(%esp),%eax
8106b8:	68 01 04 00 00       	push   $0x401
8106bd:	50                   	push   %eax
8106be:	e8 5f 75 c2 ff       	call   0x437c22
8106c3:	83 c4 08             	add    $0x8,%esp
8106c6:	85 c0                	test   %eax,%eax
8106c8:	74 18                	je     0x8106e2
8106ca:	68 44 5a c3 00       	push   $0xc35a44
8106cf:	56                   	push   %esi
8106d0:	e8 77 f1 c1 ff       	call   0x42f84c
8106d5:	83 c4 08             	add    $0x8,%esp
8106d8:	c7 44 24 14 00 00 00 	movl   $0x0,0x14(%esp)
8106df:	00
8106e0:	eb 1b                	jmp    0x8106fd
8106e2:	8d 8c 24 c4 04 00 00 	lea    0x4c4(%esp),%ecx
8106e9:	8d 51 01             	lea    0x1(%ecx),%edx
8106ec:	0f 1f 40 00          	nopl   0x0(%eax)
8106f0:	8a 01                	mov    (%ecx),%al
8106f2:	41                   	inc    %ecx
8106f3:	84 c0                	test   %al,%al
8106f5:	75 f9                	jne    0x8106f0
8106f7:	2b ca                	sub    %edx,%ecx
8106f9:	89 4c 24 14          	mov    %ecx,0x14(%esp)
8106fd:	8b 7c 24 34          	mov    0x34(%esp),%edi
810701:	83 7f 14 00          	cmpl   $0x0,0x14(%edi)
810705:	0f 84 aa 00 00 00    	je     0x8107b5
81070b:	56                   	push   %esi
81070c:	e8 cd 39 bf ff       	call   0x4040de
810711:	56                   	push   %esi
810712:	89 44 24 64          	mov    %eax,0x64(%esp)
810716:	e8 c3 39 bf ff       	call   0x4040de
81071b:	89 44 24 68          	mov    %eax,0x68(%esp)
81071f:	8d 84 24 9c 00 00 00 	lea    0x9c(%esp),%eax
810726:	50                   	push   %eax
810727:	ff 74 24 34          	push   0x34(%esp)
81072b:	56                   	push   %esi
81072c:	e8 e2 31 bf ff       	call   0x403913
810731:	83 c4 14             	add    $0x14,%esp
810734:	85 c0                	test   %eax,%eax
810736:	0f 85 a0 03 00 00    	jne    0x810adc
81073c:	8d 44 24 64          	lea    0x64(%esp),%eax
810740:	50                   	push   %eax
810741:	8d 84 24 98 00 00 00 	lea    0x98(%esp),%eax
810748:	50                   	push   %eax
810749:	ff 74 24 20          	push   0x20(%esp)
81074d:	ff 74 24 30          	push   0x30(%esp)
810751:	53                   	push   %ebx
810752:	55                   	push   %ebp
810753:	e8 50 9e c2 ff       	call   0x43a5a8
810758:	83 c4 18             	add    $0x18,%esp
81075b:	85 c0                	test   %eax,%eax
81075d:	0f 85 79 03 00 00    	jne    0x810adc
810763:	8d 44 24 7c          	lea    0x7c(%esp),%eax
810767:	50                   	push   %eax
810768:	8d 47 08             	lea    0x8(%edi),%eax
81076b:	50                   	push   %eax
81076c:	8d 44 24 64          	lea    0x64(%esp),%eax
810770:	50                   	push   %eax
810771:	8d 44 24 70          	lea    0x70(%esp),%eax
810775:	50                   	push   %eax
810776:	e8 66 7f c1 ff       	call   0x4286e1
81077b:	83 c4 10             	add    $0x10,%esp
81077e:	85 c0                	test   %eax,%eax
810780:	0f 85 56 03 00 00    	jne    0x810adc
810786:	8d 44 24 1c          	lea    0x1c(%esp),%eax
81078a:	50                   	push   %eax
81078b:	8d 44 24 30          	lea    0x30(%esp),%eax
81078f:	50                   	push   %eax
810790:	57                   	push   %edi
810791:	8d 44 24 68          	lea    0x68(%esp),%eax
810795:	50                   	push   %eax
810796:	8d 44 24 74          	lea    0x74(%esp),%eax
81079a:	50                   	push   %eax
81079b:	e8 81 a7 c2 ff       	call   0x43af21
8107a0:	83 c4 14             	add    $0x14,%esp
8107a3:	85 c0                	test   %eax,%eax
8107a5:	0f 85 31 03 00 00    	jne    0x810adc
8107ab:	8b 44 24 2c          	mov    0x2c(%esp),%eax
8107af:	89 44 24 38          	mov    %eax,0x38(%esp)
8107b3:	eb 61                	jmp    0x810816
8107b5:	8b 6c 24 28          	mov    0x28(%esp),%ebp
8107b9:	8d 84 24 94 00 00 00 	lea    0x94(%esp),%eax
8107c0:	50                   	push   %eax
8107c1:	55                   	push   %ebp
8107c2:	56                   	push   %esi
8107c3:	e8 4b 31 bf ff       	call   0x403913
8107c8:	83 c4 0c             	add    $0xc,%esp
8107cb:	85 c0                	test   %eax,%eax
8107cd:	0f 85 09 03 00 00    	jne    0x810adc
8107d3:	8d 84 24 ac 00 00 00 	lea    0xac(%esp),%eax
8107da:	83 c7 08             	add    $0x8,%edi
8107dd:	50                   	push   %eax
8107de:	8d 84 24 98 00 00 00 	lea    0x98(%esp),%eax
8107e5:	57                   	push   %edi
8107e6:	50                   	push   %eax
8107e7:	e8 41 d4 c0 ff       	call   0x41dc2d
8107ec:	8d 44 24 70          	lea    0x70(%esp),%eax
8107f0:	50                   	push   %eax
8107f1:	55                   	push   %ebp
8107f2:	56                   	push   %esi
8107f3:	e8 e9 30 bf ff       	call   0x4038e1
8107f8:	83 c4 18             	add    $0x18,%esp
8107fb:	85 c0                	test   %eax,%eax
8107fd:	0f 85 d9 02 00 00    	jne    0x810adc
810803:	8d 44 24 7c          	lea    0x7c(%esp),%eax
810807:	50                   	push   %eax
810808:	8d 44 24 68          	lea    0x68(%esp),%eax
81080c:	57                   	push   %edi
81080d:	50                   	push   %eax
81080e:	e8 1a d4 c0 ff       	call   0x41dc2d
810813:	83 c4 0c             	add    $0xc,%esp
810816:	80 7c 24 13 00       	cmpb   $0x0,0x13(%esp)
81081b:	74 1a                	je     0x810837
81081d:	8b 44 24 18          	mov    0x18(%esp),%eax
810821:	03 db                	add    %ebx,%ebx
810823:	03 c0                	add    %eax,%eax
810825:	89 5c 24 20          	mov    %ebx,0x20(%esp)
810829:	89 44 24 18          	mov    %eax,0x18(%esp)
81082d:	8b 44 24 14          	mov    0x14(%esp),%eax
810831:	03 c0                	add    %eax,%eax
810833:	89 44 24 14          	mov    %eax,0x14(%esp)
810837:	8b 44 24 1c          	mov    0x1c(%esp),%eax
81083b:	83 c0 58             	add    $0x58,%eax
81083e:	8b 4c 24 18          	mov    0x18(%esp),%ecx
810842:	89 44 24 3c          	mov    %eax,0x3c(%esp)
810846:	03 44 24 18          	add    0x18(%esp),%eax
81084a:	89 44 24 28          	mov    %eax,0x28(%esp)
81084e:	8d 14 03             	lea    (%ebx,%eax,1),%edx
810851:	8b 44 24 14          	mov    0x14(%esp),%eax
810855:	c1 e8 08             	shr    $0x8,%eax
810858:	0f b6 f0             	movzbl %al,%esi
81085b:	8b 44 24 14          	mov    0x14(%esp),%eax
81085f:	0f b6 f8             	movzbl %al,%edi
810862:	8b c3                	mov    %ebx,%eax
810864:	c1 e8 08             	shr    $0x8,%eax
810867:	0f b6 d8             	movzbl %al,%ebx
81086a:	8b 44 24 20          	mov    0x20(%esp),%eax
81086e:	0f b6 e8             	movzbl %al,%ebp
810871:	8b 44 24 18          	mov    0x18(%esp),%eax
810875:	c1 e8 08             	shr    $0x8,%eax
810878:	0f b6 c0             	movzbl %al,%eax
81087b:	89 44 24 40          	mov    %eax,0x40(%esp)
81087f:	0f b6 c1             	movzbl %cl,%eax
810882:	8b 4c 24 1c          	mov    0x1c(%esp),%ecx
810886:	89 44 24 44          	mov    %eax,0x44(%esp)
81088a:	8b c1                	mov    %ecx,%eax
81088c:	c1 e8 08             	shr    $0x8,%eax
81088f:	0f b6 c0             	movzbl %al,%eax
810892:	89 44 24 48          	mov    %eax,0x48(%esp)
810896:	0f b6 c1             	movzbl %cl,%eax
810899:	8b 4c 24 34          	mov    0x34(%esp),%ecx
81089d:	89 44 24 4c          	mov    %eax,0x4c(%esp)
8108a1:	0f b6 41 07          	movzbl 0x7(%ecx),%eax
8108a5:	50                   	push   %eax
8108a6:	0f b6 41 06          	movzbl 0x6(%ecx),%eax
8108aa:	50                   	push   %eax
8108ab:	0f b6 41 05          	movzbl 0x5(%ecx),%eax
8108af:	50                   	push   %eax
8108b0:	0f b6 41 04          	movzbl 0x4(%ecx),%eax
8108b4:	50                   	push   %eax
8108b5:	6a 00                	push   $0x0
8108b7:	6a 00                	push   $0x0
8108b9:	6a 00                	push   $0x0
8108bb:	6a 00                	push   $0x0
8108bd:	6a 00                	push   $0x0
8108bf:	6a 00                	push   $0x0
8108c1:	6a 00                	push   $0x0
8108c3:	6a 00                	push   $0x0
8108c5:	8b 4c 24 58          	mov    0x58(%esp),%ecx
8108c9:	8b c2                	mov    %edx,%eax
8108cb:	6a 00                	push   $0x0
8108cd:	6a 00                	push   $0x0
8108cf:	c1 e8 08             	shr    $0x8,%eax
8108d2:	0f b6 c0             	movzbl %al,%eax
8108d5:	50                   	push   %eax
8108d6:	0f b6 c2             	movzbl %dl,%eax
8108d9:	50                   	push   %eax
8108da:	56                   	push   %esi
8108db:	57                   	push   %edi
8108dc:	56                   	push   %esi
8108dd:	57                   	push   %edi
8108de:	6a 00                	push   $0x0
8108e0:	6a 00                	push   $0x0
8108e2:	8b c1                	mov    %ecx,%eax
8108e4:	c1 e8 08             	shr    $0x8,%eax
8108e7:	0f b6 c0             	movzbl %al,%eax
8108ea:	50                   	push   %eax
8108eb:	0f b6 c1             	movzbl %cl,%eax
8108ee:	8b 8c 24 98 00 00 00 	mov    0x98(%esp),%ecx
8108f5:	50                   	push   %eax
8108f6:	53                   	push   %ebx
8108f7:	55                   	push   %ebp
8108f8:	53                   	push   %ebx
8108f9:	55                   	push   %ebp
8108fa:	6a 00                	push   $0x0
8108fc:	8b c1                	mov    %ecx,%eax
8108fe:	c1 e8 08             	shr    $0x8,%eax
810901:	6a 00                	push   $0x0
810903:	0f b6 c0             	movzbl %al,%eax
810906:	50                   	push   %eax
810907:	0f b6 c1             	movzbl %cl,%eax
81090a:	50                   	push   %eax
81090b:	8b 84 24 c0 00 00 00 	mov    0xc0(%esp),%eax
810912:	8b 8c 24 c4 00 00 00 	mov    0xc4(%esp),%ecx
810919:	50                   	push   %eax
81091a:	51                   	push   %ecx
81091b:	50                   	push   %eax
81091c:	8b 84 24 d4 00 00 00 	mov    0xd4(%esp),%eax
810923:	51                   	push   %ecx
810924:	8b 8c 24 dc 00 00 00 	mov    0xdc(%esp),%ecx
81092b:	6a 00                	push   $0x0
81092d:	6a 00                	push   $0x0
81092f:	6a 00                	push   $0x0
810931:	6a 58                	push   $0x58
810933:	50                   	push   %eax
810934:	51                   	push   %ecx
810935:	50                   	push   %eax
810936:	51                   	push   %ecx
810937:	6a 00                	push   $0x0
810939:	6a 00                	push   $0x0
81093b:	6a 00                	push   $0x0
81093d:	6a 40                	push   $0x40
81093f:	6a 00                	push   $0x0
810941:	6a 18                	push   $0x18
810943:	6a 00                	push   $0x0
810945:	6a 18                	push   $0x18
810947:	6a 00                	push   $0x0
810949:	6a 00                	push   $0x0
81094b:	6a 00                	push   $0x0
81094d:	6a 00                	push   $0x0
81094f:	68 78 5a c3 00       	push   $0xc35a78
810954:	8d 84 24 a8 01 00 00 	lea    0x1a8(%esp),%eax
81095b:	68 00 04 00 00       	push   $0x400
810960:	50                   	push   %eax
810961:	e8 8a bf c0 ff       	call   0x41c8f0
810966:	8b f0                	mov    %eax,%esi
810968:	81 c4 ec 00 00 00    	add    $0xec,%esp
81096e:	81 fe e8 03 00 00    	cmp    $0x3e8,%esi
810974:	73 22                	jae    0x810998
810976:	0f 10 44 24 7c       	movups 0x7c(%esp),%xmm0
81097b:	0f 11 84 34 c4 00 00 	movups %xmm0,0xc4(%esp,%esi,1)
810982:	00
810983:	f3 0f 7e 84 24 8c 00 	movq   0x8c(%esp),%xmm0
81098a:	00 00
81098c:	66 0f d6 84 34 d4 00 	movq   %xmm0,0xd4(%esp,%esi,1)
810993:	00 00
810995:	83 c6 18             	add    $0x18,%esi
810998:	8b 7c 24 1c          	mov    0x1c(%esp),%edi
81099c:	b8 00 04 00 00       	mov    $0x400,%eax
8109a1:	2b c7                	sub    %edi,%eax
8109a3:	3b f0                	cmp    %eax,%esi
8109a5:	73 19                	jae    0x8109c0
8109a7:	57                   	push   %edi
8109a8:	ff 74 24 3c          	push   0x3c(%esp)
8109ac:	8d 84 24 cc 00 00 00 	lea    0xcc(%esp),%eax
8109b3:	03 c6                	add    %esi,%eax
8109b5:	50                   	push   %eax
8109b6:	e8 c7 3c c0 ff       	call   0x414682
8109bb:	83 c4 0c             	add    $0xc,%esp
8109be:	03 f7                	add    %edi,%esi
8109c0:	ff 74 24 2c          	push   0x2c(%esp)
8109c4:	ff 15 04 e2 d5 00    	call   *0xd5e204
8109ca:	8b 4c 24 1c          	mov    0x1c(%esp),%ecx
8109ce:	83 c4 04             	add    $0x4,%esp
8109d1:	8b 5c 24 20          	mov    0x20(%esp),%ebx
8109d5:	8d 3c 0e             	lea    (%esi,%ecx,1),%edi
8109d8:	8d 04 1f             	lea    (%edi,%ebx,1),%eax
8109db:	03 44 24 14          	add    0x14(%esp),%eax
8109df:	3d 00 04 00 00       	cmp    $0x400,%eax
8109e4:	72 1b                	jb     0x810a01
8109e6:	68 0c 5b c3 00       	push   $0xc35b0c
8109eb:	ff 74 24 54          	push   0x54(%esp)
8109ef:	e8 7c 63 bf ff       	call   0x406d70
8109f4:	83 c4 08             	add    $0x8,%esp
8109f7:	b8 1b 00 00 00       	mov    $0x1b,%eax
8109fc:	e9 db 00 00 00       	jmp    0x810adc
810a01:	8d 84 24 c4 00 00 00 	lea    0xc4(%esp),%eax
810a08:	03 c6                	add    %esi,%eax
810a0a:	80 7c 24 13 00       	cmpb   $0x0,0x13(%esp)
810a0f:	74 0f                	je     0x810a20
810a11:	d1 e9                	shr    $1,%ecx
810a13:	51                   	push   %ecx
810a14:	ff 74 24 28          	push   0x28(%esp)
810a18:	50                   	push   %eax
810a19:	e8 c2 04 00 00       	call   0x810ee0
810a1e:	eb 0b                	jmp    0x810a2b
810a20:	51                   	push   %ecx
810a21:	ff 74 24 28          	push   0x28(%esp)
810a25:	50                   	push   %eax
810a26:	e8 57 3c c0 ff       	call   0x414682
810a2b:	83 c4 0c             	add    $0xc,%esp
810a2e:	80 7c 24 13 00       	cmpb   $0x0,0x13(%esp)
810a33:	74 1a                	je     0x810a4f
810a35:	8b c3                	mov    %ebx,%eax
810a37:	d1 e8                	shr    $1,%eax
810a39:	50                   	push   %eax
810a3a:	ff 74 24 34          	push   0x34(%esp)
810a3e:	8d 84 24 cc 00 00 00 	lea    0xcc(%esp),%eax
810a45:	03 c7                	add    %edi,%eax
810a47:	50                   	push   %eax
810a48:	e8 93 04 00 00       	call   0x810ee0
810a4d:	eb 14                	jmp    0x810a63
810a4f:	53                   	push   %ebx
810a50:	ff 74 24 34          	push   0x34(%esp)
810a54:	8d 84 24 cc 00 00 00 	lea    0xcc(%esp),%eax
810a5b:	03 c7                	add    %edi,%eax
810a5d:	50                   	push   %eax
810a5e:	e8 1f 3c c0 ff       	call   0x414682
810a63:	83 c4 0c             	add    $0xc,%esp
810a66:	03 fb                	add    %ebx,%edi
810a68:	80 7c 24 13 00       	cmpb   $0x0,0x13(%esp)
810a6d:	74 20                	je     0x810a8f
810a6f:	8b 44 24 14          	mov    0x14(%esp),%eax
810a73:	d1 e8                	shr    $1,%eax
810a75:	50                   	push   %eax
810a76:	8d 84 24 c8 04 00 00 	lea    0x4c8(%esp),%eax
810a7d:	50                   	push   %eax
810a7e:	8d 84 24 cc 00 00 00 	lea    0xcc(%esp),%eax
810a85:	03 c7                	add    %edi,%eax
810a87:	50                   	push   %eax
810a88:	e8 53 04 00 00       	call   0x810ee0
810a8d:	eb 1b                	jmp    0x810aaa
810a8f:	ff 74 24 14          	push   0x14(%esp)
810a93:	8d 84 24 c8 04 00 00 	lea    0x4c8(%esp),%eax
810a9a:	50                   	push   %eax
810a9b:	8d 84 24 cc 00 00 00 	lea    0xcc(%esp),%eax
810aa2:	03 c7                	add    %edi,%eax
810aa4:	50                   	push   %eax
810aa5:	e8 d8 3b c0 ff       	call   0x414682
810aaa:	8b 44 24 20          	mov    0x20(%esp),%eax
810aae:	83 c4 0c             	add    $0xc,%esp
810ab1:	03 c7                	add    %edi,%eax
810ab3:	ff 74 24 54          	push   0x54(%esp)
810ab7:	ff 74 24 5c          	push   0x5c(%esp)
810abb:	50                   	push   %eax
810abc:	8d 84 24 d0 00 00 00 	lea    0xd0(%esp),%eax
810ac3:	50                   	push   %eax
810ac4:	6a 00                	push   $0x0
810ac6:	e8 0d b3 c0 ff       	call   0x41bdd8
810acb:	8b f0                	mov    %eax,%esi
810acd:	8b 44 24 48          	mov    0x48(%esp),%eax
810ad1:	50                   	push   %eax