40a841:	8d 4e 48             	lea    0x48(%esi),%ecx
40a844:	39 98 70 84 00 00    	cmp    %ebx,0x8470(%eax)
40a84a:	0f 84 10 01 00 00    	je     0x40a960
40a850:	05 74 84 00 00       	add    $0x8474,%eax
40a855:	c7 86 88 01 00 00 01 	movl   $0x1,0x188(%esi)
40a85c:	00 00 00
40a85f:	50                   	push   %eax
40a860:	e8 53 18 00 00       	call   0x40c0b8
40a865:	8b f8                	mov    %eax,%edi
40a867:	85 ff                	test   %edi,%edi
40a869:	79 3e                	jns    0x40a8a9
40a86b:	8b 0d 00 b0 42 00    	mov    0x42b000,%ecx
40a871:	81 f9 00 b0 42 00    	cmp    $0x42b000,%ecx
40a877:	0f 84 a9 00 00 00    	je     0x40a926
40a87d:	f6 41 1c 01          	testb  $0x1,0x1c(%ecx)
40a881:	0f 84 9f 00 00 00    	je     0x40a926
40a887:	8b 86 8c 01 00 00    	mov    0x18c(%esi),%eax
40a88d:	57                   	push   %edi
40a88e:	05 74 84 00 00       	add    $0x8474,%eax
40a893:	50                   	push   %eax
40a894:	ff 71 14             	push   0x14(%ecx)
40a897:	ff 71 10             	push   0x10(%ecx)
40a89a:	6a 57                	push   $0x57
40a89c:	ba e0 21 40 00       	mov    $0x4021e0,%edx
40a8a1:	59                   	pop    %ecx
40a8a2:	e8 0f d1 ff ff       	call   0x4079b6
40a8a7:	eb 7d                	jmp    0x40a926
40a8a9:	6a 54                	push   $0x54
40a8ab:	58                   	pop    %eax
40a8ac:	89 45 d0             	mov    %eax,-0x30(%ebp)
40a8af:	8b 4c 9d d4          	mov    -0x2c(%ebp,%ebx,4),%ecx
40a8b3:	85 c9                	test   %ecx,%ecx
40a8b5:	74 27                	je     0x40a8de
40a8b7:	33 d2                	xor    %edx,%edx
40a8b9:	66 39 11             	cmp    %dx,(%ecx)
40a8bc:	74 20                	je     0x40a8de
40a8be:	51                   	push   %ecx
40a8bf:	8d 0c 30             	lea    (%eax,%esi,1),%ecx
40a8c2:	e8 f1 17 00 00       	call   0x40c0b8
40a8c7:	8b f8                	mov    %eax,%edi
40a8c9:	85 ff                	test   %edi,%edi
40a8cb:	78 6a                	js     0x40a937
40a8cd:	8b 45 d0             	mov    -0x30(%ebp),%eax
40a8d0:	43                   	inc    %ebx
40a8d1:	83 c0 0c             	add    $0xc,%eax
40a8d4:	89 45 d0             	mov    %eax,-0x30(%ebp)
40a8d7:	3d cc 00 00 00       	cmp    $0xcc,%eax
40a8dc:	72 d1                	jb     0x40a8af
40a8de:	33 db                	xor    %ebx,%ebx
40a8e0:	8b 8e 8c 01 00 00    	mov    0x18c(%esi),%ecx
40a8e6:	8d 41 50             	lea    0x50(%ecx),%eax
40a8e9:	66 39 18             	cmp    %bx,(%eax)
40a8ec:	74 1b                	je     0x40a909
40a8ee:	83 be 88 01 00 00 01 	cmpl   $0x1,0x188(%esi)
40a8f5:	75 12                	jne    0x40a909
40a8f7:	50                   	push   %eax
40a8f8:	8d 8e 74 01 00 00    	lea    0x174(%esi),%ecx
40a8fe:	e8 b5 17 00 00       	call   0x40c0b8
40a903:	8b 8e 8c 01 00 00    	mov    0x18c(%esi),%ecx
40a909:	8b 41 2c             	mov    0x2c(%ecx),%eax
40a90c:	8b fb                	mov    %ebx,%edi
40a90e:	89 86 80 01 00 00    	mov    %eax,0x180(%esi)
40a914:	8b 41 30             	mov    0x30(%ecx),%eax
40a917:	89 86 84 01 00 00    	mov    %eax,0x184(%esi)
40a91d:	8b 41 38             	mov    0x38(%ecx),%eax
40a920:	89 86 ac 01 00 00    	mov    %eax,0x1ac(%esi)
40a926:	8b 4d fc             	mov    -0x4(%ebp),%ecx
40a929:	8b c7                	mov    %edi,%eax
40a92b:	5f                   	pop    %edi
40a92c:	5e                   	pop    %esi
40a92d:	33 cd                	xor    %ebp,%ecx
40a92f:	5b                   	pop    %ebx
40a930:	e8 ab d1 01 00       	call   0x427ae0
40a935:	c9                   	leave
40a936:	c3                   	ret
40a937:	a1 00 b0 42 00       	mov    0x42b000,%eax
40a93c:	3d 00 b0 42 00       	cmp    $0x42b000,%eax
40a941:	74 e3                	je     0x40a926
40a943:	f6 40 1c 01          	testb  $0x1,0x1c(%eax)
40a947:	74 dd                	je     0x40a926
40a949:	57                   	push   %edi
40a94a:	53                   	push   %ebx
40a94b:	ff 70 14             	push   0x14(%eax)
40a94e:	ba e0 21 40 00       	mov    $0x4021e0,%edx
40a953:	ff 70 10             	push   0x10(%eax)
40a956:	6a 58                	push   $0x58
40a958:	59                   	pop    %ecx
40a959:	e8 0c e1 ff ff       	call   0x408a6a
40a95e:	eb c6                	jmp    0x40a926
40a960:	68 60 1f 40 00       	push   $0x401f60
40a965:	89 9e 88 01 00 00    	mov    %ebx,0x188(%esi)
40a96b:	e8 48 17 00 00       	call   0x40c0b8
40a970:	8b f8                	mov    %eax,%edi
40a972:	85 ff                	test   %edi,%edi
40a974:	0f 89 66 ff ff ff    	jns    0x40a8e0
40a97a:	a1 00 b0 42 00       	mov    0x42b000,%eax
40a97f:	3d 00 b0 42 00       	cmp    $0x42b000,%eax
40a984:	74 a0                	je     0x40a926
40a986:	f6 40 1c 01          	testb  $0x1,0x1c(%eax)
40a98a:	74 9a                	je     0x40a926
40a98c:	57                   	push   %edi
40a98d:	68 60 1f 40 00       	push   $0x401f60
40a992:	ff 70 14             	push   0x14(%eax)
40a995:	ff 70 10             	push   0x10(%eax)
40a998:	6a 59                	push   $0x59
40a99a:	e9 fd fe ff ff       	jmp    0x40a89c
40a99f:	8b ff                	mov    %edi,%edi
40a9a1:	55                   	push   %ebp
40a9a2:	8b ec                	mov    %esp,%ebp
40a9a4:	8b 45 0c             	mov    0xc(%ebp),%eax
40a9a7:	57                   	push   %edi
40a9a8:	8b f9                	mov    %ecx,%edi
40a9aa:	85 c0                	test   %eax,%eax
40a9ac:	75 07                	jne    0x40a9b5
40a9ae:	b8 57 00 07 80       	mov    $0x80070057,%eax
40a9b3:	eb 53                	jmp    0x40aa08
40a9b5:	56                   	push   %esi
40a9b6:	8b 75 08             	mov    0x8(%ebp),%esi
40a9b9:	50                   	push   %eax
40a9ba:	56                   	push   %esi
40a9bb:	83 26 00             	andl   $0x0,(%esi)
40a9be:	c7 00 01 00 00 00    	movl   $0x1,(%eax)
40a9c4:	e8 4f 0e 00 00       	call   0x40b818
40a9c9:	85 c0                	test   %eax,%eax
40a9cb:	78 3a                	js     0x40aa07
40a9cd:	f6 87 ac 01 00 00 04 	testb  $0x4,0x1ac(%edi)
40a9d4:	75 20                	jne    0x40a9f6
40a9d6:	8b 87 8c 01 00 00    	mov    0x18c(%edi),%eax
40a9dc:	f6 40 44 04          	testb  $0x4,0x44(%eax)
40a9e0:	74 0b                	je     0x40a9ed
40a9e2:	83 78 1c 00          	cmpl   $0x0,0x1c(%eax)
40a9e6:	74 05                	je     0x40a9ed
40a9e8:	83 0e 03             	orl    $0x3,(%esi)
40a9eb:	eb 09                	jmp    0x40a9f6
40a9ed:	f6 40 44 02          	testb  $0x2,0x44(%eax)
40a9f1:	74 03                	je     0x40a9f6
40a9f3:	83 0e 02             	orl    $0x2,(%esi)
40a9f6:	8b 87 8c 01 00 00    	mov    0x18c(%edi),%eax
40a9fc:	f6 40 44 10          	testb  $0x10,0x44(%eax)
40aa00:	74 03                	je     0x40aa05
40aa02:	83 0e 08             	orl    $0x8,(%esi)
40aa05:	33 c0                	xor    %eax,%eax
40aa07:	5e                   	pop    %esi
40aa08:	5f                   	pop    %edi
40aa09:	5d                   	pop    %ebp
40aa0a:	c2 08 00             	ret    $0x8
40aa0d:	8b ff                	mov    %edi,%edi
40aa0f:	55                   	push   %ebp
40aa10:	8b ec                	mov    %esp,%ebp
40aa12:	81 ec 40 02 00 00    	sub    $0x240,%esp
40aa18:	a1 74 b6 42 00       	mov    0x42b674,%eax
40aa1d:	33 c5                	xor    %ebp,%eax
40aa1f:	89 45 f8             	mov    %eax,-0x8(%ebp)
40aa22:	8b 45 08             	mov    0x8(%ebp),%eax
40aa25:	53                   	push   %ebx
40aa26:	56                   	push   %esi
40aa27:	8b f1                	mov    %ecx,%esi
40aa29:	89 85 c8 fd ff ff    	mov    %eax,-0x238(%ebp)
40aa2f:	57                   	push   %edi
40aa30:	33 ff                	xor    %edi,%edi
40aa32:	8b 96 8c 01 00 00    	mov    0x18c(%esi),%edx
40aa38:	8b 42 14             	mov    0x14(%edx),%eax
40aa3b:	89 85 c0 fd ff ff    	mov    %eax,-0x240(%ebp)
40aa41:	c7 85 c4 fd ff ff 01 	movl   $0x1,-0x23c(%ebp)
40aa48:	00 00 00
40aa4b:	ff 72 0c             	push   0xc(%edx)
40aa4e:	57                   	push   %edi
40aa4f:	68 ff ff 1f 00       	push   $0x1fffff
40aa54:	ff 15 7c c2 42 00    	call   *0x42c27c
40aa5a:	8b d8                	mov    %eax,%ebx
40aa5c:	85 db                	test   %ebx,%ebx
40aa5e:	75 30                	jne    0x40aa90
40aa60:	8b 0d 00 b0 42 00    	mov    0x42b000,%ecx
40aa66:	81 f9 00 b0 42 00    	cmp    $0x42b000,%ecx
40aa6c:	74 22                	je     0x40aa90
40aa6e:	f6 41 1c 01          	testb  $0x1,0x1c(%ecx)
40aa72:	74 1c                	je     0x40aa90
40aa74:	8b 86 8c 01 00 00    	mov    0x18c(%esi),%eax
40aa7a:	ba e0 21 40 00       	mov    $0x4021e0,%edx
40aa7f:	ff 70 0c             	push   0xc(%eax)
40aa82:	ff 71 14             	push   0x14(%ecx)
40aa85:	ff 71 10             	push   0x10(%ecx)
40aa88:	6a 5a                	push   $0x5a
40aa8a:	59                   	pop    %ecx
40aa8b:	e8 3e c9 ff ff       	call   0x4073ce
40aa90:	68 28 02 00 00       	push   $0x228
40aa95:	8d 85 cc fd ff ff    	lea    -0x234(%ebp),%eax
40aa9b:	57                   	push   %edi
40aa9c:	50                   	push   %eax
40aa9d:	e8 0b d9 01 00       	call   0x4283ad
40aaa2:	8b 96 8c 01 00 00    	mov    0x18c(%esi),%edx
40aaa8:	83 c4 0c             	add    $0xc,%esp
40aaab:	39 ba 60 9a 00 00    	cmp    %edi,0x9a60(%edx)
40aab1:	74 77                	je     0x40ab2a
40aab3:	c7 85 cc fd ff ff 28 	movl   $0x228,-0x234(%ebp)
40aaba:	02 00 00
40aabd:	8b 82 64 9a 00 00    	mov    0x9a64(%edx),%eax
40aac3:	89 85 d4 fd ff ff    	mov    %eax,-0x22c(%ebp)
40aac9:	8b 82 74 9a 00 00    	mov    0x9a74(%edx),%eax
40aacf:	89 85 e4 fd ff ff    	mov    %eax,-0x21c(%ebp)
40aad5:	8b 82 6c 9a 00 00    	mov    0x9a6c(%edx),%eax
40aadb:	89 85 dc fd ff ff    	mov    %eax,-0x224(%ebp)
40aae1:	8b 82 68 9a 00 00    	mov    0x9a68(%edx),%eax
40aae7:	89 85 d8 fd ff ff    	mov    %eax,-0x228(%ebp)
40aaed:	8b 82 80 9a 00 00    	mov    0x9a80(%edx),%eax
40aaf3:	89 85 f0 fd ff ff    	mov    %eax,-0x210(%ebp)
40aaf9:	8b 82 78 9a 00 00    	mov    0x9a78(%edx),%eax
40aaff:	89 85 e8 fd ff ff    	mov    %eax,-0x218(%ebp)
40ab05:	8b 82 70 9a 00 00    	mov    0x9a70(%edx),%eax
40ab0b:	89 85 e0 fd ff ff    	mov    %eax,-0x220(%ebp)
40ab11:	8b 82 7c 9a 00 00    	mov    0x9a7c(%edx),%eax
40ab17:	89 85 ec fd ff ff    	mov    %eax,-0x214(%ebp)
40ab1d:	b8 ff fe ff ff       	mov    $0xfffffeff,%eax
40ab22:	89 85 d0 fd ff ff    	mov    %eax,-0x230(%ebp)
40ab28:	eb 06                	jmp    0x40ab30
40ab2a:	8b 85 d0 fd ff ff    	mov    -0x230(%ebp),%eax
40ab30:	8d b2 a4 07 00 00    	lea    0x7a4(%edx),%esi
40ab36:	66 39 3e             	cmp    %di,(%esi)
40ab39:	74 29                	je     0x40ab64
40ab3b:	0d 00 01 00 00       	or     $0x100,%eax
40ab40:	c7 85 cc fd ff ff 28 	movl   $0x228,-0x234(%ebp)
40ab47:	02 00 00
40ab4a:	89 85 d0 fd ff ff    	mov    %eax,-0x230(%ebp)
40ab50:	8d bd f4 fd ff ff    	lea    -0x20c(%ebp),%edi
40ab56:	b9 80 00 00 00       	mov    $0x80,%ecx
40ab5b:	33 c0                	xor    %eax,%eax
40ab5d:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
40ab5f:	89 45 f0             	mov    %eax,-0x10(%ebp)
40ab62:	33 ff                	xor    %edi,%edi
40ab64:	8b 85 cc fd ff ff    	mov    -0x234(%ebp),%eax
40ab6a:	8d 8d cc fd ff ff    	lea    -0x234(%ebp),%ecx
40ab70:	f7 d8                	neg    %eax
40ab72:	57                   	push   %edi
40ab73:	1b c0                	sbb    %eax,%eax
40ab75:	23 c1                	and    %ecx,%eax
40ab77:	8d 8d c0 fd ff ff    	lea    -0x240(%ebp),%ecx
40ab7d:	50                   	push   %eax
40ab7e:	8b 85 c0 fd ff ff    	mov    -0x240(%ebp),%eax
40ab84:	f7 d8                	neg    %eax
40ab86:	1b c0                	sbb    %eax,%eax
40ab88:	23 c1                	and    %ecx,%eax
40ab8a:	50                   	push   %eax
40ab8b:	6a 02                	push   $0x2
40ab8d:	53                   	push   %ebx
40ab8e:	ff 72 28             	push   0x28(%edx)
40ab91:	ff b5 c8 fd ff ff    	push   -0x238(%ebp)
40ab97:	ff 15 b4 c4 42 00    	call   *0x42c4b4
40ab9d:	8b f0                	mov    %eax,%esi
40ab9f:	85 f6                	test   %esi,%esi
40aba1:	79 2a                	jns    0x40abcd
40aba3:	8b 0d 00 b0 42 00    	mov    0x42b000,%ecx
40aba9:	81 f9 00 b0 42 00    	cmp    $0x42b000,%ecx
40abaf:	74 1e                	je     0x40abcf
40abb1:	f6 41 1c 01          	testb  $0x1,0x1c(%ecx)
40abb5:	74 18                	je     0x40abcf
40abb7:	56                   	push   %esi
40abb8:	ff 71 14             	push   0x14(%ecx)
40abbb:	ba e0 21 40 00       	mov    $0x4021e0,%edx
40abc0:	ff 71 10             	push   0x10(%ecx)
40abc3:	6a 5b                	push   $0x5b
40abc5:	59                   	pop    %ecx
40abc6:	e8 03 c8 ff ff       	call   0x4073ce
40abcb:	eb 02                	jmp    0x40abcf
40abcd:	8b f7                	mov    %edi,%esi
40abcf:	85 db                	test   %ebx,%ebx
40abd1:	74 07                	je     0x40abda
40abd3:	53                   	push   %ebx
40abd4:	ff 15 30 c2 42 00    	call   *0x42c230
40abda:	8b 4d f8             	mov    -0x8(%ebp),%ecx
40abdd:	8b c6                	mov    %esi,%eax
40abdf:	5f                   	pop    %edi
40abe0:	5e                   	pop    %esi
40abe1:	33 cd                	xor    %ebp,%ecx
40abe3:	5b                   	pop    %ebx
40abe4:	e8 f7 ce 01 00       	call   0x427ae0
40abe9:	c9                   	leave
40abea:	c2 04 00             	ret    $0x4
40abed:	cc                   	int3
40abee:	cc                   	int3
40abef:	68 bc 05 00 00       	push   $0x5bc
40abf4:	b8 1c 85 42 00       	mov    $0x42851c,%eax
40abf9:	e8 9d d4 01 00       	call   0x42809b
40abfe:	8b f9                	mov    %ecx,%edi
40ac00:	89 bd 50 fa ff ff    	mov    %edi,-0x5b0(%ebp)
40ac06:	8b 45 08             	mov    0x8(%ebp),%eax
40ac09:	33 db                	xor    %ebx,%ebx
40ac0b:	89 85 3c fa ff ff    	mov    %eax,-0x5c4(%ebp)
40ac11:	8b 45 0c             	mov    0xc(%ebp),%eax
40ac14:	6a 50                	push   $0x50
40ac16:	89 85 38 fa ff ff    	mov    %eax,-0x5c8(%ebp)
40ac1c:	8d 85 58 fb ff ff    	lea    -0x4a8(%ebp),%eax
40ac22:	53                   	push   %ebx
40ac23:	50                   	push   %eax
40ac24:	e8 84 d7 01 00       	call   0x4283ad
40ac29:	83 c4 0c             	add    $0xc,%esp
40ac2c:	8d 85 60 fc ff ff    	lea    -0x3a0(%ebp),%eax
40ac32:	68 cc 02 00 00       	push   $0x2cc
40ac37:	53                   	push   %ebx
40ac38:	50                   	push   %eax
40ac39:	e8 6f d7 01 00       	call   0x4283ad
40ac3e:	83 c4 0c             	add    $0xc,%esp
40ac41:	8d 85 a8 fb ff ff    	lea    -0x458(%ebp),%eax
40ac47:	68 b8 00 00 00       	push   $0xb8
40ac4c:	53                   	push   %ebx
40ac4d:	50                   	push   %eax
40ac4e:	e8 5a d7 01 00       	call   0x4283ad
40ac53:	83 c4 0c             	add    $0xc,%esp
40ac56:	8d 85 d8 fa ff ff    	lea    -0x528(%ebp),%eax
40ac5c:	be 80 00 00 00       	mov    $0x80,%esi
40ac61:	56                   	push   %esi
40ac62:	53                   	push   %ebx
40ac63:	50                   	push   %eax
40ac64:	e8 44 d7 01 00       	call   0x4283ad
40ac69:	83 c4 0c             	add    $0xc,%esp
40ac6c:	8d 85 58 fa ff ff    	lea    -0x5a8(%ebp),%eax
40ac72:	56                   	push   %esi
40ac73:	53                   	push   %ebx
40ac74:	50                   	push   %eax
40ac75:	e8 33 d7 01 00       	call   0x4283ad
40ac7a:	83 c4 0c             	add    $0xc,%esp
40ac7d:	89 9d 44 fa ff ff    	mov    %ebx,-0x5bc(%ebp)
40ac83:	8d 85 30 ff ff ff    	lea    -0xd0(%ebp),%eax
40ac89:	68 50 79 40 00       	push   $0x407950
40ac8e:	68 60 cc 40 00       	push   $0x40cc60
40ac93:	6a 08                	push   $0x8
40ac95:	6a 0c                	push   $0xc
40ac97:	50                   	push   %eax
40ac98:	e8 f1 d2 01 00       	call   0x427f8e
40ac9d:	89 5d fc             	mov    %ebx,-0x4(%ebp)
40aca0:	b9 9c 21 40 00       	mov    $0x40219c,%ecx
40aca5:	89 9d 4c fa ff ff    	mov    %ebx,-0x5b4(%ebp)
40acab:	89 9d 54 fa ff ff    	mov    %ebx,-0x5ac(%ebp)
40acb1:	e8 92 90 00 00       	call   0x413d48
40acb6:	8d 85 54 fa ff ff    	lea    -0x5ac(%ebp),%eax
40acbc:	50                   	push   %eax
40acbd:	ff 15 94 c4 42 00    	call   *0x42c494
40acc3:	8b 87 8c 01 00 00    	mov    0x18c(%edi),%eax
40acc9:	ff 70 0c             	push   0xc(%eax)
40accc:	53                   	push   %ebx
40accd:	68 ff ff 1f 00       	push   $0x1fffff
40acd2:	ff 15 7c c2 42 00    	call   *0x42c27c
40acd8:	8b f0                	mov    %eax,%esi
40acda:	89 b5 40 fa ff ff    	mov    %esi,-0x5c0(%ebp)
40ace0:	85 f6                	test   %esi,%esi
40ace2:	75 33                	jne    0x40ad17
40ace4:	8b 0d 00 b0 42 00    	mov    0x42b000,%ecx
40acea:	81 f9 00 b0 42 00    	cmp    $0x42b000,%ecx
40acf0:	74 25                	je     0x40ad17
40acf2:	f6 41 1c 02          	testb  $0x2,0x1c(%ecx)
40acf6:	74 1f                	je     0x40ad17