407aa4:	66 90                	xchg   %ax,%ax
407aa6:	b4 76                	mov    $0x76,%ah
407aa8:	40                   	inc    %eax
407aa9:	00 be 76 40 00 c8    	add    %bh,-0x37ffbf8a(%esi)
407aaf:	76 40                	jbe    0x407af1
407ab1:	00 d2                	add    %dl,%dl
407ab3:	76 40                	jbe    0x407af5
407ab5:	00 dc                	add    %bl,%ah
407ab7:	76 40                	jbe    0x407af9
407ab9:	00 e6                	add    %ah,%dh
407abb:	76 40                	jbe    0x407afd
407abd:	00 f0                	add    %dh,%al
407abf:	76 40                	jbe    0x407b01
407ac1:	00 fa                	add    %bh,%dl
407ac3:	76 40                	jbe    0x407b05
407ac5:	00 04 77             	add    %al,(%edi,%esi,2)
407ac8:	40                   	inc    %eax
407ac9:	00 0e                	add    %cl,(%esi)
407acb:	77 40                	ja     0x407b0d
407acd:	00 84 c9 75 07 84 d2 	add    %al,-0x2d7bf88b(%ecx,%ecx,8)
407ad4:	74 07                	je     0x407add
407ad6:	b0 01                	mov    $0x1,%al
407ad8:	c3                   	ret
407ad9:	84 d2                	test   %dl,%dl
407adb:	74 f9                	je     0x407ad6
407add:	32 c0                	xor    %al,%al
407adf:	c3                   	ret
407ae0:	6a 14                	push   $0x14
407ae2:	ff 15 88 22 41 00    	call   *0x412288
407ae8:	24 01                	and    $0x1,%al
407aea:	c3                   	ret
407aeb:	55                   	push   %ebp
407aec:	8b ec                	mov    %esp,%ebp
407aee:	81 ec 14 02 00 00    	sub    $0x214,%esp
407af4:	53                   	push   %ebx
407af5:	56                   	push   %esi
407af6:	57                   	push   %edi
407af7:	68 08 02 00 00       	push   $0x208
407afc:	33 db                	xor    %ebx,%ebx
407afe:	89 4d f4             	mov    %ecx,-0xc(%ebp)
407b01:	8d 85 ec fd ff ff    	lea    -0x214(%ebp),%eax
407b07:	53                   	push   %ebx
407b08:	50                   	push   %eax
407b09:	e8 44 95 ff ff       	call   0x401052
407b0e:	83 c4 0c             	add    $0xc,%esp
407b11:	89 5d fc             	mov    %ebx,-0x4(%ebp)
407b14:	ff 15 c4 22 41 00    	call   *0x4122c4
407b1a:	68 04 01 00 00       	push   $0x104
407b1f:	8d 8d ec fd ff ff    	lea    -0x214(%ebp),%ecx
407b25:	51                   	push   %ecx
407b26:	50                   	push   %eax
407b27:	ff 15 a4 22 41 00    	call   *0x4122a4
407b2d:	85 c0                	test   %eax,%eax
407b2f:	7e 41                	jle    0x407b72
407b31:	8d 85 ec fd ff ff    	lea    -0x214(%ebp),%eax
407b37:	50                   	push   %eax
407b38:	8d 4d f8             	lea    -0x8(%ebp),%ecx
407b3b:	e8 d2 b8 ff ff       	call   0x403412
407b40:	68 a8 29 41 00       	push   $0x4129a8
407b45:	8d 4d fc             	lea    -0x4(%ebp),%ecx
407b48:	8b f0                	mov    %eax,%esi
407b4a:	e8 48 b7 ff ff       	call   0x403297
407b4f:	8b f8                	mov    %eax,%edi
407b51:	56                   	push   %esi
407b52:	8b cf                	mov    %edi,%ecx
407b54:	e8 09 b6 ff ff       	call   0x403162
407b59:	68 ac 29 41 00       	push   $0x4129ac
407b5e:	8b cf                	mov    %edi,%ecx
407b60:	e8 32 b7 ff ff       	call   0x403297
407b65:	8b 4d f8             	mov    -0x8(%ebp),%ecx
407b68:	e8 c0 de ff ff       	call   0x405a2d
407b6d:	89 5d f8             	mov    %ebx,-0x8(%ebp)
407b70:	eb 0d                	jmp    0x407b7f
407b72:	68 b0 29 41 00       	push   $0x4129b0
407b77:	8d 4d fc             	lea    -0x4(%ebp),%ecx
407b7a:	e8 ad b5 ff ff       	call   0x40312c
407b7f:	a1 90 66 41 00       	mov    0x416690,%eax
407b84:	8b 3d fc 21 41 00    	mov    0x4121fc,%edi
407b8a:	05 10 02 00 00       	add    $0x210,%eax
407b8f:	50                   	push   %eax
407b90:	ff d7                	call   *%edi
407b92:	85 c0                	test   %eax,%eax
407b94:	a1 90 66 41 00       	mov    0x416690,%eax
407b99:	74 39                	je     0x407bd4
407b9b:	05 10 02 00 00       	add    $0x210,%eax
407ba0:	8d 4d f8             	lea    -0x8(%ebp),%ecx
407ba3:	50                   	push   %eax
407ba4:	e8 69 b8 ff ff       	call   0x403412
407ba9:	50                   	push   %eax
407baa:	8d 4d fc             	lea    -0x4(%ebp),%ecx
407bad:	e8 c3 b4 ff ff       	call   0x403075
407bb2:	8b 4d f8             	mov    -0x8(%ebp),%ecx
407bb5:	8b f0                	mov    %eax,%esi
407bb7:	e8 71 de ff ff       	call   0x405a2d
407bbc:	a1 90 66 41 00       	mov    0x416690,%eax
407bc1:	89 5d f8             	mov    %ebx,-0x8(%ebp)
407bc4:	85 f6                	test   %esi,%esi
407bc6:	74 0c                	je     0x407bd4
407bc8:	c7 80 10 0a 00 00 01 	movl   $0x1,0xa10(%eax)
407bcf:	00 00 00
407bd2:	eb 1a                	jmp    0x407bee
407bd4:	ff 75 fc             	push   -0x4(%ebp)
407bd7:	05 10 02 00 00       	add    $0x210,%eax
407bdc:	50                   	push   %eax
407bdd:	ff 15 cc 21 41 00    	call   *0x4121cc
407be3:	a1 90 66 41 00       	mov    0x416690,%eax
407be8:	89 98 10 0a 00 00    	mov    %ebx,0xa10(%eax)
407bee:	53                   	push   %ebx
407bef:	68 80 00 00 00       	push   $0x80
407bf4:	6a 04                	push   $0x4
407bf6:	53                   	push   %ebx
407bf7:	6a 01                	push   $0x1
407bf9:	6a 04                	push   $0x4
407bfb:	ff 70 0c             	push   0xc(%eax)
407bfe:	ff 15 94 20 41 00    	call   *0x412094
407c04:	8b 0d 90 66 41 00    	mov    0x416690,%ecx
407c0a:	39 99 10 0a 00 00    	cmp    %ebx,0xa10(%ecx)
407c10:	8b 1d 90 20 41 00    	mov    0x412090,%ebx
407c16:	89 41 04             	mov    %eax,0x4(%ecx)
407c19:	75 63                	jne    0x407c7e
407c1b:	6a 00                	push   $0x0
407c1d:	8d 41 08             	lea    0x8(%ecx),%eax
407c20:	be a0 29 41 00       	mov    $0x4129a0,%esi
407c25:	50                   	push   %eax
407c26:	56                   	push   %esi
407c27:	ff d7                	call   *%edi
407c29:	50                   	push   %eax
407c2a:	a1 90 66 41 00       	mov    0x416690,%eax
407c2f:	56                   	push   %esi
407c30:	ff 70 04             	push   0x4(%eax)
407c33:	ff d3                	call   *%ebx
407c35:	a1 90 66 41 00       	mov    0x416690,%eax
407c3a:	8d 4d fc             	lea    -0x4(%ebp),%ecx
407c3d:	8b 75 fc             	mov    -0x4(%ebp),%esi
407c40:	83 c0 08             	add    $0x8,%eax
407c43:	6a 00                	push   $0x0
407c45:	50                   	push   %eax
407c46:	e8 43 b4 ff ff       	call   0x40308e
407c4b:	03 c0                	add    %eax,%eax
407c4d:	50                   	push   %eax
407c4e:	a1 90 66 41 00       	mov    0x416690,%eax
407c53:	56                   	push   %esi
407c54:	ff 70 04             	push   0x4(%eax)
407c57:	ff d3                	call   *%ebx
407c59:	a1 90 66 41 00       	mov    0x416690,%eax
407c5e:	be a0 29 41 00       	mov    $0x4129a0,%esi
407c63:	6a 00                	push   $0x0
407c65:	83 c0 08             	add    $0x8,%eax
407c68:	50                   	push   %eax
407c69:	56                   	push   %esi
407c6a:	ff d7                	call   *%edi
407c6c:	50                   	push   %eax
407c6d:	a1 90 66 41 00       	mov    0x416690,%eax
407c72:	56                   	push   %esi
407c73:	ff 70 04             	push   0x4(%eax)
407c76:	ff d3                	call   *%ebx
407c78:	8b 0d 90 66 41 00    	mov    0x416690,%ecx
407c7e:	8b 75 f4             	mov    -0xc(%ebp),%esi
407c81:	8d 41 08             	lea    0x8(%ecx),%eax
407c84:	6a 00                	push   $0x0
407c86:	50                   	push   %eax
407c87:	56                   	push   %esi
407c88:	ff d7                	call   *%edi
407c8a:	03 c0                	add    %eax,%eax
407c8c:	50                   	push   %eax
407c8d:	a1 90 66 41 00       	mov    0x416690,%eax
407c92:	56                   	push   %esi
407c93:	ff 70 04             	push   0x4(%eax)
407c96:	ff d3                	call   *%ebx
407c98:	a1 90 66 41 00       	mov    0x416690,%eax
407c9d:	ff 70 04             	push   0x4(%eax)
407ca0:	ff 15 00 22 41 00    	call   *0x412200
407ca6:	8b 4d fc             	mov    -0x4(%ebp),%ecx
407ca9:	e8 7f dd ff ff       	call   0x405a2d
407cae:	5f                   	pop    %edi
407caf:	5e                   	pop    %esi
407cb0:	5b                   	pop    %ebx
407cb1:	c9                   	leave
407cb2:	c3                   	ret
407cb3:	55                   	push   %ebp
407cb4:	8b ec                	mov    %esp,%ebp
407cb6:	83 e4 f8             	and    $0xfffffff8,%esp
407cb9:	81 ec 5c 02 00 00    	sub    $0x25c,%esp
407cbf:	53                   	push   %ebx
407cc0:	56                   	push   %esi
407cc1:	57                   	push   %edi
407cc2:	33 ff                	xor    %edi,%edi
407cc4:	8d 44 24 60          	lea    0x60(%esp),%eax
407cc8:	68 08 02 00 00       	push   $0x208
407ccd:	57                   	push   %edi
407cce:	50                   	push   %eax
407ccf:	89 7c 24 20          	mov    %edi,0x20(%esp)
407cd3:	e8 7a 93 ff ff       	call   0x401052
407cd8:	8b 45 0c             	mov    0xc(%ebp),%eax
407cdb:	83 c4 0c             	add    $0xc,%esp
407cde:	8b f7                	mov    %edi,%esi
407ce0:	89 74 24 10          	mov    %esi,0x10(%esp)
407ce4:	83 e8 01             	sub    $0x1,%eax
407ce7:	0f 84 21 03 00 00    	je     0x40800e
407ced:	83 e8 0f             	sub    $0xf,%eax
407cf0:	0f 84 0f 03 00 00    	je     0x408005
407cf6:	2d ef 00 00 00       	sub    $0xef,%eax
407cfb:	74 19                	je     0x407d16
407cfd:	ff 75 14             	push   0x14(%ebp)
407d00:	ff 75 10             	push   0x10(%ebp)
407d03:	ff 75 0c             	push   0xc(%ebp)
407d06:	ff 75 08             	push   0x8(%ebp)
407d09:	ff 15 b8 22 41 00    	call   *0x4122b8
407d0f:	8b f8                	mov    %eax,%edi
407d11:	e9 25 03 00 00       	jmp    0x40803b
407d16:	6a 10                	push   $0x10
407d18:	8d 44 24 18          	lea    0x18(%esp),%eax
407d1c:	50                   	push   %eax
407d1d:	57                   	push   %edi
407d1e:	68 03 00 00 10       	push   $0x10000003
407d23:	ff 75 14             	push   0x14(%ebp)
407d26:	ff 15 b0 22 41 00    	call   *0x4122b0
407d2c:	83 f8 ff             	cmp    $0xffffffff,%eax
407d2f:	0f 84 06 03 00 00    	je     0x40803b
407d35:	8b 4c 24 14          	mov    0x14(%esp),%ecx
407d39:	e8 9d dd ff ff       	call   0x405adb
407d3e:	8b d8                	mov    %eax,%ebx
407d40:	89 5c 24 2c          	mov    %ebx,0x2c(%esp)
407d44:	85 db                	test   %ebx,%ebx
407d46:	0f 84 ef 02 00 00    	je     0x40803b
407d4c:	6a 10                	push   $0x10
407d4e:	8d 44 24 18          	lea    0x18(%esp),%eax
407d52:	50                   	push   %eax
407d53:	53                   	push   %ebx
407d54:	68 03 00 00 10       	push   $0x10000003
407d59:	ff 75 14             	push   0x14(%ebp)
407d5c:	ff 15 b0 22 41 00    	call   *0x4122b0
407d62:	3b 44 24 14          	cmp    0x14(%esp),%eax
407d66:	0f 85 cf 02 00 00    	jne    0x40803b
407d6c:	81 7b 18 00 01 00 00 	cmpl   $0x100,0x18(%ebx)
407d73:	0f 85 c2 02 00 00    	jne    0x40803b
407d79:	ff 15 c4 22 41 00    	call   *0x4122c4
407d7f:	68 04 01 00 00       	push   $0x104
407d84:	8d 4c 24 64          	lea    0x64(%esp),%ecx
407d88:	51                   	push   %ecx
407d89:	50                   	push   %eax
407d8a:	ff 15 a4 22 41 00    	call   *0x4122a4
407d90:	85 c0                	test   %eax,%eax
407d92:	7e 23                	jle    0x407db7
407d94:	8d 44 24 60          	lea    0x60(%esp),%eax
407d98:	50                   	push   %eax
407d99:	8d 4c 24 1c          	lea    0x1c(%esp),%ecx
407d9d:	e8 70 b6 ff ff       	call   0x403412
407da2:	50                   	push   %eax
407da3:	8d 4c 24 14          	lea    0x14(%esp),%ecx
407da7:	e8 b8 b4 ff ff       	call   0x403264
407dac:	8b 4c 24 18          	mov    0x18(%esp),%ecx
407db0:	e8 78 dc ff ff       	call   0x405a2d
407db5:	eb 0e                	jmp    0x407dc5
407db7:	68 90 29 41 00       	push   $0x412990
407dbc:	8d 4c 24 14          	lea    0x14(%esp),%ecx
407dc0:	e8 67 b3 ff ff       	call   0x40312c
407dc5:	8a 53 16             	mov    0x16(%ebx),%dl
407dc8:	8d 4c 24 1c          	lea    0x1c(%esp),%ecx
407dcc:	e8 62 03 00 00       	call   0x408133
407dd1:	8d 44 24 10          	lea    0x10(%esp),%eax
407dd5:	50                   	push   %eax
407dd6:	8d 4c 24 20          	lea    0x20(%esp),%ecx
407dda:	e8 85 b4 ff ff       	call   0x403264
407ddf:	a1 90 66 41 00       	mov    0x416690,%eax
407de4:	8d 4c 24 28          	lea    0x28(%esp),%ecx
407de8:	83 c0 10             	add    $0x10,%eax
407deb:	50                   	push   %eax
407dec:	e8 a6 b4 ff ff       	call   0x403297
407df1:	a1 90 66 41 00       	mov    0x416690,%eax
407df6:	39 38                	cmp    %edi,(%eax)
407df8:	74 67                	je     0x407e61
407dfa:	83 ec 10             	sub    $0x10,%esp
407dfd:	05 18 0a 00 00       	add    $0xa18,%eax
407e02:	8b cc                	mov    %esp,%ecx
407e04:	50                   	push   %eax
407e05:	e8 f7 94 ff ff       	call   0x401301
407e0a:	83 ec 10             	sub    $0x10,%esp
407e0d:	8d 44 24 3c          	lea    0x3c(%esp),%eax
407e11:	8b f4                	mov    %esp,%esi
407e13:	8b ce                	mov    %esi,%ecx
407e15:	50                   	push   %eax
407e16:	e8 3f b6 ff ff       	call   0x40345a
407e1b:	8b 44 24 40          	mov    0x40(%esp),%eax
407e1f:	8d 4e 0c             	lea    0xc(%esi),%ecx
407e22:	89 46 04             	mov    %eax,0x4(%esi)
407e25:	66 8b 44 24 44       	mov    0x44(%esp),%ax
407e2a:	66 89 46 08          	mov    %ax,0x8(%esi)
407e2e:	8d 44 24 48          	lea    0x48(%esp),%eax
407e32:	50                   	push   %eax
407e33:	e8 22 b6 ff ff       	call   0x40345a
407e38:	8d 4c 24 5c          	lea    0x5c(%esp),%ecx
407e3c:	e8 ca c7 ff ff       	call   0x40460b
407e41:	8b 0d 90 66 41 00    	mov    0x416690,%ecx
407e47:	50                   	push   %eax
407e48:	8b 89 50 0a 00 00    	mov    0xa50(%ecx),%ecx
407e4e:	e8 00 cd ff ff       	call   0x404b53
407e53:	8d 4c 24 3c          	lea    0x3c(%esp),%ecx
407e57:	e8 85 c7 ff ff       	call   0x4045e1
407e5c:	a1 90 66 41 00       	mov    0x416690,%eax
407e61:	39 b8 14 0a 00 00    	cmp    %edi,0xa14(%eax)
407e67:	0f 84 7c 01 00 00    	je     0x407fe9
407e6d:	05 10 02 00 00       	add    $0x210,%eax
407e72:	50                   	push   %eax
407e73:	ff 15 fc 21 41 00    	call   *0x4121fc
407e79:	33 db                	xor    %ebx,%ebx
407e7b:	43                   	inc    %ebx
407e7c:	85 c0                	test   %eax,%eax
407e7e:	a1 90 66 41 00       	mov    0x416690,%eax
407e83:	74 39                	je     0x407ebe
407e85:	05 10 02 00 00       	add    $0x210,%eax
407e8a:	8d 4c 24 18          	lea    0x18(%esp),%ecx
407e8e:	50                   	push   %eax
407e8f:	e8 7e b5 ff ff       	call   0x403412
407e94:	50                   	push   %eax
407e95:	8d 4c 24 14          	lea    0x14(%esp),%ecx
407e99:	e8 d7 b1 ff ff       	call   0x403075
407e9e:	8b 4c 24 18          	mov    0x18(%esp),%ecx
407ea2:	8b f0                	mov    %eax,%esi
407ea4:	e8 84 db ff ff       	call   0x405a2d
407ea9:	a1 90 66 41 00       	mov    0x416690,%eax
407eae:	89 7c 24 18          	mov    %edi,0x18(%esp)
407eb2:	85 f6                	test   %esi,%esi
407eb4:	74 08                	je     0x407ebe
407eb6:	89 98 10 0a 00 00    	mov    %ebx,0xa10(%eax)
407ebc:	eb 1b                	jmp    0x407ed9
407ebe:	ff 74 24 1c          	push   0x1c(%esp)
407ec2:	05 10 02 00 00       	add    $0x210,%eax
407ec7:	50                   	push   %eax
407ec8:	ff 15 cc 21 41 00    	call   *0x4121cc
407ece:	a1 90 66 41 00       	mov    0x416690,%eax
407ed3:	89 b8 10 0a 00 00    	mov    %edi,0xa10(%eax)
407ed9:	57                   	push   %edi
407eda:	68 80 00 00 00       	push   $0x80
407edf:	6a 04                	push   $0x4
407ee1:	57                   	push   %edi
407ee2:	53                   	push   %ebx
407ee3:	6a 04                	push   $0x4
407ee5:	ff 70 0c             	push   0xc(%eax)
407ee8:	ff 15 94 20 41 00    	call   *0x412094
407eee:	8b 0d 90 66 41 00    	mov    0x416690,%ecx
407ef4:	8b 1d 90 20 41 00    	mov    0x412090,%ebx
407efa:	89 41 04             	mov    %eax,0x4(%ecx)
407efd:	39 b9 10 0a 00 00    	cmp    %edi,0xa10(%ecx)
407f03:	0f 85 a4 00 00 00    	jne    0x407fad
407f09:	57                   	push   %edi
407f0a:	8d 41 08             	lea    0x8(%ecx),%eax
407f0d:	be a0 29 41 00       	mov    $0x4129a0,%esi
407f12:	50                   	push   %eax
407f13:	56                   	push   %esi