415655:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
415659:	eb 5c                	jmp    0x4156b7
41565b:	8b 5d fc             	mov    -0x4(%ebp),%ebx
41565e:	0f af 5d 14          	imul   0x14(%ebp),%ebx
415662:	03 d9                	add    %ecx,%ebx
415664:	89 5d fc             	mov    %ebx,-0x4(%ebp)
415667:	8a 1f                	mov    (%edi),%bl
415669:	47                   	inc    %edi
41566a:	eb 8c                	jmp    0x4155f8
41566c:	a8 04                	test   $0x4,%al
41566e:	be ff ff ff 7f       	mov    $0x7fffffff,%esi
415673:	75 1b                	jne    0x415690
415675:	a8 01                	test   $0x1,%al
415677:	75 3e                	jne    0x4156b7
415679:	83 e0 02             	and    $0x2,%eax
41567c:	74 09                	je     0x415687
41567e:	81 7d fc 00 00 00 80 	cmpl   $0x80000000,-0x4(%ebp)
415685:	77 09                	ja     0x415690
415687:	85 c0                	test   %eax,%eax
415689:	75 2c                	jne    0x4156b7
41568b:	39 75 fc             	cmp    %esi,-0x4(%ebp)
41568e:	76 27                	jbe    0x4156b7
415690:	e8 65 3d ff ff       	call   0x4093fa
415695:	f6 45 18 01          	testb  $0x1,0x18(%ebp)
415699:	c7 00 22 00 00 00    	movl   $0x22,(%eax)
41569f:	74 06                	je     0x4156a7
4156a1:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
4156a5:	eb 10                	jmp    0x4156b7
4156a7:	8a 45 18             	mov    0x18(%ebp),%al
4156aa:	24 02                	and    $0x2,%al
4156ac:	f6 d8                	neg    %al
4156ae:	1b c0                	sbb    %eax,%eax
4156b0:	f7 d8                	neg    %eax
4156b2:	03 c6                	add    %esi,%eax
4156b4:	89 45 fc             	mov    %eax,-0x4(%ebp)
4156b7:	8b 45 10             	mov    0x10(%ebp),%eax
4156ba:	85 c0                	test   %eax,%eax
4156bc:	74 02                	je     0x4156c0
4156be:	89 38                	mov    %edi,(%eax)
4156c0:	f6 45 18 02          	testb  $0x2,0x18(%ebp)
4156c4:	74 03                	je     0x4156c9
4156c6:	f7 5d fc             	negl   -0x4(%ebp)
4156c9:	80 7d f8 00          	cmpb   $0x0,-0x8(%ebp)
4156cd:	74 07                	je     0x4156d6
4156cf:	8b 45 f4             	mov    -0xc(%ebp),%eax
4156d2:	83 60 70 fd          	andl   $0xfffffffd,0x70(%eax)
4156d6:	8b 45 fc             	mov    -0x4(%ebp),%eax
4156d9:	eb 18                	jmp    0x4156f3
4156db:	8b 45 10             	mov    0x10(%ebp),%eax
4156de:	85 c0                	test   %eax,%eax
4156e0:	74 02                	je     0x4156e4
4156e2:	89 30                	mov    %esi,(%eax)
4156e4:	80 7d f8 00          	cmpb   $0x0,-0x8(%ebp)
4156e8:	74 07                	je     0x4156f1
4156ea:	8b 45 f4             	mov    -0xc(%ebp),%eax
4156ed:	83 60 70 fd          	andl   $0xfffffffd,0x70(%eax)
4156f1:	33 c0                	xor    %eax,%eax
4156f3:	5b                   	pop    %ebx
4156f4:	5f                   	pop    %edi
4156f5:	5e                   	pop    %esi
4156f6:	c9                   	leave
4156f7:	c3                   	ret
4156f8:	55                   	push   %ebp
4156f9:	8b ec                	mov    %esp,%ebp
4156fb:	33 c0                	xor    %eax,%eax
4156fd:	39 05 04 da 41 00    	cmp    %eax,0x41da04
415703:	50                   	push   %eax
415704:	ff 75 10             	push   0x10(%ebp)
415707:	ff 75 0c             	push   0xc(%ebp)
41570a:	ff 75 08             	push   0x8(%ebp)
41570d:	75 07                	jne    0x415716
41570f:	68 28 d2 41 00       	push   $0x41d228
415714:	eb 01                	jmp    0x415717
415716:	50                   	push   %eax
415717:	e8 b1 fd ff ff       	call   0x4154cd
41571c:	83 c4 14             	add    $0x14,%esp
41571f:	5d                   	pop    %ebp
415720:	c3                   	ret
415721:	33 c0                	xor    %eax,%eax
415723:	50                   	push   %eax
415724:	50                   	push   %eax
415725:	6a 03                	push   $0x3
415727:	50                   	push   %eax
415728:	6a 03                	push   $0x3
41572a:	68 00 00 00 40       	push   $0x40000000
41572f:	68 e4 97 41 00       	push   $0x4197e4
415734:	ff 15 34 70 41 00    	call   *0x417034
41573a:	a3 94 d5 41 00       	mov    %eax,0x41d594
41573f:	c3                   	ret
415740:	a1 94 d5 41 00       	mov    0x41d594,%eax
415745:	83 f8 ff             	cmp    $0xffffffff,%eax
415748:	56                   	push   %esi
415749:	8b 35 20 70 41 00    	mov    0x417020,%esi
41574f:	74 08                	je     0x415759
415751:	83 f8 fe             	cmp    $0xfffffffe,%eax
415754:	74 03                	je     0x415759
415756:	50                   	push   %eax
415757:	ff d6                	call   *%esi
415759:	a1 90 d5 41 00       	mov    0x41d590,%eax
41575e:	83 f8 ff             	cmp    $0xffffffff,%eax
415761:	74 08                	je     0x41576b
415763:	83 f8 fe             	cmp    $0xfffffffe,%eax
415766:	74 03                	je     0x41576b
415768:	50                   	push   %eax
415769:	ff d6                	call   *%esi
41576b:	5e                   	pop    %esi
41576c:	c3                   	ret
41576d:	55                   	push   %ebp
41576e:	8b ec                	mov    %esp,%ebp
415770:	83 ec 18             	sub    $0x18,%esp
415773:	53                   	push   %ebx
415774:	56                   	push   %esi
415775:	ff 75 0c             	push   0xc(%ebp)
415778:	8d 4d e8             	lea    -0x18(%ebp),%ecx
41577b:	e8 44 32 ff ff       	call   0x4089c4
415780:	8b 5d 08             	mov    0x8(%ebp),%ebx
415783:	be 00 01 00 00       	mov    $0x100,%esi
415788:	3b de                	cmp    %esi,%ebx
41578a:	73 54                	jae    0x4157e0
41578c:	8b 4d e8             	mov    -0x18(%ebp),%ecx
41578f:	83 b9 ac 00 00 00 01 	cmpl   $0x1,0xac(%ecx)
415796:	7e 14                	jle    0x4157ac
415798:	8d 45 e8             	lea    -0x18(%ebp),%eax
41579b:	50                   	push   %eax
41579c:	6a 01                	push   $0x1
41579e:	53                   	push   %ebx
41579f:	e8 d8 ae ff ff       	call   0x41067c
4157a4:	8b 4d e8             	mov    -0x18(%ebp),%ecx
4157a7:	83 c4 0c             	add    $0xc,%esp
4157aa:	eb 0d                	jmp    0x4157b9
4157ac:	8b 81 c8 00 00 00    	mov    0xc8(%ecx),%eax
4157b2:	0f b6 04 58          	movzbl (%eax,%ebx,2),%eax
4157b6:	83 e0 01             	and    $0x1,%eax
4157b9:	85 c0                	test   %eax,%eax
4157bb:	74 0f                	je     0x4157cc
4157bd:	8b 81 cc 00 00 00    	mov    0xcc(%ecx),%eax
4157c3:	0f b6 04 18          	movzbl (%eax,%ebx,1),%eax
4157c7:	e9 a7 00 00 00       	jmp    0x415873
4157cc:	80 7d f4 00          	cmpb   $0x0,-0xc(%ebp)
4157d0:	74 07                	je     0x4157d9
4157d2:	8b 45 f0             	mov    -0x10(%ebp),%eax
4157d5:	83 60 70 fd          	andl   $0xfffffffd,0x70(%eax)
4157d9:	8b c3                	mov    %ebx,%eax
4157db:	e9 a0 00 00 00       	jmp    0x415880
4157e0:	8b 45 e8             	mov    -0x18(%ebp),%eax
4157e3:	83 b8 ac 00 00 00 01 	cmpl   $0x1,0xac(%eax)
4157ea:	7e 31                	jle    0x41581d
4157ec:	89 5d 08             	mov    %ebx,0x8(%ebp)
4157ef:	c1 7d 08 08          	sarl   $0x8,0x8(%ebp)
4157f3:	8d 45 e8             	lea    -0x18(%ebp),%eax
4157f6:	50                   	push   %eax
4157f7:	8b 45 08             	mov    0x8(%ebp),%eax
4157fa:	25 ff 00 00 00       	and    $0xff,%eax
4157ff:	50                   	push   %eax
415800:	e8 dd 90 ff ff       	call   0x40e8e2
415805:	85 c0                	test   %eax,%eax
415807:	59                   	pop    %ecx
415808:	59                   	pop    %ecx
415809:	74 12                	je     0x41581d
41580b:	8a 45 08             	mov    0x8(%ebp),%al
41580e:	6a 02                	push   $0x2
415810:	88 45 fc             	mov    %al,-0x4(%ebp)
415813:	88 5d fd             	mov    %bl,-0x3(%ebp)
415816:	c6 45 fe 00          	movb   $0x0,-0x2(%ebp)
41581a:	59                   	pop    %ecx
41581b:	eb 15                	jmp    0x415832
41581d:	e8 d8 3b ff ff       	call   0x4093fa
415822:	c7 00 2a 00 00 00    	movl   $0x2a,(%eax)
415828:	33 c9                	xor    %ecx,%ecx
41582a:	88 5d fc             	mov    %bl,-0x4(%ebp)
41582d:	c6 45 fd 00          	movb   $0x0,-0x3(%ebp)
415831:	41                   	inc    %ecx
415832:	8b 45 e8             	mov    -0x18(%ebp),%eax
415835:	6a 01                	push   $0x1
415837:	ff 70 04             	push   0x4(%eax)
41583a:	8d 55 f8             	lea    -0x8(%ebp),%edx
41583d:	6a 03                	push   $0x3
41583f:	52                   	push   %edx
415840:	51                   	push   %ecx
415841:	8d 4d fc             	lea    -0x4(%ebp),%ecx
415844:	51                   	push   %ecx
415845:	56                   	push   %esi
415846:	ff 70 14             	push   0x14(%eax)
415849:	8d 45 e8             	lea    -0x18(%ebp),%eax
41584c:	50                   	push   %eax
41584d:	e8 96 35 ff ff       	call   0x408de8
415852:	83 c4 24             	add    $0x24,%esp
415855:	85 c0                	test   %eax,%eax
415857:	0f 84 6f ff ff ff    	je     0x4157cc
41585d:	83 f8 01             	cmp    $0x1,%eax
415860:	75 06                	jne    0x415868
415862:	0f b6 45 f8          	movzbl -0x8(%ebp),%eax
415866:	eb 0b                	jmp    0x415873
415868:	0f b6 4d f9          	movzbl -0x7(%ebp),%ecx
41586c:	33 c0                	xor    %eax,%eax
41586e:	8a 65 f8             	mov    -0x8(%ebp),%ah
415871:	0b c1                	or     %ecx,%eax
415873:	80 7d f4 00          	cmpb   $0x0,-0xc(%ebp)
415877:	74 07                	je     0x415880
415879:	8b 4d f0             	mov    -0x10(%ebp),%ecx
41587c:	83 61 70 fd          	andl   $0xfffffffd,0x70(%ecx)
415880:	5e                   	pop    %esi
415881:	5b                   	pop    %ebx
415882:	c9                   	leave
415883:	c3                   	ret
415884:	cc                   	int3
415885:	cc                   	int3
415886:	cc                   	int3
415887:	cc                   	int3
415888:	cc                   	int3
415889:	cc                   	int3
41588a:	cc                   	int3
41588b:	cc                   	int3
41588c:	cc                   	int3
41588d:	cc                   	int3
41588e:	cc                   	int3
41588f:	cc                   	int3
415890:	55                   	push   %ebp
415891:	8b ec                	mov    %esp,%ebp
415893:	57                   	push   %edi
415894:	56                   	push   %esi
415895:	53                   	push   %ebx
415896:	8b 4d 10             	mov    0x10(%ebp),%ecx
415899:	0b c9                	or     %ecx,%ecx
41589b:	74 4d                	je     0x4158ea
41589d:	8b 75 08             	mov    0x8(%ebp),%esi
4158a0:	8b 7d 0c             	mov    0xc(%ebp),%edi
4158a3:	b7 41                	mov    $0x41,%bh
4158a5:	b3 5a                	mov    $0x5a,%bl
4158a7:	b6 20                	mov    $0x20,%dh
4158a9:	8d 49 00             	lea    0x0(%ecx),%ecx
4158ac:	8a 26                	mov    (%esi),%ah
4158ae:	0a e4                	or     %ah,%ah
4158b0:	8a 07                	mov    (%edi),%al
4158b2:	74 27                	je     0x4158db
4158b4:	0a c0                	or     %al,%al
4158b6:	74 23                	je     0x4158db
4158b8:	83 c6 01             	add    $0x1,%esi
4158bb:	83 c7 01             	add    $0x1,%edi
4158be:	3a e7                	cmp    %bh,%ah
4158c0:	72 06                	jb     0x4158c8
4158c2:	3a e3                	cmp    %bl,%ah
4158c4:	77 02                	ja     0x4158c8
4158c6:	02 e6                	add    %dh,%ah
4158c8:	3a c7                	cmp    %bh,%al
4158ca:	72 06                	jb     0x4158d2
4158cc:	3a c3                	cmp    %bl,%al
4158ce:	77 02                	ja     0x4158d2
4158d0:	02 c6                	add    %dh,%al
4158d2:	3a e0                	cmp    %al,%ah
4158d4:	75 0b                	jne    0x4158e1
4158d6:	83 e9 01             	sub    $0x1,%ecx
4158d9:	75 d1                	jne    0x4158ac
4158db:	33 c9                	xor    %ecx,%ecx
4158dd:	3a e0                	cmp    %al,%ah
4158df:	74 09                	je     0x4158ea
4158e1:	b9 ff ff ff ff       	mov    $0xffffffff,%ecx
4158e6:	72 02                	jb     0x4158ea
4158e8:	f7 d9                	neg    %ecx
4158ea:	8b c1                	mov    %ecx,%eax
4158ec:	5b                   	pop    %ebx
4158ed:	5e                   	pop    %esi
4158ee:	5f                   	pop    %edi
4158ef:	c9                   	leave
4158f0:	c3                   	ret
4158f1:	53                   	push   %ebx
4158f2:	8b 5c 24 08          	mov    0x8(%esp),%ebx
4158f6:	55                   	push   %ebp
4158f7:	33 ed                	xor    %ebp,%ebp
4158f9:	3b dd                	cmp    %ebp,%ebx
4158fb:	75 04                	jne    0x415901
4158fd:	33 c0                	xor    %eax,%eax
4158ff:	eb 3d                	jmp    0x41593e
415901:	56                   	push   %esi
415902:	57                   	push   %edi
415903:	53                   	push   %ebx
415904:	e8 57 0e ff ff       	call   0x406760
415909:	8b f0                	mov    %eax,%esi
41590b:	46                   	inc    %esi
41590c:	56                   	push   %esi
41590d:	e8 3d 54 ff ff       	call   0x40ad4f
415912:	8b f8                	mov    %eax,%edi
415914:	3b fd                	cmp    %ebp,%edi
415916:	59                   	pop    %ecx
415917:	59                   	pop    %ecx
415918:	74 20                	je     0x41593a
41591a:	53                   	push   %ebx
41591b:	56                   	push   %esi
41591c:	57                   	push   %edi
41591d:	e8 79 53 ff ff       	call   0x40ac9b
415922:	83 c4 0c             	add    $0xc,%esp
415925:	85 c0                	test   %eax,%eax
415927:	74 0d                	je     0x415936
415929:	55                   	push   %ebp
41592a:	55                   	push   %ebp
41592b:	55                   	push   %ebp
41592c:	55                   	push   %ebp
41592d:	55                   	push   %ebp
41592e:	e8 21 1c ff ff       	call   0x407554
415933:	83 c4 14             	add    $0x14,%esp
415936:	8b c7                	mov    %edi,%eax
415938:	eb 02                	jmp    0x41593c
41593a:	33 c0                	xor    %eax,%eax
41593c:	5f                   	pop    %edi
41593d:	5e                   	pop    %esi
41593e:	5d                   	pop    %ebp
41593f:	5b                   	pop    %ebx
415940:	c3                   	ret
415941:	cc                   	int3
415942:	ff 25 ac 70 41 00    	jmp    *0x4170ac
415948:	cc                   	int3
415949:	cc                   	int3
41594a:	cc                   	int3
41594b:	cc                   	int3
41594c:	cc                   	int3
41594d:	cc                   	int3
41594e:	cc                   	int3
41594f:	cc                   	int3
415950:	55                   	push   %ebp
415951:	8b ec                	mov    %esp,%ebp
415953:	57                   	push   %edi
415954:	56                   	push   %esi
415955:	8b 7d 08             	mov    0x8(%ebp),%edi
415958:	8b d7                	mov    %edi,%edx
41595a:	8b f7                	mov    %edi,%esi
41595c:	33 c0                	xor    %eax,%eax
41595e:	83 c9 ff             	or     $0xffffffff,%ecx
415961:	f2 ae                	repnz scas %es:(%edi),%al
415963:	83 f9 fe             	cmp    $0xfffffffe,%ecx
415966:	74 17                	je     0x41597f
415968:	83 ef 02             	sub    $0x2,%edi
41596b:	3b f7                	cmp    %edi,%esi
41596d:	73 10                	jae    0x41597f
41596f:	8a 26                	mov    (%esi),%ah
415971:	8a 07                	mov    (%edi),%al
415973:	88 06                	mov    %al,(%esi)
415975:	88 27                	mov    %ah,(%edi)
415977:	83 c6 01             	add    $0x1,%esi
41597a:	83 ef 01             	sub    $0x1,%edi
41597d:	eb ec                	jmp    0x41596b
41597f:	8b c2                	mov    %edx,%eax
415981:	5e                   	pop    %esi
415982:	5f                   	pop    %edi
415983:	c9                   	leave
415984:	c3                   	ret
415985:	83 7c 24 08 00       	cmpl   $0x0,0x8(%esp)
41598a:	74 06                	je     0x415992
41598c:	c6 01 2d             	movb   $0x2d,(%ecx)
41598f:	41                   	inc    %ecx
415990:	f7 d8                	neg    %eax