406963:	8b d0                	mov    %eax,%edx
406965:	b9 68 3c 40 00       	mov    $0x403c68,%ecx
40696a:	e8 11 20 00 00       	call   0x408980
40696f:	8b 74 24 14          	mov    0x14(%esp),%esi
406973:	8b d8                	mov    %eax,%ebx
406975:	e9 88 f0 ff ff       	jmp    0x405a02
40697a:	6a 14                	push   $0x14
40697c:	ff 74 24 38          	push   0x38(%esp)
406980:	50                   	push   %eax
406981:	ff 15 3c 00 41 00    	call   *0x41003c
406987:	89 44 24 24          	mov    %eax,0x24(%esp)
40698b:	85 c0                	test   %eax,%eax
40698d:	75 1d                	jne    0x4069ac
40698f:	ff 15 40 f0 40 00    	call   *0x40f040
406995:	8b d0                	mov    %eax,%edx
406997:	b9 10 3d 40 00       	mov    $0x403d10,%ecx
40699c:	e8 df 1f 00 00       	call   0x408980
4069a1:	8b 74 24 14          	mov    0x14(%esp),%esi
4069a5:	8b d8                	mov    %eax,%ebx
4069a7:	e9 56 f0 ff ff       	jmp    0x405a02
4069ac:	8b 54 24 18          	mov    0x18(%esp),%edx
4069b0:	33 c9                	xor    %ecx,%ecx
4069b2:	3b d3                	cmp    %ebx,%edx
4069b4:	76 09                	jbe    0x4069bf
4069b6:	8b 4c 24 10          	mov    0x10(%esp),%ecx
4069ba:	83 c1 08             	add    $0x8,%ecx
4069bd:	03 cf                	add    %edi,%ecx
4069bf:	2b d6                	sub    %esi,%edx
4069c1:	51                   	push   %ecx
4069c2:	83 ea 02             	sub    $0x2,%edx
4069c5:	52                   	push   %edx
4069c6:	50                   	push   %eax
4069c7:	ff 15 38 00 41 00    	call   *0x410038
4069cd:	85 c0                	test   %eax,%eax
4069cf:	75 1d                	jne    0x4069ee
4069d1:	ff 15 40 f0 40 00    	call   *0x40f040
4069d7:	8b d0                	mov    %eax,%edx
4069d9:	b9 44 3d 40 00       	mov    $0x403d44,%ecx
4069de:	e8 9d 1f 00 00       	call   0x408980
4069e3:	8b 74 24 14          	mov    0x14(%esp),%esi
4069e7:	8b d8                	mov    %eax,%ebx
4069e9:	e9 14 f0 ff ff       	jmp    0x405a02
4069ee:	8d 44 24 3c          	lea    0x3c(%esp),%eax
4069f2:	33 db                	xor    %ebx,%ebx
4069f4:	50                   	push   %eax
4069f5:	6a 24                	push   $0x24
4069f7:	8d 44 24 78          	lea    0x78(%esp),%eax
4069fb:	50                   	push   %eax
4069fc:	53                   	push   %ebx
4069fd:	ff 74 24 34          	push   0x34(%esp)
406a01:	ff 15 64 00 41 00    	call   *0x410064
406a07:	85 c0                	test   %eax,%eax
406a09:	75 08                	jne    0x406a13
406a0b:	ff 15 40 f0 40 00    	call   *0x40f040
406a11:	8b d8                	mov    %eax,%ebx
406a13:	8d 44 24 70          	lea    0x70(%esp),%eax
406a17:	89 44 24 1c          	mov    %eax,0x1c(%esp)
406a1b:	85 db                	test   %ebx,%ebx
406a1d:	75 1a                	jne    0x406a39
406a1f:	8b 4c 24 34          	mov    0x34(%esp),%ecx
406a23:	8d 44 24 1c          	lea    0x1c(%esp),%eax
406a27:	53                   	push   %ebx
406a28:	50                   	push   %eax
406a29:	33 d2                	xor    %edx,%edx
406a2b:	e8 60 f0 ff ff       	call   0x405a90
406a30:	8b 74 24 14          	mov    0x14(%esp),%esi
406a34:	e9 c9 ef ff ff       	jmp    0x405a02
406a39:	8b d3                	mov    %ebx,%edx
406a3b:	b9 d8 3c 40 00       	mov    $0x403cd8,%ecx
406a40:	e8 3b 1f 00 00       	call   0x408980
406a45:	8b 74 24 14          	mov    0x14(%esp),%esi
406a49:	8b d8                	mov    %eax,%ebx
406a4b:	e9 b2 ef ff ff       	jmp    0x405a02
406a50:	8b 44 24 10          	mov    0x10(%esp),%eax
406a54:	68 60 3d 40 00       	push   $0x403d60
406a59:	ff 34 07             	push   (%edi,%eax,1)
406a5c:	ff 15 28 f1 40 00    	call   *0x40f128
406a62:	83 c4 08             	add    $0x8,%esp
406a65:	85 c0                	test   %eax,%eax
406a67:	0f 85 a9 00 00 00    	jne    0x406b16
406a6d:	8d 46 02             	lea    0x2(%esi),%eax
406a70:	39 44 24 18          	cmp    %eax,0x18(%esp)
406a74:	73 14                	jae    0x406a8a
406a76:	33 d2                	xor    %edx,%edx
406a78:	8d 4a 07             	lea    0x7(%edx),%ecx
406a7b:	e8 2f 3b 00 00       	call   0x40a5af
406a80:	bb 67 06 00 00       	mov    $0x667,%ebx
406a85:	e9 06 19 00 00       	jmp    0x408390
406a8a:	6a 01                	push   $0x1
406a8c:	6a 00                	push   $0x0
406a8e:	ff 74 24 24          	push   0x24(%esp)
406a92:	ff 15 4c 00 41 00    	call   *0x41004c
406a98:	8b f0                	mov    %eax,%esi
406a9a:	85 f6                	test   %esi,%esi
406a9c:	75 19                	jne    0x406ab7
406a9e:	ff 15 40 f0 40 00    	call   *0x40f040
406aa4:	8b d0                	mov    %eax,%edx
406aa6:	b9 68 3c 40 00       	mov    $0x403c68,%ecx
406aab:	e8 d0 1e 00 00       	call   0x408980
406ab0:	8b d8                	mov    %eax,%ebx
406ab2:	e9 4b ef ff ff       	jmp    0x405a02
406ab7:	8d 44 24 24          	lea    0x24(%esp),%eax
406abb:	50                   	push   %eax
406abc:	6a 00                	push   $0x0
406abe:	6a 00                	push   $0x0
406ac0:	6a 02                	push   $0x2
406ac2:	eb 0e                	jmp    0x406ad2
406ac4:	8d 44 24 24          	lea    0x24(%esp),%eax
406ac8:	50                   	push   %eax
406ac9:	6a 00                	push   $0x0
406acb:	6a 00                	push   $0x0
406acd:	56                   	push   %esi
406ace:	8b 74 24 24          	mov    0x24(%esp),%esi
406ad2:	8b 44 24 20          	mov    0x20(%esp),%eax
406ad6:	8b 54 07 04          	mov    0x4(%edi,%eax,1),%edx
406ada:	eb 13                	jmp    0x406aef
406adc:	33 c0                	xor    %eax,%eax
406ade:	8b 54 17 04          	mov    0x4(%edi,%edx,1),%edx
406ae2:	8d 74 24 24          	lea    0x24(%esp),%esi
406ae6:	56                   	push   %esi
406ae7:	8b 74 24 18          	mov    0x18(%esp),%esi
406aeb:	51                   	push   %ecx
406aec:	50                   	push   %eax
406aed:	6a 01                	push   $0x1
406aef:	8b ce                	mov    %esi,%ecx
406af1:	e8 7a 57 00 00       	call   0x40c270
406af6:	eb 17                	jmp    0x406b0f
406af8:	ff 74 b3 08          	push   0x8(%ebx,%esi,4)
406afc:	8b 74 24 18          	mov    0x18(%esp),%esi
406b00:	8b ce                	mov    %esi,%ecx
406b02:	ff 74 1f 04          	push   0x4(%edi,%ebx,1)
406b06:	8b 54 24 24          	mov    0x24(%esp),%edx
406b0a:	e8 9a 58 00 00       	call   0x40c3a9
406b0f:	8b d8                	mov    %eax,%ebx
406b11:	e9 ec ee ff ff       	jmp    0x405a02
406b16:	8b 44 24 10          	mov    0x10(%esp),%eax
406b1a:	68 6c 3d 40 00       	push   $0x403d6c
406b1f:	ff 34 07             	push   (%edi,%eax,1)
406b22:	ff 15 28 f1 40 00    	call   *0x40f128
406b28:	83 c4 08             	add    $0x8,%esp
406b2b:	85 c0                	test   %eax,%eax
406b2d:	75 5a                	jne    0x406b89
406b2f:	8d 46 02             	lea    0x2(%esi),%eax
406b32:	39 44 24 18          	cmp    %eax,0x18(%esp)
406b36:	73 14                	jae    0x406b4c
406b38:	33 d2                	xor    %edx,%edx
406b3a:	8d 4a 08             	lea    0x8(%edx),%ecx
406b3d:	e8 6d 3a 00 00       	call   0x40a5af
406b42:	bb 67 06 00 00       	mov    $0x667,%ebx
406b47:	e9 44 18 00 00       	jmp    0x408390
406b4c:	6a 01                	push   $0x1
406b4e:	6a 00                	push   $0x0
406b50:	ff 74 24 24          	push   0x24(%esp)
406b54:	ff 15 4c 00 41 00    	call   *0x41004c
406b5a:	8b f0                	mov    %eax,%esi
406b5c:	85 f6                	test   %esi,%esi
406b5e:	75 19                	jne    0x406b79
406b60:	ff 15 40 f0 40 00    	call   *0x40f040
406b66:	8b d0                	mov    %eax,%edx
406b68:	b9 68 3c 40 00       	mov    $0x403c68,%ecx
406b6d:	e8 0e 1e 00 00       	call   0x408980
406b72:	8b d8                	mov    %eax,%ebx
406b74:	e9 89 ee ff ff       	jmp    0x405a02
406b79:	8d 44 24 24          	lea    0x24(%esp),%eax
406b7d:	50                   	push   %eax
406b7e:	6a 00                	push   $0x0
406b80:	6a 00                	push   $0x0
406b82:	6a 04                	push   $0x4
406b84:	e9 49 ff ff ff       	jmp    0x406ad2
406b89:	8b 44 24 10          	mov    0x10(%esp),%eax
406b8d:	68 84 3d 40 00       	push   $0x403d84
406b92:	ff 34 07             	push   (%edi,%eax,1)
406b95:	ff 15 28 f1 40 00    	call   *0x40f128
406b9b:	83 c4 08             	add    $0x8,%esp
406b9e:	85 c0                	test   %eax,%eax
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