406ba0:	0f 85 f2 00 00 00    	jne    0x406c98
406ba6:	8d 46 03             	lea    0x3(%esi),%eax
406ba9:	39 44 24 18          	cmp    %eax,0x18(%esp)
406bad:	73 14                	jae    0x406bc3
406baf:	33 d2                	xor    %edx,%edx
406bb1:	8d 4a 09             	lea    0x9(%edx),%ecx
406bb4:	e8 f6 39 00 00       	call   0x40a5af
406bb9:	bb 67 06 00 00       	mov    $0x667,%ebx
406bbe:	e9 cd 17 00 00       	jmp    0x408390
406bc3:	8b 44 24 10          	mov    0x10(%esp),%eax
406bc7:	ff 74 b0 08          	push   0x8(%eax,%esi,4)
406bcb:	8d 1c b0             	lea    (%eax,%esi,4),%ebx
406bce:	ff 15 0c f1 40 00    	call   *0x40f10c
406bd4:	8b f0                	mov    %eax,%esi
406bd6:	83 c4 04             	add    $0x4,%esp
406bd9:	85 f6                	test   %esi,%esi
406bdb:	0f 85 80 00 00 00    	jne    0x406c61
406be1:	68 94 3d 40 00       	push   $0x403d94
406be6:	ff 73 08             	push   0x8(%ebx)
406be9:	ff 15 28 f1 40 00    	call   *0x40f128
406bef:	83 c4 08             	add    $0x8,%esp
406bf2:	85 c0                	test   %eax,%eax
406bf4:	75 05                	jne    0x406bfb
406bf6:	8d 70 06             	lea    0x6(%eax),%esi
406bf9:	eb 66                	jmp    0x406c61
406bfb:	68 ac 3d 40 00       	push   $0x403dac
406c00:	ff 73 08             	push   0x8(%ebx)
406c03:	ff 15 28 f1 40 00    	call   *0x40f128
406c09:	83 c4 08             	add    $0x8,%esp
406c0c:	85 c0                	test   %eax,%eax
406c0e:	75 05                	jne    0x406c15
406c10:	8d 70 07             	lea    0x7(%eax),%esi
406c13:	eb 4c                	jmp    0x406c61
406c15:	68 c4 3d 40 00       	push   $0x403dc4
406c1a:	ff 73 08             	push   0x8(%ebx)
406c1d:	ff 15 28 f1 40 00    	call   *0x40f128
406c23:	83 c4 08             	add    $0x8,%esp
406c26:	85 c0                	test   %eax,%eax
406c28:	75 05                	jne    0x406c2f
406c2a:	8d 70 08             	lea    0x8(%eax),%esi
406c2d:	eb 32                	jmp    0x406c61
406c2f:	68 e0 3d 40 00       	push   $0x403de0
406c34:	ff 73 08             	push   0x8(%ebx)
406c37:	ff 15 28 f1 40 00    	call   *0x40f128
406c3d:	83 c4 08             	add    $0x8,%esp
406c40:	85 c0                	test   %eax,%eax
406c42:	75 05                	jne    0x406c49
406c44:	8d 70 09             	lea    0x9(%eax),%esi
406c47:	eb 18                	jmp    0x406c61
406c49:	68 fc 3d 40 00       	push   $0x403dfc
406c4e:	ff 73 08             	push   0x8(%ebx)
406c51:	ff 15 28 f1 40 00    	call   *0x40f128
406c57:	83 c4 08             	add    $0x8,%esp
406c5a:	85 c0                	test   %eax,%eax
406c5c:	75 03                	jne    0x406c61
406c5e:	8d 70 0a             	lea    0xa(%eax),%esi
406c61:	6a 01                	push   $0x1
406c63:	6a 00                	push   $0x0
406c65:	ff 74 24 24          	push   0x24(%esp)
406c69:	ff 15 4c 00 41 00    	call   *0x41004c
406c6f:	89 44 24 14          	mov    %eax,0x14(%esp)
406c73:	85 c0                	test   %eax,%eax
406c75:	0f 85 49 fe ff ff    	jne    0x406ac4
406c7b:	ff 15 40 f0 40 00    	call   *0x40f040
406c81:	8b d0                	mov    %eax,%edx
406c83:	b9 68 3c 40 00       	mov    $0x403c68,%ecx
406c88:	e8 f3 1c 00 00       	call   0x408980
406c8d:	8b 74 24 14          	mov    0x14(%esp),%esi
406c91:	8b d8                	mov    %eax,%ebx
406c93:	e9 6a ed ff ff       	jmp    0x405a02
406c98:	8b 44 24 10          	mov    0x10(%esp),%eax
406c9c:	68 1c 3e 40 00       	push   $0x403e1c
406ca1:	ff 34 07             	push   (%edi,%eax,1)
406ca4:	ff 15 28 f1 40 00    	call   *0x40f128
406caa:	83 c4 08             	add    $0x8,%esp
406cad:	85 c0                	test   %eax,%eax
406caf:	75 65                	jne    0x406d16
406cb1:	8d 46 02             	lea    0x2(%esi),%eax
406cb4:	39 44 24 18          	cmp    %eax,0x18(%esp)
406cb8:	73 14                	jae    0x406cce
406cba:	33 d2                	xor    %edx,%edx
406cbc:	8d 4a 0a             	lea    0xa(%edx),%ecx
406cbf:	e8 eb 38 00 00       	call   0x40a5af
406cc4:	bb 67 06 00 00       	mov    $0x667,%ebx
406cc9:	e9 c2 16 00 00       	jmp    0x408390
406cce:	6a 01                	push   $0x1
406cd0:	6a 00                	push   $0x0
406cd2:	ff 74 24 24          	push   0x24(%esp)
406cd6:	ff 15 4c 00 41 00    	call   *0x41004c
406cdc:	8b f0                	mov    %eax,%esi
406cde:	85 f6                	test   %esi,%esi
406ce0:	74 10                	je     0x406cf2
406ce2:	8d 44 24 24          	lea    0x24(%esp),%eax
406ce6:	50                   	push   %eax
406ce7:	6a 00                	push   $0x0
406ce9:	6a 00                	push   $0x0
406ceb:	6a 03                	push   $0x3
406ced:	e9 e0 fd ff ff       	jmp    0x406ad2
406cf2:	ff 15 40 f0 40 00    	call   *0x40f040
406cf8:	b9 68 3c 40 00       	mov    $0x403c68,%ecx
406cfd:	eb 0b                	jmp    0x406d0a
406cff:	ff 15 40 f0 40 00    	call   *0x40f040
406d05:	b9 74 40 40 00       	mov    $0x404074,%ecx
406d0a:	8b d0                	mov    %eax,%edx
406d0c:	e8 6f 1c 00 00       	call   0x408980
406d11:	e9 f9 fd ff ff       	jmp    0x406b0f
406d16:	8b 44 24 10          	mov    0x10(%esp),%eax
406d1a:	68 30 3e 40 00       	push   $0x403e30
406d1f:	ff 34 07             	push   (%edi,%eax,1)
406d22:	ff 15 28 f1 40 00    	call   *0x40f128
406d28:	83 c4 08             	add    $0x8,%esp
406d2b:	85 c0                	test   %eax,%eax
406d2d:	0f 85 81 00 00 00    	jne    0x406db4
406d33:	8b 4c 24 18          	mov    0x18(%esp),%ecx
406d37:	8d 46 02             	lea    0x2(%esi),%eax
406d3a:	3b c8                	cmp    %eax,%ecx
406d3c:	72 62                	jb     0x406da0
406d3e:	8d 5e 04             	lea    0x4(%esi),%ebx
406d41:	3b cb                	cmp    %ebx,%ecx
406d43:	77 5b                	ja     0x406da0
406d45:	6a 01                	push   $0x1
406d47:	6a 00                	push   $0x0
406d49:	ff 74 24 24          	push   0x24(%esp)
406d4d:	ff 15 4c 00 41 00    	call   *0x41004c
406d53:	89 44 24 14          	mov    %eax,0x14(%esp)
406d57:	85 c0                	test   %eax,%eax
406d59:	75 1d                	jne    0x406d78
406d5b:	ff 15 40 f0 40 00    	call   *0x40f040
406d61:	8b d0                	mov    %eax,%edx
406d63:	b9 68 3c 40 00       	mov    $0x403c68,%ecx
406d68:	e8 13 1c 00 00       	call   0x408980
406d6d:	8b 74 24 14          	mov    0x14(%esp),%esi
406d71:	8b d8                	mov    %eax,%ebx
406d73:	e9 8a ec ff ff       	jmp    0x405a02
406d78:	8b 54 24 10          	mov    0x10(%esp),%edx
406d7c:	39 5c 24 18          	cmp    %ebx,0x18(%esp)
406d80:	75 06                	jne    0x406d88
406d82:	8b 4c b2 0c          	mov    0xc(%edx,%esi,4),%ecx
406d86:	eb 02                	jmp    0x406d8a
406d88:	33 c9                	xor    %ecx,%ecx
406d8a:	8d 46 03             	lea    0x3(%esi),%eax
406d8d:	39 44 24 18          	cmp    %eax,0x18(%esp)
406d91:	0f 82 45 fd ff ff    	jb     0x406adc
406d97:	8b 44 b2 08          	mov    0x8(%edx,%esi,4),%eax
406d9b:	e9 3e fd ff ff       	jmp    0x406ade
406da0:	33 d2                	xor    %edx,%edx
406da2:	8d 4a 0b             	lea    0xb(%edx),%ecx
406da5:	e8 05 38 00 00       	call   0x40a5af
406daa:	bb 67 06 00 00       	mov    $0x667,%ebx
406daf:	e9 dc 15 00 00       	jmp    0x408390
406db4:	8b 44 24 10          	mov    0x10(%esp),%eax
406db8:	68 3c 3e 40 00       	push   $0x403e3c
406dbd:	ff 34 07             	push   (%edi,%eax,1)
406dc0:	ff 15 28 f1 40 00    	call   *0x40f128
406dc6:	83 c4 08             	add    $0x8,%esp
406dc9:	85 c0                	test   %eax,%eax
406dcb:	75 73                	jne    0x406e40
406dcd:	8b 5c 24 18          	mov    0x18(%esp),%ebx
406dd1:	8d 46 03             	lea    0x3(%esi),%eax
406dd4:	3b d8                	cmp    %eax,%ebx
406dd6:	73 0c                	jae    0x406de4
406dd8:	e8 ea 2d 00 00       	call   0x409bc7
406ddd:	8b d8                	mov    %eax,%ebx
406ddf:	e9 ac 15 00 00       	jmp    0x408390
406de4:	6a 01                	push   $0x1
406de6:	6a 00                	push   $0x0
406de8:	ff 74 24 24          	push   0x24(%esp)
406dec:	ff 15 4c 00 41 00    	call   *0x41004c
406df2:	89 44 24 14          	mov    %eax,0x14(%esp)
406df6:	85 c0                	test   %eax,%eax
406df8:	75 1d                	jne    0x406e17
406dfa:	ff 15 40 f0 40 00    	call   *0x40f040
406e00:	8b d0                	mov    %eax,%edx
406e02:	b9 68 3c 40 00       	mov    $0x403c68,%ecx
406e07:	e8 74 1b 00 00       	call   0x408980
406e0c:	8b 74 24 14          	mov    0x14(%esp),%esi
406e10:	8b d8                	mov    %eax,%ebx
406e12:	e9 eb eb ff ff       	jmp    0x405a02
406e17:	8b 4c 24 10          	mov    0x10(%esp),%ecx
406e1b:	8d 44 24 24          	lea    0x24(%esp),%eax
406e1f:	50                   	push   %eax
406e20:	2b de                	sub    %esi,%ebx
406e22:	8b 74 24 18          	mov    0x18(%esp),%esi
406e26:	83 eb 02             	sub    $0x2,%ebx
406e29:	8b 54 0f 04          	mov    0x4(%edi,%ecx,1),%edx
406e2d:	8d 41 08             	lea    0x8(%ecx),%eax
406e30:	53                   	push   %ebx
406e31:	03 c7                	add    %edi,%eax
406e33:	8b ce                	mov    %esi,%ecx
406e35:	50                   	push   %eax
406e36:	e8 43 4d 00 00       	call   0x40bb7e
406e3b:	e9 cf fc ff ff       	jmp    0x406b0f
406e40:	8b 44 24 10          	mov    0x10(%esp),%eax
406e44:	68 4c 3e 40 00       	push   $0x403e4c
406e49:	ff 34 07             	push   (%edi,%eax,1)
406e4c:	ff 15 28 f1 40 00    	call   *0x40f128
406e52:	83 c4 08             	add    $0x8,%esp
406e55:	85 c0                	test   %eax,%eax
406e57:	75 6c                	jne    0x406ec5
406e59:	8d 46 03             	lea    0x3(%esi),%eax
406e5c:	39 44 24 18          	cmp    %eax,0x18(%esp)
406e60:	73 0f                	jae    0x406e71
406e62:	33 d2                	xor    %edx,%edx
406e64:	8d 4a 0c             	lea    0xc(%edx),%ecx
406e67:	e8 43 37 00 00       	call   0x40a5af
406e6c:	e9 1f 15 00 00       	jmp    0x408390
406e71:	6a 01                	push   $0x1
406e73:	6a 00                	push   $0x0
406e75:	ff 74 24 24          	push   0x24(%esp)
406e79:	ff 15 4c 00 41 00    	call   *0x41004c
406e7f:	89 44 24 14          	mov    %eax,0x14(%esp)
406e83:	85 c0                	test   %eax,%eax
406e85:	75 1d                	jne    0x406ea4
406e87:	ff 15 40 f0 40 00    	call   *0x40f040
406e8d:	8b d0                	mov    %eax,%edx
406e8f:	b9 68 3c 40 00       	mov    $0x403c68,%ecx
406e94:	e8 e7 1a 00 00       	call   0x408980
406e99:	8b 74 24 14          	mov    0x14(%esp),%esi
406e9d:	8b d8                	mov    %eax,%ebx
406e9f:	e9 5e eb ff ff       	jmp    0x405a02
406ea4:	8d 44 24 24          	lea    0x24(%esp),%eax
406ea8:	50                   	push   %eax
406ea9:	8b 44 24 14          	mov    0x14(%esp),%eax
406ead:	ff 74 b0 08          	push   0x8(%eax,%esi,4)
406eb1:	8b 74 24 1c          	mov    0x1c(%esp),%esi
406eb5:	8b ce                	mov    %esi,%ecx
406eb7:	8b 54 07 04          	mov    0x4(%edi,%eax,1),%edx
406ebb:	e8 df 1b 00 00       	call   0x408a9f
406ec0:	e9 4a fc ff ff       	jmp    0x406b0f
406ec5:	8b 44 24 10          	mov    0x10(%esp),%eax
406ec9:	68 64 3e 40 00       	push   $0x403e64
406ece:	ff 34 07             	push   (%edi,%eax,1)
406ed1:	ff 15 28 f1 40 00    	call   *0x40f128
406ed7:	83 c4 08             	add    $0x8,%esp
406eda:	85 c0                	test   %eax,%eax
406edc:	75 73                	jne    0x406f51
406ede:	8b 5c 24 18          	mov    0x18(%esp),%ebx
406ee2:	8d 46 03             	lea    0x3(%esi),%eax
406ee5:	3b d8                	cmp    %eax,%ebx
406ee7:	73 0c                	jae    0x406ef5
406ee9:	e8 8f 1b 00 00       	call   0x408a7d
406eee:	8b d8                	mov    %eax,%ebx
406ef0:	e9 9b 14 00 00       	jmp    0x408390
406ef5:	6a 01                	push   $0x1
406ef7:	6a 00                	push   $0x0
406ef9:	ff 74 24 24          	push   0x24(%esp)
406efd:	ff 15 4c 00 41 00    	call   *0x41004c
406f03:	89 44 24 14          	mov    %eax,0x14(%esp)
406f07:	85 c0                	test   %eax,%eax
406f09:	75 1d                	jne    0x406f28
406f0b:	ff 15 40 f0 40 00    	call   *0x40f040
406f11:	8b d0                	mov    %eax,%edx
406f13:	b9 68 3c 40 00       	mov    $0x403c68,%ecx
406f18:	e8 63 1a 00 00       	call   0x408980
406f1d:	8b 74 24 14          	mov    0x14(%esp),%esi
406f21:	8b d8                	mov    %eax,%ebx
406f23:	e9 da ea ff ff       	jmp    0x405a02
406f28:	8b 4c 24 10          	mov    0x10(%esp),%ecx
406f2c:	8d 44 24 24          	lea    0x24(%esp),%eax
406f30:	50                   	push   %eax
406f31:	2b de                	sub    %esi,%ebx
406f33:	8b 74 24 18          	mov    0x18(%esp),%esi
406f37:	83 eb 02             	sub    $0x2,%ebx
406f3a:	8b 54 0f 04          	mov    0x4(%edi,%ecx,1),%edx
406f3e:	8d 41 08             	lea    0x8(%ecx),%eax
406f41:	53                   	push   %ebx
406f42:	03 c7                	add    %edi,%eax
406f44:	8b ce                	mov    %esi,%ecx
406f46:	50                   	push   %eax
406f47:	e8 d0 1b 00 00       	call   0x408b1c
406f4c:	e9 be fb ff ff       	jmp    0x406b0f
406f51:	8b 44 24 10          	mov    0x10(%esp),%eax
406f55:	68 74 3e 40 00       	push   $0x403e74
406f5a:	ff 34 07             	push   (%edi,%eax,1)
406f5d:	ff 15 28 f1 40 00    	call   *0x40f128
406f63:	83 c4 08             	add    $0x8,%esp
406f66:	85 c0                	test   %eax,%eax
406f68:	75 6c                	jne    0x406fd6
406f6a:	8d 46 03             	lea    0x3(%esi),%eax
406f6d:	39 44 24 18          	cmp    %eax,0x18(%esp)
406f71:	73 0f                	jae    0x406f82
406f73:	33 d2                	xor    %edx,%edx
406f75:	8d 4a 7c             	lea    0x7c(%edx),%ecx
406f78:	e8 32 36 00 00       	call   0x40a5af
406f7d:	e9 0e 14 00 00       	jmp    0x408390
406f82:	6a 01                	push   $0x1
406f84:	6a 00                	push   $0x0
406f86:	ff 74 24 24          	push   0x24(%esp)
406f8a:	ff 15 4c 00 41 00    	call   *0x41004c
406f90:	89 44 24 14          	mov    %eax,0x14(%esp)
406f94:	85 c0                	test   %eax,%eax
406f96:	75 1d                	jne    0x406fb5
406f98:	ff 15 40 f0 40 00    	call   *0x40f040
406f9e:	8b d0                	mov    %eax,%edx
406fa0:	b9 68 3c 40 00       	mov    $0x403c68,%ecx
406fa5:	e8 d6 19 00 00       	call   0x408980
406faa:	8b 74 24 14          	mov    0x14(%esp),%esi
406fae:	8b d8                	mov    %eax,%ebx
406fb0:	e9 4d ea ff ff       	jmp    0x405a02
406fb5:	8d 44 24 24          	lea    0x24(%esp),%eax
406fb9:	50                   	push   %eax
406fba:	8b 44 24 14          	mov    0x14(%esp),%eax
406fbe:	ff 74 b0 08          	push   0x8(%eax,%esi,4)
406fc2:	8b 74 24 1c          	mov    0x1c(%esp),%esi
406fc6:	8b ce                	mov    %esi,%ecx
406fc8:	8b 54 07 04          	mov    0x4(%edi,%eax,1),%edx
406fcc:	e8 2f 20 00 00       	call   0x409000
406fd1:	e9 39 fb ff ff       	jmp    0x406b0f
406fd6:	8b 44 24 10          	mov    0x10(%esp),%eax
406fda:	68 80 3e 40 00       	push   $0x403e80
406fdf:	ff 34 07             	push   (%edi,%eax,1)
406fe2:	ff 15 28 f1 40 00    	call   *0x40f128
406fe8:	83 c4 08             	add    $0x8,%esp
406feb:	85 c0                	test   %eax,%eax
406fed:	75 76                	jne    0x407065
406fef:	8d 46 03             	lea    0x3(%esi),%eax
406ff2:	39 44 24 18          	cmp    %eax,0x18(%esp)
406ff6:	73 0f                	jae    0x407007
406ff8:	33 d2                	xor    %edx,%edx
406ffa:	8d 4a 71             	lea    0x71(%edx),%ecx
406ffd:	e8 ad 35 00 00       	call   0x40a5af
407002:	e9 89 13 00 00       	jmp    0x408390
407007:	6a 01                	push   $0x1
407009:	6a 00                	push   $0x0
40700b:	ff 74 24 24          	push   0x24(%esp)
40700f:	ff 15 4c 00 41 00    	call   *0x41004c
407015:	89 44 24 14          	mov    %eax,0x14(%esp)
407019:	85 c0                	test   %eax,%eax
40701b:	75 1d                	jne    0x40703a
40701d:	ff 15 40 f0 40 00    	call   *0x40f040
407023:	8b d0                	mov    %eax,%edx
407025:	b9 68 3c 40 00       	mov    $0x403c68,%ecx
40702a:	e8 51 19 00 00       	call   0x408980
40702f:	8b 74 24 14          	mov    0x14(%esp),%esi
407033:	8b d8                	mov    %eax,%ebx
407035:	e9 c8 e9 ff ff       	jmp    0x405a02
40703a:	8b 5c 24 10          	mov    0x10(%esp),%ebx
40703e:	ff 74 b3 08          	push   0x8(%ebx,%esi,4)
407042:	ff 15 0c f1 40 00    	call   *0x40f10c
407048:	8b 74 24 18          	mov    0x18(%esp),%esi
40704c:	8d 4c 24 28          	lea    0x28(%esp),%ecx
407050:	8b 54 1f 04          	mov    0x4(%edi,%ebx,1),%edx
407054:	83 c4 04             	add    $0x4,%esp
407057:	51                   	push   %ecx
407058:	50                   	push   %eax
407059:	8b ce                	mov    %esi,%ecx
40705b:	e8 0e 1e 00 00       	call   0x408e6e
407060:	e9 aa fa ff ff       	jmp    0x406b0f
407065:	8b 44 24 10          	mov    0x10(%esp),%eax
407069:	68 98 3e 40 00       	push   $0x403e98