40c662:	88 51 3c             	mov    %dl,0x3c(%ecx)
40c665:	89 91 40 04 00 00    	mov    %edx,0x440(%ecx)
40c66b:	89 91 44 04 00 00    	mov    %edx,0x444(%ecx)
40c671:	8b e5                	mov    %ebp,%esp
40c673:	5d                   	pop    %ebp
40c674:	c3                   	ret
40c675:	8b ff                	mov    %edi,%edi
40c677:	55                   	push   %ebp
40c678:	8b ec                	mov    %esp,%ebp
40c67a:	56                   	push   %esi
40c67b:	8b f1                	mov    %ecx,%esi
40c67d:	e8 60 ff ff ff       	call   0x40c5e2
40c682:	8b 45 08             	mov    0x8(%ebp),%eax
40c685:	8b 00                	mov    (%eax),%eax
40c687:	89 86 48 04 00 00    	mov    %eax,0x448(%esi)
40c68d:	8b 45 0c             	mov    0xc(%ebp),%eax
40c690:	89 06                	mov    %eax,(%esi)
40c692:	8b 45 10             	mov    0x10(%ebp),%eax
40c695:	89 46 04             	mov    %eax,0x4(%esi)
40c698:	8b 45 18             	mov    0x18(%ebp),%eax
40c69b:	89 46 08             	mov    %eax,0x8(%esi)
40c69e:	8b 45 14             	mov    0x14(%ebp),%eax
40c6a1:	89 46 10             	mov    %eax,0x10(%esi)
40c6a4:	8b 45 1c             	mov    0x1c(%ebp),%eax
40c6a7:	89 46 14             	mov    %eax,0x14(%esi)
40c6aa:	8b c6                	mov    %esi,%eax
40c6ac:	5e                   	pop    %esi
40c6ad:	5d                   	pop    %ebp
40c6ae:	c2 18 00             	ret    $0x18
40c6b1:	8b ff                	mov    %edi,%edi
40c6b3:	55                   	push   %ebp
40c6b4:	8b ec                	mov    %esp,%ebp
40c6b6:	56                   	push   %esi
40c6b7:	8b f1                	mov    %ecx,%esi
40c6b9:	e8 24 ff ff ff       	call   0x40c5e2
40c6be:	8b 45 08             	mov    0x8(%ebp),%eax
40c6c1:	8b 00                	mov    (%eax),%eax
40c6c3:	89 86 48 04 00 00    	mov    %eax,0x448(%esi)
40c6c9:	8b 45 0c             	mov    0xc(%ebp),%eax
40c6cc:	89 06                	mov    %eax,(%esi)
40c6ce:	8b 45 10             	mov    0x10(%ebp),%eax
40c6d1:	89 46 04             	mov    %eax,0x4(%esi)
40c6d4:	8b 45 18             	mov    0x18(%ebp),%eax
40c6d7:	89 46 08             	mov    %eax,0x8(%esi)
40c6da:	8b 45 14             	mov    0x14(%ebp),%eax
40c6dd:	89 46 10             	mov    %eax,0x10(%esi)
40c6e0:	8b 45 1c             	mov    0x1c(%ebp),%eax
40c6e3:	89 46 14             	mov    %eax,0x14(%esi)
40c6e6:	8b c6                	mov    %esi,%eax
40c6e8:	5e                   	pop    %esi
40c6e9:	5d                   	pop    %ebp
40c6ea:	c2 18 00             	ret    $0x18
40c6ed:	8b ff                	mov    %edi,%edi
40c6ef:	55                   	push   %ebp
40c6f0:	8b ec                	mov    %esp,%ebp
40c6f2:	56                   	push   %esi
40c6f3:	8b f1                	mov    %ecx,%esi
40c6f5:	e8 2f ff ff ff       	call   0x40c629
40c6fa:	8b 45 08             	mov    0x8(%ebp),%eax
40c6fd:	8b 00                	mov    (%eax),%eax
40c6ff:	89 86 48 04 00 00    	mov    %eax,0x448(%esi)
40c705:	8b 45 0c             	mov    0xc(%ebp),%eax
40c708:	89 06                	mov    %eax,(%esi)
40c70a:	8b 45 10             	mov    0x10(%ebp),%eax
40c70d:	89 46 04             	mov    %eax,0x4(%esi)
40c710:	8b 45 18             	mov    0x18(%ebp),%eax
40c713:	89 46 08             	mov    %eax,0x8(%esi)
40c716:	8b 45 14             	mov    0x14(%ebp),%eax
40c719:	89 46 10             	mov    %eax,0x10(%esi)
40c71c:	8b 45 1c             	mov    0x1c(%ebp),%eax
40c71f:	89 46 14             	mov    %eax,0x14(%esi)
40c722:	8b c6                	mov    %esi,%eax
40c724:	5e                   	pop    %esi
40c725:	5d                   	pop    %ebp
40c726:	c2 18 00             	ret    $0x18
40c729:	8b ff                	mov    %edi,%edi
40c72b:	55                   	push   %ebp
40c72c:	8b ec                	mov    %esp,%ebp
40c72e:	56                   	push   %esi
40c72f:	ff 75 1c             	push   0x1c(%ebp)
40c732:	8b f1                	mov    %ecx,%esi
40c734:	ff 75 18             	push   0x18(%ebp)
40c737:	ff 75 14             	push   0x14(%ebp)
40c73a:	ff 75 10             	push   0x10(%ebp)
40c73d:	ff 75 0c             	push   0xc(%ebp)
40c740:	ff 75 08             	push   0x8(%ebp)
40c743:	e8 2d ff ff ff       	call   0x40c675
40c748:	83 a6 50 04 00 00 00 	andl   $0x0,0x450(%esi)
40c74f:	e8 17 83 00 00       	call   0x414a6b
40c754:	89 46 0c             	mov    %eax,0xc(%esi)
40c757:	8b c6                	mov    %esi,%eax
40c759:	5e                   	pop    %esi
40c75a:	5d                   	pop    %ebp
40c75b:	c2 18 00             	ret    $0x18
40c75e:	8b ff                	mov    %edi,%edi
40c760:	55                   	push   %ebp
40c761:	8b ec                	mov    %esp,%ebp
40c763:	56                   	push   %esi
40c764:	ff 75 1c             	push   0x1c(%ebp)
40c767:	8b f1                	mov    %ecx,%esi
40c769:	ff 75 18             	push   0x18(%ebp)
40c76c:	ff 75 14             	push   0x14(%ebp)
40c76f:	ff 75 10             	push   0x10(%ebp)
40c772:	ff 75 0c             	push   0xc(%ebp)
40c775:	ff 75 08             	push   0x8(%ebp)
40c778:	e8 34 ff ff ff       	call   0x40c6b1
40c77d:	83 a6 50 04 00 00 00 	andl   $0x0,0x450(%esi)
40c784:	e8 e2 82 00 00       	call   0x414a6b
40c789:	89 46 0c             	mov    %eax,0xc(%esi)
40c78c:	8b c6                	mov    %esi,%eax
40c78e:	5e                   	pop    %esi
40c78f:	5d                   	pop    %ebp
40c790:	c2 18 00             	ret    $0x18
40c793:	8b ff                	mov    %edi,%edi
40c795:	55                   	push   %ebp
40c796:	8b ec                	mov    %esp,%ebp
40c798:	56                   	push   %esi
40c799:	ff 75 1c             	push   0x1c(%ebp)
40c79c:	8b f1                	mov    %ecx,%esi
40c79e:	ff 75 18             	push   0x18(%ebp)
40c7a1:	ff 75 14             	push   0x14(%ebp)
40c7a4:	ff 75 10             	push   0x10(%ebp)
40c7a7:	ff 75 0c             	push   0xc(%ebp)
40c7aa:	ff 75 08             	push   0x8(%ebp)
40c7ad:	e8 3b ff ff ff       	call   0x40c6ed
40c7b2:	83 a6 50 04 00 00 00 	andl   $0x0,0x450(%esi)
40c7b9:	e8 ad 82 00 00       	call   0x414a6b
40c7be:	89 46 0c             	mov    %eax,0xc(%esi)
40c7c1:	8b c6                	mov    %esi,%eax
40c7c3:	5e                   	pop    %esi
40c7c4:	5d                   	pop    %ebp
40c7c5:	c2 18 00             	ret    $0x18
40c7c8:	8b ff                	mov    %edi,%edi
40c7ca:	55                   	push   %ebp
40c7cb:	8b ec                	mov    %esp,%ebp
40c7cd:	57                   	push   %edi
40c7ce:	8b f9                	mov    %ecx,%edi
40c7d0:	8b 4d 08             	mov    0x8(%ebp),%ecx
40c7d3:	c6 47 0c 00          	movb   $0x0,0xc(%edi)
40c7d7:	85 c9                	test   %ecx,%ecx
40c7d9:	74 0a                	je     0x40c7e5
40c7db:	8b 01                	mov    (%ecx),%eax
40c7dd:	89 47 04             	mov    %eax,0x4(%edi)
40c7e0:	8b 41 04             	mov    0x4(%ecx),%eax
40c7e3:	eb 16                	jmp    0x40c7fb
40c7e5:	a1 dc 9c 83 02       	mov    0x2839cdc,%eax
40c7ea:	85 c0                	test   %eax,%eax
40c7ec:	75 12                	jne    0x40c800
40c7ee:	a1 98 bc 43 00       	mov    0x43bc98,%eax
40c7f3:	89 47 04             	mov    %eax,0x4(%edi)
40c7f6:	a1 9c bc 43 00       	mov    0x43bc9c,%eax
40c7fb:	89 47 08             	mov    %eax,0x8(%edi)
40c7fe:	eb 44                	jmp    0x40c844
40c800:	56                   	push   %esi
40c801:	e8 56 c3 00 00       	call   0x418b5c
40c806:	8d 57 04             	lea    0x4(%edi),%edx
40c809:	89 07                	mov    %eax,(%edi)
40c80b:	52                   	push   %edx
40c80c:	8d 77 08             	lea    0x8(%edi),%esi
40c80f:	8b 48 4c             	mov    0x4c(%eax),%ecx
40c812:	89 0a                	mov    %ecx,(%edx)
40c814:	8b 48 48             	mov    0x48(%eax),%ecx
40c817:	50                   	push   %eax
40c818:	89 0e                	mov    %ecx,(%esi)
40c81a:	e8 99 d3 00 00       	call   0x419bb8
40c81f:	56                   	push   %esi
40c820:	ff 37                	push   (%edi)
40c822:	e8 be d3 00 00       	call   0x419be5
40c827:	8b 0f                	mov    (%edi),%ecx
40c829:	83 c4 10             	add    $0x10,%esp
40c82c:	8b 81 50 03 00 00    	mov    0x350(%ecx),%eax
40c832:	5e                   	pop    %esi
40c833:	a8 02                	test   $0x2,%al
40c835:	75 0d                	jne    0x40c844
40c837:	83 c8 02             	or     $0x2,%eax
40c83a:	89 81 50 03 00 00    	mov    %eax,0x350(%ecx)
40c840:	c6 47 0c 01          	movb   $0x1,0xc(%edi)
40c844:	8b c7                	mov    %edi,%eax
40c846:	5f                   	pop    %edi
40c847:	5d                   	pop    %ebp
40c848:	c2 04 00             	ret    $0x4
40c84b:	8b ff                	mov    %edi,%edi
40c84d:	56                   	push   %esi
40c84e:	8b f1                	mov    %ecx,%esi
40c850:	ff b6 04 04 00 00    	push   0x404(%esi)
40c856:	e8 b5 84 00 00       	call   0x414d10
40c85b:	83 a6 04 04 00 00 00 	andl   $0x0,0x404(%esi)
40c862:	59                   	pop    %ecx
40c863:	5e                   	pop    %esi
40c864:	c3                   	ret
40c865:	8b ff                	mov    %edi,%edi
40c867:	55                   	push   %ebp
40c868:	8b ec                	mov    %esp,%ebp
40c86a:	56                   	push   %esi
40c86b:	8b f1                	mov    %ecx,%esi
40c86d:	ff 36                	push   (%esi)
40c86f:	e8 9c 84 00 00       	call   0x414d10
40c874:	8b 55 08             	mov    0x8(%ebp),%edx
40c877:	83 26 00             	andl   $0x0,(%esi)
40c87a:	59                   	pop    %ecx
40c87b:	8b 02                	mov    (%edx),%eax
40c87d:	89 06                	mov    %eax,(%esi)
40c87f:	8b c6                	mov    %esi,%eax
40c881:	83 22 00             	andl   $0x0,(%edx)
40c884:	5e                   	pop    %esi
40c885:	5d                   	pop    %ebp
40c886:	c2 04 00             	ret    $0x4
40c889:	8b ff                	mov    %edi,%edi
40c88b:	55                   	push   %ebp
40c88c:	8b ec                	mov    %esp,%ebp
40c88e:	81 ec 78 04 00 00    	sub    $0x478,%esp
40c894:	a1 28 ba 43 00       	mov    0x43ba28,%eax
40c899:	33 c5                	xor    %ebp,%eax
40c89b:	89 45 fc             	mov    %eax,-0x4(%ebp)
40c89e:	56                   	push   %esi
40c89f:	8b f1                	mov    %ecx,%esi
40c8a1:	57                   	push   %edi
40c8a2:	8b 06                	mov    (%esi),%eax
40c8a4:	8b 38                	mov    (%eax),%edi
40c8a6:	57                   	push   %edi
40c8a7:	e8 37 df 00 00       	call   0x41a7e3
40c8ac:	88 85 9c fb ff ff    	mov    %al,-0x464(%ebp)
40c8b2:	8b 46 04             	mov    0x4(%esi),%eax
40c8b5:	59                   	pop    %ecx
40c8b6:	8d 8d 88 fb ff ff    	lea    -0x478(%ebp),%ecx
40c8bc:	ff 30                	push   (%eax)
40c8be:	e8 05 ff ff ff       	call   0x40c7c8
40c8c3:	8b 06                	mov    (%esi),%eax
40c8c5:	8d 8d a4 fb ff ff    	lea    -0x45c(%ebp),%ecx
40c8cb:	8b 00                	mov    (%eax),%eax
40c8cd:	89 85 a0 fb ff ff    	mov    %eax,-0x460(%ebp)
40c8d3:	8b 46 10             	mov    0x10(%esi),%eax
40c8d6:	ff 30                	push   (%eax)
40c8d8:	8d 85 8c fb ff ff    	lea    -0x474(%ebp),%eax
40c8de:	50                   	push   %eax
40c8df:	8b 46 0c             	mov    0xc(%esi),%eax
40c8e2:	ff 30                	push   (%eax)
40c8e4:	8b 46 08             	mov    0x8(%esi),%eax
40c8e7:	ff 70 04             	push   0x4(%eax)
40c8ea:	ff 30                	push   (%eax)
40c8ec:	8d 85 a0 fb ff ff    	lea    -0x460(%ebp),%eax
40c8f2:	50                   	push   %eax
40c8f3:	e8 9b fe ff ff       	call   0x40c793
40c8f8:	8d 8d a4 fb ff ff    	lea    -0x45c(%ebp),%ecx
40c8fe:	e8 99 05 00 00       	call   0x40ce9c
40c903:	8d 8d e4 fb ff ff    	lea    -0x41c(%ebp),%ecx
40c909:	8b f0                	mov    %eax,%esi
40c90b:	e8 3b ff ff ff       	call   0x40c84b
40c910:	80 bd 94 fb ff ff 00 	cmpb   $0x0,-0x46c(%ebp)
40c917:	74 0d                	je     0x40c926
40c919:	8b 8d 88 fb ff ff    	mov    -0x478(%ebp),%ecx
40c91f:	83 a1 50 03 00 00 fd 	andl   $0xfffffffd,0x350(%ecx)
40c926:	57                   	push   %edi
40c927:	ff b5 9c fb ff ff    	push   -0x464(%ebp)
40c92d:	e8 66 df 00 00       	call   0x41a898
40c932:	59                   	pop    %ecx
40c933:	59                   	pop    %ecx
40c934:	8b 4d fc             	mov    -0x4(%ebp),%ecx
40c937:	8b c6                	mov    %esi,%eax
40c939:	5f                   	pop    %edi
40c93a:	33 cd                	xor    %ebp,%ecx
40c93c:	5e                   	pop    %esi
40c93d:	e8 1e a7 ff ff       	call   0x407060
40c942:	8b e5                	mov    %ebp,%esp
40c944:	5d                   	pop    %ebp
40c945:	c3                   	ret
40c946:	8b ff                	mov    %edi,%edi
40c948:	55                   	push   %ebp
40c949:	8b ec                	mov    %esp,%ebp
40c94b:	81 ec 78 04 00 00    	sub    $0x478,%esp
40c951:	a1 28 ba 43 00       	mov    0x43ba28,%eax
40c956:	33 c5                	xor    %ebp,%eax
40c958:	89 45 fc             	mov    %eax,-0x4(%ebp)
40c95b:	56                   	push   %esi
40c95c:	8b f1                	mov    %ecx,%esi
40c95e:	57                   	push   %edi
40c95f:	8b 06                	mov    (%esi),%eax
40c961:	8b 38                	mov    (%eax),%edi
40c963:	57                   	push   %edi
40c964:	e8 7a de 00 00       	call   0x41a7e3
40c969:	88 85 9c fb ff ff    	mov    %al,-0x464(%ebp)
40c96f:	8b 46 04             	mov    0x4(%esi),%eax
40c972:	59                   	pop    %ecx
40c973:	8d 8d 88 fb ff ff    	lea    -0x478(%ebp),%ecx
40c979:	ff 30                	push   (%eax)
40c97b:	e8 48 fe ff ff       	call   0x40c7c8
40c980:	8b 06                	mov    (%esi),%eax
40c982:	8d 8d a4 fb ff ff    	lea    -0x45c(%ebp),%ecx
40c988:	8b 00                	mov    (%eax),%eax
40c98a:	89 85 a0 fb ff ff    	mov    %eax,-0x460(%ebp)
40c990:	8b 46 10             	mov    0x10(%esi),%eax
40c993:	ff 30                	push   (%eax)
40c995:	8d 85 8c fb ff ff    	lea    -0x474(%ebp),%eax
40c99b:	50                   	push   %eax
40c99c:	8b 46 0c             	mov    0xc(%esi),%eax
40c99f:	ff 30                	push   (%eax)
40c9a1:	8b 46 08             	mov    0x8(%esi),%eax
40c9a4:	ff 70 04             	push   0x4(%eax)
40c9a7:	ff 30                	push   (%eax)
40c9a9:	8d 85 a0 fb ff ff    	lea    -0x460(%ebp),%eax
40c9af:	50                   	push   %eax
40c9b0:	e8 74 fd ff ff       	call   0x40c729
40c9b5:	8d 8d a4 fb ff ff    	lea    -0x45c(%ebp),%ecx
40c9bb:	e8 a4 02 00 00       	call   0x40cc64
40c9c0:	8d 8d e4 fb ff ff    	lea    -0x41c(%ebp),%ecx
40c9c6:	8b f0                	mov    %eax,%esi
40c9c8:	e8 7e fe ff ff       	call   0x40c84b
40c9cd:	80 bd 94 fb ff ff 00 	cmpb   $0x0,-0x46c(%ebp)
40c9d4:	74 0d                	je     0x40c9e3
40c9d6:	8b 8d 88 fb ff ff    	mov    -0x478(%ebp),%ecx
40c9dc:	83 a1 50 03 00 00 fd 	andl   $0xfffffffd,0x350(%ecx)
40c9e3:	57                   	push   %edi
40c9e4:	ff b5 9c fb ff ff    	push   -0x464(%ebp)
40c9ea:	e8 a9 de 00 00       	call   0x41a898
40c9ef:	59                   	pop    %ecx
40c9f0:	59                   	pop    %ecx
40c9f1:	8b 4d fc             	mov    -0x4(%ebp),%ecx
40c9f4:	8b c6                	mov    %esi,%eax
40c9f6:	5f                   	pop    %edi
40c9f7:	33 cd                	xor    %ebp,%ecx
40c9f9:	5e                   	pop    %esi
40c9fa:	e8 61 a6 ff ff       	call   0x407060
40c9ff:	8b e5                	mov    %ebp,%esp
40ca01:	5d                   	pop    %ebp
40ca02:	c3                   	ret
40ca03:	8b ff                	mov    %edi,%edi
40ca05:	55                   	push   %ebp
40ca06:	8b ec                	mov    %esp,%ebp
40ca08:	8b 45 0c             	mov    0xc(%ebp),%eax
40ca0b:	8b 4d 08             	mov    0x8(%ebp),%ecx
40ca0e:	53                   	push   %ebx
40ca0f:	8b 00                	mov    (%eax),%eax
40ca11:	8b 80 88 00 00 00    	mov    0x88(%eax),%eax
40ca17:	8b 00                	mov    (%eax),%eax
40ca19:	8a 18                	mov    (%eax),%bl
40ca1b:	eb 05                	jmp    0x40ca22
40ca1d:	3a c3                	cmp    %bl,%al
40ca1f:	74 07                	je     0x40ca28
40ca21:	41                   	inc    %ecx
40ca22:	8a 01                	mov    (%ecx),%al
40ca24:	84 c0                	test   %al,%al
40ca26:	75 f5                	jne    0x40ca1d
40ca28:	8a 01                	mov    (%ecx),%al
40ca2a:	41                   	inc    %ecx
40ca2b:	84 c0                	test   %al,%al
40ca2d:	74 28                	je     0x40ca57
40ca2f:	eb 09                	jmp    0x40ca3a
40ca31:	3c 65                	cmp    $0x65,%al
40ca33:	74 0b                	je     0x40ca40
40ca35:	3c 45                	cmp    $0x45,%al