40e76b:	52                   	push   %edx
40e76c:	50                   	push   %eax
40e76d:	ff 15 48 10 40 00    	call   *0x401048
40e773:	8b 85 48 ff ff ff    	mov    -0xb8(%ebp),%eax
40e779:	8d 95 34 ff ff ff    	lea    -0xcc(%ebp),%edx
40e77f:	8d 4d d0             	lea    -0x30(%ebp),%ecx
40e782:	89 b5 48 ff ff ff    	mov    %esi,-0xb8(%ebp)
40e788:	89 85 3c ff ff ff    	mov    %eax,-0xc4(%ebp)
40e78e:	89 9d 34 ff ff ff    	mov    %ebx,-0xcc(%ebp)
40e794:	ff 15 0c 10 40 00    	call   *0x40100c
40e79a:	8d 8d 44 ff ff ff    	lea    -0xbc(%ebp),%ecx
40e7a0:	ff 15 ac 11 40 00    	call   *0x4011ac
40e7a6:	68 e8 84 40 00       	push   $0x4084e8
40e7ab:	68 f8 84 40 00       	push   $0x4084f8
40e7b0:	ff 15 3c 10 40 00    	call   *0x40103c
40e7b6:	89 85 3c ff ff ff    	mov    %eax,-0xc4(%ebp)
40e7bc:	8d 85 34 ff ff ff    	lea    -0xcc(%ebp),%eax
40e7c2:	50                   	push   %eax
40e7c3:	8d 8d 24 ff ff ff    	lea    -0xdc(%ebp),%ecx
40e7c9:	51                   	push   %ecx
40e7ca:	89 9d 34 ff ff ff    	mov    %ebx,-0xcc(%ebp)
40e7d0:	ff 15 94 11 40 00    	call   *0x401194
40e7d6:	8d 95 24 ff ff ff    	lea    -0xdc(%ebp),%edx
40e7dc:	52                   	push   %edx
40e7dd:	8d 85 04 ff ff ff    	lea    -0xfc(%ebp),%eax
40e7e3:	50                   	push   %eax
40e7e4:	c7 85 0c ff ff ff 03 	movl   $0x3,-0xf4(%ebp)
40e7eb:	00 00 00
40e7ee:	c7 85 04 ff ff ff 02 	movl   $0x8002,-0xfc(%ebp)
40e7f5:	80 00 00
40e7f8:	ff 15 68 11 40 00    	call   *0x401168
40e7fe:	8d 8d 24 ff ff ff    	lea    -0xdc(%ebp),%ecx
40e804:	51                   	push   %ecx
40e805:	8d 95 34 ff ff ff    	lea    -0xcc(%ebp),%edx
40e80b:	52                   	push   %edx
40e80c:	6a 02                	push   $0x2
40e80e:	66 8b f8             	mov    %ax,%di
40e811:	ff 15 28 10 40 00    	call   *0x401028
40e817:	83 c4 0c             	add    $0xc,%esp
40e81a:	66 3b fe             	cmp    %si,%di
40e81d:	0f 84 de 00 00 00    	je     0x40e901
40e823:	39 35 38 03 41 00    	cmp    %esi,0x410338
40e829:	75 10                	jne    0x40e83b
40e82b:	68 38 03 41 00       	push   $0x410338
40e830:	68 a8 7c 40 00       	push   $0x407ca8
40e835:	ff 15 2c 11 40 00    	call   *0x40112c
40e83b:	8b 3d 38 03 41 00    	mov    0x410338,%edi
40e841:	8b 07                	mov    (%edi),%eax
40e843:	8d 8d 44 ff ff ff    	lea    -0xbc(%ebp),%ecx
40e849:	51                   	push   %ecx
40e84a:	57                   	push   %edi
40e84b:	ff 50 1c             	call   *0x1c(%eax)
40e84e:	db e2                	fnclex
40e850:	3b c6                	cmp    %esi,%eax
40e852:	7d 0f                	jge    0x40e863
40e854:	6a 1c                	push   $0x1c
40e856:	68 98 7c 40 00       	push   $0x407c98
40e85b:	57                   	push   %edi
40e85c:	50                   	push   %eax
40e85d:	ff 15 48 10 40 00    	call   *0x401048
40e863:	8b 85 44 ff ff ff    	mov    -0xbc(%ebp),%eax
40e869:	8d bd 48 ff ff ff    	lea    -0xb8(%ebp),%edi
40e86f:	57                   	push   %edi
40e870:	83 ec 10             	sub    $0x10,%esp
40e873:	b9 0a 00 00 00       	mov    $0xa,%ecx
40e878:	89 8d 04 ff ff ff    	mov    %ecx,-0xfc(%ebp)
40e87e:	8b fc                	mov    %esp,%edi
40e880:	89 0f                	mov    %ecx,(%edi)
40e882:	8b 8d 08 ff ff ff    	mov    -0xf8(%ebp),%ecx
40e888:	89 4f 04             	mov    %ecx,0x4(%edi)
40e88b:	c7 85 0c ff ff ff 04 	movl   $0x80020004,-0xf4(%ebp)
40e892:	00 02 80
40e895:	8b 8d 0c ff ff ff    	mov    -0xf4(%ebp),%ecx
40e89b:	8b 10                	mov    (%eax),%edx
40e89d:	89 4f 08             	mov    %ecx,0x8(%edi)
40e8a0:	8b 8d 10 ff ff ff    	mov    -0xf0(%ebp),%ecx
40e8a6:	50                   	push   %eax
40e8a7:	89 85 f8 fe ff ff    	mov    %eax,-0x108(%ebp)
40e8ad:	89 4f 0c             	mov    %ecx,0xc(%edi)
40e8b0:	ff 52 5c             	call   *0x5c(%edx)
40e8b3:	db e2                	fnclex
40e8b5:	3b c6                	cmp    %esi,%eax
40e8b7:	7d 15                	jge    0x40e8ce
40e8b9:	8b 95 f8 fe ff ff    	mov    -0x108(%ebp),%edx
40e8bf:	6a 5c                	push   $0x5c
40e8c1:	68 b8 7c 40 00       	push   $0x407cb8
40e8c6:	52                   	push   %edx
40e8c7:	50                   	push   %eax
40e8c8:	ff 15 48 10 40 00    	call   *0x401048
40e8ce:	8b 85 48 ff ff ff    	mov    -0xb8(%ebp),%eax
40e8d4:	8d 95 34 ff ff ff    	lea    -0xcc(%ebp),%edx
40e8da:	8d 4d c0             	lea    -0x40(%ebp),%ecx
40e8dd:	89 b5 48 ff ff ff    	mov    %esi,-0xb8(%ebp)
40e8e3:	89 85 3c ff ff ff    	mov    %eax,-0xc4(%ebp)
40e8e9:	89 9d 34 ff ff ff    	mov    %ebx,-0xcc(%ebp)
40e8ef:	ff 15 0c 10 40 00    	call   *0x40100c
40e8f5:	8d 8d 44 ff ff ff    	lea    -0xbc(%ebp),%ecx
40e8fb:	ff 15 ac 11 40 00    	call   *0x4011ac
40e901:	68 e8 84 40 00       	push   $0x4084e8
40e906:	68 f8 84 40 00       	push   $0x4084f8
40e90b:	ff 15 3c 10 40 00    	call   *0x40103c
40e911:	89 85 3c ff ff ff    	mov    %eax,-0xc4(%ebp)
40e917:	8d 85 34 ff ff ff    	lea    -0xcc(%ebp),%eax
40e91d:	50                   	push   %eax
40e91e:	8d 8d 24 ff ff ff    	lea    -0xdc(%ebp),%ecx
40e924:	51                   	push   %ecx
40e925:	89 9d 34 ff ff ff    	mov    %ebx,-0xcc(%ebp)
40e92b:	ff 15 94 11 40 00    	call   *0x401194
40e931:	8d 95 24 ff ff ff    	lea    -0xdc(%ebp),%edx
40e937:	52                   	push   %edx
40e938:	8d 85 04 ff ff ff    	lea    -0xfc(%ebp),%eax
40e93e:	50                   	push   %eax
40e93f:	c7 85 0c ff ff ff 03 	movl   $0x3,-0xf4(%ebp)
40e946:	00 00 00
40e949:	c7 85 04 ff ff ff 02 	movl   $0x8002,-0xfc(%ebp)
40e950:	80 00 00
40e953:	ff 15 68 11 40 00    	call   *0x401168
40e959:	8d 8d 24 ff ff ff    	lea    -0xdc(%ebp),%ecx
40e95f:	51                   	push   %ecx
40e960:	8d 95 34 ff ff ff    	lea    -0xcc(%ebp),%edx
40e966:	52                   	push   %edx
40e967:	6a 02                	push   $0x2
40e969:	66 8b f8             	mov    %ax,%di
40e96c:	ff 15 28 10 40 00    	call   *0x401028
40e972:	83 c4 0c             	add    $0xc,%esp
40e975:	66 3b fe             	cmp    %si,%di
40e978:	0f 84 e1 00 00 00    	je     0x40ea5f
40e97e:	39 35 38 03 41 00    	cmp    %esi,0x410338
40e984:	75 10                	jne    0x40e996
40e986:	68 38 03 41 00       	push   $0x410338
40e98b:	68 a8 7c 40 00       	push   $0x407ca8
40e990:	ff 15 2c 11 40 00    	call   *0x40112c
40e996:	8b 3d 38 03 41 00    	mov    0x410338,%edi
40e99c:	8b 07                	mov    (%edi),%eax
40e99e:	8d 8d 44 ff ff ff    	lea    -0xbc(%ebp),%ecx
40e9a4:	51                   	push   %ecx
40e9a5:	57                   	push   %edi
40e9a6:	ff 50 1c             	call   *0x1c(%eax)
40e9a9:	db e2                	fnclex
40e9ab:	3b c6                	cmp    %esi,%eax
40e9ad:	7d 0f                	jge    0x40e9be
40e9af:	6a 1c                	push   $0x1c
40e9b1:	68 98 7c 40 00       	push   $0x407c98
40e9b6:	57                   	push   %edi
40e9b7:	50                   	push   %eax
40e9b8:	ff 15 48 10 40 00    	call   *0x401048
40e9be:	8b 85 44 ff ff ff    	mov    -0xbc(%ebp),%eax
40e9c4:	8d 9d 48 ff ff ff    	lea    -0xb8(%ebp),%ebx
40e9ca:	53                   	push   %ebx
40e9cb:	83 ec 10             	sub    $0x10,%esp
40e9ce:	ba 0a 00 00 00       	mov    $0xa,%edx
40e9d3:	8b dc                	mov    %esp,%ebx
40e9d5:	89 13                	mov    %edx,(%ebx)
40e9d7:	89 95 04 ff ff ff    	mov    %edx,-0xfc(%ebp)
40e9dd:	8b 95 08 ff ff ff    	mov    -0xf8(%ebp),%edx
40e9e3:	b9 04 00 02 80       	mov    $0x80020004,%ecx
40e9e8:	89 53 04             	mov    %edx,0x4(%ebx)
40e9eb:	89 8d 0c ff ff ff    	mov    %ecx,-0xf4(%ebp)
40e9f1:	8b 38                	mov    (%eax),%edi
40e9f3:	89 4b 08             	mov    %ecx,0x8(%ebx)
40e9f6:	8b 8d 10 ff ff ff    	mov    -0xf0(%ebp),%ecx
40e9fc:	50                   	push   %eax
40e9fd:	89 85 f8 fe ff ff    	mov    %eax,-0x108(%ebp)
40ea03:	89 4b 0c             	mov    %ecx,0xc(%ebx)
40ea06:	ff 57 5c             	call   *0x5c(%edi)
40ea09:	db e2                	fnclex
40ea0b:	3b c6                	cmp    %esi,%eax
40ea0d:	7d 15                	jge    0x40ea24
40ea0f:	8b 95 f8 fe ff ff    	mov    -0x108(%ebp),%edx
40ea15:	6a 5c                	push   $0x5c
40ea17:	68 b8 7c 40 00       	push   $0x407cb8
40ea1c:	52                   	push   %edx
40ea1d:	50                   	push   %eax
40ea1e:	ff 15 48 10 40 00    	call   *0x401048
40ea24:	8b 85 48 ff ff ff    	mov    -0xb8(%ebp),%eax
40ea2a:	bb 08 00 00 00       	mov    $0x8,%ebx
40ea2f:	8d 95 34 ff ff ff    	lea    -0xcc(%ebp),%edx
40ea35:	8d 8d 7c ff ff ff    	lea    -0x84(%ebp),%ecx
40ea3b:	89 b5 48 ff ff ff    	mov    %esi,-0xb8(%ebp)
40ea41:	89 85 3c ff ff ff    	mov    %eax,-0xc4(%ebp)
40ea47:	89 9d 34 ff ff ff    	mov    %ebx,-0xcc(%ebp)
40ea4d:	ff 15 0c 10 40 00    	call   *0x40100c
40ea53:	8d 8d 44 ff ff ff    	lea    -0xbc(%ebp),%ecx
40ea59:	ff 15 ac 11 40 00    	call   *0x4011ac
40ea5f:	68 e8 84 40 00       	push   $0x4084e8
40ea64:	68 f8 84 40 00       	push   $0x4084f8
40ea69:	ff 15 3c 10 40 00    	call   *0x40103c
40ea6f:	89 85 3c ff ff ff    	mov    %eax,-0xc4(%ebp)
40ea75:	8d 85 34 ff ff ff    	lea    -0xcc(%ebp),%eax
40ea7b:	50                   	push   %eax
40ea7c:	8d 8d 24 ff ff ff    	lea    -0xdc(%ebp),%ecx
40ea82:	51                   	push   %ecx
40ea83:	89 9d 34 ff ff ff    	mov    %ebx,-0xcc(%ebp)
40ea89:	ff 15 94 11 40 00    	call   *0x401194
40ea8f:	8d 95 24 ff ff ff    	lea    -0xdc(%ebp),%edx
40ea95:	52                   	push   %edx
40ea96:	8d 85 04 ff ff ff    	lea    -0xfc(%ebp),%eax
40ea9c:	50                   	push   %eax
40ea9d:	c7 85 0c ff ff ff 03 	movl   $0x3,-0xf4(%ebp)
40eaa4:	00 00 00
40eaa7:	c7 85 04 ff ff ff 02 	movl   $0x8002,-0xfc(%ebp)
40eaae:	80 00 00
40eab1:	ff 15 68 11 40 00    	call   *0x401168
40eab7:	8d 8d 24 ff ff ff    	lea    -0xdc(%ebp),%ecx
40eabd:	51                   	push   %ecx
40eabe:	8d 95 34 ff ff ff    	lea    -0xcc(%ebp),%edx
40eac4:	52                   	push   %edx
40eac5:	6a 02                	push   $0x2
40eac7:	66 8b f8             	mov    %ax,%di
40eaca:	ff 15 28 10 40 00    	call   *0x401028
40ead0:	83 c4 0c             	add    $0xc,%esp
40ead3:	66 3b fe             	cmp    %si,%di
40ead6:	0f 84 de 00 00 00    	je     0x40ebba
40eadc:	39 35 38 03 41 00    	cmp    %esi,0x410338
40eae2:	75 10                	jne    0x40eaf4
40eae4:	68 38 03 41 00       	push   $0x410338
40eae9:	68 a8 7c 40 00       	push   $0x407ca8
40eaee:	ff 15 2c 11 40 00    	call   *0x40112c
40eaf4:	8b 3d 38 03 41 00    	mov    0x410338,%edi
40eafa:	8b 07                	mov    (%edi),%eax
40eafc:	8d 8d 44 ff ff ff    	lea    -0xbc(%ebp),%ecx
40eb02:	51                   	push   %ecx
40eb03:	57                   	push   %edi
40eb04:	ff 50 1c             	call   *0x1c(%eax)
40eb07:	db e2                	fnclex
40eb09:	3b c6                	cmp    %esi,%eax
40eb0b:	7d 0f                	jge    0x40eb1c
40eb0d:	6a 1c                	push   $0x1c
40eb0f:	68 98 7c 40 00       	push   $0x407c98
40eb14:	57                   	push   %edi
40eb15:	50                   	push   %eax
40eb16:	ff 15 48 10 40 00    	call   *0x401048
40eb1c:	8b 85 44 ff ff ff    	mov    -0xbc(%ebp),%eax
40eb22:	8d 9d 48 ff ff ff    	lea    -0xb8(%ebp),%ebx
40eb28:	53                   	push   %ebx
40eb29:	83 ec 10             	sub    $0x10,%esp
40eb2c:	ba 0a 00 00 00       	mov    $0xa,%edx
40eb31:	8b dc                	mov    %esp,%ebx
40eb33:	89 13                	mov    %edx,(%ebx)
40eb35:	89 95 04 ff ff ff    	mov    %edx,-0xfc(%ebp)
40eb3b:	8b 95 08 ff ff ff    	mov    -0xf8(%ebp),%edx
40eb41:	b9 04 00 02 80       	mov    $0x80020004,%ecx
40eb46:	89 53 04             	mov    %edx,0x4(%ebx)
40eb49:	89 8d 0c ff ff ff    	mov    %ecx,-0xf4(%ebp)
40eb4f:	8b 38                	mov    (%eax),%edi
40eb51:	89 4b 08             	mov    %ecx,0x8(%ebx)
40eb54:	8b 8d 10 ff ff ff    	mov    -0xf0(%ebp),%ecx
40eb5a:	50                   	push   %eax
40eb5b:	89 85 f8 fe ff ff    	mov    %eax,-0x108(%ebp)
40eb61:	89 4b 0c             	mov    %ecx,0xc(%ebx)
40eb64:	ff 57 5c             	call   *0x5c(%edi)
40eb67:	db e2                	fnclex
40eb69:	3b c6                	cmp    %esi,%eax
40eb6b:	7d 15                	jge    0x40eb82
40eb6d:	8b 95 f8 fe ff ff    	mov    -0x108(%ebp),%edx
40eb73:	6a 5c                	push   $0x5c
40eb75:	68 b8 7c 40 00       	push   $0x407cb8
40eb7a:	52                   	push   %edx
40eb7b:	50                   	push   %eax
40eb7c:	ff 15 48 10 40 00    	call   *0x401048
40eb82:	8b 85 48 ff ff ff    	mov    -0xb8(%ebp),%eax
40eb88:	bb 08 00 00 00       	mov    $0x8,%ebx
40eb8d:	8d 95 34 ff ff ff    	lea    -0xcc(%ebp),%edx
40eb93:	8d 4d e0             	lea    -0x20(%ebp),%ecx
40eb96:	89 b5 48 ff ff ff    	mov    %esi,-0xb8(%ebp)
40eb9c:	89 85 3c ff ff ff    	mov    %eax,-0xc4(%ebp)
40eba2:	89 9d 34 ff ff ff    	mov    %ebx,-0xcc(%ebp)
40eba8:	ff 15 0c 10 40 00    	call   *0x40100c
40ebae:	8d 8d 44 ff ff ff    	lea    -0xbc(%ebp),%ecx
40ebb4:	ff 15 ac 11 40 00    	call   *0x4011ac
40ebba:	68 e8 84 40 00       	push   $0x4084e8
40ebbf:	68 f8 84 40 00       	push   $0x4084f8
40ebc4:	ff 15 3c 10 40 00    	call   *0x40103c
40ebca:	89 85 3c ff ff ff    	mov    %eax,-0xc4(%ebp)
40ebd0:	8d 85 34 ff ff ff    	lea    -0xcc(%ebp),%eax
40ebd6:	50                   	push   %eax
40ebd7:	8d 8d 24 ff ff ff    	lea    -0xdc(%ebp),%ecx
40ebdd:	51                   	push   %ecx
40ebde:	89 9d 34 ff ff ff    	mov    %ebx,-0xcc(%ebp)
40ebe4:	ff 15 94 11 40 00    	call   *0x401194
40ebea:	8d 95 24 ff ff ff    	lea    -0xdc(%ebp),%edx
40ebf0:	52                   	push   %edx
40ebf1:	8d 85 04 ff ff ff    	lea    -0xfc(%ebp),%eax
40ebf7:	50                   	push   %eax
40ebf8:	c7 85 0c ff ff ff 03 	movl   $0x3,-0xf4(%ebp)
40ebff:	00 00 00
40ec02:	c7 85 04 ff ff ff 02 	movl   $0x8002,-0xfc(%ebp)
40ec09:	80 00 00
40ec0c:	ff 15 68 11 40 00    	call   *0x401168
40ec12:	8d 8d 24 ff ff ff    	lea    -0xdc(%ebp),%ecx
40ec18:	51                   	push   %ecx
40ec19:	8d 95 34 ff ff ff    	lea    -0xcc(%ebp),%edx
40ec1f:	52                   	push   %edx
40ec20:	6a 02                	push   $0x2
40ec22:	66 8b f8             	mov    %ax,%di
40ec25:	ff 15 28 10 40 00    	call   *0x401028
40ec2b:	83 c4 0c             	add    $0xc,%esp
40ec2e:	66 3b fe             	cmp    %si,%di
40ec31:	0f 84 de 00 00 00    	je     0x40ed15
40ec37:	39 35 38 03 41 00    	cmp    %esi,0x410338
40ec3d:	75 10                	jne    0x40ec4f
40ec3f:	68 38 03 41 00       	push   $0x410338
40ec44:	68 a8 7c 40 00       	push   $0x407ca8
40ec49:	ff 15 2c 11 40 00    	call   *0x40112c
40ec4f:	8b 3d 38 03 41 00    	mov    0x410338,%edi
40ec55:	8b 07                	mov    (%edi),%eax
40ec57:	8d 8d 44 ff ff ff    	lea    -0xbc(%ebp),%ecx
40ec5d:	51                   	push   %ecx
40ec5e:	57                   	push   %edi
40ec5f:	ff 50 1c             	call   *0x1c(%eax)
40ec62:	db e2                	fnclex
40ec64:	3b c6                	cmp    %esi,%eax
40ec66:	7d 0f                	jge    0x40ec77
40ec68:	6a 1c                	push   $0x1c
40ec6a:	68 98 7c 40 00       	push   $0x407c98
40ec6f:	57                   	push   %edi
40ec70:	50                   	push   %eax
40ec71:	ff 15 48 10 40 00    	call   *0x401048
40ec77:	8b 85 44 ff ff ff    	mov    -0xbc(%ebp),%eax
40ec7d:	8d 9d 48 ff ff ff    	lea    -0xb8(%ebp),%ebx
40ec83:	53                   	push   %ebx
40ec84:	83 ec 10             	sub    $0x10,%esp
40ec87:	ba 0a 00 00 00       	mov    $0xa,%edx
40ec8c:	8b dc                	mov    %esp,%ebx
40ec8e:	89 13                	mov    %edx,(%ebx)
40ec90:	89 95 04 ff ff ff    	mov    %edx,-0xfc(%ebp)
40ec96:	8b 95 08 ff ff ff    	mov    -0xf8(%ebp),%edx
40ec9c:	b9 04 00 02 80       	mov    $0x80020004,%ecx
40eca1:	89 53 04             	mov    %edx,0x4(%ebx)
40eca4:	89 8d 0c ff ff ff    	mov    %ecx,-0xf4(%ebp)
40ecaa:	8b 38                	mov    (%eax),%edi
40ecac:	89 4b 08             	mov    %ecx,0x8(%ebx)
40ecaf:	8b 8d 10 ff ff ff    	mov    -0xf0(%ebp),%ecx
40ecb5:	50                   	push   %eax
40ecb6:	89 85 f8 fe ff ff    	mov    %eax,-0x108(%ebp)
40ecbc:	89 4b 0c             	mov    %ecx,0xc(%ebx)
40ecbf:	ff 57 5c             	call   *0x5c(%edi)
40ecc2:	db e2                	fnclex
40ecc4:	3b c6                	cmp    %esi,%eax
40ecc6:	7d 15                	jge    0x40ecdd
40ecc8:	8b 95 f8 fe ff ff    	mov    -0x108(%ebp),%edx
40ecce:	6a 5c                	push   $0x5c
40ecd0:	68 b8 7c 40 00       	push   $0x407cb8
40ecd5:	52                   	push   %edx
40ecd6:	50                   	push   %eax
40ecd7:	ff 15 48 10 40 00    	call   *0x401048
40ecdd:	8b 85 48 ff ff ff    	mov    -0xb8(%ebp),%eax
40ece3:	bb 08 00 00 00       	mov    $0x8,%ebx
40ece8:	8d 95 34 ff ff ff    	lea    -0xcc(%ebp),%edx
40ecee:	8d 4d 8c             	lea    -0x74(%ebp),%ecx