40e82b:	52                   	push   %edx
40e82c:	6a 02                	push   $0x2
40e82e:	66 8b f8             	mov    %ax,%di
40e831:	ff 15 28 10 40 00    	call   *0x401028
40e837:	83 c4 0c             	add    $0xc,%esp
40e83a:	66 3b fe             	cmp    %si,%di
40e83d:	0f 84 de 00 00 00    	je     0x40e921
40e843:	39 35 38 03 41 00    	cmp    %esi,0x410338
40e849:	75 10                	jne    0x40e85b
40e84b:	68 38 03 41 00       	push   $0x410338
40e850:	68 b0 7c 40 00       	push   $0x407cb0
40e855:	ff 15 24 11 40 00    	call   *0x401124
40e85b:	8b 3d 38 03 41 00    	mov    0x410338,%edi
40e861:	8b 07                	mov    (%edi),%eax
40e863:	8d 8d 44 ff ff ff    	lea    -0xbc(%ebp),%ecx
40e869:	51                   	push   %ecx
40e86a:	57                   	push   %edi
40e86b:	ff 50 1c             	call   *0x1c(%eax)
40e86e:	db e2                	fnclex
40e870:	3b c6                	cmp    %esi,%eax
40e872:	7d 0f                	jge    0x40e883
40e874:	6a 1c                	push   $0x1c
40e876:	68 a0 7c 40 00       	push   $0x407ca0
40e87b:	57                   	push   %edi
40e87c:	50                   	push   %eax
40e87d:	ff 15 48 10 40 00    	call   *0x401048
40e883:	8b 85 44 ff ff ff    	mov    -0xbc(%ebp),%eax
40e889:	8d bd 48 ff ff ff    	lea    -0xb8(%ebp),%edi
40e88f:	57                   	push   %edi
40e890:	83 ec 10             	sub    $0x10,%esp
40e893:	b9 0a 00 00 00       	mov    $0xa,%ecx
40e898:	89 8d 04 ff ff ff    	mov    %ecx,-0xfc(%ebp)
40e89e:	8b fc                	mov    %esp,%edi
40e8a0:	89 0f                	mov    %ecx,(%edi)
40e8a2:	8b 8d 08 ff ff ff    	mov    -0xf8(%ebp),%ecx
40e8a8:	89 4f 04             	mov    %ecx,0x4(%edi)
40e8ab:	c7 85 0c ff ff ff 04 	movl   $0x80020004,-0xf4(%ebp)
40e8b2:	00 02 80
40e8b5:	8b 8d 0c ff ff ff    	mov    -0xf4(%ebp),%ecx
40e8bb:	8b 10                	mov    (%eax),%edx
40e8bd:	89 4f 08             	mov    %ecx,0x8(%edi)
40e8c0:	8b 8d 10 ff ff ff    	mov    -0xf0(%ebp),%ecx
40e8c6:	50                   	push   %eax
40e8c7:	89 85 f8 fe ff ff    	mov    %eax,-0x108(%ebp)
40e8cd:	89 4f 0c             	mov    %ecx,0xc(%edi)
40e8d0:	ff 52 5c             	call   *0x5c(%edx)
40e8d3:	db e2                	fnclex
40e8d5:	3b c6                	cmp    %esi,%eax
40e8d7:	7d 15                	jge    0x40e8ee
40e8d9:	8b 95 f8 fe ff ff    	mov    -0x108(%ebp),%edx
40e8df:	6a 5c                	push   $0x5c
40e8e1:	68 c0 7c 40 00       	push   $0x407cc0
40e8e6:	52                   	push   %edx
40e8e7:	50                   	push   %eax
40e8e8:	ff 15 48 10 40 00    	call   *0x401048
40e8ee:	8b 85 48 ff ff ff    	mov    -0xb8(%ebp),%eax
40e8f4:	8d 95 34 ff ff ff    	lea    -0xcc(%ebp),%edx
40e8fa:	8d 4d c0             	lea    -0x40(%ebp),%ecx
40e8fd:	89 b5 48 ff ff ff    	mov    %esi,-0xb8(%ebp)
40e903:	89 85 3c ff ff ff    	mov    %eax,-0xc4(%ebp)
40e909:	89 9d 34 ff ff ff    	mov    %ebx,-0xcc(%ebp)
40e90f:	ff 15 0c 10 40 00    	call   *0x40100c
40e915:	8d 8d 44 ff ff ff    	lea    -0xbc(%ebp),%ecx
40e91b:	ff 15 b0 11 40 00    	call   *0x4011b0
40e921:	68 dc 84 40 00       	push   $0x4084dc
40e926:	68 ec 84 40 00       	push   $0x4084ec
40e92b:	ff 15 3c 10 40 00    	call   *0x40103c
40e931:	89 85 3c ff ff ff    	mov    %eax,-0xc4(%ebp)
40e937:	8d 85 34 ff ff ff    	lea    -0xcc(%ebp),%eax
40e93d:	50                   	push   %eax
40e93e:	8d 8d 24 ff ff ff    	lea    -0xdc(%ebp),%ecx
40e944:	51                   	push   %ecx
40e945:	89 9d 34 ff ff ff    	mov    %ebx,-0xcc(%ebp)
40e94b:	ff 15 90 11 40 00    	call   *0x401190
40e951:	8d 95 24 ff ff ff    	lea    -0xdc(%ebp),%edx
40e957:	52                   	push   %edx
40e958:	8d 85 04 ff ff ff    	lea    -0xfc(%ebp),%eax
40e95e:	50                   	push   %eax
40e95f:	c7 85 0c ff ff ff 03 	movl   $0x3,-0xf4(%ebp)
40e966:	00 00 00
40e969:	c7 85 04 ff ff ff 02 	movl   $0x8002,-0xfc(%ebp)
40e970:	80 00 00
40e973:	ff 15 60 11 40 00    	call   *0x401160
40e979:	8d 8d 24 ff ff ff    	lea    -0xdc(%ebp),%ecx
40e97f:	51                   	push   %ecx
40e980:	8d 95 34 ff ff ff    	lea    -0xcc(%ebp),%edx
40e986:	52                   	push   %edx
40e987:	6a 02                	push   $0x2
40e989:	66 8b f8             	mov    %ax,%di
40e98c:	ff 15 28 10 40 00    	call   *0x401028
40e992:	83 c4 0c             	add    $0xc,%esp
40e995:	66 3b fe             	cmp    %si,%di
40e998:	0f 84 e1 00 00 00    	je     0x40ea7f
40e99e:	39 35 38 03 41 00    	cmp    %esi,0x410338
40e9a4:	75 10                	jne    0x40e9b6
40e9a6:	68 38 03 41 00       	push   $0x410338
40e9ab:	68 b0 7c 40 00       	push   $0x407cb0
40e9b0:	ff 15 24 11 40 00    	call   *0x401124
40e9b6:	8b 3d 38 03 41 00    	mov    0x410338,%edi
40e9bc:	8b 07                	mov    (%edi),%eax
40e9be:	8d 8d 44 ff ff ff    	lea    -0xbc(%ebp),%ecx
40e9c4:	51                   	push   %ecx
40e9c5:	57                   	push   %edi
40e9c6:	ff 50 1c             	call   *0x1c(%eax)
40e9c9:	db e2                	fnclex
40e9cb:	3b c6                	cmp    %esi,%eax
40e9cd:	7d 0f                	jge    0x40e9de
40e9cf:	6a 1c                	push   $0x1c
40e9d1:	68 a0 7c 40 00       	push   $0x407ca0
40e9d6:	57                   	push   %edi
40e9d7:	50                   	push   %eax
40e9d8:	ff 15 48 10 40 00    	call   *0x401048
40e9de:	8b 85 44 ff ff ff    	mov    -0xbc(%ebp),%eax
40e9e4:	8d 9d 48 ff ff ff    	lea    -0xb8(%ebp),%ebx
40e9ea:	53                   	push   %ebx
40e9eb:	83 ec 10             	sub    $0x10,%esp
40e9ee:	ba 0a 00 00 00       	mov    $0xa,%edx
40e9f3:	8b dc                	mov    %esp,%ebx
40e9f5:	89 13                	mov    %edx,(%ebx)
40e9f7:	89 95 04 ff ff ff    	mov    %edx,-0xfc(%ebp)
40e9fd:	8b 95 08 ff ff ff    	mov    -0xf8(%ebp),%edx
40ea03:	b9 04 00 02 80       	mov    $0x80020004,%ecx
40ea08:	89 53 04             	mov    %edx,0x4(%ebx)
40ea0b:	89 8d 0c ff ff ff    	mov    %ecx,-0xf4(%ebp)
40ea11:	8b 38                	mov    (%eax),%edi
40ea13:	89 4b 08             	mov    %ecx,0x8(%ebx)
40ea16:	8b 8d 10 ff ff ff    	mov    -0xf0(%ebp),%ecx
40ea1c:	50                   	push   %eax
40ea1d:	89 85 f8 fe ff ff    	mov    %eax,-0x108(%ebp)
40ea23:	89 4b 0c             	mov    %ecx,0xc(%ebx)
40ea26:	ff 57 5c             	call   *0x5c(%edi)
40ea29:	db e2                	fnclex
40ea2b:	3b c6                	cmp    %esi,%eax
40ea2d:	7d 15                	jge    0x40ea44
40ea2f:	8b 95 f8 fe ff ff    	mov    -0x108(%ebp),%edx
40ea35:	6a 5c                	push   $0x5c
40ea37:	68 c0 7c 40 00       	push   $0x407cc0
40ea3c:	52                   	push   %edx
40ea3d:	50                   	push   %eax
40ea3e:	ff 15 48 10 40 00    	call   *0x401048
40ea44:	8b 85 48 ff ff ff    	mov    -0xb8(%ebp),%eax
40ea4a:	bb 08 00 00 00       	mov    $0x8,%ebx
40ea4f:	8d 95 34 ff ff ff    	lea    -0xcc(%ebp),%edx
40ea55:	8d 8d 7c ff ff ff    	lea    -0x84(%ebp),%ecx
40ea5b:	89 b5 48 ff ff ff    	mov    %esi,-0xb8(%ebp)
40ea61:	89 85 3c ff ff ff    	mov    %eax,-0xc4(%ebp)
40ea67:	89 9d 34 ff ff ff    	mov    %ebx,-0xcc(%ebp)
40ea6d:	ff 15 0c 10 40 00    	call   *0x40100c
40ea73:	8d 8d 44 ff ff ff    	lea    -0xbc(%ebp),%ecx
40ea79:	ff 15 b0 11 40 00    	call   *0x4011b0
40ea7f:	68 dc 84 40 00       	push   $0x4084dc
40ea84:	68 ec 84 40 00       	push   $0x4084ec
40ea89:	ff 15 3c 10 40 00    	call   *0x40103c
40ea8f:	89 85 3c ff ff ff    	mov    %eax,-0xc4(%ebp)
40ea95:	8d 85 34 ff ff ff    	lea    -0xcc(%ebp),%eax
40ea9b:	50                   	push   %eax
40ea9c:	8d 8d 24 ff ff ff    	lea    -0xdc(%ebp),%ecx
40eaa2:	51                   	push   %ecx
40eaa3:	89 9d 34 ff ff ff    	mov    %ebx,-0xcc(%ebp)
40eaa9:	ff 15 90 11 40 00    	call   *0x401190
40eaaf:	8d 95 24 ff ff ff    	lea    -0xdc(%ebp),%edx
40eab5:	52                   	push   %edx
40eab6:	8d 85 04 ff ff ff    	lea    -0xfc(%ebp),%eax
40eabc:	50                   	push   %eax
40eabd:	c7 85 0c ff ff ff 03 	movl   $0x3,-0xf4(%ebp)
40eac4:	00 00 00
40eac7:	c7 85 04 ff ff ff 02 	movl   $0x8002,-0xfc(%ebp)
40eace:	80 00 00
40ead1:	ff 15 60 11 40 00    	call   *0x401160
40ead7:	8d 8d 24 ff ff ff    	lea    -0xdc(%ebp),%ecx
40eadd:	51                   	push   %ecx
40eade:	8d 95 34 ff ff ff    	lea    -0xcc(%ebp),%edx
40eae4:	52                   	push   %edx
40eae5:	6a 02                	push   $0x2
40eae7:	66 8b f8             	mov    %ax,%di
40eaea:	ff 15 28 10 40 00    	call   *0x401028
40eaf0:	83 c4 0c             	add    $0xc,%esp
40eaf3:	66 3b fe             	cmp    %si,%di
40eaf6:	0f 84 de 00 00 00    	je     0x40ebda
40eafc:	39 35 38 03 41 00    	cmp    %esi,0x410338
40eb02:	75 10                	jne    0x40eb14
40eb04:	68 38 03 41 00       	push   $0x410338
40eb09:	68 b0 7c 40 00       	push   $0x407cb0
40eb0e:	ff 15 24 11 40 00    	call   *0x401124
40eb14:	8b 3d 38 03 41 00    	mov    0x410338,%edi
40eb1a:	8b 07                	mov    (%edi),%eax
40eb1c:	8d 8d 44 ff ff ff    	lea    -0xbc(%ebp),%ecx
40eb22:	51                   	push   %ecx
40eb23:	57                   	push   %edi
40eb24:	ff 50 1c             	call   *0x1c(%eax)
40eb27:	db e2                	fnclex
40eb29:	3b c6                	cmp    %esi,%eax
40eb2b:	7d 0f                	jge    0x40eb3c
40eb2d:	6a 1c                	push   $0x1c
40eb2f:	68 a0 7c 40 00       	push   $0x407ca0
40eb34:	57                   	push   %edi
40eb35:	50                   	push   %eax
40eb36:	ff 15 48 10 40 00    	call   *0x401048
40eb3c:	8b 85 44 ff ff ff    	mov    -0xbc(%ebp),%eax
40eb42:	8d 9d 48 ff ff ff    	lea    -0xb8(%ebp),%ebx
40eb48:	53                   	push   %ebx
40eb49:	83 ec 10             	sub    $0x10,%esp
40eb4c:	ba 0a 00 00 00       	mov    $0xa,%edx
40eb51:	8b dc                	mov    %esp,%ebx
40eb53:	89 13                	mov    %edx,(%ebx)
40eb55:	89 95 04 ff ff ff    	mov    %edx,-0xfc(%ebp)
40eb5b:	8b 95 08 ff ff ff    	mov    -0xf8(%ebp),%edx
40eb61:	b9 04 00 02 80       	mov    $0x80020004,%ecx
40eb66:	89 53 04             	mov    %edx,0x4(%ebx)
40eb69:	89 8d 0c ff ff ff    	mov    %ecx,-0xf4(%ebp)
40eb6f:	8b 38                	mov    (%eax),%edi
40eb71:	89 4b 08             	mov    %ecx,0x8(%ebx)
40eb74:	8b 8d 10 ff ff ff    	mov    -0xf0(%ebp),%ecx
40eb7a:	50                   	push   %eax
40eb7b:	89 85 f8 fe ff ff    	mov    %eax,-0x108(%ebp)
40eb81:	89 4b 0c             	mov    %ecx,0xc(%ebx)
40eb84:	ff 57 5c             	call   *0x5c(%edi)
40eb87:	db e2                	fnclex
40eb89:	3b c6                	cmp    %esi,%eax
40eb8b:	7d 15                	jge    0x40eba2
40eb8d:	8b 95 f8 fe ff ff    	mov    -0x108(%ebp),%edx
40eb93:	6a 5c                	push   $0x5c
40eb95:	68 c0 7c 40 00       	push   $0x407cc0
40eb9a:	52                   	push   %edx
40eb9b:	50                   	push   %eax
40eb9c:	ff 15 48 10 40 00    	call   *0x401048
40eba2:	8b 85 48 ff ff ff    	mov    -0xb8(%ebp),%eax
40eba8:	bb 08 00 00 00       	mov    $0x8,%ebx
40ebad:	8d 95 34 ff ff ff    	lea    -0xcc(%ebp),%edx
40ebb3:	8d 4d e0             	lea    -0x20(%ebp),%ecx
40ebb6:	89 b5 48 ff ff ff    	mov    %esi,-0xb8(%ebp)
40ebbc:	89 85 3c ff ff ff    	mov    %eax,-0xc4(%ebp)
40ebc2:	89 9d 34 ff ff ff    	mov    %ebx,-0xcc(%ebp)
40ebc8:	ff 15 0c 10 40 00    	call   *0x40100c
40ebce:	8d 8d 44 ff ff ff    	lea    -0xbc(%ebp),%ecx
40ebd4:	ff 15 b0 11 40 00    	call   *0x4011b0
40ebda:	68 dc 84 40 00       	push   $0x4084dc
40ebdf:	68 ec 84 40 00       	push   $0x4084ec
40ebe4:	ff 15 3c 10 40 00    	call   *0x40103c
40ebea:	89 85 3c ff ff ff    	mov    %eax,-0xc4(%ebp)
40ebf0:	8d 85 34 ff ff ff    	lea    -0xcc(%ebp),%eax
40ebf6:	50                   	push   %eax
40ebf7:	8d 8d 24 ff ff ff    	lea    -0xdc(%ebp),%ecx
40ebfd:	51                   	push   %ecx
40ebfe:	89 9d 34 ff ff ff    	mov    %ebx,-0xcc(%ebp)
40ec04:	ff 15 90 11 40 00    	call   *0x401190
40ec0a:	8d 95 24 ff ff ff    	lea    -0xdc(%ebp),%edx
40ec10:	52                   	push   %edx
40ec11:	8d 85 04 ff ff ff    	lea    -0xfc(%ebp),%eax
40ec17:	50                   	push   %eax
40ec18:	c7 85 0c ff ff ff 03 	movl   $0x3,-0xf4(%ebp)
40ec1f:	00 00 00
40ec22:	c7 85 04 ff ff ff 02 	movl   $0x8002,-0xfc(%ebp)
40ec29:	80 00 00
40ec2c:	ff 15 60 11 40 00    	call   *0x401160
40ec32:	8d 8d 24 ff ff ff    	lea    -0xdc(%ebp),%ecx
40ec38:	51                   	push   %ecx
40ec39:	8d 95 34 ff ff ff    	lea    -0xcc(%ebp),%edx
40ec3f:	52                   	push   %edx
40ec40:	6a 02                	push   $0x2
40ec42:	66 8b f8             	mov    %ax,%di
40ec45:	ff 15 28 10 40 00    	call   *0x401028
40ec4b:	83 c4 0c             	add    $0xc,%esp
40ec4e:	66 3b fe             	cmp    %si,%di
40ec51:	0f 84 de 00 00 00    	je     0x40ed35
40ec57:	39 35 38 03 41 00    	cmp    %esi,0x410338
40ec5d:	75 10                	jne    0x40ec6f
40ec5f:	68 38 03 41 00       	push   $0x410338
40ec64:	68 b0 7c 40 00       	push   $0x407cb0
40ec69:	ff 15 24 11 40 00    	call   *0x401124
40ec6f:	8b 3d 38 03 41 00    	mov    0x410338,%edi
40ec75:	8b 07                	mov    (%edi),%eax
40ec77:	8d 8d 44 ff ff ff    	lea    -0xbc(%ebp),%ecx
40ec7d:	51                   	push   %ecx
40ec7e:	57                   	push   %edi
40ec7f:	ff 50 1c             	call   *0x1c(%eax)
40ec82:	db e2                	fnclex
40ec84:	3b c6                	cmp    %esi,%eax
40ec86:	7d 0f                	jge    0x40ec97
40ec88:	6a 1c                	push   $0x1c
40ec8a:	68 a0 7c 40 00       	push   $0x407ca0
40ec8f:	57                   	push   %edi
40ec90:	50                   	push   %eax
40ec91:	ff 15 48 10 40 00    	call   *0x401048
40ec97:	8b 85 44 ff ff ff    	mov    -0xbc(%ebp),%eax
40ec9d:	8d 9d 48 ff ff ff    	lea    -0xb8(%ebp),%ebx
40eca3:	53                   	push   %ebx
40eca4:	83 ec 10             	sub    $0x10,%esp
40eca7:	ba 0a 00 00 00       	mov    $0xa,%edx
40ecac:	8b dc                	mov    %esp,%ebx
40ecae:	89 13                	mov    %edx,(%ebx)
40ecb0:	89 95 04 ff ff ff    	mov    %edx,-0xfc(%ebp)
40ecb6:	8b 95 08 ff ff ff    	mov    -0xf8(%ebp),%edx
40ecbc:	b9 04 00 02 80       	mov    $0x80020004,%ecx
40ecc1:	89 53 04             	mov    %edx,0x4(%ebx)
40ecc4:	89 8d 0c ff ff ff    	mov    %ecx,-0xf4(%ebp)
40ecca:	8b 38                	mov    (%eax),%edi
40eccc:	89 4b 08             	mov    %ecx,0x8(%ebx)
40eccf:	8b 8d 10 ff ff ff    	mov    -0xf0(%ebp),%ecx
40ecd5:	50                   	push   %eax
40ecd6:	89 85 f8 fe ff ff    	mov    %eax,-0x108(%ebp)
40ecdc:	89 4b 0c             	mov    %ecx,0xc(%ebx)
40ecdf:	ff 57 5c             	call   *0x5c(%edi)
40ece2:	db e2                	fnclex
40ece4:	3b c6                	cmp    %esi,%eax
40ece6:	7d 15                	jge    0x40ecfd
40ece8:	8b 95 f8 fe ff ff    	mov    -0x108(%ebp),%edx
40ecee:	6a 5c                	push   $0x5c
40ecf0:	68 c0 7c 40 00       	push   $0x407cc0
40ecf5:	52                   	push   %edx
40ecf6:	50                   	push   %eax
40ecf7:	ff 15 48 10 40 00    	call   *0x401048
40ecfd:	8b 85 48 ff ff ff    	mov    -0xb8(%ebp),%eax
40ed03:	bb 08 00 00 00       	mov    $0x8,%ebx
40ed08:	8d 95 34 ff ff ff    	lea    -0xcc(%ebp),%edx
40ed0e:	8d 4d 8c             	lea    -0x74(%ebp),%ecx
40ed11:	89 b5 48 ff ff ff    	mov    %esi,-0xb8(%ebp)
40ed17:	89 85 3c ff ff ff    	mov    %eax,-0xc4(%ebp)
40ed1d:	89 9d 34 ff ff ff    	mov    %ebx,-0xcc(%ebp)
40ed23:	ff 15 0c 10 40 00    	call   *0x40100c
40ed29:	8d 8d 44 ff ff ff    	lea    -0xbc(%ebp),%ecx
40ed2f:	ff 15 b0 11 40 00    	call   *0x4011b0
40ed35:	68 dc 84 40 00       	push   $0x4084dc
40ed3a:	68 ec 84 40 00       	push   $0x4084ec
40ed3f:	ff 15 3c 10 40 00    	call   *0x40103c
40ed45:	89 85 3c ff ff ff    	mov    %eax,-0xc4(%ebp)
40ed4b:	8d 85 34 ff ff ff    	lea    -0xcc(%ebp),%eax
40ed51:	50                   	push   %eax
40ed52:	8d 8d 24 ff ff ff    	lea    -0xdc(%ebp),%ecx
40ed58:	51                   	push   %ecx
40ed59:	89 9d 34 ff ff ff    	mov    %ebx,-0xcc(%ebp)
40ed5f:	ff 15 90 11 40 00    	call   *0x401190
40ed65:	8d 95 24 ff ff ff    	lea    -0xdc(%ebp),%edx
40ed6b:	52                   	push   %edx
40ed6c:	8d 85 04 ff ff ff    	lea    -0xfc(%ebp),%eax
40ed72:	50                   	push   %eax
40ed73:	c7 85 0c ff ff ff 03 	movl   $0x3,-0xf4(%ebp)
40ed7a:	00 00 00
40ed7d:	c7 85 04 ff ff ff 02 	movl   $0x8002,-0xfc(%ebp)
40ed84:	80 00 00
40ed87:	ff 15 60 11 40 00    	call   *0x401160
40ed8d:	8d 8d 24 ff ff ff    	lea    -0xdc(%ebp),%ecx
40ed93:	51                   	push   %ecx
40ed94:	8d 95 34 ff ff ff    	lea    -0xcc(%ebp),%edx
40ed9a:	52                   	push   %edx
40ed9b:	6a 02                	push   $0x2
40ed9d:	66 8b f8             	mov    %ax,%di
40eda0:	ff 15 28 10 40 00    	call   *0x401028
40eda6:	83 c4 0c             	add    $0xc,%esp
40eda9:	66 3b fe             	cmp    %si,%di