459c49:	3d 00 10 00 00       	cmp    $0x1000,%eax
459c4e:	72 2f                	jb     0x459c7f
459c50:	83 c0 23             	add    $0x23,%eax
459c53:	8d 4f 01             	lea    0x1(%edi),%ecx
459c56:	3b c1                	cmp    %ecx,%eax
459c58:	0f 86 05 01 00 00    	jbe    0x459d63
459c5e:	50                   	push   %eax
459c5f:	e8 c1 75 17 00       	call   0x5d1225
459c64:	8b c8                	mov    %eax,%ecx
459c66:	83 c4 04             	add    $0x4,%esp
459c69:	85 c9                	test   %ecx,%ecx
459c6b:	0f 84 f7 00 00 00    	je     0x459d68
459c71:	8d 41 23             	lea    0x23(%ecx),%eax
459c74:	83 e0 e0             	and    $0xffffffe0,%eax
459c77:	89 48 fc             	mov    %ecx,-0x4(%eax)
459c7a:	8b 4d f4             	mov    -0xc(%ebp),%ecx
459c7d:	eb 14                	jmp    0x459c93
459c7f:	85 c0                	test   %eax,%eax
459c81:	74 0e                	je     0x459c91
459c83:	50                   	push   %eax
459c84:	e8 9c 75 17 00       	call   0x5d1225
459c89:	8b 4d f4             	mov    -0xc(%ebp),%ecx
459c8c:	83 c4 04             	add    $0x4,%esp
459c8f:	eb 02                	jmp    0x459c93
459c91:	33 c0                	xor    %eax,%eax
459c93:	83 7d f0 10          	cmpl   $0x10,-0x10(%ebp)
459c97:	8d 14 31             	lea    (%ecx,%esi,1),%edx
459c9a:	89 7b 14             	mov    %edi,0x14(%ebx)
459c9d:	8d 3c 08             	lea    (%eax,%ecx,1),%edi
459ca0:	89 53 10             	mov    %edx,0x10(%ebx)
459ca3:	8d 14 37             	lea    (%edi,%esi,1),%edx
459ca6:	89 45 08             	mov    %eax,0x8(%ebp)
459ca9:	89 7d f4             	mov    %edi,-0xc(%ebp)
459cac:	89 55 ec             	mov    %edx,-0x14(%ebp)
459caf:	51                   	push   %ecx
459cb0:	72 48                	jb     0x459cfa
459cb2:	8b 3b                	mov    (%ebx),%edi
459cb4:	57                   	push   %edi
459cb5:	50                   	push   %eax
459cb6:	e8 15 91 17 00       	call   0x5d2dd0
459cbb:	56                   	push   %esi
459cbc:	ff 75 fc             	push   -0x4(%ebp)
459cbf:	ff 75 f4             	push   -0xc(%ebp)
459cc2:	e8 09 91 17 00       	call   0x5d2dd0
459cc7:	8b 45 ec             	mov    -0x14(%ebp),%eax
459cca:	83 c4 18             	add    $0x18,%esp
459ccd:	8b 4d f0             	mov    -0x10(%ebp),%ecx
459cd0:	41                   	inc    %ecx
459cd1:	c6 00 00             	movb   $0x0,(%eax)
459cd4:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
459cda:	72 12                	jb     0x459cee
459cdc:	8b 57 fc             	mov    -0x4(%edi),%edx
459cdf:	83 c1 23             	add    $0x23,%ecx
459ce2:	2b fa                	sub    %edx,%edi
459ce4:	8d 47 fc             	lea    -0x4(%edi),%eax
459ce7:	83 f8 1f             	cmp    $0x1f,%eax
459cea:	77 7c                	ja     0x459d68
459cec:	8b fa                	mov    %edx,%edi
459cee:	51                   	push   %ecx
459cef:	57                   	push   %edi
459cf0:	e8 60 75 17 00       	call   0x5d1255
459cf5:	83 c4 08             	add    $0x8,%esp
459cf8:	eb 1a                	jmp    0x459d14
459cfa:	53                   	push   %ebx
459cfb:	50                   	push   %eax
459cfc:	e8 cf 90 17 00       	call   0x5d2dd0
459d01:	56                   	push   %esi
459d02:	ff 75 fc             	push   -0x4(%ebp)
459d05:	57                   	push   %edi
459d06:	e8 c5 90 17 00       	call   0x5d2dd0
459d0b:	8d 04 37             	lea    (%edi,%esi,1),%eax
459d0e:	83 c4 18             	add    $0x18,%esp
459d11:	c6 00 00             	movb   $0x0,(%eax)
459d14:	8b 45 08             	mov    0x8(%ebp),%eax
459d17:	89 03                	mov    %eax,(%ebx)
459d19:	8b 7d f8             	mov    -0x8(%ebp),%edi
459d1c:	29 75 0c             	sub    %esi,0xc(%ebp)
459d1f:	8b cf                	mov    %edi,%ecx
459d21:	01 37                	add    %esi,(%edi)
459d23:	e8 58 0a 00 00       	call   0x45a780
459d28:	84 c0                	test   %al,%al
459d2a:	74 2c                	je     0x459d58
459d2c:	8b 07                	mov    (%edi),%eax
459d2e:	8b 77 04             	mov    0x4(%edi),%esi
459d31:	2b f0                	sub    %eax,%esi
459d33:	89 45 fc             	mov    %eax,-0x4(%ebp)
459d36:	3b 75 0c             	cmp    0xc(%ebp),%esi
459d39:	0f 8c 75 fe ff ff    	jl     0x459bb4
459d3f:	8b 75 0c             	mov    0xc(%ebp),%esi
459d42:	8b cb                	mov    %ebx,%ecx
459d44:	56                   	push   %esi
459d45:	50                   	push   %eax
459d46:	e8 35 f1 ff ff       	call   0x458e80
459d4b:	01 37                	add    %esi,(%edi)
459d4d:	b0 01                	mov    $0x1,%al
459d4f:	5f                   	pop    %edi
459d50:	5e                   	pop    %esi
459d51:	5b                   	pop    %ebx
459d52:	8b e5                	mov    %ebp,%esp
459d54:	5d                   	pop    %ebp
459d55:	c2 08 00             	ret    $0x8
459d58:	5f                   	pop    %edi
459d59:	5e                   	pop    %esi
459d5a:	32 c0                	xor    %al,%al
459d5c:	5b                   	pop    %ebx
459d5d:	8b e5                	mov    %ebp,%esp
459d5f:	5d                   	pop    %ebp
459d60:	c2 08 00             	ret    $0x8
459d63:	e8 88 d8 fe ff       	call   0x4475f0
459d68:	e8 83 c4 17 00       	call   0x5d61f0
459d6d:	e8 9e d8 fe ff       	call   0x447610
459d72:	cc                   	int3
459d73:	cc                   	int3
459d74:	cc                   	int3
459d75:	cc                   	int3
459d76:	cc                   	int3
459d77:	cc                   	int3
459d78:	cc                   	int3
459d79:	cc                   	int3
459d7a:	cc                   	int3
459d7b:	cc                   	int3
459d7c:	cc                   	int3
459d7d:	cc                   	int3
459d7e:	cc                   	int3
459d7f:	cc                   	int3
459d80:	55                   	push   %ebp
459d81:	8b ec                	mov    %esp,%ebp
459d83:	83 ec 1c             	sub    $0x1c,%esp
459d86:	56                   	push   %esi
459d87:	8b f1                	mov    %ecx,%esi
459d89:	57                   	push   %edi
459d8a:	8b 7e 04             	mov    0x4(%esi),%edi
459d8d:	8b c7                	mov    %edi,%eax
459d8f:	8b 0e                	mov    (%esi),%ecx
459d91:	2b c1                	sub    %ecx,%eax
459d93:	83 f8 0a             	cmp    $0xa,%eax
459d96:	0f 8d bd 00 00 00    	jge    0x459e59
459d9c:	85 c0                	test   %eax,%eax
459d9e:	7e 0c                	jle    0x459dac
459da0:	80 7f ff 00          	cmpb   $0x0,-0x1(%edi)
459da4:	0f 8d af 00 00 00    	jge    0x459e59
459daa:	85 c0                	test   %eax,%eax
459dac:	75 27                	jne    0x459dd5
459dae:	8b 56 20             	mov    0x20(%esi),%edx
459db1:	85 d2                	test   %edx,%edx
459db3:	7f 08                	jg     0x459dbd
459db5:	8b 46 0c             	mov    0xc(%esi),%eax
459db8:	3b 46 1c             	cmp    0x1c(%esi),%eax
459dbb:	75 18                	jne    0x459dd5
459dbd:	8b 46 0c             	mov    0xc(%esi),%eax
459dc0:	2b c2                	sub    %edx,%eax
459dc2:	3b 46 24             	cmp    0x24(%esi),%eax
459dc5:	7d 0e                	jge    0x459dd5
459dc7:	5f                   	pop    %edi
459dc8:	c6 46 18 01          	movb   $0x1,0x18(%esi)
459dcc:	33 c0                	xor    %eax,%eax
459dce:	5e                   	pop    %esi
459dcf:	8b e5                	mov    %ebp,%esp
459dd1:	5d                   	pop    %ebp
459dd2:	c2 04 00             	ret    $0x4
459dd5:	3b cf                	cmp    %edi,%ecx
459dd7:	75 3e                	jne    0x459e17
459dd9:	8b ce                	mov    %esi,%ecx
459ddb:	e8 a0 09 00 00       	call   0x45a780
459de0:	84 c0                	test   %al,%al
459de2:	75 33                	jne    0x459e17
459de4:	8b 46 0c             	mov    0xc(%esi),%eax
459de7:	2b 46 20             	sub    0x20(%esi),%eax
459dea:	8b 4e 24             	mov    0x24(%esi),%ecx
459ded:	3b c1                	cmp    %ecx,%eax
459def:	7c 15                	jl     0x459e06
459df1:	39 4e 1c             	cmp    %ecx,0x1c(%esi)
459df4:	5f                   	pop    %edi
459df5:	0f 94 c0             	sete   %al
459df8:	33 c9                	xor    %ecx,%ecx
459dfa:	88 46 18             	mov    %al,0x18(%esi)
459dfd:	8b c1                	mov    %ecx,%eax
459dff:	5e                   	pop    %esi
459e00:	8b e5                	mov    %ebp,%esp
459e02:	5d                   	pop    %ebp
459e03:	c2 04 00             	ret    $0x4
459e06:	b0 01                	mov    $0x1,%al
459e08:	33 c9                	xor    %ecx,%ecx
459e0a:	88 46 18             	mov    %al,0x18(%esi)
459e0d:	8b c1                	mov    %ecx,%eax
459e0f:	5f                   	pop    %edi
459e10:	5e                   	pop    %esi
459e11:	8b e5                	mov    %ebp,%esp
459e13:	5d                   	pop    %ebp
459e14:	c2 04 00             	ret    $0x4
459e17:	8b 3e                	mov    (%esi),%edi
459e19:	3b 7e 04             	cmp    0x4(%esi),%edi
459e1c:	73 1b                	jae    0x459e39
459e1e:	8a 07                	mov    (%edi),%al
459e20:	3c 80                	cmp    $0x80,%al
459e22:	73 15                	jae    0x459e39
459e24:	0f b6 c0             	movzbl %al,%eax
459e27:	99                   	cltd
459e28:	8b c8                	mov    %eax,%ecx
459e2a:	8d 47 01             	lea    0x1(%edi),%eax
459e2d:	89 06                	mov    %eax,(%esi)
459e2f:	8b c1                	mov    %ecx,%eax
459e31:	5f                   	pop    %edi
459e32:	5e                   	pop    %esi
459e33:	8b e5                	mov    %ebp,%esp
459e35:	5d                   	pop    %ebp
459e36:	c2 04 00             	ret    $0x4
459e39:	8d 45 e4             	lea    -0x1c(%ebp),%eax
459e3c:	8b ce                	mov    %esi,%ecx
459e3e:	50                   	push   %eax
459e3f:	e8 7c 01 00 00       	call   0x459fc0
459e44:	80 7d ec 00          	cmpb   $0x0,-0x14(%ebp)
459e48:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
459e4b:	75 02                	jne    0x459e4f
459e4d:	33 c9                	xor    %ecx,%ecx
459e4f:	5f                   	pop    %edi
459e50:	8b c1                	mov    %ecx,%eax
459e52:	5e                   	pop    %esi
459e53:	8b e5                	mov    %ebp,%esp
459e55:	5d                   	pop    %ebp
459e56:	c2 04 00             	ret    $0x4
459e59:	8b 45 08             	mov    0x8(%ebp),%eax
459e5c:	85 c0                	test   %eax,%eax
459e5e:	75 0f                	jne    0x459e6f
459e60:	8d 41 01             	lea    0x1(%ecx),%eax
459e63:	89 06                	mov    %eax,(%esi)
459e65:	5f                   	pop    %edi
459e66:	33 c0                	xor    %eax,%eax
459e68:	5e                   	pop    %esi
459e69:	8b e5                	mov    %ebp,%esp
459e6b:	5d                   	pop    %ebp
459e6c:	c2 04 00             	ret    $0x4
459e6f:	8d 55 f4             	lea    -0xc(%ebp),%edx
459e72:	52                   	push   %edx
459e73:	51                   	push   %ecx
459e74:	50                   	push   %eax
459e75:	8d 45 f8             	lea    -0x8(%ebp),%eax
459e78:	50                   	push   %eax
459e79:	e8 a2 00 00 00       	call   0x459f20
459e7e:	83 c4 10             	add    $0x10,%esp
459e81:	80 7d f8 00          	cmpb   $0x0,-0x8(%ebp)
459e85:	74 de                	je     0x459e65
459e87:	8b 45 fc             	mov    -0x4(%ebp),%eax
459e8a:	89 06                	mov    %eax,(%esi)
459e8c:	8b 45 f4             	mov    -0xc(%ebp),%eax
459e8f:	5f                   	pop    %edi
459e90:	5e                   	pop    %esi
459e91:	8b e5                	mov    %ebp,%esp
459e93:	5d                   	pop    %ebp
459e94:	c2 04 00             	ret    $0x4
459e97:	cc                   	int3
459e98:	cc                   	int3
459e99:	cc                   	int3
459e9a:	cc                   	int3
459e9b:	cc                   	int3
459e9c:	cc                   	int3
459e9d:	cc                   	int3
459e9e:	cc                   	int3
459e9f:	cc                   	int3
459ea0:	55                   	push   %ebp
459ea1:	8b ec                	mov    %esp,%ebp
459ea3:	83 ec 14             	sub    $0x14,%esp
459ea6:	56                   	push   %esi
459ea7:	8b f1                	mov    %ecx,%esi
459ea9:	8b 4e 04             	mov    0x4(%esi),%ecx
459eac:	8b c1                	mov    %ecx,%eax
459eae:	8b 16                	mov    (%esi),%edx
459eb0:	2b c2                	sub    %edx,%eax
459eb2:	83 f8 0a             	cmp    $0xa,%eax
459eb5:	7d 27                	jge    0x459ede
459eb7:	3b ca                	cmp    %edx,%ecx
459eb9:	76 06                	jbe    0x459ec1
459ebb:	80 79 ff 00          	cmpb   $0x0,-0x1(%ecx)
459ebf:	7d 1d                	jge    0x459ede
459ec1:	8d 45 ec             	lea    -0x14(%ebp),%eax
459ec4:	8b ce                	mov    %esi,%ecx
459ec6:	50                   	push   %eax
459ec7:	e8 f4 00 00 00       	call   0x459fc0
459ecc:	80 7d f4 00          	cmpb   $0x0,-0xc(%ebp)
459ed0:	74 26                	je     0x459ef8
459ed2:	8b 45 ec             	mov    -0x14(%ebp),%eax
459ed5:	33 d2                	xor    %edx,%edx
459ed7:	5e                   	pop    %esi
459ed8:	8b e5                	mov    %ebp,%esp
459eda:	5d                   	pop    %ebp
459edb:	c2 04 00             	ret    $0x4
459ede:	8d 45 fc             	lea    -0x4(%ebp),%eax
459ee1:	50                   	push   %eax
459ee2:	52                   	push   %edx
459ee3:	ff 75 08             	push   0x8(%ebp)
459ee6:	8d 45 f4             	lea    -0xc(%ebp),%eax
459ee9:	50                   	push   %eax
459eea:	e8 31 00 00 00       	call   0x459f20
459eef:	83 c4 10             	add    $0x10,%esp
459ef2:	80 7d f4 00          	cmpb   $0x0,-0xc(%ebp)
459ef6:	75 0c                	jne    0x459f04
459ef8:	83 c8 ff             	or     $0xffffffff,%eax
459efb:	0b d0                	or     %eax,%edx
459efd:	5e                   	pop    %esi
459efe:	8b e5                	mov    %ebp,%esp
459f00:	5d                   	pop    %ebp
459f01:	c2 04 00             	ret    $0x4
459f04:	8b 45 f8             	mov    -0x8(%ebp),%eax
459f07:	33 d2                	xor    %edx,%edx
459f09:	89 06                	mov    %eax,(%esi)
459f0b:	8b 45 fc             	mov    -0x4(%ebp),%eax
459f0e:	5e                   	pop    %esi
459f0f:	8b e5                	mov    %ebp,%esp
459f11:	5d                   	pop    %ebp
459f12:	c2 04 00             	ret    $0x4
459f15:	cc                   	int3
459f16:	cc                   	int3
459f17:	cc                   	int3
459f18:	cc                   	int3
459f19:	cc                   	int3
459f1a:	cc                   	int3
459f1b:	cc                   	int3
459f1c:	cc                   	int3
459f1d:	cc                   	int3
459f1e:	cc                   	int3
459f1f:	cc                   	int3
459f20:	55                   	push   %ebp
459f21:	8b ec                	mov    %esp,%ebp
459f23:	51                   	push   %ecx
459f24:	8b 4d 10             	mov    0x10(%ebp),%ecx
459f27:	8b 45 14             	mov    0x14(%ebp),%eax
459f2a:	53                   	push   %ebx
459f2b:	8b 5d 08             	mov    0x8(%ebp),%ebx
459f2e:	0f b6 51 01          	movzbl 0x1(%ecx),%edx
459f32:	83 c1 02             	add    $0x2,%ecx
459f35:	56                   	push   %esi
459f36:	57                   	push   %edi
459f37:	8b 7d 0c             	mov    0xc(%ebp),%edi
459f3a:	89 45 fc             	mov    %eax,-0x4(%ebp)
459f3d:	83 c7 80             	add    $0xffffff80,%edi
459f40:	8b c2                	mov    %edx,%eax
459f42:	c1 e0 07             	shl    $0x7,%eax
459f45:	03 f8                	add    %eax,%edi
459f47:	84 d2                	test   %dl,%dl
459f49:	79 59                	jns    0x459fa4
459f4b:	0f b6 11             	movzbl (%ecx),%edx
459f4e:	81 c7 00 c0 ff ff    	add    $0xffffc000,%edi
459f54:	8b c2                	mov    %edx,%eax
459f56:	41                   	inc    %ecx
459f57:	c1 e0 0e             	shl    $0xe,%eax
459f5a:	03 f8                	add    %eax,%edi
459f5c:	8b f7                	mov    %edi,%esi
459f5e:	84 d2                	test   %dl,%dl
459f60:	79 42                	jns    0x459fa4
459f62:	0f b6 01             	movzbl (%ecx),%eax