40b755:	31 c0                	xor    %eax,%eax
40b757:	50                   	push   %eax
40b758:	80 3d 95 98 42 00 00 	cmpb   $0x0,0x429895
40b75f:	75 08                	jne    0x40b769
40b761:	89 e1                	mov    %esp,%ecx
40b763:	89 f0                	mov    %esi,%eax
40b765:	89 fa                	mov    %edi,%edx
40b767:	ff d5                	call   *%ebp
40b769:	58                   	pop    %eax
40b76a:	5d                   	pop    %ebp
40b76b:	5f                   	pop    %edi
40b76c:	5e                   	pop    %esi
40b76d:	5b                   	pop    %ebx
40b76e:	c3                   	ret
40b76f:	90                   	nop
40b770:	3b 50 24             	cmp    0x24(%eax),%edx
40b773:	74 27                	je     0x40b79c
40b775:	89 50 24             	mov    %edx,0x24(%eax)
40b778:	8b 48 1c             	mov    0x1c(%eax),%ecx
40b77b:	e3 1f                	jecxz  0x40b79c
40b77d:	50                   	push   %eax
40b77e:	6a 37                	push   $0x37
40b780:	31 c0                	xor    %eax,%eax
40b782:	50                   	push   %eax
40b783:	50                   	push   %eax
40b784:	50                   	push   %eax
40b785:	50                   	push   %eax
40b786:	50                   	push   %eax
40b787:	51                   	push   %ecx
40b788:	52                   	push   %edx
40b789:	6a f0                	push   $0xfffffff0
40b78b:	51                   	push   %ecx
40b78c:	e8 7b 98 ff ff       	call   0x40500c
40b791:	e8 a2 93 ff ff       	call   0x404b38
40b796:	58                   	pop    %eax
40b797:	e8 d0 02 00 00       	call   0x40ba6c
40b79c:	c3                   	ret
40b79d:	8d 40 00             	lea    0x0(%eax),%eax
40b7a0:	3b 50 28             	cmp    0x28(%eax),%edx
40b7a3:	74 27                	je     0x40b7cc
40b7a5:	89 50 28             	mov    %edx,0x28(%eax)
40b7a8:	8b 48 1c             	mov    0x1c(%eax),%ecx
40b7ab:	e3 1f                	jecxz  0x40b7cc
40b7ad:	50                   	push   %eax
40b7ae:	6a 37                	push   $0x37
40b7b0:	31 c0                	xor    %eax,%eax
40b7b2:	50                   	push   %eax
40b7b3:	50                   	push   %eax
40b7b4:	50                   	push   %eax
40b7b5:	50                   	push   %eax
40b7b6:	50                   	push   %eax
40b7b7:	51                   	push   %ecx
40b7b8:	52                   	push   %edx
40b7b9:	6a ec                	push   $0xffffffec
40b7bb:	51                   	push   %ecx
40b7bc:	e8 4b 98 ff ff       	call   0x40500c
40b7c1:	e8 72 93 ff ff       	call   0x404b38
40b7c6:	58                   	pop    %eax
40b7c7:	e8 a0 02 00 00       	call   0x40ba6c
40b7cc:	c3                   	ret
40b7cd:	8d 40 00             	lea    0x0(%eax),%eax
40b7d0:	53                   	push   %ebx
40b7d1:	89 c3                	mov    %eax,%ebx
40b7d3:	52                   	push   %edx
40b7d4:	8d 15 14 7c 40 00    	lea    0x407c14,%edx
40b7da:	e8 59 e2 ff ff       	call   0x409a38
40b7df:	5a                   	pop    %edx
40b7e0:	3b 93 c6 00 00 00    	cmp    0xc6(%ebx),%edx
40b7e6:	74 51                	je     0x40b839
40b7e8:	89 93 c6 00 00 00    	mov    %edx,0xc6(%ebx)
40b7ee:	8b 4b 1c             	mov    0x1c(%ebx),%ecx
40b7f1:	e3 46                	jecxz  0x40b839
40b7f3:	85 d2                	test   %edx,%edx
40b7f5:	74 42                	je     0x40b839
40b7f7:	8b 0d a0 98 42 00    	mov    0x4298a0,%ecx
40b7fd:	41                   	inc    %ecx
40b7fe:	e2 39                	loop   0x40b839
40b800:	52                   	push   %edx
40b801:	50                   	push   %eax
40b802:	50                   	push   %eax
40b803:	54                   	push   %esp
40b804:	e8 37 92 ff ff       	call   0x404a40
40b809:	89 e2                	mov    %esp,%edx
40b80b:	89 d1                	mov    %edx,%ecx
40b80d:	89 d8                	mov    %ebx,%eax
40b80f:	e8 f0 01 00 00       	call   0x40ba04
40b814:	83 c4 f0             	add    $0xfffffff0,%esp
40b817:	89 e2                	mov    %esp,%edx
40b819:	89 d8                	mov    %ebx,%eax
40b81b:	e8 00 02 00 00       	call   0x40ba20
40b820:	89 e2                	mov    %esp,%edx
40b822:	8d 44 24 10          	lea    0x10(%esp),%eax
40b826:	e8 85 e9 ff ff       	call   0x40a1b0
40b82b:	83 c4 18             	add    $0x18,%esp
40b82e:	84 c0                	test   %al,%al
40b830:	74 06                	je     0x40b838
40b832:	e8 d9 92 ff ff       	call   0x404b10
40b837:	50                   	push   %eax
40b838:	58                   	pop    %eax
40b839:	5b                   	pop    %ebx
40b83a:	c3                   	ret
40b83b:	90                   	nop
40b83c:	3b 90 fe 00 00 00    	cmp    0xfe(%eax),%edx
40b842:	74 22                	je     0x40b866
40b844:	89 90 fe 00 00 00    	mov    %edx,0xfe(%eax)
40b84a:	42                   	inc    %edx
40b84b:	74 01                	je     0x40b84e
40b84d:	4a                   	dec    %edx
40b84e:	52                   	push   %edx
40b84f:	6a 01                	push   $0x1
40b851:	68 80 00 00 00       	push   $0x80
40b856:	50                   	push   %eax
40b857:	e8 e0 0c 00 00       	call   0x40c53c
40b85c:	85 c0                	test   %eax,%eax
40b85e:	74 06                	je     0x40b866
40b860:	50                   	push   %eax
40b861:	e8 82 91 ff ff       	call   0x4049e8
40b866:	c3                   	ret
40b867:	90                   	nop
40b868:	ff 70 6c             	push   0x6c(%eax)
40b86b:	c3                   	ret
40b86c:	53                   	push   %ebx
40b86d:	93                   	xchg   %eax,%ebx
40b86e:	8d 83 e2 00 00 00    	lea    0xe2(%ebx),%eax
40b874:	e8 6f 7e ff ff       	call   0x4036e8
40b879:	8b 4b 1c             	mov    0x1c(%ebx),%ecx
40b87c:	e3 10                	jecxz  0x40b88e
40b87e:	ff b3 e2 00 00 00    	push   0xe2(%ebx)
40b884:	6a 00                	push   $0x0
40b886:	6a 0c                	push   $0xc
40b888:	51                   	push   %ecx
40b889:	e8 6e 97 ff ff       	call   0x404ffc
40b88e:	f6 43 34 20          	testb  $0x20,0x34(%ebx)
40b892:	75 07                	jne    0x40b89b
40b894:	89 d8                	mov    %ebx,%eax
40b896:	e8 d1 01 00 00       	call   0x40ba6c
40b89b:	93                   	xchg   %eax,%ebx
40b89c:	5b                   	pop    %ebx
40b89d:	ff 70 6c             	push   0x6c(%eax)
40b8a0:	c3                   	ret
40b8a1:	8d 40 00             	lea    0x0(%eax),%eax
40b8a4:	f6 40 27 10          	testb  $0x10,0x27(%eax)
40b8a8:	0f 95 c0             	setne  %al
40b8ab:	c3                   	ret
40b8ac:	e8 f3 ff ff ff       	call   0x40b8a4
40b8b1:	c3                   	ret
40b8b2:	8b c0                	mov    %eax,%eax
40b8b4:	80 60 27 ef          	andb   $0xef,0x27(%eax)
40b8b8:	84 d2                	test   %dl,%dl
40b8ba:	74 04                	je     0x40b8c0
40b8bc:	80 48 27 10          	orb    $0x10,0x27(%eax)
40b8c0:	8b 48 1c             	mov    0x1c(%eax),%ecx
40b8c3:	e3 14                	jecxz  0x40b8d9
40b8c5:	50                   	push   %eax
40b8c6:	74 12                	je     0x40b8da
40b8c8:	ff 15 48 61 42 00    	call   *0x426148
40b8ce:	58                   	pop    %eax
40b8cf:	6a 05                	push   $0x5
40b8d1:	ff 70 1c             	push   0x1c(%eax)
40b8d4:	e8 67 92 ff ff       	call   0x404b40
40b8d9:	c3                   	ret
40b8da:	80 60 37 fe          	andb   $0xfe,0x37(%eax)
40b8de:	6a 00                	push   $0x0
40b8e0:	51                   	push   %ecx
40b8e1:	e8 5a 92 ff ff       	call   0x404b40
40b8e6:	58                   	pop    %eax
40b8e7:	ff 15 48 61 42 00    	call   *0x426148
40b8ed:	c3                   	ret
40b8ee:	8b c0                	mov    %eax,%eax
40b8f0:	80 48 37 08          	orb    $0x8,0x37(%eax)
40b8f4:	e8 bb ff ff ff       	call   0x40b8b4
40b8f9:	c3                   	ret
40b8fa:	8b c0                	mov    %eax,%eax
40b8fc:	56                   	push   %esi
40b8fd:	57                   	push   %edi
40b8fe:	8d b0 b6 00 00 00    	lea    0xb6(%eax),%esi
40b904:	89 d7                	mov    %edx,%edi
40b906:	52                   	push   %edx
40b907:	a5                   	movsl  %ds:(%esi),%es:(%edi)
40b908:	a5                   	movsl  %ds:(%esi),%es:(%edi)
40b909:	a5                   	movsl  %ds:(%esi),%es:(%edi)
40b90a:	a5                   	movsl  %ds:(%esi),%es:(%edi)
40b90b:	5f                   	pop    %edi
40b90c:	96                   	xchg   %eax,%esi
40b90d:	8b 4e 1c             	mov    0x1c(%esi),%ecx
40b910:	e3 3d                	jecxz  0x40b94f
40b912:	57                   	push   %edi
40b913:	51                   	push   %ecx
40b914:	e8 87 91 ff ff       	call   0x404aa0
40b919:	f6 46 36 28          	testb  $0x28,0x36(%esi)
40b91d:	74 24                	je     0x40b943
40b91f:	89 f0                	mov    %esi,%eax
40b921:	e8 f2 c1 ff ff       	call   0x407b18
40b926:	85 c0                	test   %eax,%eax
40b928:	74 25                	je     0x40b94f
40b92a:	31 d2                	xor    %edx,%edx
40b92c:	52                   	push   %edx
40b92d:	52                   	push   %edx
40b92e:	54                   	push   %esp
40b92f:	50                   	push   %eax
40b930:	e8 9b 90 ff ff       	call   0x4049d0
40b935:	58                   	pop    %eax
40b936:	f7 d8                	neg    %eax
40b938:	59                   	pop    %ecx
40b939:	f7 d9                	neg    %ecx
40b93b:	51                   	push   %ecx
40b93c:	50                   	push   %eax
40b93d:	57                   	push   %edi
40b93e:	e8 a5 91 ff ff       	call   0x404ae8
40b943:	87 f7                	xchg   %esi,%edi
40b945:	8d bf b6 00 00 00    	lea    0xb6(%edi),%edi
40b94b:	a5                   	movsl  %ds:(%esi),%es:(%edi)
40b94c:	a5                   	movsl  %ds:(%esi),%es:(%edi)
40b94d:	a5                   	movsl  %ds:(%esi),%es:(%edi)
40b94e:	a5                   	movsl  %ds:(%esi),%es:(%edi)
40b94f:	5f                   	pop    %edi
40b950:	5e                   	pop    %esi
40b951:	c3                   	ret
40b952:	8b c0                	mov    %eax,%eax
40b954:	59                   	pop    %ecx
40b955:	83 c4 f0             	add    $0xfffffff0,%esp
40b958:	89 e2                	mov    %esp,%edx
40b95a:	51                   	push   %ecx
40b95b:	50                   	push   %eax
40b95c:	e8 9b ff ff ff       	call   0x40b8fc
40b961:	58                   	pop    %eax
40b962:	c3                   	ret
40b963:	90                   	nop
40b964:	57                   	push   %edi
40b965:	89 c7                	mov    %eax,%edi
40b967:	56                   	push   %esi
40b968:	89 d6                	mov    %edx,%esi
40b96a:	e8 e5 ff ff ff       	call   0x40b954
40b96f:	89 f0                	mov    %esi,%eax
40b971:	89 e2                	mov    %esp,%edx
40b973:	e8 2c e8 ff ff       	call   0x40a1a4
40b978:	84 c0                	test   %al,%al
40b97a:	75 5e                	jne    0x40b9da
40b97c:	5a                   	pop    %edx
40b97d:	59                   	pop    %ecx
40b97e:	58                   	pop    %eax
40b97f:	50                   	push   %eax
40b980:	51                   	push   %ecx
40b981:	52                   	push   %edx
40b982:	29 d0                	sub    %edx,%eax
40b984:	3b 16                	cmp    (%esi),%edx
40b986:	75 05                	jne    0x40b98d
40b988:	3b 4e 04             	cmp    0x4(%esi),%ecx
40b98b:	74 04                	je     0x40b991
40b98d:	80 4f 35 20          	orb    $0x20,0x35(%edi)
40b991:	50                   	push   %eax
40b992:	8b 87 c2 00 00 00    	mov    0xc2(%edi),%eax
40b998:	29 c8                	sub    %ecx,%eax
40b99a:	50                   	push   %eax
40b99b:	57                   	push   %edi
40b99c:	8d bf b6 00 00 00    	lea    0xb6(%edi),%edi
40b9a2:	a5                   	movsl  %ds:(%esi),%es:(%edi)
40b9a3:	a5                   	movsl  %ds:(%esi),%es:(%edi)
40b9a4:	a5                   	movsl  %ds:(%esi),%es:(%edi)
40b9a5:	a5                   	movsl  %ds:(%esi),%es:(%edi)
40b9a6:	89 fe                	mov    %edi,%esi
40b9a8:	5f                   	pop    %edi
40b9a9:	8b 4f 1c             	mov    0x1c(%edi),%ecx
40b9ac:	e3 1e                	jecxz  0x40b9cc
40b9ae:	fd                   	std
40b9af:	6a 14                	push   $0x14
40b9b1:	ad                   	lods   %ds:(%esi),%eax
40b9b2:	ad                   	lods   %ds:(%esi),%eax
40b9b3:	92                   	xchg   %eax,%edx
40b9b4:	ad                   	lods   %ds:(%esi),%eax
40b9b5:	91                   	xchg   %eax,%ecx
40b9b6:	ad                   	lods   %ds:(%esi),%eax
40b9b7:	29 c2                	sub    %eax,%edx
40b9b9:	52                   	push   %edx
40b9ba:	92                   	xchg   %eax,%edx
40b9bb:	ad                   	lods   %ds:(%esi),%eax
40b9bc:	fc                   	cld
40b9bd:	29 c1                	sub    %eax,%ecx
40b9bf:	51                   	push   %ecx
40b9c0:	52                   	push   %edx
40b9c1:	50                   	push   %eax
40b9c2:	6a 00                	push   $0x0
40b9c4:	ff 77 1c             	push   0x1c(%edi)
40b9c7:	e8 6c 91 ff ff       	call   0x404b38
40b9cc:	5a                   	pop    %edx
40b9cd:	58                   	pop    %eax
40b9ce:	f6 47 34 10          	testb  $0x10,0x34(%edi)
40b9d2:	74 06                	je     0x40b9da
40b9d4:	97                   	xchg   %eax,%edi
40b9d5:	e8 92 00 00 00       	call   0x40ba6c
40b9da:	83 c4 10             	add    $0x10,%esp
40b9dd:	5e                   	pop    %esi
40b9de:	5f                   	pop    %edi
40b9df:	c3                   	ret
40b9e0:	53                   	push   %ebx
40b9e1:	89 c3                	mov    %eax,%ebx
40b9e3:	e8 8c 22 00 00       	call   0x40dc74
40b9e8:	b2 01                	mov    $0x1,%dl
40b9ea:	89 d8                	mov    %ebx,%eax
40b9ec:	e8 ff fe ff ff       	call   0x40b8f0
40b9f1:	ff 73 1c             	push   0x1c(%ebx)
40b9f4:	e8 27 91 ff ff       	call   0x404b20
40b9f9:	93                   	xchg   %eax,%ebx
40b9fa:	e8 f5 00 00 00       	call   0x40baf4
40b9ff:	5b                   	pop    %ebx
40ba00:	c3                   	ret
40ba01:	8d 40 00             	lea    0x0(%eax),%eax
40ba04:	56                   	push   %esi
40ba05:	57                   	push   %edi
40ba06:	89 d6                	mov    %edx,%esi
40ba08:	89 cf                	mov    %ecx,%edi
40ba0a:	a5                   	movsl  %ds:(%esi),%es:(%edi)
40ba0b:	a5                   	movsl  %ds:(%esi),%es:(%edi)
40ba0c:	51                   	push   %ecx
40ba0d:	8b 48 1c             	mov    0x1c(%eax),%ecx
40ba10:	e3 07                	jecxz  0x40ba19
40ba12:	51                   	push   %ecx
40ba13:	e8 e8 90 ff ff       	call   0x404b00
40ba18:	51                   	push   %ecx
40ba19:	59                   	pop    %ecx
40ba1a:	5f                   	pop    %edi
40ba1b:	5e                   	pop    %esi
40ba1c:	c3                   	ret
40ba1d:	8d 40 00             	lea    0x0(%eax),%eax
40ba20:	56                   	push   %esi
40ba21:	96                   	xchg   %eax,%esi
40ba22:	52                   	push   %edx
40ba23:	52                   	push   %edx
40ba24:	8d 86 b6 00 00 00    	lea    0xb6(%esi),%eax
40ba2a:	31 c9                	xor    %ecx,%ecx
40ba2c:	b1 10                	mov    $0x10,%cl
40ba2e:	e8 11 6f ff ff       	call   0x402944
40ba33:	89 f0                	mov    %esi,%eax
40ba35:	e8 0a 22 00 00       	call   0x40dc44
40ba3a:	91                   	xchg   %eax,%ecx
40ba3b:	e3 07                	jecxz  0x40ba44
40ba3d:	51                   	push   %ecx
40ba3e:	e8 f5 8f ff ff       	call   0x404a38
40ba43:	52                   	push   %edx
40ba44:	5a                   	pop    %edx
40ba45:	5a                   	pop    %edx
40ba46:	8d b6 b1 00 00 00    	lea    0xb1(%esi),%esi
40ba4c:	ac                   	lods   %ds:(%esi),%al
40ba4d:	0f be c0             	movsbl %al,%eax
40ba50:	01 42 04             	add    %eax,0x4(%edx)
40ba53:	ac                   	lods   %ds:(%esi),%al
40ba54:	0f be c0             	movsbl %al,%eax
40ba57:	29 42 0c             	sub    %eax,0xc(%edx)
40ba5a:	ac                   	lods   %ds:(%esi),%al
40ba5b:	0f be c0             	movsbl %al,%eax