406d40:	c9                   	leave
406d41:	c2 04 00             	ret    $0x4
406d44:	e8 01 00 00 00       	call   0x406d4a
406d49:	cc                   	int3
406d4a:	68 98 24 40 00       	push   $0x402498
406d4f:	e8 dc 72 00 00       	call   0x40e030
406d54:	cc                   	int3
406d55:	6a 10                	push   $0x10
406d57:	b8 fa ed 40 00       	mov    $0x40edfa,%eax
406d5c:	e8 56 79 00 00       	call   0x40e6b7
406d61:	8b f9                	mov    %ecx,%edi
406d63:	8b 45 08             	mov    0x8(%ebp),%eax
406d66:	33 f6                	xor    %esi,%esi
406d68:	89 75 ec             	mov    %esi,-0x14(%ebp)
406d6b:	85 c0                	test   %eax,%eax
406d6d:	74 22                	je     0x406d91
406d6f:	3d aa aa aa 0a       	cmp    $0xaaaaaaa,%eax
406d74:	0f 87 98 00 00 00    	ja     0x406e12
406d7a:	6b c0 18             	imul   $0x18,%eax,%eax
406d7d:	50                   	push   %eax
406d7e:	e8 45 71 00 00       	call   0x40dec8
406d83:	8b f0                	mov    %eax,%esi
406d85:	89 75 ec             	mov    %esi,-0x14(%ebp)
406d88:	59                   	pop    %ecx
406d89:	85 f6                	test   %esi,%esi
406d8b:	0f 84 81 00 00 00    	je     0x406e12
406d91:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
406d95:	ff 75 e4             	push   -0x1c(%ebp)
406d98:	8b 57 04             	mov    0x4(%edi),%edx
406d9b:	51                   	push   %ecx
406d9c:	51                   	push   %ecx
406d9d:	8b 0f                	mov    (%edi),%ecx
406d9f:	56                   	push   %esi
406da0:	e8 ac 04 00 00       	call   0x407251
406da5:	8b 4f 04             	mov    0x4(%edi),%ecx
406da8:	8b c1                	mov    %ecx,%eax
406daa:	8b 1f                	mov    (%edi),%ebx
406dac:	2b c3                	sub    %ebx,%eax
406dae:	99                   	cltd
406daf:	c7 45 ec 18 00 00 00 	movl   $0x18,-0x14(%ebp)
406db6:	f7 7d ec             	idivl  -0x14(%ebp)
406db9:	89 4d e8             	mov    %ecx,-0x18(%ebp)
406dbc:	89 45 e4             	mov    %eax,-0x1c(%ebp)
406dbf:	85 db                	test   %ebx,%ebx
406dc1:	74 21                	je     0x406de4
406dc3:	3b d9                	cmp    %ecx,%ebx
406dc5:	74 15                	je     0x406ddc
406dc7:	6a 00                	push   $0x0
406dc9:	6a 01                	push   $0x1
406dcb:	8b cb                	mov    %ebx,%ecx
406dcd:	e8 1e f7 ff ff       	call   0x4064f0
406dd2:	03 5d ec             	add    -0x14(%ebp),%ebx
406dd5:	3b 5d e8             	cmp    -0x18(%ebp),%ebx
406dd8:	75 ed                	jne    0x406dc7
406dda:	8b 1f                	mov    (%edi),%ebx
406ddc:	53                   	push   %ebx
406ddd:	ff 15 e4 21 41 00    	call   *0x4121e4
406de3:	59                   	pop    %ecx
406de4:	6b 45 08 18          	imul   $0x18,0x8(%ebp),%eax
406de8:	89 37                	mov    %esi,(%edi)
406dea:	03 c6                	add    %esi,%eax
406dec:	89 47 08             	mov    %eax,0x8(%edi)
406def:	6b 45 e4 18          	imul   $0x18,-0x1c(%ebp),%eax
406df3:	03 c6                	add    %esi,%eax
406df5:	89 47 04             	mov    %eax,0x4(%edi)
406df8:	e8 1f 78 00 00       	call   0x40e61c
406dfd:	c2 04 00             	ret    $0x4
406e00:	51                   	push   %ecx
406e01:	ff 75 ec             	push   -0x14(%ebp)
406e04:	e8 65 f1 ff ff       	call   0x405f6e
406e09:	6a 00                	push   $0x0
406e0b:	6a 00                	push   $0x0
406e0d:	e8 04 78 00 00       	call   0x40e616
406e12:	e8 fa 71 00 00       	call   0x40e011
406e17:	cc                   	int3
406e18:	8b ff                	mov    %edi,%edi
406e1a:	55                   	push   %ebp
406e1b:	8b ec                	mov    %esp,%ebp
406e1d:	53                   	push   %ebx
406e1e:	56                   	push   %esi
406e1f:	57                   	push   %edi
406e20:	e8 f1 01 00 00       	call   0x407016
406e25:	8b 75 08             	mov    0x8(%ebp),%esi
406e28:	8b d8                	mov    %eax,%ebx
406e2a:	56                   	push   %esi
406e2b:	8d 4b 10             	lea    0x10(%ebx),%ecx
406e2e:	66 c7 43 0c 00 00    	movw   $0x0,0xc(%ebx)
406e34:	e8 44 04 00 00       	call   0x40727d
406e39:	8a 46 18             	mov    0x18(%esi),%al
406e3c:	8d 4b 2c             	lea    0x2c(%ebx),%ecx
406e3f:	88 43 28             	mov    %al,0x28(%ebx)
406e42:	8d 46 1c             	lea    0x1c(%esi),%eax
406e45:	50                   	push   %eax
406e46:	e8 32 04 00 00       	call   0x40727d
406e4b:	5f                   	pop    %edi
406e4c:	5e                   	pop    %esi
406e4d:	8b c3                	mov    %ebx,%eax
406e4f:	5b                   	pop    %ebx
406e50:	5d                   	pop    %ebp
406e51:	c2 04 00             	ret    $0x4
406e54:	6a 10                	push   $0x10
406e56:	b8 15 ee 40 00       	mov    $0x40ee15,%eax
406e5b:	e8 57 78 00 00       	call   0x40e6b7
406e60:	8b d9                	mov    %ecx,%ebx
406e62:	33 f6                	xor    %esi,%esi
406e64:	89 75 fc             	mov    %esi,-0x4(%ebp)
406e67:	8b 0b                	mov    (%ebx),%ecx
406e69:	89 75 ec             	mov    %esi,-0x14(%ebp)
406e6c:	39 73 04             	cmp    %esi,0x4(%ebx)
406e6f:	75 0a                	jne    0x406e7b
406e71:	ff 75 14             	push   0x14(%ebp)
406e74:	51                   	push   %ecx
406e75:	51                   	push   %ecx
406e76:	e9 ec 00 00 00       	jmp    0x406f67
406e7b:	8b 45 0c             	mov    0xc(%ebp),%eax
406e7e:	3b 01                	cmp    (%ecx),%eax
406e80:	75 20                	jne    0x406ea2
406e82:	83 c0 10             	add    $0x10,%eax
406e85:	50                   	push   %eax
406e86:	ff 75 10             	push   0x10(%ebp)
406e89:	e8 cd e4 ff ff       	call   0x40535b
406e8e:	84 c0                	test   %al,%al
406e90:	0f 84 e2 00 00 00    	je     0x406f78
406e96:	ff 75 14             	push   0x14(%ebp)
406e99:	51                   	push   %ecx
406e9a:	ff 75 0c             	push   0xc(%ebp)
406e9d:	e9 c5 00 00 00       	jmp    0x406f67
406ea2:	3b c1                	cmp    %ecx,%eax
406ea4:	75 26                	jne    0x406ecc
406ea6:	8b 41 08             	mov    0x8(%ecx),%eax
406ea9:	ff 75 10             	push   0x10(%ebp)
406eac:	83 c0 10             	add    $0x10,%eax
406eaf:	50                   	push   %eax
406eb0:	e8 a6 e4 ff ff       	call   0x40535b
406eb5:	84 c0                	test   %al,%al
406eb7:	0f 84 bb 00 00 00    	je     0x406f78
406ebd:	ff 75 14             	push   0x14(%ebp)
406ec0:	8b 03                	mov    (%ebx),%eax
406ec2:	51                   	push   %ecx
406ec3:	ff 70 08             	push   0x8(%eax)
406ec6:	56                   	push   %esi
406ec7:	e9 9d 00 00 00       	jmp    0x406f69
406ecc:	8b 7d 10             	mov    0x10(%ebp),%edi
406ecf:	83 c0 10             	add    $0x10,%eax
406ed2:	50                   	push   %eax
406ed3:	57                   	push   %edi
406ed4:	89 45 e8             	mov    %eax,-0x18(%ebp)
406ed7:	e8 7f e4 ff ff       	call   0x40535b
406edc:	84 c0                	test   %al,%al
406ede:	74 3b                	je     0x406f1b
406ee0:	8b 45 0c             	mov    0xc(%ebp),%eax
406ee3:	8d 4d ec             	lea    -0x14(%ebp),%ecx
406ee6:	89 45 ec             	mov    %eax,-0x14(%ebp)
406ee9:	e8 c1 00 00 00       	call   0x406faf
406eee:	57                   	push   %edi
406eef:	8b 00                	mov    (%eax),%eax
406ef1:	83 c0 10             	add    $0x10,%eax
406ef4:	50                   	push   %eax
406ef5:	e8 61 e4 ff ff       	call   0x40535b
406efa:	84 c0                	test   %al,%al
406efc:	74 1d                	je     0x406f1b
406efe:	8b 45 ec             	mov    -0x14(%ebp),%eax
406f01:	ff 75 14             	push   0x14(%ebp)
406f04:	8b 48 08             	mov    0x8(%eax),%ecx
406f07:	51                   	push   %ecx
406f08:	80 79 0d 00          	cmpb   $0x0,0xd(%ecx)
406f0c:	8b cb                	mov    %ebx,%ecx
406f0e:	74 04                	je     0x406f14
406f10:	50                   	push   %eax
406f11:	56                   	push   %esi
406f12:	eb 57                	jmp    0x406f6b
406f14:	ff 75 0c             	push   0xc(%ebp)
406f17:	6a 01                	push   $0x1
406f19:	eb 50                	jmp    0x406f6b
406f1b:	57                   	push   %edi
406f1c:	ff 75 e8             	push   -0x18(%ebp)
406f1f:	e8 37 e4 ff ff       	call   0x40535b
406f24:	84 c0                	test   %al,%al
406f26:	74 50                	je     0x406f78
406f28:	8b 7d 0c             	mov    0xc(%ebp),%edi
406f2b:	8d 4d ec             	lea    -0x14(%ebp),%ecx
406f2e:	8b 33                	mov    (%ebx),%esi
406f30:	89 7d ec             	mov    %edi,-0x14(%ebp)
406f33:	e8 5b f0 ff ff       	call   0x405f93
406f38:	39 30                	cmp    %esi,(%eax)
406f3a:	74 16                	je     0x406f52
406f3c:	8b 45 ec             	mov    -0x14(%ebp),%eax
406f3f:	83 c0 10             	add    $0x10,%eax
406f42:	50                   	push   %eax
406f43:	ff 75 10             	push   0x10(%ebp)
406f46:	e8 10 e4 ff ff       	call   0x40535b
406f4b:	84 c0                	test   %al,%al
406f4d:	74 29                	je     0x406f78
406f4f:	8b 7d 0c             	mov    0xc(%ebp),%edi
406f52:	8b 47 08             	mov    0x8(%edi),%eax
406f55:	ff 75 14             	push   0x14(%ebp)
406f58:	51                   	push   %ecx
406f59:	80 78 0d 00          	cmpb   $0x0,0xd(%eax)
406f5d:	74 05                	je     0x406f64
406f5f:	57                   	push   %edi
406f60:	6a 00                	push   $0x0
406f62:	eb 05                	jmp    0x406f69
406f64:	ff 75 ec             	push   -0x14(%ebp)
406f67:	6a 01                	push   $0x1
406f69:	8b cb                	mov    %ebx,%ecx
406f6b:	8b 75 08             	mov    0x8(%ebp),%esi
406f6e:	56                   	push   %esi
406f6f:	e8 fd 00 00 00       	call   0x407071
406f74:	8b c6                	mov    %esi,%eax
406f76:	eb 1d                	jmp    0x406f95
406f78:	ff 75 14             	push   0x14(%ebp)
406f7b:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
406f7f:	8d 45 e4             	lea    -0x1c(%ebp),%eax
406f82:	ff 75 10             	push   0x10(%ebp)
406f85:	51                   	push   %ecx
406f86:	50                   	push   %eax
406f87:	8b cb                	mov    %ebx,%ecx
406f89:	e8 05 02 00 00       	call   0x407193
406f8e:	8b 08                	mov    (%eax),%ecx
406f90:	8b 45 08             	mov    0x8(%ebp),%eax
406f93:	89 08                	mov    %ecx,(%eax)
406f95:	e8 82 76 00 00       	call   0x40e61c
406f9a:	c2 10 00             	ret    $0x10
406f9d:	ff 75 14             	push   0x14(%ebp)
406fa0:	e8 9c 00 00 00       	call   0x407041
406fa5:	6a 00                	push   $0x0
406fa7:	6a 00                	push   $0x0
406fa9:	e8 68 76 00 00       	call   0x40e616
406fae:	cc                   	int3
406faf:	8b ff                	mov    %edi,%edi
406fb1:	55                   	push   %ebp
406fb2:	8b ec                	mov    %esp,%ebp
406fb4:	51                   	push   %ecx
406fb5:	8b d1                	mov    %ecx,%edx
406fb7:	8b 02                	mov    (%edx),%eax
406fb9:	80 78 0d 00          	cmpb   $0x0,0xd(%eax)
406fbd:	74 07                	je     0x406fc6
406fbf:	8b 40 08             	mov    0x8(%eax),%eax
406fc2:	89 02                	mov    %eax,(%edx)
406fc4:	eb 3f                	jmp    0x407005
406fc6:	8b 08                	mov    (%eax),%ecx
406fc8:	80 79 0d 00          	cmpb   $0x0,0xd(%ecx)
406fcc:	74 3d                	je     0x40700b
406fce:	8b 48 04             	mov    0x4(%eax),%ecx
406fd1:	80 79 0d 00          	cmpb   $0x0,0xd(%ecx)
406fd5:	75 26                	jne    0x406ffd
406fd7:	56                   	push   %esi
406fd8:	57                   	push   %edi
406fd9:	8b f0                	mov    %eax,%esi
406fdb:	8b f8                	mov    %eax,%edi
406fdd:	53                   	push   %ebx
406fde:	8b d9                	mov    %ecx,%ebx
406fe0:	89 4d fc             	mov    %ecx,-0x4(%ebp)
406fe3:	8b c7                	mov    %edi,%eax
406fe5:	3b 31                	cmp    (%ecx),%esi
406fe7:	75 11                	jne    0x406ffa
406fe9:	89 0a                	mov    %ecx,(%edx)
406feb:	8b f1                	mov    %ecx,%esi
406fed:	8b 49 04             	mov    0x4(%ecx),%ecx
406ff0:	8b fe                	mov    %esi,%edi
406ff2:	8b c3                	mov    %ebx,%eax
406ff4:	80 79 0d 00          	cmpb   $0x0,0xd(%ecx)
406ff8:	74 e4                	je     0x406fde
406ffa:	5b                   	pop    %ebx
406ffb:	5f                   	pop    %edi
406ffc:	5e                   	pop    %esi
406ffd:	80 78 0d 00          	cmpb   $0x0,0xd(%eax)
407001:	75 02                	jne    0x407005
407003:	89 0a                	mov    %ecx,(%edx)
407005:	8b c2                	mov    %edx,%eax
407007:	c9                   	leave
407008:	c3                   	ret
407009:	8b c8                	mov    %eax,%ecx
40700b:	8b 41 08             	mov    0x8(%ecx),%eax
40700e:	80 78 0d 00          	cmpb   $0x0,0xd(%eax)
407012:	74 f5                	je     0x407009
407014:	eb ed                	jmp    0x407003
407016:	8b ff                	mov    %edi,%edi
407018:	56                   	push   %esi
407019:	6a 44                	push   $0x44
40701b:	8b f1                	mov    %ecx,%esi
40701d:	e8 a6 6e 00 00       	call   0x40dec8
407022:	8b d0                	mov    %eax,%edx
407024:	59                   	pop    %ecx
407025:	85 d2                	test   %edx,%edx
407027:	74 12                	je     0x40703b
407029:	8b 06                	mov    (%esi),%eax
40702b:	89 02                	mov    %eax,(%edx)
40702d:	8b 06                	mov    (%esi),%eax
40702f:	89 42 04             	mov    %eax,0x4(%edx)
407032:	8b 06                	mov    (%esi),%eax
407034:	89 42 08             	mov    %eax,0x8(%edx)
407037:	8b c2                	mov    %edx,%eax
407039:	5e                   	pop    %esi
40703a:	c3                   	ret
40703b:	e8 d1 6f 00 00       	call   0x40e011
407040:	cc                   	int3
407041:	8b ff                	mov    %edi,%edi
407043:	55                   	push   %ebp
407044:	8b ec                	mov    %esp,%ebp
407046:	56                   	push   %esi
407047:	57                   	push   %edi
407048:	8b 7d 08             	mov    0x8(%ebp),%edi
40704b:	6a 00                	push   $0x0
40704d:	6a 01                	push   $0x1
40704f:	8d 4f 2c             	lea    0x2c(%edi),%ecx
407052:	e8 99 f4 ff ff       	call   0x4064f0
407057:	6a 00                	push   $0x0
407059:	6a 01                	push   $0x1
40705b:	8d 4f 10             	lea    0x10(%edi),%ecx
40705e:	e8 8d f4 ff ff       	call   0x4064f0
407063:	57                   	push   %edi
407064:	ff 15 e4 21 41 00    	call   *0x4121e4
40706a:	59                   	pop    %ecx
40706b:	5f                   	pop    %edi
40706c:	5e                   	pop    %esi
40706d:	5d                   	pop    %ebp
40706e:	c2 04 00             	ret    $0x4
407071:	8b ff                	mov    %edi,%edi
407073:	55                   	push   %ebp
407074:	8b ec                	mov    %esp,%ebp
407076:	8b 41 04             	mov    0x4(%ecx),%eax
407079:	3d c2 c3 c3 03       	cmp    $0x3c3c3c2,%eax
40707e:	0f 83 fc 00 00 00    	jae    0x407180
407084:	56                   	push   %esi
407085:	57                   	push   %edi
407086:	8b 7d 18             	mov    0x18(%ebp),%edi
407089:	40                   	inc    %eax
40708a:	89 41 04             	mov    %eax,0x4(%ecx)
40708d:	8b 45 10             	mov    0x10(%ebp),%eax
407090:	89 47 04             	mov    %eax,0x4(%edi)
407093:	8b 11                	mov    (%ecx),%edx
407095:	3b c2                	cmp    %edx,%eax
407097:	75 0e                	jne    0x4070a7
407099:	89 7a 04             	mov    %edi,0x4(%edx)
40709c:	8b 01                	mov    (%ecx),%eax
40709e:	89 38                	mov    %edi,(%eax)
4070a0:	8b 01                	mov    (%ecx),%eax
4070a2:	89 78 08             	mov    %edi,0x8(%eax)
4070a5:	eb 1f                	jmp    0x4070c6
4070a7:	80 7d 0c 00          	cmpb   $0x0,0xc(%ebp)
4070ab:	74 0c                	je     0x4070b9
4070ad:	89 38                	mov    %edi,(%eax)
4070af:	8b 11                	mov    (%ecx),%edx
4070b1:	3b 02                	cmp    (%edx),%eax
4070b3:	75 11                	jne    0x4070c6
4070b5:	89 3a                	mov    %edi,(%edx)
4070b7:	eb 0d                	jmp    0x4070c6
4070b9:	89 78 08             	mov    %edi,0x8(%eax)
4070bc:	8b 11                	mov    (%ecx),%edx