415592:	ff 92 80 00 00 00    	call   *0x80(%edx)
415598:	5f                   	pop    %edi
415599:	5e                   	pop    %esi
41559a:	5b                   	pop    %ebx
41559b:	c3                   	ret
41559c:	53                   	push   %ebx
41559d:	8b 58 10             	mov    0x10(%eax),%ebx
4155a0:	8d 14 d3             	lea    (%ebx,%edx,8),%edx
4155a3:	8b 40 10             	mov    0x10(%eax),%eax
4155a6:	8d 04 c8             	lea    (%eax,%ecx,8),%eax
4155a9:	8b 0a                	mov    (%edx),%ecx
4155ab:	8b 18                	mov    (%eax),%ebx
4155ad:	89 1a                	mov    %ebx,(%edx)
4155af:	89 08                	mov    %ecx,(%eax)
4155b1:	8b 4a 04             	mov    0x4(%edx),%ecx
4155b4:	8b 58 04             	mov    0x4(%eax),%ebx
4155b7:	89 5a 04             	mov    %ebx,0x4(%edx)
4155ba:	89 48 04             	mov    %ecx,0x4(%eax)
4155bd:	5b                   	pop    %ebx
4155be:	c3                   	ret
4155bf:	90                   	nop
4155c0:	53                   	push   %ebx
4155c1:	56                   	push   %esi
4155c2:	57                   	push   %edi
4155c3:	55                   	push   %ebp
4155c4:	83 c4 f0             	add    $0xfffffff0,%esp
4155c7:	89 4c 24 04          	mov    %ecx,0x4(%esp)
4155cb:	89 14 24             	mov    %edx,(%esp)
4155ce:	8b f8                	mov    %eax,%edi
4155d0:	c6 44 24 08 00       	movb   $0x0,0x8(%esp)
4155d5:	33 f6                	xor    %esi,%esi
4155d7:	8b 47 14             	mov    0x14(%edi),%eax
4155da:	48                   	dec    %eax
4155db:	89 44 24 0c          	mov    %eax,0xc(%esp)
4155df:	3b 74 24 0c          	cmp    0xc(%esp),%esi
4155e3:	7f 3f                	jg     0x415624
4155e5:	8b 5c 24 0c          	mov    0xc(%esp),%ebx
4155e9:	03 de                	add    %esi,%ebx
4155eb:	d1 eb                	shr    $1,%ebx
4155ed:	8b 47 10             	mov    0x10(%edi),%eax
4155f0:	8b 14 d8             	mov    (%eax,%ebx,8),%edx
4155f3:	8b 0c 24             	mov    (%esp),%ecx
4155f6:	8b c7                	mov    %edi,%eax
4155f8:	8b 28                	mov    (%eax),%ebp
4155fa:	ff 55 34             	call   *0x34(%ebp)
4155fd:	85 c0                	test   %eax,%eax
4155ff:	7d 05                	jge    0x415606
415601:	8d 73 01             	lea    0x1(%ebx),%esi
415604:	eb 18                	jmp    0x41561e
415606:	8b d3                	mov    %ebx,%edx
415608:	4a                   	dec    %edx
415609:	89 54 24 0c          	mov    %edx,0xc(%esp)
41560d:	85 c0                	test   %eax,%eax
41560f:	75 0d                	jne    0x41561e
415611:	c6 44 24 08 01       	movb   $0x1,0x8(%esp)
415616:	80 7f 1d 01          	cmpb   $0x1,0x1d(%edi)
41561a:	74 02                	je     0x41561e
41561c:	8b f3                	mov    %ebx,%esi
41561e:	3b 74 24 0c          	cmp    0xc(%esp),%esi
415622:	7e c1                	jle    0x4155e5
415624:	8b 44 24 04          	mov    0x4(%esp),%eax
415628:	89 30                	mov    %esi,(%eax)
41562a:	8a 44 24 08          	mov    0x8(%esp),%al
41562e:	83 c4 10             	add    $0x10,%esp
415631:	5d                   	pop    %ebp
415632:	5f                   	pop    %edi
415633:	5e                   	pop    %esi
415634:	5b                   	pop    %ebx
415635:	c3                   	ret
415636:	8b c0                	mov    %eax,%eax
415638:	53                   	push   %ebx
415639:	56                   	push   %esi
41563a:	57                   	push   %edi
41563b:	8b f9                	mov    %ecx,%edi
41563d:	8b f2                	mov    %edx,%esi
41563f:	8b d8                	mov    %eax,%ebx
415641:	85 f6                	test   %esi,%esi
415643:	7c 05                	jl     0x41564a
415645:	3b 73 14             	cmp    0x14(%ebx),%esi
415648:	7c 0f                	jl     0x415659
41564a:	8b 15 84 7f 46 00    	mov    0x467f84,%edx
415650:	8b ce                	mov    %esi,%ecx
415652:	8b c3                	mov    %ebx,%eax
415654:	e8 4f f3 ff ff       	call   0x4149a8
415659:	8b c7                	mov    %edi,%eax
41565b:	8b 53 10             	mov    0x10(%ebx),%edx
41565e:	8b 14 f2             	mov    (%edx,%esi,8),%edx
415661:	e8 aa e9 fe ff       	call   0x404010
415666:	5f                   	pop    %edi
415667:	5e                   	pop    %esi
415668:	5b                   	pop    %ebx
415669:	c3                   	ret
41566a:	8b c0                	mov    %eax,%eax
41566c:	8b 40 18             	mov    0x18(%eax),%eax
41566f:	c3                   	ret
415670:	8b 40 14             	mov    0x14(%eax),%eax
415673:	c3                   	ret
415674:	53                   	push   %ebx
415675:	56                   	push   %esi
415676:	8b f2                	mov    %edx,%esi
415678:	8b d8                	mov    %eax,%ebx
41567a:	85 f6                	test   %esi,%esi
41567c:	7c 05                	jl     0x415683
41567e:	3b 73 14             	cmp    0x14(%ebx),%esi
415681:	7c 0f                	jl     0x415692
415683:	8b 15 84 7f 46 00    	mov    0x467f84,%edx
415689:	8b ce                	mov    %esi,%ecx
41568b:	8b c3                	mov    %ebx,%eax
41568d:	e8 16 f3 ff ff       	call   0x4149a8
415692:	8b 43 10             	mov    0x10(%ebx),%eax
415695:	8b 44 f0 04          	mov    0x4(%eax,%esi,8),%eax
415699:	5e                   	pop    %esi
41569a:	5b                   	pop    %ebx
41569b:	c3                   	ret
41569c:	56                   	push   %esi
41569d:	8b 50 18             	mov    0x18(%eax),%edx
4156a0:	83 fa 40             	cmp    $0x40,%edx
4156a3:	7e 0e                	jle    0x4156b3
4156a5:	8b f2                	mov    %edx,%esi
4156a7:	85 f6                	test   %esi,%esi
4156a9:	79 03                	jns    0x4156ae
4156ab:	83 c6 03             	add    $0x3,%esi
4156ae:	c1 fe 02             	sar    $0x2,%esi
4156b1:	eb 11                	jmp    0x4156c4
4156b3:	83 fa 08             	cmp    $0x8,%edx
4156b6:	7e 07                	jle    0x4156bf
4156b8:	be 10 00 00 00       	mov    $0x10,%esi
4156bd:	eb 05                	jmp    0x4156c4
4156bf:	be 04 00 00 00       	mov    $0x4,%esi
4156c4:	03 f2                	add    %edx,%esi
4156c6:	8b d6                	mov    %esi,%edx
4156c8:	8b 08                	mov    (%eax),%ecx
4156ca:	ff 51 28             	call   *0x28(%ecx)
4156cd:	5e                   	pop    %esi
4156ce:	c3                   	ret
4156cf:	90                   	nop
4156d0:	53                   	push   %ebx
4156d1:	56                   	push   %esi
4156d2:	51                   	push   %ecx
4156d3:	8b f2                	mov    %edx,%esi
4156d5:	8b d8                	mov    %eax,%ebx
4156d7:	80 7b 1c 00          	cmpb   $0x0,0x1c(%ebx)
4156db:	75 0e                	jne    0x4156eb
4156dd:	8b d6                	mov    %esi,%edx
4156df:	8b c3                	mov    %ebx,%eax
4156e1:	e8 8a f5 ff ff       	call   0x414c70
4156e6:	89 04 24             	mov    %eax,(%esp)
4156e9:	eb 19                	jmp    0x415704
4156eb:	8b cc                	mov    %esp,%ecx
4156ed:	8b d6                	mov    %esi,%edx
4156ef:	8b c3                	mov    %ebx,%eax
4156f1:	8b 18                	mov    (%eax),%ebx
4156f3:	ff 93 8c 00 00 00    	call   *0x8c(%ebx)
4156f9:	84 c0                	test   %al,%al
4156fb:	75 07                	jne    0x415704
4156fd:	c7 04 24 ff ff ff ff 	movl   $0xffffffff,(%esp)
415704:	8b 04 24             	mov    (%esp),%eax
415707:	5a                   	pop    %edx
415708:	5e                   	pop    %esi
415709:	5b                   	pop    %ebx
41570a:	c3                   	ret
41570b:	90                   	nop
41570c:	53                   	push   %ebx
41570d:	56                   	push   %esi
41570e:	8b f0                	mov    %eax,%esi
415710:	6a 00                	push   $0x0
415712:	8b c6                	mov    %esi,%eax
415714:	8b 18                	mov    (%eax),%ebx
415716:	ff 53 64             	call   *0x64(%ebx)
415719:	5e                   	pop    %esi
41571a:	5b                   	pop    %ebx
41571b:	c3                   	ret
41571c:	55                   	push   %ebp
41571d:	8b ec                	mov    %esp,%ebp
41571f:	53                   	push   %ebx
415720:	56                   	push   %esi
415721:	57                   	push   %edi
415722:	8b f9                	mov    %ecx,%edi
415724:	8b f2                	mov    %edx,%esi
415726:	8b d8                	mov    %eax,%ebx
415728:	80 7b 1c 00          	cmpb   $0x0,0x1c(%ebx)
41572c:	74 0f                	je     0x41573d
41572e:	8b 15 18 7e 46 00    	mov    0x467e18,%edx
415734:	33 c9                	xor    %ecx,%ecx
415736:	8b c3                	mov    %ebx,%eax
415738:	e8 6b f2 ff ff       	call   0x4149a8
41573d:	85 f6                	test   %esi,%esi
41573f:	7c 05                	jl     0x415746
415741:	3b 73 14             	cmp    0x14(%ebx),%esi
415744:	7e 0f                	jle    0x415755
415746:	8b 15 84 7f 46 00    	mov    0x467f84,%edx
41574c:	8b ce                	mov    %esi,%ecx
41574e:	8b c3                	mov    %ebx,%eax
415750:	e8 53 f2 ff ff       	call   0x4149a8
415755:	8b 45 08             	mov    0x8(%ebp),%eax
415758:	50                   	push   %eax
415759:	8b cf                	mov    %edi,%ecx
41575b:	8b d6                	mov    %esi,%edx
41575d:	8b c3                	mov    %ebx,%eax
41575f:	8b 18                	mov    (%eax),%ebx
415761:	ff 93 88 00 00 00    	call   *0x88(%ebx)
415767:	5f                   	pop    %edi
415768:	5e                   	pop    %esi
415769:	5b                   	pop    %ebx
41576a:	5d                   	pop    %ebp
41576b:	c2 04 00             	ret    $0x4
41576e:	8b c0                	mov    %eax,%eax
415770:	55                   	push   %ebp
415771:	8b ec                	mov    %esp,%ebp
415773:	53                   	push   %ebx
415774:	56                   	push   %esi
415775:	57                   	push   %edi
415776:	8b f9                	mov    %ecx,%edi
415778:	8b f2                	mov    %edx,%esi
41577a:	8b d8                	mov    %eax,%ebx
41577c:	8b c3                	mov    %ebx,%eax
41577e:	8b 10                	mov    (%eax),%edx
415780:	ff 92 84 00 00 00    	call   *0x84(%edx)
415786:	8b 43 14             	mov    0x14(%ebx),%eax
415789:	3b 43 18             	cmp    0x18(%ebx),%eax
41578c:	75 07                	jne    0x415795
41578e:	8b c3                	mov    %ebx,%eax
415790:	e8 07 ff ff ff       	call   0x41569c
415795:	8b 43 14             	mov    0x14(%ebx),%eax
415798:	3b f0                	cmp    %eax,%esi
41579a:	7d 1d                	jge    0x4157b9
41579c:	8b 53 10             	mov    0x10(%ebx),%edx
41579f:	8d 54 f2 08          	lea    0x8(%edx,%esi,8),%edx
4157a3:	52                   	push   %edx
4157a4:	8b 53 10             	mov    0x10(%ebx),%edx
4157a7:	8d 14 f2             	lea    (%edx,%esi,8),%edx
4157aa:	2b c6                	sub    %esi,%eax
4157ac:	8b c8                	mov    %eax,%ecx
4157ae:	c1 e1 03             	shl    $0x3,%ecx
4157b1:	8b c2                	mov    %edx,%eax
4157b3:	5a                   	pop    %edx
4157b4:	e8 ff d0 fe ff       	call   0x4028b8
4157b9:	8b 43 10             	mov    0x10(%ebx),%eax
4157bc:	8d 04 f0             	lea    (%eax,%esi,8),%eax
4157bf:	8b f0                	mov    %eax,%esi
4157c1:	33 c0                	xor    %eax,%eax
4157c3:	89 06                	mov    %eax,(%esi)
4157c5:	8b 45 08             	mov    0x8(%ebp),%eax
4157c8:	89 46 04             	mov    %eax,0x4(%esi)
4157cb:	8b c6                	mov    %esi,%eax
4157cd:	8b d7                	mov    %edi,%edx
4157cf:	e8 3c e8 fe ff       	call   0x404010
4157d4:	ff 43 14             	incl   0x14(%ebx)
4157d7:	8b c3                	mov    %ebx,%eax
4157d9:	8b 10                	mov    (%eax),%edx
4157db:	ff 92 80 00 00 00    	call   *0x80(%edx)
4157e1:	5f                   	pop    %edi
4157e2:	5e                   	pop    %esi
4157e3:	5b                   	pop    %ebx
4157e4:	5d                   	pop    %ebp
4157e5:	c2 04 00             	ret    $0x4
4157e8:	53                   	push   %ebx
4157e9:	56                   	push   %esi
4157ea:	57                   	push   %edi
4157eb:	8b f9                	mov    %ecx,%edi
4157ed:	8b f2                	mov    %edx,%esi
4157ef:	8b d8                	mov    %eax,%ebx
4157f1:	80 7b 1c 00          	cmpb   $0x0,0x1c(%ebx)
4157f5:	74 0f                	je     0x415806
4157f7:	8b 15 18 7e 46 00    	mov    0x467e18,%edx
4157fd:	33 c9                	xor    %ecx,%ecx
4157ff:	8b c3                	mov    %ebx,%eax
415801:	e8 a2 f1 ff ff       	call   0x4149a8
415806:	85 f6                	test   %esi,%esi
415808:	7c 05                	jl     0x41580f
41580a:	3b 73 14             	cmp    0x14(%ebx),%esi
41580d:	7c 0f                	jl     0x41581e
41580f:	8b 15 84 7f 46 00    	mov    0x467f84,%edx
415815:	8b ce                	mov    %esi,%ecx
415817:	8b c3                	mov    %ebx,%eax
415819:	e8 8a f1 ff ff       	call   0x4149a8
41581e:	8b c3                	mov    %ebx,%eax
415820:	8b 10                	mov    (%eax),%edx
415822:	ff 92 84 00 00 00    	call   *0x84(%edx)
415828:	8b 43 10             	mov    0x10(%ebx),%eax
41582b:	8d 04 f0             	lea    (%eax,%esi,8),%eax
41582e:	8b d7                	mov    %edi,%edx
415830:	e8 db e7 fe ff       	call   0x404010
415835:	8b c3                	mov    %ebx,%eax
415837:	8b 10                	mov    (%eax),%edx
415839:	ff 92 80 00 00 00    	call   *0x80(%edx)
41583f:	5f                   	pop    %edi
415840:	5e                   	pop    %esi
415841:	5b                   	pop    %ebx
415842:	c3                   	ret
415843:	90                   	nop
415844:	53                   	push   %ebx
415845:	56                   	push   %esi
415846:	57                   	push   %edi
415847:	8b f9                	mov    %ecx,%edi
415849:	8b f2                	mov    %edx,%esi
41584b:	8b d8                	mov    %eax,%ebx
41584d:	85 f6                	test   %esi,%esi
41584f:	7c 05                	jl     0x415856
415851:	3b 73 14             	cmp    0x14(%ebx),%esi
415854:	7c 0f                	jl     0x415865
415856:	8b 15 84 7f 46 00    	mov    0x467f84,%edx
41585c:	8b ce                	mov    %esi,%ecx
41585e:	8b c3                	mov    %ebx,%eax
415860:	e8 43 f1 ff ff       	call   0x4149a8
415865:	8b c3                	mov    %ebx,%eax
415867:	8b 10                	mov    (%eax),%edx
415869:	ff 92 84 00 00 00    	call   *0x84(%edx)
41586f:	8b 43 10             	mov    0x10(%ebx),%eax
415872:	89 7c f0 04          	mov    %edi,0x4(%eax,%esi,8)
415876:	8b c3                	mov    %ebx,%eax
415878:	8b 10                	mov    (%eax),%edx
41587a:	ff 92 80 00 00 00    	call   *0x80(%edx)
415880:	5f                   	pop    %edi
415881:	5e                   	pop    %esi
415882:	5b                   	pop    %ebx
415883:	c3                   	ret
415884:	55                   	push   %ebp
415885:	8b ec                	mov    %esp,%ebp
415887:	83 c4 f0             	add    $0xfffffff0,%esp
41588a:	53                   	push   %ebx
41588b:	56                   	push   %esi
41588c:	89 4d f4             	mov    %ecx,-0xc(%ebp)
41588f:	89 55 f8             	mov    %edx,-0x8(%ebp)
415892:	89 45 fc             	mov    %eax,-0x4(%ebp)
415895:	8b 5d f8             	mov    -0x8(%ebp),%ebx
415898:	8b 75 f4             	mov    -0xc(%ebp),%esi
41589b:	8b 45 f8             	mov    -0x8(%ebp),%eax
41589e:	03 45 f4             	add    -0xc(%ebp),%eax
4158a1:	d1 e8                	shr    $1,%eax
4158a3:	89 45 f0             	mov    %eax,-0x10(%ebp)
4158a6:	eb 01                	jmp    0x4158a9
4158a8:	43                   	inc    %ebx
4158a9:	8b 4d f0             	mov    -0x10(%ebp),%ecx
4158ac:	8b d3                	mov    %ebx,%edx
4158ae:	8b 45 fc             	mov    -0x4(%ebp),%eax
4158b1:	ff 55 08             	call   *0x8(%ebp)
4158b4:	85 c0                	test   %eax,%eax
4158b6:	7c f0                	jl     0x4158a8
4158b8:	eb 01                	jmp    0x4158bb
4158ba:	4e                   	dec    %esi
4158bb:	8b 4d f0             	mov    -0x10(%ebp),%ecx
4158be:	8b d6                	mov    %esi,%edx
4158c0:	8b 45 fc             	mov    -0x4(%ebp),%eax
4158c3:	ff 55 08             	call   *0x8(%ebp)
4158c6:	85 c0                	test   %eax,%eax
4158c8:	7f f0                	jg     0x4158ba
4158ca:	3b f3                	cmp    %ebx,%esi
4158cc:	7c 20                	jl     0x4158ee
4158ce:	8b ce                	mov    %esi,%ecx