40f7f4:	74 09                	je     0x40f7ff
40f7f6:	8b 49 18             	mov    0x18(%ecx),%ecx
40f7f9:	85 c9                	test   %ecx,%ecx
40f7fb:	75 f0                	jne    0x40f7ed
40f7fd:	eb 0b                	jmp    0x40f80a
40f7ff:	e8 9f ff ff ff       	call   0x40f7a3
40f804:	8b 4c 24 08          	mov    0x8(%esp),%ecx
40f808:	89 01                	mov    %eax,(%ecx)
40f80a:	33 c0                	xor    %eax,%eax
40f80c:	c2 0c 00             	ret    $0xc
40f80f:	8b 4c 24 04          	mov    0x4(%esp),%ecx
40f813:	81 c1 24 ff ff ff    	add    $0xffffff24,%ecx
40f819:	e8 c3 48 06 00       	call   0x4740e1
40f81e:	c2 04 00             	ret    $0x4
40f821:	8b 4c 24 04          	mov    0x4(%esp),%ecx
40f825:	81 c1 24 ff ff ff    	add    $0xffffff24,%ecx
40f82b:	e8 38 47 06 00       	call   0x473f68
40f830:	c2 04 00             	ret    $0x4
40f833:	ff 74 24 0c          	push   0xc(%esp)
40f837:	8b 4c 24 08          	mov    0x8(%esp),%ecx
40f83b:	ff 74 24 0c          	push   0xc(%esp)
40f83f:	81 c1 24 ff ff ff    	add    $0xffffff24,%ecx
40f845:	e8 f2 48 06 00       	call   0x47413c
40f84a:	c2 0c 00             	ret    $0xc
40f84d:	ff 74 24 10          	push   0x10(%esp)
40f851:	8b 4c 24 08          	mov    0x8(%esp),%ecx
40f855:	ff 74 24 10          	push   0x10(%esp)
40f859:	81 c1 24 ff ff ff    	add    $0xffffff24,%ecx
40f85f:	ff 74 24 10          	push   0x10(%esp)
40f863:	e8 72 ff ff ff       	call   0x40f7da
40f868:	c2 10 00             	ret    $0x10
40f86b:	33 c0                	xor    %eax,%eax
40f86d:	40                   	inc    %eax
40f86e:	c2 04 00             	ret    $0x4
40f871:	33 c0                	xor    %eax,%eax
40f873:	c2 04 00             	ret    $0x4
40f876:	68 1c 5d 49 00       	push   $0x495d1c
40f87b:	ff 74 24 0c          	push   0xc(%esp)
40f87f:	e8 33 7d ff ff       	call   0x4075b7
40f884:	85 c0                	test   %eax,%eax
40f886:	59                   	pop    %ecx
40f887:	59                   	pop    %ecx
40f888:	75 1b                	jne    0x40f8a5
40f88a:	68 5c 46 49 00       	push   $0x49465c
40f88f:	ff 74 24 0c          	push   0xc(%esp)
40f893:	e8 1f 7d ff ff       	call   0x4075b7
40f898:	85 c0                	test   %eax,%eax
40f89a:	59                   	pop    %ecx
40f89b:	59                   	pop    %ecx
40f89c:	75 07                	jne    0x40f8a5
40f89e:	b8 02 40 00 80       	mov    $0x80004002,%eax
40f8a3:	eb 12                	jmp    0x40f8b7
40f8a5:	8b 44 24 04          	mov    0x4(%esp),%eax
40f8a9:	8b 4c 24 0c          	mov    0xc(%esp),%ecx
40f8ad:	89 01                	mov    %eax,(%ecx)
40f8af:	8b 08                	mov    (%eax),%ecx
40f8b1:	50                   	push   %eax
40f8b2:	ff 51 04             	call   *0x4(%ecx)
40f8b5:	33 c0                	xor    %eax,%eax
40f8b7:	c2 0c 00             	ret    $0xc
40f8ba:	33 c0                	xor    %eax,%eax
40f8bc:	40                   	inc    %eax
40f8bd:	c2 04 00             	ret    $0x4
40f8c0:	33 c0                	xor    %eax,%eax
40f8c2:	c2 04 00             	ret    $0x4
40f8c5:	68 1c 5d 49 00       	push   $0x495d1c
40f8ca:	ff 74 24 0c          	push   0xc(%esp)
40f8ce:	e8 e4 7c ff ff       	call   0x4075b7
40f8d3:	85 c0                	test   %eax,%eax
40f8d5:	59                   	pop    %ecx
40f8d6:	59                   	pop    %ecx
40f8d7:	75 1b                	jne    0x40f8f4
40f8d9:	68 5c 66 49 00       	push   $0x49665c
40f8de:	ff 74 24 0c          	push   0xc(%esp)
40f8e2:	e8 d0 7c ff ff       	call   0x4075b7
40f8e7:	85 c0                	test   %eax,%eax
40f8e9:	59                   	pop    %ecx
40f8ea:	59                   	pop    %ecx
40f8eb:	75 07                	jne    0x40f8f4
40f8ed:	b8 02 40 00 80       	mov    $0x80004002,%eax
40f8f2:	eb 12                	jmp    0x40f906
40f8f4:	8b 44 24 04          	mov    0x4(%esp),%eax
40f8f8:	8b 4c 24 0c          	mov    0xc(%esp),%ecx
40f8fc:	89 01                	mov    %eax,(%ecx)
40f8fe:	8b 08                	mov    (%eax),%ecx
40f900:	50                   	push   %eax
40f901:	ff 51 04             	call   *0x4(%ecx)
40f904:	33 c0                	xor    %eax,%eax
40f906:	c2 0c 00             	ret    $0xc
40f909:	8b 01                	mov    (%ecx),%eax
40f90b:	85 c0                	test   %eax,%eax
40f90d:	74 06                	je     0x40f915
40f90f:	8b 08                	mov    (%eax),%ecx
40f911:	50                   	push   %eax
40f912:	ff 51 08             	call   *0x8(%ecx)
40f915:	c3                   	ret
40f916:	8b 01                	mov    (%ecx),%eax
40f918:	c3                   	ret
40f919:	8b c1                	mov    %ecx,%eax
40f91b:	c3                   	ret
40f91c:	8b 01                	mov    (%ecx),%eax
40f91e:	c3                   	ret
40f91f:	8b 01                	mov    (%ecx),%eax
40f921:	85 c0                	test   %eax,%eax
40f923:	74 06                	je     0x40f92b
40f925:	8b 08                	mov    (%eax),%ecx
40f927:	50                   	push   %eax
40f928:	ff 51 08             	call   *0x8(%ecx)
40f92b:	c3                   	ret
40f92c:	8b 01                	mov    (%ecx),%eax
40f92e:	c3                   	ret
40f92f:	8b 01                	mov    (%ecx),%eax
40f931:	c3                   	ret
40f932:	8b 01                	mov    (%ecx),%eax
40f934:	c3                   	ret
40f935:	8b 01                	mov    (%ecx),%eax
40f937:	c3                   	ret
40f938:	8b 01                	mov    (%ecx),%eax
40f93a:	85 c0                	test   %eax,%eax
40f93c:	74 06                	je     0x40f944
40f93e:	8b 08                	mov    (%eax),%ecx
40f940:	50                   	push   %eax
40f941:	ff 51 08             	call   *0x8(%ecx)
40f944:	c3                   	ret
40f945:	8b c1                	mov    %ecx,%eax
40f947:	c3                   	ret
40f948:	8b 01                	mov    (%ecx),%eax
40f94a:	c3                   	ret
40f94b:	8b 01                	mov    (%ecx),%eax
40f94d:	85 c0                	test   %eax,%eax
40f94f:	74 06                	je     0x40f957
40f951:	8b 08                	mov    (%eax),%ecx
40f953:	50                   	push   %eax
40f954:	ff 51 08             	call   *0x8(%ecx)
40f957:	c3                   	ret
40f958:	8b c1                	mov    %ecx,%eax
40f95a:	c3                   	ret
40f95b:	8b 01                	mov    (%ecx),%eax
40f95d:	c3                   	ret
40f95e:	8b 01                	mov    (%ecx),%eax
40f960:	c3                   	ret
40f961:	8b c1                	mov    %ecx,%eax
40f963:	c3                   	ret
40f964:	56                   	push   %esi
40f965:	57                   	push   %edi
40f966:	33 ff                	xor    %edi,%edi
40f968:	8d 71 0c             	lea    0xc(%ecx),%esi
40f96b:	33 c0                	xor    %eax,%eax
40f96d:	39 3e                	cmp    %edi,(%esi)
40f96f:	74 10                	je     0x40f981
40f971:	8b 01                	mov    (%ecx),%eax
40f973:	8b 08                	mov    (%eax),%ecx
40f975:	57                   	push   %edi
40f976:	57                   	push   %edi
40f977:	57                   	push   %edi
40f978:	56                   	push   %esi
40f979:	6a 01                	push   $0x1
40f97b:	50                   	push   %eax
40f97c:	ff 51 18             	call   *0x18(%ecx)
40f97f:	89 3e                	mov    %edi,(%esi)
40f981:	5f                   	pop    %edi
40f982:	5e                   	pop    %esi
40f983:	c3                   	ret
40f984:	8b 44 24 04          	mov    0x4(%esp),%eax
40f988:	89 41 08             	mov    %eax,0x8(%ecx)
40f98b:	c2 04 00             	ret    $0x4
40f98e:	8b c1                	mov    %ecx,%eax
40f990:	83 20 00             	andl   $0x0,(%eax)
40f993:	c3                   	ret
40f994:	ff 74 24 04          	push   0x4(%esp)
40f998:	51                   	push   %ecx
40f999:	e8 28 ed ff ff       	call   0x40e6c6
40f99e:	c2 04 00             	ret    $0x4
40f9a1:	8b 01                	mov    (%ecx),%eax
40f9a3:	85 c0                	test   %eax,%eax
40f9a5:	74 06                	je     0x40f9ad
40f9a7:	8b 08                	mov    (%eax),%ecx
40f9a9:	50                   	push   %eax
40f9aa:	ff 51 08             	call   *0x8(%ecx)
40f9ad:	c3                   	ret
40f9ae:	8b 01                	mov    (%ecx),%eax
40f9b0:	85 c0                	test   %eax,%eax
40f9b2:	74 06                	je     0x40f9ba
40f9b4:	8b 08                	mov    (%eax),%ecx
40f9b6:	50                   	push   %eax
40f9b7:	ff 51 08             	call   *0x8(%ecx)
40f9ba:	c3                   	ret
40f9bb:	8b c1                	mov    %ecx,%eax
40f9bd:	c3                   	ret
40f9be:	8b c1                	mov    %ecx,%eax
40f9c0:	83 20 00             	andl   $0x0,(%eax)
40f9c3:	c3                   	ret
40f9c4:	8b c1                	mov    %ecx,%eax
40f9c6:	83 20 00             	andl   $0x0,(%eax)
40f9c9:	c3                   	ret
40f9ca:	56                   	push   %esi
40f9cb:	8b f1                	mov    %ecx,%esi
40f9cd:	ff 36                	push   (%esi)
40f9cf:	ff 15 f0 0a 4b 00    	call   *0x4b0af0
40f9d5:	83 26 00             	andl   $0x0,(%esi)
40f9d8:	5e                   	pop    %esi
40f9d9:	c3                   	ret
40f9da:	8b 41 08             	mov    0x8(%ecx),%eax
40f9dd:	8b 11                	mov    (%ecx),%edx
40f9df:	56                   	push   %esi
40f9e0:	8b 70 08             	mov    0x8(%eax),%esi
40f9e3:	8b 00                	mov    (%eax),%eax
40f9e5:	57                   	push   %edi
40f9e6:	8b 7c 24 0c          	mov    0xc(%esp),%edi
40f9ea:	8b 04 f8             	mov    (%eax,%edi,8),%eax
40f9ed:	8b 3a                	mov    (%edx),%edi
40f9ef:	56                   	push   %esi
40f9f0:	50                   	push   %eax
40f9f1:	ff 71 0c             	push   0xc(%ecx)
40f9f4:	52                   	push   %edx
40f9f5:	ff 57 10             	call   *0x10(%edi)
40f9f8:	5f                   	pop    %edi
40f9f9:	5e                   	pop    %esi
40f9fa:	c2 04 00             	ret    $0x4
40f9fd:	8b c1                	mov    %ecx,%eax
40f9ff:	83 20 00             	andl   $0x0,(%eax)
40fa02:	c3                   	ret
40fa03:	8b c1                	mov    %ecx,%eax
40fa05:	83 20 00             	andl   $0x0,(%eax)
40fa08:	c3                   	ret
40fa09:	8b 01                	mov    (%ecx),%eax
40fa0b:	85 c0                	test   %eax,%eax
40fa0d:	74 09                	je     0x40fa18
40fa0f:	83 21 00             	andl   $0x0,(%ecx)
40fa12:	8b 08                	mov    (%eax),%ecx
40fa14:	50                   	push   %eax
40fa15:	ff 51 08             	call   *0x8(%ecx)
40fa18:	c3                   	ret
40fa19:	8b c1                	mov    %ecx,%eax
40fa1b:	83 20 00             	andl   $0x0,(%eax)
40fa1e:	c3                   	ret
40fa1f:	8b 01                	mov    (%ecx),%eax
40fa21:	c3                   	ret
40fa22:	8b 01                	mov    (%ecx),%eax
40fa24:	c3                   	ret
40fa25:	8b 01                	mov    (%ecx),%eax
40fa27:	85 c0                	test   %eax,%eax
40fa29:	74 09                	je     0x40fa34
40fa2b:	83 21 00             	andl   $0x0,(%ecx)
40fa2e:	8b 08                	mov    (%eax),%ecx
40fa30:	50                   	push   %eax
40fa31:	ff 51 08             	call   *0x8(%ecx)
40fa34:	c3                   	ret
40fa35:	8b c1                	mov    %ecx,%eax
40fa37:	83 20 00             	andl   $0x0,(%eax)
40fa3a:	c3                   	ret
40fa3b:	ff 74 24 08          	push   0x8(%esp)
40fa3f:	8b 44 24 08          	mov    0x8(%esp),%eax
40fa43:	8b 08                	mov    (%eax),%ecx
40fa45:	68 b4 c5 48 00       	push   $0x48c5b4
40fa4a:	50                   	push   %eax
40fa4b:	ff 11                	call   *(%ecx)
40fa4d:	c2 08 00             	ret    $0x8
40fa50:	ff 74 24 08          	push   0x8(%esp)
40fa54:	8b 44 24 08          	mov    0x8(%esp),%eax
40fa58:	8b 08                	mov    (%eax),%ecx
40fa5a:	68 c4 c5 48 00       	push   $0x48c5c4
40fa5f:	50                   	push   %eax
40fa60:	ff 11                	call   *(%ecx)
40fa62:	c2 08 00             	ret    $0x8
40fa65:	ff 74 24 08          	push   0x8(%esp)
40fa69:	8b 44 24 08          	mov    0x8(%esp),%eax
40fa6d:	8b 08                	mov    (%eax),%ecx
40fa6f:	68 d4 c5 48 00       	push   $0x48c5d4
40fa74:	50                   	push   %eax
40fa75:	ff 11                	call   *(%ecx)
40fa77:	c2 08 00             	ret    $0x8
40fa7a:	8b 4c 24 08          	mov    0x8(%esp),%ecx
40fa7e:	8b 44 24 04          	mov    0x4(%esp),%eax
40fa82:	8d 44 08 ff          	lea    -0x1(%eax,%ecx,1),%eax
40fa86:	49                   	dec    %ecx
40fa87:	f7 d1                	not    %ecx
40fa89:	23 c1                	and    %ecx,%eax
40fa8b:	c2 08 00             	ret    $0x8
40fa8e:	ff 74 24 08          	push   0x8(%esp)
40fa92:	8b 44 24 08          	mov    0x8(%esp),%eax
40fa96:	8b 08                	mov    (%eax),%ecx
40fa98:	68 e4 c5 48 00       	push   $0x48c5e4
40fa9d:	50                   	push   %eax
40fa9e:	ff 11                	call   *(%ecx)
40faa0:	c2 08 00             	ret    $0x8
40faa3:	8b 51 14             	mov    0x14(%ecx),%edx
40faa6:	8b 44 24 04          	mov    0x4(%esp),%eax
40faaa:	56                   	push   %esi
40faab:	57                   	push   %edi
40faac:	8b 7c 24 10          	mov    0x10(%esp),%edi
40fab0:	8d 04 40             	lea    (%eax,%eax,2),%eax
40fab3:	c1 e0 04             	shl    $0x4,%eax
40fab6:	8b 74 10 04          	mov    0x4(%eax,%edx,1),%esi
40faba:	03 71 08             	add    0x8(%ecx),%esi
40fabd:	a5                   	movsl  %ds:(%esi),%es:(%edi)
40fabe:	a5                   	movsl  %ds:(%esi),%es:(%edi)
40fabf:	a5                   	movsl  %ds:(%esi),%es:(%edi)
40fac0:	a5                   	movsl  %ds:(%esi),%es:(%edi)
40fac1:	66 a5                	movsw  %ds:(%esi),%es:(%edi)
40fac3:	a4                   	movsb  %ds:(%esi),%es:(%edi)
40fac4:	5f                   	pop    %edi
40fac5:	5e                   	pop    %esi
40fac6:	c2 08 00             	ret    $0x8
40fac9:	8b 44 24 04          	mov    0x4(%esp),%eax
40facd:	8b 51 14             	mov    0x14(%ecx),%edx
40fad0:	56                   	push   %esi
40fad1:	8d 04 40             	lea    (%eax,%eax,2),%eax
40fad4:	57                   	push   %edi
40fad5:	8b 7c 24 10          	mov    0x10(%esp),%edi
40fad9:	c1 e0 04             	shl    $0x4,%eax
40fadc:	8b 74 10 04          	mov    0x4(%eax,%edx,1),%esi
40fae0:	03 71 08             	add    0x8(%ecx),%esi
40fae3:	a5                   	movsl  %ds:(%esi),%es:(%edi)
40fae4:	66 a5                	movsw  %ds:(%esi),%es:(%edi)
40fae6:	5f                   	pop    %edi
40fae7:	5e                   	pop    %esi
40fae8:	c2 08 00             	ret    $0x8
40faeb:	8b 44 24 04          	mov    0x4(%esp),%eax
40faef:	8b 51 14             	mov    0x14(%ecx),%edx
40faf2:	56                   	push   %esi
40faf3:	8d 04 40             	lea    (%eax,%eax,2),%eax
40faf6:	57                   	push   %edi
40faf7:	8b 7c 24 10          	mov    0x10(%esp),%edi
40fafb:	c1 e0 04             	shl    $0x4,%eax
40fafe:	8b 74 10 04          	mov    0x4(%eax,%edx,1),%esi
40fb02:	03 71 08             	add    0x8(%ecx),%esi
40fb05:	a5                   	movsl  %ds:(%esi),%es:(%edi)
40fb06:	66 a5                	movsw  %ds:(%esi),%es:(%edi)
40fb08:	5f                   	pop    %edi
40fb09:	5e                   	pop    %esi
40fb0a:	c2 08 00             	ret    $0x8
40fb0d:	8b 44 24 04          	mov    0x4(%esp),%eax
40fb11:	8b 51 14             	mov    0x14(%ecx),%edx
40fb14:	56                   	push   %esi
40fb15:	57                   	push   %edi
40fb16:	8b 7c 24 10          	mov    0x10(%esp),%edi
40fb1a:	8d 04 40             	lea    (%eax,%eax,2),%eax
40fb1d:	c1 e0 04             	shl    $0x4,%eax
40fb20:	8b 74 10 04          	mov    0x4(%eax,%edx,1),%esi
40fb24:	03 71 08             	add    0x8(%ecx),%esi
40fb27:	a5                   	movsl  %ds:(%esi),%es:(%edi)
40fb28:	a5                   	movsl  %ds:(%esi),%es:(%edi)
40fb29:	a5                   	movsl  %ds:(%esi),%es:(%edi)
40fb2a:	a5                   	movsl  %ds:(%esi),%es:(%edi)
40fb2b:	5f                   	pop    %edi
40fb2c:	5e                   	pop    %esi
40fb2d:	c2 08 00             	ret    $0x8
40fb30:	8b 44 24 04          	mov    0x4(%esp),%eax
40fb34:	8b 51 14             	mov    0x14(%ecx),%edx