4549f4:	8b c6                	mov    %esi,%eax
4549f6:	e8 d1 f2 ff ff       	call   0x453ccc
4549fb:	03 f8                	add    %eax,%edi
4549fd:	3b 7b 04             	cmp    0x4(%ebx),%edi
454a00:	7c 28                	jl     0x454a2a
454a02:	c6 45 fb 01          	movb   $0x1,-0x5(%ebp)
454a06:	8b 43 04             	mov    0x4(%ebx),%eax
454a09:	8b 56 04             	mov    0x4(%esi),%edx
454a0c:	8b 52 44             	mov    0x44(%edx),%edx
454a0f:	83 c2 0f             	add    $0xf,%edx
454a12:	3b c2                	cmp    %edx,%eax
454a14:	7d 0b                	jge    0x454a21
454a16:	8b 45 08             	mov    0x8(%ebp),%eax
454a19:	c7 00 14 00 00 00    	movl   $0x14,(%eax)
454a1f:	eb 09                	jmp    0x454a2a
454a21:	8b 45 08             	mov    0x8(%ebp),%eax
454a24:	c7 00 02 00 00 00    	movl   $0x2,(%eax)
454a2a:	0f b6 45 fb          	movzbl -0x5(%ebp),%eax
454a2e:	5f                   	pop    %edi
454a2f:	5e                   	pop    %esi
454a30:	5b                   	pop    %ebx
454a31:	8b e5                	mov    %ebp,%esp
454a33:	5d                   	pop    %ebp
454a34:	c2 04 00             	ret    $0x4
454a37:	90                   	nop
454a38:	53                   	push   %ebx
454a39:	56                   	push   %esi
454a3a:	57                   	push   %edi
454a3b:	55                   	push   %ebp
454a3c:	83 c4 e8             	add    $0xffffffe8,%esp
454a3f:	8b fa                	mov    %edx,%edi
454a41:	8b e8                	mov    %eax,%ebp
454a43:	8b 45 14             	mov    0x14(%ebp),%eax
454a46:	e8 b9 92 ff ff       	call   0x44dd04
454a4b:	8b f0                	mov    %eax,%esi
454a4d:	4e                   	dec    %esi
454a4e:	83 fe 00             	cmp    $0x0,%esi
454a51:	7c 65                	jl     0x454ab8
454a53:	8b 45 14             	mov    0x14(%ebp),%eax
454a56:	8b d6                	mov    %esi,%edx
454a58:	e8 6b 92 ff ff       	call   0x44dcc8
454a5d:	8b d8                	mov    %eax,%ebx
454a5f:	80 7b 57 00          	cmpb   $0x0,0x57(%ebx)
454a63:	74 4d                	je     0x454ab2
454a65:	8b c3                	mov    %ebx,%eax
454a67:	8b 15 bc 59 44 00    	mov    0x4459bc,%edx
454a6d:	e8 36 f0 fa ff       	call   0x403aa8
454a72:	84 c0                	test   %al,%al
454a74:	74 09                	je     0x454a7f
454a76:	80 bb da 01 00 00 00 	cmpb   $0x0,0x1da(%ebx)
454a7d:	74 33                	je     0x454ab2
454a7f:	8b 57 04             	mov    0x4(%edi),%edx
454a82:	2b 53 44             	sub    0x44(%ebx),%edx
454a85:	8b 07                	mov    (%edi),%eax
454a87:	2b 43 40             	sub    0x40(%ebx),%eax
454a8a:	8b cc                	mov    %esp,%ecx
454a8c:	e8 c7 22 fc ff       	call   0x416d58
454a91:	ff 74 24 04          	push   0x4(%esp)
454a95:	ff 74 24 04          	push   0x4(%esp)
454a99:	8d 54 24 10          	lea    0x10(%esp),%edx
454a9d:	8b c3                	mov    %ebx,%eax
454a9f:	8b 08                	mov    (%eax),%ecx
454aa1:	ff 51 44             	call   *0x44(%ecx)
454aa4:	8d 44 24 10          	lea    0x10(%esp),%eax
454aa8:	50                   	push   %eax
454aa9:	e8 2a 27 fb ff       	call   0x4071d8
454aae:	85 c0                	test   %eax,%eax
454ab0:	75 08                	jne    0x454aba
454ab2:	4e                   	dec    %esi
454ab3:	83 fe ff             	cmp    $0xffffffff,%esi
454ab6:	75 9b                	jne    0x454a53
454ab8:	33 db                	xor    %ebx,%ebx
454aba:	8b c3                	mov    %ebx,%eax
454abc:	83 c4 18             	add    $0x18,%esp
454abf:	5d                   	pop    %ebp
454ac0:	5f                   	pop    %edi
454ac1:	5e                   	pop    %esi
454ac2:	5b                   	pop    %ebx
454ac3:	c3                   	ret
454ac4:	55                   	push   %ebp
454ac5:	8b ec                	mov    %esp,%ebp
454ac7:	53                   	push   %ebx
454ac8:	56                   	push   %esi
454ac9:	8b d8                	mov    %eax,%ebx
454acb:	8b 43 14             	mov    0x14(%ebx),%eax
454ace:	80 78 10 01          	cmpb   $0x1,0x10(%eax)
454ad2:	75 41                	jne    0x454b15
454ad4:	8b c3                	mov    %ebx,%eax
454ad6:	e8 c5 f5 ff ff       	call   0x4540a0
454adb:	8b 55 08             	mov    0x8(%ebp),%edx
454ade:	8b 52 fc             	mov    -0x4(%edx),%edx
454ae1:	3b 42 04             	cmp    0x4(%edx),%eax
454ae4:	7c 2f                	jl     0x454b15
454ae6:	8b c3                	mov    %ebx,%eax
454ae8:	e8 b3 f5 ff ff       	call   0x4540a0
454aed:	8b 55 08             	mov    0x8(%ebp),%edx
454af0:	8b 52 f8             	mov    -0x8(%edx),%edx
454af3:	2b 42 0c             	sub    0xc(%edx),%eax
454af6:	8b 55 08             	mov    0x8(%ebp),%edx
454af9:	8b 52 fc             	mov    -0x4(%edx),%edx
454afc:	3b 42 04             	cmp    0x4(%edx),%eax
454aff:	7f 14                	jg     0x454b15
454b01:	8b 45 08             	mov    0x8(%ebp),%eax
454b04:	8b 40 f4             	mov    -0xc(%eax),%eax
454b07:	c7 00 12 00 00 00    	movl   $0x12,(%eax)
454b0d:	8b 45 08             	mov    0x8(%ebp),%eax
454b10:	89 58 f0             	mov    %ebx,-0x10(%eax)
454b13:	eb 72                	jmp    0x454b87
454b15:	8b 43 14             	mov    0x14(%ebx),%eax
454b18:	80 78 10 02          	cmpb   $0x2,0x10(%eax)
454b1c:	75 3f                	jne    0x454b5d
454b1e:	8b c3                	mov    %ebx,%eax
454b20:	e8 7b f5 ff ff       	call   0x4540a0
454b25:	8b 55 08             	mov    0x8(%ebp),%edx
454b28:	8b 52 fc             	mov    -0x4(%edx),%edx
454b2b:	3b 02                	cmp    (%edx),%eax
454b2d:	7c 2e                	jl     0x454b5d
454b2f:	8b c3                	mov    %ebx,%eax
454b31:	e8 6a f5 ff ff       	call   0x4540a0
454b36:	8b 55 08             	mov    0x8(%ebp),%edx
454b39:	8b 52 f8             	mov    -0x8(%edx),%edx
454b3c:	2b 42 0c             	sub    0xc(%edx),%eax
454b3f:	8b 55 08             	mov    0x8(%ebp),%edx
454b42:	8b 52 fc             	mov    -0x4(%edx),%edx
454b45:	3b 02                	cmp    (%edx),%eax
454b47:	7f 14                	jg     0x454b5d
454b49:	8b 45 08             	mov    0x8(%ebp),%eax
454b4c:	8b 40 f4             	mov    -0xc(%eax),%eax
454b4f:	c7 00 12 00 00 00    	movl   $0x12,(%eax)
454b55:	8b 45 08             	mov    0x8(%ebp),%eax
454b58:	89 58 f0             	mov    %ebx,-0x10(%eax)
454b5b:	eb 2a                	jmp    0x454b87
454b5d:	83 7b 04 00          	cmpl   $0x0,0x4(%ebx)
454b61:	74 24                	je     0x454b87
454b63:	8b 45 08             	mov    0x8(%ebp),%eax
454b66:	8b 40 f4             	mov    -0xc(%eax),%eax
454b69:	50                   	push   %eax
454b6a:	8b 45 08             	mov    0x8(%ebp),%eax
454b6d:	8b 48 fc             	mov    -0x4(%eax),%ecx
454b70:	8b 45 08             	mov    0x8(%ebp),%eax
454b73:	8b 40 f8             	mov    -0x8(%eax),%eax
454b76:	8b d3                	mov    %ebx,%edx
454b78:	8b 30                	mov    (%eax),%esi
454b7a:	ff 56 40             	call   *0x40(%esi)
454b7d:	84 c0                	test   %al,%al
454b7f:	74 06                	je     0x454b87
454b81:	8b 45 08             	mov    0x8(%ebp),%eax
454b84:	89 58 f0             	mov    %ebx,-0x10(%eax)
454b87:	8b 45 08             	mov    0x8(%ebp),%eax
454b8a:	83 78 f0 00          	cmpl   $0x0,-0x10(%eax)
454b8e:	75 1c                	jne    0x454bac
454b90:	8b c3                	mov    %ebx,%eax
454b92:	e8 e5 f5 ff ff       	call   0x45417c
454b97:	85 c0                	test   %eax,%eax
454b99:	74 11                	je     0x454bac
454b9b:	8b 45 08             	mov    0x8(%ebp),%eax
454b9e:	50                   	push   %eax
454b9f:	8b c3                	mov    %ebx,%eax
454ba1:	e8 d6 f5 ff ff       	call   0x45417c
454ba6:	e8 19 ff ff ff       	call   0x454ac4
454bab:	59                   	pop    %ecx
454bac:	8b 45 08             	mov    0x8(%ebp),%eax
454baf:	83 78 f0 00          	cmpl   $0x0,-0x10(%eax)
454bb3:	75 1c                	jne    0x454bd1
454bb5:	8b c3                	mov    %ebx,%eax
454bb7:	e8 e8 f5 ff ff       	call   0x4541a4
454bbc:	85 c0                	test   %eax,%eax
454bbe:	74 11                	je     0x454bd1
454bc0:	8b 45 08             	mov    0x8(%ebp),%eax
454bc3:	50                   	push   %eax
454bc4:	8b c3                	mov    %ebx,%eax
454bc6:	e8 d9 f5 ff ff       	call   0x4541a4
454bcb:	e8 f4 fe ff ff       	call   0x454ac4
454bd0:	59                   	pop    %ecx
454bd1:	5e                   	pop    %esi
454bd2:	5b                   	pop    %ebx
454bd3:	5d                   	pop    %ebp
454bd4:	c3                   	ret
454bd5:	8d 40 00             	lea    0x0(%eax),%eax
454bd8:	55                   	push   %ebp
454bd9:	8b ec                	mov    %esp,%ebp
454bdb:	83 c4 f0             	add    $0xfffffff0,%esp
454bde:	53                   	push   %ebx
454bdf:	89 4d f4             	mov    %ecx,-0xc(%ebp)
454be2:	89 55 fc             	mov    %edx,-0x4(%ebp)
454be5:	89 45 f8             	mov    %eax,-0x8(%ebp)
454be8:	33 c0                	xor    %eax,%eax
454bea:	89 45 f0             	mov    %eax,-0x10(%ebp)
454bed:	8b 45 f4             	mov    -0xc(%ebp),%eax
454bf0:	33 d2                	xor    %edx,%edx
454bf2:	89 10                	mov    %edx,(%eax)
454bf4:	8b 55 fc             	mov    -0x4(%ebp),%edx
454bf7:	8b 45 f8             	mov    -0x8(%ebp),%eax
454bfa:	e8 39 fe ff ff       	call   0x454a38
454bff:	8b d8                	mov    %eax,%ebx
454c01:	85 db                	test   %ebx,%ebx
454c03:	74 2c                	je     0x454c31
454c05:	8b 45 f8             	mov    -0x8(%ebp),%eax
454c08:	8b 40 14             	mov    0x14(%eax),%eax
454c0b:	3b 83 94 00 00 00    	cmp    0x94(%ebx),%eax
454c11:	75 1e                	jne    0x454c31
454c13:	8b d3                	mov    %ebx,%edx
454c15:	8b 45 f8             	mov    -0x8(%ebp),%eax
454c18:	e8 d7 f7 ff ff       	call   0x4543f4
454c1d:	89 45 f0             	mov    %eax,-0x10(%ebp)
454c20:	83 7d f0 00          	cmpl   $0x0,-0x10(%ebp)
454c24:	74 30                	je     0x454c56
454c26:	8b 45 f4             	mov    -0xc(%ebp),%eax
454c29:	c7 00 01 00 00 00    	movl   $0x1,(%eax)
454c2f:	eb 25                	jmp    0x454c56
454c31:	8b 45 f8             	mov    -0x8(%ebp),%eax
454c34:	8b 40 64             	mov    0x64(%eax),%eax
454c37:	e8 68 f5 ff ff       	call   0x4541a4
454c3c:	85 c0                	test   %eax,%eax
454c3e:	74 16                	je     0x454c56
454c40:	85 db                	test   %ebx,%ebx
454c42:	75 12                	jne    0x454c56
454c44:	55                   	push   %ebp
454c45:	8b 45 f8             	mov    -0x8(%ebp),%eax
454c48:	8b 40 64             	mov    0x64(%eax),%eax
454c4b:	e8 54 f5 ff ff       	call   0x4541a4
454c50:	e8 6f fe ff ff       	call   0x454ac4
454c55:	59                   	pop    %ecx
454c56:	8b 45 f0             	mov    -0x10(%ebp),%eax
454c59:	5b                   	pop    %ebx
454c5a:	8b e5                	mov    %ebp,%esp
454c5c:	5d                   	pop    %ebp
454c5d:	c3                   	ret
454c5e:	8b c0                	mov    %eax,%eax
454c60:	55                   	push   %ebp
454c61:	8b ec                	mov    %esp,%ebp
454c63:	51                   	push   %ecx
454c64:	53                   	push   %ebx
454c65:	56                   	push   %esi
454c66:	8b d8                	mov    %eax,%ebx
454c68:	8b c3                	mov    %ebx,%eax
454c6a:	e8 d9 fa fa ff       	call   0x404748
454c6f:	8d 55 fc             	lea    -0x4(%ebp),%edx
454c72:	8b 45 08             	mov    0x8(%ebp),%eax
454c75:	8b 40 fc             	mov    -0x4(%eax),%eax
454c78:	b9 04 00 00 00       	mov    $0x4,%ecx
454c7d:	8b 30                	mov    (%eax),%esi
454c7f:	ff 56 0c             	call   *0xc(%esi)
454c82:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
454c86:	7e 1a                	jle    0x454ca2
454c88:	8b c3                	mov    %ebx,%eax
454c8a:	8b 55 fc             	mov    -0x4(%ebp),%edx
454c8d:	e8 02 02 fb ff       	call   0x404e94
454c92:	8b 13                	mov    (%ebx),%edx
454c94:	8b 45 08             	mov    0x8(%ebp),%eax
454c97:	8b 40 fc             	mov    -0x4(%eax),%eax
454c9a:	8b 4d fc             	mov    -0x4(%ebp),%ecx
454c9d:	8b 18                	mov    (%eax),%ebx
454c9f:	ff 53 0c             	call   *0xc(%ebx)
454ca2:	5e                   	pop    %esi
454ca3:	5b                   	pop    %ebx
454ca4:	59                   	pop    %ecx
454ca5:	5d                   	pop    %ebp
454ca6:	c3                   	ret
454ca7:	90                   	nop
454ca8:	55                   	push   %ebp
454ca9:	8b ec                	mov    %esp,%ebp
454cab:	83 c4 bc             	add    $0xffffffbc,%esp
454cae:	53                   	push   %ebx
454caf:	56                   	push   %esi
454cb0:	57                   	push   %edi
454cb1:	33 c9                	xor    %ecx,%ecx
454cb3:	89 4d bc             	mov    %ecx,-0x44(%ebp)
454cb6:	89 4d f8             	mov    %ecx,-0x8(%ebp)
454cb9:	89 55 fc             	mov    %edx,-0x4(%ebp)
454cbc:	89 45 f4             	mov    %eax,-0xc(%ebp)
454cbf:	33 c0                	xor    %eax,%eax
454cc1:	55                   	push   %ebp
454cc2:	68 eb 4f 45 00       	push   $0x454feb
454cc7:	64 ff 30             	push   %fs:(%eax)
454cca:	64 89 20             	mov    %esp,%fs:(%eax)
454ccd:	8b 45 f4             	mov    -0xc(%ebp),%eax
454cd0:	8b 50 64             	mov    0x64(%eax),%edx
454cd3:	8b 45 f4             	mov    -0xc(%ebp),%eax
454cd6:	e8 d1 08 00 00       	call   0x4555ac
454cdb:	8b 45 f4             	mov    -0xc(%ebp),%eax
454cde:	0f b6 40 74          	movzbl 0x74(%eax),%eax
454ce2:	88 45 db             	mov    %al,-0x25(%ebp)
454ce5:	8b 45 f4             	mov    -0xc(%ebp),%eax
454ce8:	e8 97 f6 ff ff       	call   0x454384
454ced:	33 c0                	xor    %eax,%eax
454cef:	55                   	push   %ebp
454cf0:	68 c6 4f 45 00       	push   $0x454fc6
454cf5:	64 ff 30             	push   %fs:(%eax)
454cf8:	64 89 20             	mov    %esp,%fs:(%eax)
454cfb:	8d 55 e4             	lea    -0x1c(%ebp),%edx
454cfe:	b9 04 00 00 00       	mov    $0x4,%ecx
454d03:	8b 45 fc             	mov    -0x4(%ebp),%eax
454d06:	8b 18                	mov    (%eax),%ebx
454d08:	ff 53 0c             	call   *0xc(%ebx)
454d0b:	81 7d e4 00 00 04 00 	cmpl   $0x40000,-0x1c(%ebp)
454d12:	75 0d                	jne    0x454d21
454d14:	8b 45 f4             	mov    -0xc(%ebp),%eax
454d17:	c6 40 74 00          	movb   $0x0,0x74(%eax)
454d1b:	c6 45 da 00          	movb   $0x0,-0x26(%ebp)
454d1f:	eb 6e                	jmp    0x454d8f
454d21:	8b 45 f4             	mov    -0xc(%ebp),%eax
454d24:	8b 40 70             	mov    0x70(%eax),%eax
454d27:	3b 45 e4             	cmp    -0x1c(%ebp),%eax
454d2a:	75 25                	jne    0x454d51
454d2c:	8b 45 f4             	mov    -0xc(%ebp),%eax
454d2f:	8d 50 74             	lea    0x74(%eax),%edx
454d32:	b9 01 00 00 00       	mov    $0x1,%ecx
454d37:	8b 45 fc             	mov    -0x4(%ebp),%eax
454d3a:	8b 18                	mov    (%eax),%ebx
454d3c:	ff 53 0c             	call   *0xc(%ebx)
454d3f:	8d 55 da             	lea    -0x26(%ebp),%edx
454d42:	b9 01 00 00 00       	mov    $0x1,%ecx
454d47:	8b 45 fc             	mov    -0x4(%ebp),%eax
454d4a:	8b 18                	mov    (%eax),%ebx
454d4c:	ff 53 0c             	call   *0xc(%ebx)
454d4f:	eb 3e                	jmp    0x454d8f
454d51:	8b 45 f4             	mov    -0xc(%ebp),%eax
454d54:	8b 40 70             	mov    0x70(%eax),%eax
454d57:	89 45 c0             	mov    %eax,-0x40(%ebp)
454d5a:	c6 45 c4 00          	movb   $0x0,-0x3c(%ebp)
454d5e:	8b 45 e4             	mov    -0x1c(%ebp),%eax
454d61:	89 45 c8             	mov    %eax,-0x38(%ebp)
454d64:	c6 45 cc 00          	movb   $0x0,-0x34(%ebp)
454d68:	8d 45 c0             	lea    -0x40(%ebp),%eax
454d6b:	50                   	push   %eax
454d6c:	6a 01                	push   $0x1
454d6e:	8d 55 bc             	lea    -0x44(%ebp),%edx
454d71:	a1 78 74 4a 00       	mov    0x4a7478,%eax
454d76:	e8 f9 18 fb ff       	call   0x406674
454d7b:	8b 4d bc             	mov    -0x44(%ebp),%ecx
454d7e:	b2 01                	mov    $0x1,%dl
454d80:	a1 38 7b 40 00       	mov    0x407b38,%eax
454d85:	e8 c2 76 fb ff       	call   0x40c44c
454d8a:	e8 01 f4 fa ff       	call   0x404190
454d8f:	8d 55 e0             	lea    -0x20(%ebp),%edx
454d92:	b9 04 00 00 00       	mov    $0x4,%ecx
454d97:	8b 45 fc             	mov    -0x4(%ebp),%eax
454d9a:	8b 18                	mov    (%eax),%ebx
454d9c:	ff 53 0c             	call   *0xc(%ebx)
454d9f:	8b 45 e0             	mov    -0x20(%ebp),%eax
454da2:	48                   	dec    %eax
454da3:	85 c0                	test   %eax,%eax
454da5:	7c 5a                	jl     0x454e01
454da7:	40                   	inc    %eax
454da8:	89 45 d0             	mov    %eax,-0x30(%ebp)
454dab:	c7 45 e4 00 00 00 00 	movl   $0x0,-0x1c(%ebp)
454db2:	55                   	push   %ebp
454db3:	8d 45 f8             	lea    -0x8(%ebp),%eax
454db6:	e8 a5 fe ff ff       	call   0x454c60