40f671:	8b ec                	mov    %esp,%ebp
40f673:	8b 55 10             	mov    0x10(%ebp),%edx
40f676:	8b 4d 08             	mov    0x8(%ebp),%ecx
40f679:	8b 45 0c             	mov    0xc(%ebp),%eax
40f67c:	85 d2                	test   %edx,%edx
40f67e:	74 19                	je     0x40f699
40f680:	85 c0                	test   %eax,%eax
40f682:	74 15                	je     0x40f699
40f684:	56                   	push   %esi
40f685:	8d 75 14             	lea    0x14(%ebp),%esi
40f688:	56                   	push   %esi
40f689:	52                   	push   %edx
40f68a:	50                   	push   %eax
40f68b:	51                   	push   %ecx
40f68c:	68 d7 da 44 00       	push   $0x44dad7
40f691:	6a 14                	push   $0x14
40f693:	e8 c8 00 00 00       	call   0x40f760
40f698:	5e                   	pop    %esi
40f699:	5d                   	pop    %ebp
40f69a:	c3                   	ret
40f69b:	cc                   	int3
40f69c:	cc                   	int3
40f69d:	cc                   	int3
40f69e:	cc                   	int3
40f69f:	cc                   	int3
40f6a0:	55                   	push   %ebp
40f6a1:	8b ec                	mov    %esp,%ebp
40f6a3:	8b 55 10             	mov    0x10(%ebp),%edx
40f6a6:	8b 4d 08             	mov    0x8(%ebp),%ecx
40f6a9:	8b 45 0c             	mov    0xc(%ebp),%eax
40f6ac:	85 d2                	test   %edx,%edx
40f6ae:	74 19                	je     0x40f6c9
40f6b0:	85 c0                	test   %eax,%eax
40f6b2:	74 15                	je     0x40f6c9
40f6b4:	56                   	push   %esi
40f6b5:	8d 75 14             	lea    0x14(%ebp),%esi
40f6b8:	56                   	push   %esi
40f6b9:	52                   	push   %edx
40f6ba:	50                   	push   %eax
40f6bb:	51                   	push   %ecx
40f6bc:	68 d7 da 44 00       	push   $0x44dad7
40f6c1:	6a 1e                	push   $0x1e
40f6c3:	e8 98 00 00 00       	call   0x40f760
40f6c8:	5e                   	pop    %esi
40f6c9:	5d                   	pop    %ebp
40f6ca:	c3                   	ret
40f6cb:	cc                   	int3
40f6cc:	cc                   	int3
40f6cd:	cc                   	int3
40f6ce:	cc                   	int3
40f6cf:	cc                   	int3
40f6d0:	55                   	push   %ebp
40f6d1:	8b ec                	mov    %esp,%ebp
40f6d3:	83 7d 14 00          	cmpl   $0x0,0x14(%ebp)
40f6d7:	8b 4d 08             	mov    0x8(%ebp),%ecx
40f6da:	8b 45 0c             	mov    0xc(%ebp),%eax
40f6dd:	8b 55 10             	mov    0x10(%ebp),%edx
40f6e0:	74 1b                	je     0x40f6fd
40f6e2:	85 c0                	test   %eax,%eax
40f6e4:	74 17                	je     0x40f6fd
40f6e6:	85 d2                	test   %edx,%edx
40f6e8:	74 13                	je     0x40f6fd
40f6ea:	57                   	push   %edi
40f6eb:	8d 7d 18             	lea    0x18(%ebp),%edi
40f6ee:	57                   	push   %edi
40f6ef:	ff 75 14             	push   0x14(%ebp)
40f6f2:	50                   	push   %eax
40f6f3:	51                   	push   %ecx
40f6f4:	52                   	push   %edx
40f6f5:	6a 28                	push   $0x28
40f6f7:	e8 64 00 00 00       	call   0x40f760
40f6fc:	5f                   	pop    %edi
40f6fd:	5d                   	pop    %ebp
40f6fe:	c3                   	ret
40f6ff:	cc                   	int3
40f700:	55                   	push   %ebp
40f701:	8b ec                	mov    %esp,%ebp
40f703:	83 7d 14 00          	cmpl   $0x0,0x14(%ebp)
40f707:	8b 4d 08             	mov    0x8(%ebp),%ecx
40f70a:	8b 45 0c             	mov    0xc(%ebp),%eax
40f70d:	8b 55 10             	mov    0x10(%ebp),%edx
40f710:	74 1b                	je     0x40f72d
40f712:	85 c0                	test   %eax,%eax
40f714:	74 17                	je     0x40f72d
40f716:	85 d2                	test   %edx,%edx
40f718:	74 13                	je     0x40f72d
40f71a:	57                   	push   %edi
40f71b:	8d 7d 18             	lea    0x18(%ebp),%edi
40f71e:	57                   	push   %edi
40f71f:	ff 75 14             	push   0x14(%ebp)
40f722:	50                   	push   %eax
40f723:	51                   	push   %ecx
40f724:	52                   	push   %edx
40f725:	6a 32                	push   $0x32
40f727:	e8 34 00 00 00       	call   0x40f760
40f72c:	5f                   	pop    %edi
40f72d:	5d                   	pop    %ebp
40f72e:	c3                   	ret
40f72f:	cc                   	int3
40f730:	55                   	push   %ebp
40f731:	8b ec                	mov    %esp,%ebp
40f733:	83 7d 14 00          	cmpl   $0x0,0x14(%ebp)
40f737:	8b 4d 08             	mov    0x8(%ebp),%ecx
40f73a:	8b 45 0c             	mov    0xc(%ebp),%eax
40f73d:	8b 55 10             	mov    0x10(%ebp),%edx
40f740:	74 1b                	je     0x40f75d
40f742:	85 c0                	test   %eax,%eax
40f744:	74 17                	je     0x40f75d
40f746:	85 d2                	test   %edx,%edx
40f748:	74 13                	je     0x40f75d
40f74a:	57                   	push   %edi
40f74b:	8d 7d 18             	lea    0x18(%ebp),%edi
40f74e:	57                   	push   %edi
40f74f:	ff 75 14             	push   0x14(%ebp)
40f752:	50                   	push   %eax
40f753:	51                   	push   %ecx
40f754:	52                   	push   %edx
40f755:	6a 3c                	push   $0x3c
40f757:	e8 04 00 00 00       	call   0x40f760
40f75c:	5f                   	pop    %edi
40f75d:	5d                   	pop    %ebp
40f75e:	c3                   	ret
40f75f:	cc                   	int3
40f760:	55                   	push   %ebp
40f761:	8b ec                	mov    %esp,%ebp
40f763:	6a ff                	push   $0xffffffff
40f765:	68 85 df 43 00       	push   $0x43df85
40f76a:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
40f770:	50                   	push   %eax
40f771:	83 ec 40             	sub    $0x40,%esp
40f774:	a1 14 40 45 00       	mov    0x454014,%eax
40f779:	33 c5                	xor    %ebp,%eax
40f77b:	89 45 f0             	mov    %eax,-0x10(%ebp)
40f77e:	53                   	push   %ebx
40f77f:	56                   	push   %esi
40f780:	57                   	push   %edi
40f781:	50                   	push   %eax
40f782:	8d 45 f4             	lea    -0xc(%ebp),%eax
40f785:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
40f78b:	8b d9                	mov    %ecx,%ebx
40f78d:	8b 45 0c             	mov    0xc(%ebp),%eax
40f790:	8b 55 14             	mov    0x14(%ebp),%edx
40f793:	89 45 cc             	mov    %eax,-0x34(%ebp)
40f796:	8b 45 18             	mov    0x18(%ebp),%eax
40f799:	89 45 d0             	mov    %eax,-0x30(%ebp)
40f79c:	8b 45 1c             	mov    0x1c(%ebp),%eax
40f79f:	89 45 d4             	mov    %eax,-0x2c(%ebp)
40f7a2:	85 d2                	test   %edx,%edx
40f7a4:	0f 84 14 01 00 00    	je     0x40f8be
40f7aa:	33 c0                	xor    %eax,%eax
40f7ac:	c7 45 d8 00 00 00 00 	movl   $0x0,-0x28(%ebp)
40f7b3:	c7 45 e8 00 00 00 00 	movl   $0x0,-0x18(%ebp)
40f7ba:	c7 45 ec 07 00 00 00 	movl   $0x7,-0x14(%ebp)
40f7c1:	66 89 45 d8          	mov    %ax,-0x28(%ebp)
40f7c5:	8b ca                	mov    %edx,%ecx
40f7c7:	89 45 fc             	mov    %eax,-0x4(%ebp)
40f7ca:	89 45 b4             	mov    %eax,-0x4c(%ebp)
40f7cd:	89 45 c4             	mov    %eax,-0x3c(%ebp)
40f7d0:	89 45 c8             	mov    %eax,-0x38(%ebp)
40f7d3:	8d 71 01             	lea    0x1(%ecx),%esi
40f7d6:	8a 01                	mov    (%ecx),%al
40f7d8:	41                   	inc    %ecx
40f7d9:	84 c0                	test   %al,%al
40f7db:	75 f9                	jne    0x40f7d6
40f7dd:	2b ce                	sub    %esi,%ecx
40f7df:	51                   	push   %ecx
40f7e0:	52                   	push   %edx
40f7e1:	8d 4d b4             	lea    -0x4c(%ebp),%ecx
40f7e4:	e8 b7 c8 ff ff       	call   0x40c0a0
40f7e9:	8d 55 d8             	lea    -0x28(%ebp),%edx
40f7ec:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
40f7f0:	8d 4d b4             	lea    -0x4c(%ebp),%ecx
40f7f3:	e8 68 4c 00 00       	call   0x414460
40f7f8:	c6 45 fc 00          	movb   $0x0,-0x4(%ebp)
40f7fc:	8b 4d c8             	mov    -0x38(%ebp),%ecx
40f7ff:	83 f9 10             	cmp    $0x10,%ecx
40f802:	72 2c                	jb     0x40f830
40f804:	8b 55 b4             	mov    -0x4c(%ebp),%edx
40f807:	41                   	inc    %ecx
40f808:	8b c2                	mov    %edx,%eax
40f80a:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
40f810:	72 14                	jb     0x40f826
40f812:	8b 50 fc             	mov    -0x4(%eax),%edx
40f815:	83 c1 23             	add    $0x23,%ecx
40f818:	2b c2                	sub    %edx,%eax
40f81a:	83 c0 fc             	add    $0xfffffffc,%eax
40f81d:	83 f8 1f             	cmp    $0x1f,%eax
40f820:	0f 87 b6 00 00 00    	ja     0x40f8dc
40f826:	51                   	push   %ecx
40f827:	52                   	push   %edx
40f828:	e8 e1 c0 00 00       	call   0x41b90e
40f82d:	83 c4 08             	add    $0x8,%esp
40f830:	83 7d ec 08          	cmpl   $0x8,-0x14(%ebp)
40f834:	8d 4d d8             	lea    -0x28(%ebp),%ecx
40f837:	8d 7b 38             	lea    0x38(%ebx),%edi
40f83a:	0f 43 4d d8          	cmovae -0x28(%ebp),%ecx
40f83e:	83 7f 14 08          	cmpl   $0x8,0x14(%edi)
40f842:	72 02                	jb     0x40f846
40f844:	8b 3f                	mov    (%edi),%edi
40f846:	83 7b 34 08          	cmpl   $0x8,0x34(%ebx)
40f84a:	8d 43 20             	lea    0x20(%ebx),%eax
40f84d:	72 02                	jb     0x40f851
40f84f:	8b 00                	mov    (%eax),%eax
40f851:	83 7b 1c 08          	cmpl   $0x8,0x1c(%ebx)
40f855:	8d 53 08             	lea    0x8(%ebx),%edx
40f858:	72 02                	jb     0x40f85c
40f85a:	8b 12                	mov    (%edx),%edx
40f85c:	83 7b 7c 08          	cmpl   $0x8,0x7c(%ebx)
40f860:	8d 73 68             	lea    0x68(%ebx),%esi
40f863:	72 02                	jb     0x40f867
40f865:	8b 36                	mov    (%esi),%esi
40f867:	83 ec 08             	sub    $0x8,%esp
40f86a:	ff 75 d4             	push   -0x2c(%ebp)
40f86d:	ff 75 d0             	push   -0x30(%ebp)
40f870:	68 d7 da 44 00       	push   $0x44dad7
40f875:	ff 75 cc             	push   -0x34(%ebp)
40f878:	51                   	push   %ecx
40f879:	8b 4b 04             	mov    0x4(%ebx),%ecx
40f87c:	57                   	push   %edi
40f87d:	50                   	push   %eax
40f87e:	52                   	push   %edx
40f87f:	ff 75 08             	push   0x8(%ebp)
40f882:	56                   	push   %esi
40f883:	e8 18 36 ff ff       	call   0x402ea0
40f888:	8b 4d ec             	mov    -0x14(%ebp),%ecx
40f88b:	83 f9 08             	cmp    $0x8,%ecx
40f88e:	72 2e                	jb     0x40f8be
40f890:	8b 55 d8             	mov    -0x28(%ebp),%edx
40f893:	8d 0c 4d 02 00 00 00 	lea    0x2(,%ecx,2),%ecx
40f89a:	8b c2                	mov    %edx,%eax
40f89c:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
40f8a2:	72 10                	jb     0x40f8b4
40f8a4:	8b 50 fc             	mov    -0x4(%eax),%edx
40f8a7:	83 c1 23             	add    $0x23,%ecx
40f8aa:	2b c2                	sub    %edx,%eax
40f8ac:	83 c0 fc             	add    $0xfffffffc,%eax
40f8af:	83 f8 1f             	cmp    $0x1f,%eax
40f8b2:	77 2d                	ja     0x40f8e1
40f8b4:	51                   	push   %ecx
40f8b5:	52                   	push   %edx
40f8b6:	e8 53 c0 00 00       	call   0x41b90e
40f8bb:	83 c4 08             	add    $0x8,%esp
40f8be:	8b 4d f4             	mov    -0xc(%ebp),%ecx
40f8c1:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
40f8c8:	59                   	pop    %ecx
40f8c9:	5f                   	pop    %edi
40f8ca:	5e                   	pop    %esi
40f8cb:	5b                   	pop    %ebx
40f8cc:	8b 4d f0             	mov    -0x10(%ebp),%ecx
40f8cf:	33 cd                	xor    %ebp,%ecx
40f8d1:	e8 fa bf 00 00       	call   0x41b8d0
40f8d6:	8b e5                	mov    %ebp,%esp
40f8d8:	5d                   	pop    %ebp
40f8d9:	c2 18 00             	ret    $0x18
40f8dc:	e8 9e 11 01 00       	call   0x420a7f
40f8e1:	e8 99 11 01 00       	call   0x420a7f
40f8e6:	cc                   	int3
40f8e7:	cc                   	int3
40f8e8:	cc                   	int3
40f8e9:	cc                   	int3
40f8ea:	cc                   	int3
40f8eb:	cc                   	int3
40f8ec:	cc                   	int3
40f8ed:	cc                   	int3
40f8ee:	cc                   	int3
40f8ef:	cc                   	int3
40f8f0:	55                   	push   %ebp
40f8f1:	8b ec                	mov    %esp,%ebp
40f8f3:	8b 45 18             	mov    0x18(%ebp),%eax
40f8f6:	8b 4d 14             	mov    0x14(%ebp),%ecx
40f8f9:	53                   	push   %ebx
40f8fa:	8b 5d 08             	mov    0x8(%ebp),%ebx
40f8fd:	57                   	push   %edi
40f8fe:	8b 7d 10             	mov    0x10(%ebp),%edi
40f901:	85 c0                	test   %eax,%eax
40f903:	74 2e                	je     0x40f933
40f905:	56                   	push   %esi
40f906:	8b 33                	mov    (%ebx),%esi
40f908:	8d 55 1c             	lea    0x1c(%ebp),%edx
40f90b:	52                   	push   %edx
40f90c:	50                   	push   %eax
40f90d:	85 c9                	test   %ecx,%ecx
40f90f:	ba d7 da 44 00       	mov    $0x44dad7,%edx
40f914:	8b 76 38             	mov    0x38(%esi),%esi
40f917:	8b c2                	mov    %edx,%eax
40f919:	0f 45 c1             	cmovne %ecx,%eax
40f91c:	85 ff                	test   %edi,%edi
40f91e:	50                   	push   %eax
40f91f:	0f 45 d7             	cmovne %edi,%edx
40f922:	8b ce                	mov    %esi,%ecx
40f924:	52                   	push   %edx
40f925:	ff 75 0c             	push   0xc(%ebp)
40f928:	ff 15 3c f2 43 00    	call   *0x43f23c
40f92e:	8b cb                	mov    %ebx,%ecx
40f930:	ff d6                	call   *%esi
40f932:	5e                   	pop    %esi
40f933:	5f                   	pop    %edi
40f934:	5b                   	pop    %ebx
40f935:	5d                   	pop    %ebp
40f936:	c3                   	ret
40f937:	cc                   	int3
40f938:	cc                   	int3
40f939:	cc                   	int3
40f93a:	cc                   	int3
40f93b:	cc                   	int3
40f93c:	cc                   	int3
40f93d:	cc                   	int3
40f93e:	cc                   	int3
40f93f:	cc                   	int3
40f940:	55                   	push   %ebp
40f941:	8b ec                	mov    %esp,%ebp
40f943:	83 e4 f8             	and    $0xfffffff8,%esp
40f946:	51                   	push   %ecx
40f947:	83 79 64 08          	cmpl   $0x8,0x64(%ecx)
40f94b:	8d 41 50             	lea    0x50(%ecx),%eax
40f94e:	53                   	push   %ebx
40f94f:	56                   	push   %esi
40f950:	57                   	push   %edi
40f951:	72 02                	jb     0x40f955
40f953:	8b 00                	mov    (%eax),%eax
40f955:	83 79 4c 08          	cmpl   $0x8,0x4c(%ecx)
40f959:	8d 51 38             	lea    0x38(%ecx),%edx
40f95c:	72 02                	jb     0x40f960
40f95e:	8b 12                	mov    (%edx),%edx
40f960:	83 79 34 08          	cmpl   $0x8,0x34(%ecx)
40f964:	8d 71 20             	lea    0x20(%ecx),%esi
40f967:	72 02                	jb     0x40f96b
40f969:	8b 36                	mov    (%esi),%esi
40f96b:	83 79 1c 08          	cmpl   $0x8,0x1c(%ecx)
40f96f:	8d 79 08             	lea    0x8(%ecx),%edi
40f972:	72 02                	jb     0x40f976
40f974:	8b 3f                	mov    (%edi),%edi
40f976:	83 79 7c 08          	cmpl   $0x8,0x7c(%ecx)
40f97a:	8d 59 68             	lea    0x68(%ecx),%ebx
40f97d:	72 02                	jb     0x40f981
40f97f:	8b 1b                	mov    (%ebx),%ebx
40f981:	83 ec 08             	sub    $0x8,%esp
40f984:	8b 49 04             	mov    0x4(%ecx),%ecx
40f987:	ff 75 18             	push   0x18(%ebp)
40f98a:	ff 75 14             	push   0x14(%ebp)
40f98d:	ff 75 10             	push   0x10(%ebp)
40f990:	ff 75 0c             	push   0xc(%ebp)
40f993:	50                   	push   %eax
40f994:	52                   	push   %edx
40f995:	56                   	push   %esi
40f996:	57                   	push   %edi
40f997:	ff 75 08             	push   0x8(%ebp)
40f99a:	53                   	push   %ebx
40f99b:	e8 00 35 ff ff       	call   0x402ea0
40f9a0:	5f                   	pop    %edi