408a53:	33 c9                	xor    %ecx,%ecx
408a55:	89 4d fc             	mov    %ecx,-0x4(%ebp)
408a58:	33 c0                	xor    %eax,%eax
408a5a:	8b 5d 08             	mov    0x8(%ebp),%ebx
408a5d:	89 5d c0             	mov    %ebx,-0x40(%ebp)
408a60:	89 4d c8             	mov    %ecx,-0x38(%ebp)
408a63:	89 4b 10             	mov    %ecx,0x10(%ebx)
408a66:	c7 43 14 07 00 00 00 	movl   $0x7,0x14(%ebx)
408a6d:	66 89 03             	mov    %ax,(%ebx)
408a70:	89 4d fc             	mov    %ecx,-0x4(%ebp)
408a73:	8b 45 10             	mov    0x10(%ebp),%eax
408a76:	c7 45 c8 01 00 00 00 	movl   $0x1,-0x38(%ebp)
408a7d:	39 45 0c             	cmp    %eax,0xc(%ebp)
408a80:	74 6a                	je     0x408aec
408a82:	ff 75 c0             	push   -0x40(%ebp)
408a85:	89 4d cc             	mov    %ecx,-0x34(%ebp)
408a88:	50                   	push   %eax
408a89:	ff 75 0c             	push   0xc(%ebp)
408a8c:	89 4d d0             	mov    %ecx,-0x30(%ebp)
408a8f:	89 4d d4             	mov    %ecx,-0x2c(%ebp)
408a92:	8d 4d cc             	lea    -0x34(%ebp),%ecx
408a95:	e8 fa c0 ff ff       	call   0x404b94
408a9a:	c7 45 fc 01 00 00 00 	movl   $0x1,-0x4(%ebp)
408aa1:	8b 7d cc             	mov    -0x34(%ebp),%edi
408aa4:	8b 45 d0             	mov    -0x30(%ebp),%eax
408aa7:	8b 4e 04             	mov    0x4(%esi),%ecx
408aaa:	2b c7                	sub    %edi,%eax
408aac:	d1 f8                	sar    $1,%eax
408aae:	8d 34 47             	lea    (%edi,%eax,2),%esi
408ab1:	8b 01                	mov    (%ecx),%eax
408ab3:	56                   	push   %esi
408ab4:	57                   	push   %edi
408ab5:	ff 50 1c             	call   *0x1c(%eax)
408ab8:	8b 4d c4             	mov    -0x3c(%ebp),%ecx
408abb:	8d 45 d8             	lea    -0x28(%ebp),%eax
408abe:	56                   	push   %esi
408abf:	57                   	push   %edi
408ac0:	50                   	push   %eax
408ac1:	8b 09                	mov    (%ecx),%ecx
408ac3:	e8 f8 a7 01 00       	call   0x4232c0
408ac8:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
408acc:	8b cb                	mov    %ebx,%ecx
408ace:	50                   	push   %eax
408acf:	e8 74 6c 00 00       	call   0x40f748
408ad4:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
408ad8:	8d 4d d8             	lea    -0x28(%ebp),%ecx
408adb:	e8 1a 48 01 00       	call   0x41d2fa
408ae0:	c6 45 fc 00          	movb   $0x0,-0x4(%ebp)
408ae4:	8d 4d cc             	lea    -0x34(%ebp),%ecx
408ae7:	e8 c2 47 01 00       	call   0x41d2ae
408aec:	8b c3                	mov    %ebx,%eax
408aee:	e8 35 6f 03 00       	call   0x43fa28
408af3:	c2 0c 00             	ret    $0xc
408af6:	55                   	push   %ebp
408af7:	8b ec                	mov    %esp,%ebp
408af9:	51                   	push   %ecx
408afa:	51                   	push   %ecx
408afb:	8d 45 f8             	lea    -0x8(%ebp),%eax
408afe:	50                   	push   %eax
408aff:	8d 45 f8             	lea    -0x8(%ebp),%eax
408b02:	50                   	push   %eax
408b03:	8d 45 ff             	lea    -0x1(%ebp),%eax
408b06:	50                   	push   %eax
408b07:	e8 69 bf ff ff       	call   0x404a75
408b0c:	ff 75 10             	push   0x10(%ebp)
408b0f:	ff 75 0c             	push   0xc(%ebp)
408b12:	ff 75 08             	push   0x8(%ebp)
408b15:	e8 64 a7 ff ff       	call   0x40327e
408b1a:	83 c4 18             	add    $0x18,%esp
408b1d:	c9                   	leave
408b1e:	c3                   	ret
408b1f:	55                   	push   %ebp
408b20:	8b ec                	mov    %esp,%ebp
408b22:	51                   	push   %ecx
408b23:	51                   	push   %ecx
408b24:	8d 45 f8             	lea    -0x8(%ebp),%eax
408b27:	50                   	push   %eax
408b28:	8d 45 f8             	lea    -0x8(%ebp),%eax
408b2b:	50                   	push   %eax
408b2c:	8d 45 ff             	lea    -0x1(%ebp),%eax
408b2f:	50                   	push   %eax
408b30:	e8 2a bf ff ff       	call   0x404a5f
408b35:	ff 75 10             	push   0x10(%ebp)
408b38:	ff 75 0c             	push   0xc(%ebp)
408b3b:	ff 75 08             	push   0x8(%ebp)
408b3e:	e8 4b a8 ff ff       	call   0x40338e
408b43:	83 c4 18             	add    $0x18,%esp
408b46:	c9                   	leave
408b47:	c3                   	ret
408b48:	55                   	push   %ebp
408b49:	8b ec                	mov    %esp,%ebp
408b4b:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
408b4f:	56                   	push   %esi
408b50:	8b 75 08             	mov    0x8(%ebp),%esi
408b53:	76 16                	jbe    0x408b6b
408b55:	8b 45 10             	mov    0x10(%ebp),%eax
408b58:	ff 75 0c             	push   0xc(%ebp)
408b5b:	0f b6 00             	movzbl (%eax),%eax
408b5e:	50                   	push   %eax
408b5f:	56                   	push   %esi
408b60:	e8 fb b2 03 00       	call   0x443e60
408b65:	83 c4 0c             	add    $0xc,%esp
408b68:	03 75 0c             	add    0xc(%ebp),%esi
408b6b:	8b c6                	mov    %esi,%eax
408b6d:	5e                   	pop    %esi
408b6e:	5d                   	pop    %ebp
408b6f:	c3                   	ret
408b70:	6a 14                	push   $0x14
408b72:	b8 23 af 48 00       	mov    $0x48af23,%eax
408b77:	e8 ce 6e 03 00       	call   0x43fa4a
408b7c:	33 db                	xor    %ebx,%ebx
408b7e:	8d 4d ec             	lea    -0x14(%ebp),%ecx
408b81:	53                   	push   %ebx
408b82:	e8 c9 ca 01 00       	call   0x425650
408b87:	89 5d fc             	mov    %ebx,-0x4(%ebp)
408b8a:	b9 58 ab 4b 00       	mov    $0x4bab58,%ecx
408b8f:	8b 3d 74 ab 4b 00    	mov    0x4bab74,%edi
408b95:	89 7d f0             	mov    %edi,-0x10(%ebp)
408b98:	e8 01 73 00 00       	call   0x40fe9e
408b9d:	8b 4d 08             	mov    0x8(%ebp),%ecx
408ba0:	50                   	push   %eax
408ba1:	e8 25 0f 01 00       	call   0x419acb
408ba6:	8b f0                	mov    %eax,%esi
408ba8:	85 f6                	test   %esi,%esi
408baa:	75 3f                	jne    0x408beb
408bac:	85 ff                	test   %edi,%edi
408bae:	74 04                	je     0x408bb4
408bb0:	8b f7                	mov    %edi,%esi
408bb2:	eb 37                	jmp    0x408beb
408bb4:	ff 75 08             	push   0x8(%ebp)
408bb7:	8d 45 f0             	lea    -0x10(%ebp),%eax
408bba:	50                   	push   %eax
408bbb:	e8 6e 0b 01 00       	call   0x41972e
408bc0:	59                   	pop    %ecx
408bc1:	59                   	pop    %ecx
408bc2:	83 f8 ff             	cmp    $0xffffffff,%eax
408bc5:	74 38                	je     0x408bff
408bc7:	8b 75 f0             	mov    -0x10(%ebp),%esi
408bca:	89 75 f0             	mov    %esi,-0x10(%ebp)
408bcd:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
408bd1:	56                   	push   %esi
408bd2:	e8 2f dd 01 00       	call   0x426906
408bd7:	8b 06                	mov    (%esi),%eax
408bd9:	59                   	pop    %ecx
408bda:	8b ce                	mov    %esi,%ecx
408bdc:	ff 50 04             	call   *0x4(%eax)
408bdf:	89 35 74 ab 4b 00    	mov    %esi,0x4bab74
408be5:	89 5d f0             	mov    %ebx,-0x10(%ebp)
408be8:	88 5d fc             	mov    %bl,-0x4(%ebp)
408beb:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
408bef:	8d 4d ec             	lea    -0x14(%ebp),%ecx
408bf2:	e8 c0 ca 01 00       	call   0x4256b7
408bf7:	8b c6                	mov    %esi,%eax
408bf9:	e8 15 6e 03 00       	call   0x43fa13
408bfe:	c3                   	ret
408bff:	8d 4d e0             	lea    -0x20(%ebp),%ecx
408c02:	e8 d1 40 00 00       	call   0x40ccd8
408c07:	68 60 16 4b 00       	push   $0x4b1660
408c0c:	8d 45 e0             	lea    -0x20(%ebp),%eax
408c0f:	50                   	push   %eax
408c10:	e8 ad b5 03 00       	call   0x4441c2
408c15:	cc                   	int3
408c16:	6a 14                	push   $0x14
408c18:	b8 4e af 48 00       	mov    $0x48af4e,%eax
408c1d:	e8 28 6e 03 00       	call   0x43fa4a
408c22:	33 db                	xor    %ebx,%ebx
408c24:	8d 4d ec             	lea    -0x14(%ebp),%ecx
408c27:	53                   	push   %ebx
408c28:	e8 23 ca 01 00       	call   0x425650
408c2d:	89 5d fc             	mov    %ebx,-0x4(%ebp)
408c30:	b9 54 ab 4b 00       	mov    $0x4bab54,%ecx
408c35:	8b 3d 6c ab 4b 00    	mov    0x4bab6c,%edi
408c3b:	89 7d f0             	mov    %edi,-0x10(%ebp)
408c3e:	e8 5b 72 00 00       	call   0x40fe9e
408c43:	8b 4d 08             	mov    0x8(%ebp),%ecx
408c46:	50                   	push   %eax
408c47:	e8 7f 0e 01 00       	call   0x419acb
408c4c:	8b f0                	mov    %eax,%esi
408c4e:	85 f6                	test   %esi,%esi
408c50:	75 3f                	jne    0x408c91
408c52:	85 ff                	test   %edi,%edi
408c54:	74 04                	je     0x408c5a
408c56:	8b f7                	mov    %edi,%esi
408c58:	eb 37                	jmp    0x408c91
408c5a:	ff 75 08             	push   0x8(%ebp)
408c5d:	8d 45 f0             	lea    -0x10(%ebp),%eax
408c60:	50                   	push   %eax
408c61:	e8 8a 0b 01 00       	call   0x4197f0
408c66:	59                   	pop    %ecx
408c67:	59                   	pop    %ecx
408c68:	83 f8 ff             	cmp    $0xffffffff,%eax
408c6b:	74 38                	je     0x408ca5
408c6d:	8b 75 f0             	mov    -0x10(%ebp),%esi
408c70:	89 75 f0             	mov    %esi,-0x10(%ebp)
408c73:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
408c77:	56                   	push   %esi
408c78:	e8 89 dc 01 00       	call   0x426906
408c7d:	8b 06                	mov    (%esi),%eax
408c7f:	59                   	pop    %ecx
408c80:	8b ce                	mov    %esi,%ecx
408c82:	ff 50 04             	call   *0x4(%eax)
408c85:	89 35 6c ab 4b 00    	mov    %esi,0x4bab6c
408c8b:	89 5d f0             	mov    %ebx,-0x10(%ebp)
408c8e:	88 5d fc             	mov    %bl,-0x4(%ebp)
408c91:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
408c95:	8d 4d ec             	lea    -0x14(%ebp),%ecx
408c98:	e8 1a ca 01 00       	call   0x4256b7
408c9d:	8b c6                	mov    %esi,%eax
408c9f:	e8 6f 6d 03 00       	call   0x43fa13
408ca4:	c3                   	ret
408ca5:	8d 4d e0             	lea    -0x20(%ebp),%ecx
408ca8:	e8 2b 40 00 00       	call   0x40ccd8
408cad:	68 60 16 4b 00       	push   $0x4b1660
408cb2:	8d 45 e0             	lea    -0x20(%ebp),%eax
408cb5:	50                   	push   %eax
408cb6:	e8 07 b5 03 00       	call   0x4441c2
408cbb:	cc                   	int3
408cbc:	6a 14                	push   $0x14
408cbe:	b8 79 af 48 00       	mov    $0x48af79,%eax
408cc3:	e8 82 6d 03 00       	call   0x43fa4a
408cc8:	33 db                	xor    %ebx,%ebx
408cca:	8d 4d ec             	lea    -0x14(%ebp),%ecx
408ccd:	53                   	push   %ebx
408cce:	e8 7d c9 01 00       	call   0x425650
408cd3:	89 5d fc             	mov    %ebx,-0x4(%ebp)
408cd6:	b9 38 ad 4b 00       	mov    $0x4bad38,%ecx
408cdb:	8b 3d 5c ab 4b 00    	mov    0x4bab5c,%edi
408ce1:	89 7d f0             	mov    %edi,-0x10(%ebp)
408ce4:	e8 b5 71 00 00       	call   0x40fe9e
408ce9:	8b 4d 08             	mov    0x8(%ebp),%ecx
408cec:	50                   	push   %eax
408ced:	e8 d9 0d 01 00       	call   0x419acb
408cf2:	8b f0                	mov    %eax,%esi
408cf4:	85 f6                	test   %esi,%esi
408cf6:	75 3f                	jne    0x408d37
408cf8:	85 ff                	test   %edi,%edi
408cfa:	74 04                	je     0x408d00
408cfc:	8b f7                	mov    %edi,%esi
408cfe:	eb 37                	jmp    0x408d37
408d00:	ff 75 08             	push   0x8(%ebp)
408d03:	8d 45 f0             	lea    -0x10(%ebp),%eax
408d06:	50                   	push   %eax
408d07:	e8 a6 0b 01 00       	call   0x4198b2
408d0c:	59                   	pop    %ecx
408d0d:	59                   	pop    %ecx
408d0e:	83 f8 ff             	cmp    $0xffffffff,%eax
408d11:	74 38                	je     0x408d4b
408d13:	8b 75 f0             	mov    -0x10(%ebp),%esi
408d16:	89 75 f0             	mov    %esi,-0x10(%ebp)
408d19:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
408d1d:	56                   	push   %esi
408d1e:	e8 e3 db 01 00       	call   0x426906
408d23:	8b 06                	mov    (%esi),%eax
408d25:	59                   	pop    %ecx
408d26:	8b ce                	mov    %esi,%ecx
408d28:	ff 50 04             	call   *0x4(%eax)
408d2b:	89 35 5c ab 4b 00    	mov    %esi,0x4bab5c
408d31:	89 5d f0             	mov    %ebx,-0x10(%ebp)
408d34:	88 5d fc             	mov    %bl,-0x4(%ebp)
408d37:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
408d3b:	8d 4d ec             	lea    -0x14(%ebp),%ecx
408d3e:	e8 74 c9 01 00       	call   0x4256b7
408d43:	8b c6                	mov    %esi,%eax
408d45:	e8 c9 6c 03 00       	call   0x43fa13
408d4a:	c3                   	ret
408d4b:	8d 4d e0             	lea    -0x20(%ebp),%ecx
408d4e:	e8 85 3f 00 00       	call   0x40ccd8
408d53:	68 60 16 4b 00       	push   $0x4b1660
408d58:	8d 45 e0             	lea    -0x20(%ebp),%eax
408d5b:	50                   	push   %eax
408d5c:	e8 61 b4 03 00       	call   0x4441c2
408d61:	cc                   	int3
408d62:	6a 14                	push   $0x14
408d64:	b8 a4 af 48 00       	mov    $0x48afa4,%eax
408d69:	e8 dc 6c 03 00       	call   0x43fa4a
408d6e:	33 db                	xor    %ebx,%ebx
408d70:	8d 4d ec             	lea    -0x14(%ebp),%ecx
408d73:	53                   	push   %ebx
408d74:	e8 d7 c8 01 00       	call   0x425650
408d79:	89 5d fc             	mov    %ebx,-0x4(%ebp)
408d7c:	b9 34 ad 4b 00       	mov    $0x4bad34,%ecx
408d81:	8b 3d 70 ab 4b 00    	mov    0x4bab70,%edi
408d87:	89 7d f0             	mov    %edi,-0x10(%ebp)
408d8a:	e8 0f 71 00 00       	call   0x40fe9e
408d8f:	8b 4d 08             	mov    0x8(%ebp),%ecx
408d92:	50                   	push   %eax
408d93:	e8 33 0d 01 00       	call   0x419acb
408d98:	8b f0                	mov    %eax,%esi
408d9a:	85 f6                	test   %esi,%esi
408d9c:	75 3f                	jne    0x408ddd
408d9e:	85 ff                	test   %edi,%edi
408da0:	74 04                	je     0x408da6
408da2:	8b f7                	mov    %edi,%esi
408da4:	eb 37                	jmp    0x408ddd
408da6:	ff 75 08             	push   0x8(%ebp)
408da9:	8d 45 f0             	lea    -0x10(%ebp),%eax
408dac:	50                   	push   %eax
408dad:	e8 7d 0b 01 00       	call   0x41992f
408db2:	59                   	pop    %ecx
408db3:	59                   	pop    %ecx
408db4:	83 f8 ff             	cmp    $0xffffffff,%eax
408db7:	74 38                	je     0x408df1
408db9:	8b 75 f0             	mov    -0x10(%ebp),%esi
408dbc:	89 75 f0             	mov    %esi,-0x10(%ebp)
408dbf:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
408dc3:	56                   	push   %esi
408dc4:	e8 3d db 01 00       	call   0x426906
408dc9:	8b 06                	mov    (%esi),%eax
408dcb:	59                   	pop    %ecx
408dcc:	8b ce                	mov    %esi,%ecx
408dce:	ff 50 04             	call   *0x4(%eax)
408dd1:	89 35 70 ab 4b 00    	mov    %esi,0x4bab70
408dd7:	89 5d f0             	mov    %ebx,-0x10(%ebp)
408dda:	88 5d fc             	mov    %bl,-0x4(%ebp)
408ddd:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
408de1:	8d 4d ec             	lea    -0x14(%ebp),%ecx
408de4:	e8 ce c8 01 00       	call   0x4256b7
408de9:	8b c6                	mov    %esi,%eax
408deb:	e8 23 6c 03 00       	call   0x43fa13
408df0:	c3                   	ret
408df1:	8d 4d e0             	lea    -0x20(%ebp),%ecx
408df4:	e8 df 3e 00 00       	call   0x40ccd8
408df9:	68 60 16 4b 00       	push   $0x4b1660
408dfe:	8d 45 e0             	lea    -0x20(%ebp),%eax
408e01:	50                   	push   %eax
408e02:	e8 bb b3 03 00       	call   0x4441c2
408e07:	cc                   	int3
408e08:	6a 14                	push   $0x14
408e0a:	b8 cf af 48 00       	mov    $0x48afcf,%eax
408e0f:	e8 36 6c 03 00       	call   0x43fa4a
408e14:	33 db                	xor    %ebx,%ebx
408e16:	8d 4d ec             	lea    -0x14(%ebp),%ecx
408e19:	53                   	push   %ebx
408e1a:	e8 31 c8 01 00       	call   0x425650
408e1f:	89 5d fc             	mov    %ebx,-0x4(%ebp)
408e22:	b9 78 ab 4b 00       	mov    $0x4bab78,%ecx
408e27:	8b 3d 80 ab 4b 00    	mov    0x4bab80,%edi
408e2d:	89 7d f0             	mov    %edi,-0x10(%ebp)
408e30:	e8 69 70 00 00       	call   0x40fe9e
408e35:	8b 4d 08             	mov    0x8(%ebp),%ecx
408e38:	50                   	push   %eax
408e39:	e8 8d 0c 01 00       	call   0x419acb
408e3e:	8b f0                	mov    %eax,%esi
408e40:	85 f6                	test   %esi,%esi
408e42:	75 3f                	jne    0x408e83
408e44:	85 ff                	test   %edi,%edi
408e46:	74 04                	je     0x408e4c
408e48:	8b f7                	mov    %edi,%esi
408e4a:	eb 37                	jmp    0x408e83
408e4c:	ff 75 08             	push   0x8(%ebp)