454ec3:	c3                   	ret
454ec4:	cc                   	int3
454ec5:	cc                   	int3
454ec6:	cc                   	int3
454ec7:	cc                   	int3
454ec8:	cc                   	int3
454ec9:	cc                   	int3
454eca:	cc                   	int3
454ecb:	cc                   	int3
454ecc:	cc                   	int3
454ecd:	cc                   	int3
454ece:	cc                   	int3
454ecf:	cc                   	int3
454ed0:	8b ff                	mov    %edi,%edi
454ed2:	55                   	push   %ebp
454ed3:	8b ec                	mov    %esp,%ebp
454ed5:	57                   	push   %edi
454ed6:	8b 7d 08             	mov    0x8(%ebp),%edi
454ed9:	33 d2                	xor    %edx,%edx
454edb:	8b 4f 2c             	mov    0x2c(%edi),%ecx
454ede:	85 c9                	test   %ecx,%ecx
454ee0:	75 0a                	jne    0x454eec
454ee2:	8b 45 0c             	mov    0xc(%ebp),%eax
454ee5:	8b 4f 28             	mov    0x28(%edi),%ecx
454ee8:	89 08                	mov    %ecx,(%eax)
454eea:	eb 23                	jmp    0x454f0f
454eec:	8b 01                	mov    (%ecx),%eax
454eee:	53                   	push   %ebx
454eef:	8b 5d 0c             	mov    0xc(%ebp),%ebx
454ef2:	56                   	push   %esi
454ef3:	8b 70 4c             	mov    0x4c(%eax),%esi
454ef6:	53                   	push   %ebx
454ef7:	51                   	push   %ecx
454ef8:	8b ce                	mov    %esi,%ecx
454efa:	ff 15 2c 81 4a 00    	call   *0x4a812c
454f00:	ff d6                	call   *%esi
454f02:	8b d0                	mov    %eax,%edx
454f04:	85 d2                	test   %edx,%edx
454f06:	78 05                	js     0x454f0d
454f08:	8b 4f 28             	mov    0x28(%edi),%ecx
454f0b:	09 0b                	or     %ecx,(%ebx)
454f0d:	5e                   	pop    %esi
454f0e:	5b                   	pop    %ebx
454f0f:	8b c2                	mov    %edx,%eax
454f11:	5f                   	pop    %edi
454f12:	5d                   	pop    %ebp
454f13:	c2 08 00             	ret    $0x8
454f16:	cc                   	int3
454f17:	cc                   	int3
454f18:	cc                   	int3
454f19:	cc                   	int3
454f1a:	cc                   	int3
454f1b:	cc                   	int3
454f1c:	cc                   	int3
454f1d:	cc                   	int3
454f1e:	cc                   	int3
454f1f:	cc                   	int3
454f20:	8b ff                	mov    %edi,%edi
454f22:	55                   	push   %ebp
454f23:	8b ec                	mov    %esp,%ebp
454f25:	8b 45 08             	mov    0x8(%ebp),%eax
454f28:	8b 48 2c             	mov    0x2c(%eax),%ecx
454f2b:	85 c9                	test   %ecx,%ecx
454f2d:	75 04                	jne    0x454f33
454f2f:	33 c0                	xor    %eax,%eax
454f31:	eb 15                	jmp    0x454f48
454f33:	8b 01                	mov    (%ecx),%eax
454f35:	56                   	push   %esi
454f36:	ff 75 0c             	push   0xc(%ebp)
454f39:	8b 70 48             	mov    0x48(%eax),%esi
454f3c:	51                   	push   %ecx
454f3d:	8b ce                	mov    %esi,%ecx
454f3f:	ff 15 2c 81 4a 00    	call   *0x4a812c
454f45:	ff d6                	call   *%esi
454f47:	5e                   	pop    %esi
454f48:	5d                   	pop    %ebp
454f49:	c2 08 00             	ret    $0x8
454f4c:	cc                   	int3
454f4d:	cc                   	int3
454f4e:	cc                   	int3
454f4f:	cc                   	int3
454f50:	8b ff                	mov    %edi,%edi
454f52:	55                   	push   %ebp
454f53:	8b ec                	mov    %esp,%ebp
454f55:	8b 45 08             	mov    0x8(%ebp),%eax
454f58:	8b 40 2c             	mov    0x2c(%eax),%eax
454f5b:	85 c0                	test   %eax,%eax
454f5d:	74 20                	je     0x454f7f
454f5f:	56                   	push   %esi
454f60:	ff 75 1c             	push   0x1c(%ebp)
454f63:	8b 30                	mov    (%eax),%esi
454f65:	ff 75 18             	push   0x18(%ebp)
454f68:	ff 75 14             	push   0x14(%ebp)
454f6b:	8b 4e 44             	mov    0x44(%esi),%ecx
454f6e:	ff 75 10             	push   0x10(%ebp)
454f71:	ff 75 0c             	push   0xc(%ebp)
454f74:	50                   	push   %eax
454f75:	ff 15 2c 81 4a 00    	call   *0x4a812c
454f7b:	ff 56 44             	call   *0x44(%esi)
454f7e:	5e                   	pop    %esi
454f7f:	5d                   	pop    %ebp
454f80:	c2 18 00             	ret    $0x18
454f83:	cc                   	int3
454f84:	cc                   	int3
454f85:	cc                   	int3
454f86:	cc                   	int3
454f87:	cc                   	int3
454f88:	cc                   	int3
454f89:	cc                   	int3
454f8a:	cc                   	int3
454f8b:	cc                   	int3
454f8c:	cc                   	int3
454f8d:	cc                   	int3
454f8e:	cc                   	int3
454f8f:	cc                   	int3
454f90:	8b ff                	mov    %edi,%edi
454f92:	55                   	push   %ebp
454f93:	8b ec                	mov    %esp,%ebp
454f95:	8b 45 08             	mov    0x8(%ebp),%eax
454f98:	8b 48 2c             	mov    0x2c(%eax),%ecx
454f9b:	85 c9                	test   %ecx,%ecx
454f9d:	75 04                	jne    0x454fa3
454f9f:	33 c0                	xor    %eax,%eax
454fa1:	eb 18                	jmp    0x454fbb
454fa3:	8b 01                	mov    (%ecx),%eax
454fa5:	56                   	push   %esi
454fa6:	ff 75 10             	push   0x10(%ebp)
454fa9:	ff 75 0c             	push   0xc(%ebp)
454fac:	8b 70 40             	mov    0x40(%eax),%esi
454faf:	51                   	push   %ecx
454fb0:	8b ce                	mov    %esi,%ecx
454fb2:	ff 15 2c 81 4a 00    	call   *0x4a812c
454fb8:	ff d6                	call   *%esi
454fba:	5e                   	pop    %esi
454fbb:	5d                   	pop    %ebp
454fbc:	c2 0c 00             	ret    $0xc
454fbf:	cc                   	int3
454fc0:	8b ff                	mov    %edi,%edi
454fc2:	55                   	push   %ebp
454fc3:	8b ec                	mov    %esp,%ebp
454fc5:	8b 45 08             	mov    0x8(%ebp),%eax
454fc8:	8b 48 2c             	mov    0x2c(%eax),%ecx
454fcb:	85 c9                	test   %ecx,%ecx
454fcd:	75 04                	jne    0x454fd3
454fcf:	33 c0                	xor    %eax,%eax
454fd1:	eb 18                	jmp    0x454feb
454fd3:	8b 01                	mov    (%ecx),%eax
454fd5:	56                   	push   %esi
454fd6:	ff 75 10             	push   0x10(%ebp)
454fd9:	ff 75 0c             	push   0xc(%ebp)
454fdc:	8b 70 3c             	mov    0x3c(%eax),%esi
454fdf:	51                   	push   %ecx
454fe0:	8b ce                	mov    %esi,%ecx
454fe2:	ff 15 2c 81 4a 00    	call   *0x4a812c
454fe8:	ff d6                	call   *%esi
454fea:	5e                   	pop    %esi
454feb:	5d                   	pop    %ebp
454fec:	c2 0c 00             	ret    $0xc
454fef:	cc                   	int3
454ff0:	8b ff                	mov    %edi,%edi
454ff2:	55                   	push   %ebp
454ff3:	8b ec                	mov    %esp,%ebp
454ff5:	8b 45 08             	mov    0x8(%ebp),%eax
454ff8:	8b 40 2c             	mov    0x2c(%eax),%eax
454ffb:	85 c0                	test   %eax,%eax
454ffd:	74 1d                	je     0x45501c
454fff:	56                   	push   %esi
455000:	ff 75 18             	push   0x18(%ebp)
455003:	8b 30                	mov    (%eax),%esi
455005:	ff 75 14             	push   0x14(%ebp)
455008:	ff 75 10             	push   0x10(%ebp)
45500b:	8b 4e 34             	mov    0x34(%esi),%ecx
45500e:	ff 75 0c             	push   0xc(%ebp)
455011:	50                   	push   %eax
455012:	ff 15 2c 81 4a 00    	call   *0x4a812c
455018:	ff 56 34             	call   *0x34(%esi)
45501b:	5e                   	pop    %esi
45501c:	5d                   	pop    %ebp
45501d:	c2 14 00             	ret    $0x14
455020:	8b ff                	mov    %edi,%edi
455022:	55                   	push   %ebp
455023:	8b ec                	mov    %esp,%ebp
455025:	8b 45 08             	mov    0x8(%ebp),%eax
455028:	8b 40 2c             	mov    0x2c(%eax),%eax
45502b:	85 c0                	test   %eax,%eax
45502d:	74 1d                	je     0x45504c
45502f:	56                   	push   %esi
455030:	ff 75 18             	push   0x18(%ebp)
455033:	8b 30                	mov    (%eax),%esi
455035:	ff 75 14             	push   0x14(%ebp)
455038:	ff 75 10             	push   0x10(%ebp)
45503b:	8b 4e 28             	mov    0x28(%esi),%ecx
45503e:	ff 75 0c             	push   0xc(%ebp)
455041:	50                   	push   %eax
455042:	ff 15 2c 81 4a 00    	call   *0x4a812c
455048:	ff 56 28             	call   *0x28(%esi)
45504b:	5e                   	pop    %esi
45504c:	5d                   	pop    %ebp
45504d:	c2 14 00             	ret    $0x14
455050:	8b ff                	mov    %edi,%edi
455052:	55                   	push   %ebp
455053:	8b ec                	mov    %esp,%ebp
455055:	8b 45 08             	mov    0x8(%ebp),%eax
455058:	8b 40 2c             	mov    0x2c(%eax),%eax
45505b:	85 c0                	test   %eax,%eax
45505d:	74 1d                	je     0x45507c
45505f:	56                   	push   %esi
455060:	ff 75 18             	push   0x18(%ebp)
455063:	8b 30                	mov    (%eax),%esi
455065:	ff 75 14             	push   0x14(%ebp)
455068:	ff 75 10             	push   0x10(%ebp)
45506b:	8b 4e 24             	mov    0x24(%esi),%ecx
45506e:	ff 75 0c             	push   0xc(%ebp)
455071:	50                   	push   %eax
455072:	ff 15 2c 81 4a 00    	call   *0x4a812c
455078:	ff 56 24             	call   *0x24(%esi)
45507b:	5e                   	pop    %esi
45507c:	5d                   	pop    %ebp
45507d:	c2 14 00             	ret    $0x14
455080:	8b ff                	mov    %edi,%edi
455082:	55                   	push   %ebp
455083:	8b ec                	mov    %esp,%ebp
455085:	8b 45 08             	mov    0x8(%ebp),%eax
455088:	8b 40 2c             	mov    0x2c(%eax),%eax
45508b:	85 c0                	test   %eax,%eax
45508d:	74 1a                	je     0x4550a9
45508f:	56                   	push   %esi
455090:	ff 75 14             	push   0x14(%ebp)
455093:	8b 30                	mov    (%eax),%esi
455095:	ff 75 10             	push   0x10(%ebp)
455098:	ff 75 0c             	push   0xc(%ebp)
45509b:	8b 4e 10             	mov    0x10(%esi),%ecx
45509e:	50                   	push   %eax
45509f:	ff 15 2c 81 4a 00    	call   *0x4a812c
4550a5:	ff 56 10             	call   *0x10(%esi)
4550a8:	5e                   	pop    %esi
4550a9:	5d                   	pop    %ebp
4550aa:	c2 10 00             	ret    $0x10
4550ad:	cc                   	int3
4550ae:	cc                   	int3
4550af:	cc                   	int3
4550b0:	8b ff                	mov    %edi,%edi
4550b2:	55                   	push   %ebp
4550b3:	8b ec                	mov    %esp,%ebp
4550b5:	8b 45 08             	mov    0x8(%ebp),%eax
4550b8:	8b 40 2c             	mov    0x2c(%eax),%eax
4550bb:	85 c0                	test   %eax,%eax
4550bd:	74 1a                	je     0x4550d9
4550bf:	56                   	push   %esi
4550c0:	ff 75 14             	push   0x14(%ebp)
4550c3:	8b 30                	mov    (%eax),%esi
4550c5:	ff 75 10             	push   0x10(%ebp)
4550c8:	ff 75 0c             	push   0xc(%ebp)
4550cb:	8b 4e 0c             	mov    0xc(%esi),%ecx
4550ce:	50                   	push   %eax
4550cf:	ff 15 2c 81 4a 00    	call   *0x4a812c
4550d5:	ff 56 0c             	call   *0xc(%esi)
4550d8:	5e                   	pop    %esi
4550d9:	5d                   	pop    %ebp
4550da:	c2 10 00             	ret    $0x10
4550dd:	cc                   	int3
4550de:	cc                   	int3
4550df:	cc                   	int3
4550e0:	8b ff                	mov    %edi,%edi
4550e2:	55                   	push   %ebp
4550e3:	8b ec                	mov    %esp,%ebp
4550e5:	8b 4d 14             	mov    0x14(%ebp),%ecx
4550e8:	ba 02 40 00 80       	mov    $0x80004002,%edx
4550ed:	8b 45 08             	mov    0x8(%ebp),%eax
4550f0:	8b 0c 08             	mov    (%eax,%ecx,1),%ecx
4550f3:	85 c9                	test   %ecx,%ecx
4550f5:	74 19                	je     0x455110
4550f7:	8b 01                	mov    (%ecx),%eax
4550f9:	56                   	push   %esi
4550fa:	ff 75 10             	push   0x10(%ebp)
4550fd:	ff 75 0c             	push   0xc(%ebp)
455100:	8b 30                	mov    (%eax),%esi
455102:	51                   	push   %ecx
455103:	8b ce                	mov    %esi,%ecx
455105:	ff 15 2c 81 4a 00    	call   *0x4a812c
45510b:	ff d6                	call   *%esi
45510d:	8b d0                	mov    %eax,%edx
45510f:	5e                   	pop    %esi
455110:	8b c2                	mov    %edx,%eax
455112:	5d                   	pop    %ebp
455113:	c2 10 00             	ret    $0x10
455116:	8b ff                	mov    %edi,%edi
455118:	56                   	push   %esi
455119:	8b f1                	mov    %ecx,%esi
45511b:	ff 36                	push   (%esi)
45511d:	ff 15 8c 7f 4a 00    	call   *0x4a7f8c
455123:	83 26 00             	andl   $0x0,(%esi)
455126:	5e                   	pop    %esi
455127:	c3                   	ret
455128:	8b ff                	mov    %edi,%edi
45512a:	55                   	push   %ebp
45512b:	8b ec                	mov    %esp,%ebp
45512d:	83 ec 24             	sub    $0x24,%esp
455130:	a1 dc 38 4a 00       	mov    0x4a38dc,%eax
455135:	33 c5                	xor    %ebp,%eax
455137:	89 45 fc             	mov    %eax,-0x4(%ebp)
45513a:	83 65 f0 00          	andl   $0x0,-0x10(%ebp)
45513e:	8d 45 08             	lea    0x8(%ebp),%eax
455141:	83 65 f8 00          	andl   $0x0,-0x8(%ebp)
455145:	ba e8 f5 40 00       	mov    $0x40f5e8,%edx
45514a:	89 45 ec             	mov    %eax,-0x14(%ebp)
45514d:	8d 45 dc             	lea    -0x24(%ebp),%eax
455150:	50                   	push   %eax
455151:	6a 02                	push   $0x2
455153:	51                   	push   %ecx
455154:	c7 45 f4 04 00 00 00 	movl   $0x4,-0xc(%ebp)
45515b:	e8 43 03 fd ff       	call   0x4254a3
455160:	8b 4d fc             	mov    -0x4(%ebp),%ecx
455163:	33 cd                	xor    %ebp,%ecx
455165:	e8 96 ad 03 00       	call   0x48ff00
45516a:	c9                   	leave
45516b:	c2 04 00             	ret    $0x4
45516e:	8b ff                	mov    %edi,%edi
455170:	55                   	push   %ebp
455171:	8b ec                	mov    %esp,%ebp
455173:	83 ec 0c             	sub    $0xc,%esp
455176:	53                   	push   %ebx
455177:	56                   	push   %esi
455178:	89 4d f4             	mov    %ecx,-0xc(%ebp)
45517b:	33 db                	xor    %ebx,%ebx
45517d:	8b 4d 1c             	mov    0x1c(%ebp),%ecx
455180:	8b f1                	mov    %ecx,%esi
455182:	89 55 f8             	mov    %edx,-0x8(%ebp)
455185:	8a d3                	mov    %bl,%dl
455187:	57                   	push   %edi
455188:	88 55 ff             	mov    %dl,-0x1(%ebp)
45518b:	8d 7e 02             	lea    0x2(%esi),%edi
45518e:	66 8b 06             	mov    (%esi),%ax
455191:	83 c6 02             	add    $0x2,%esi
455194:	66 3b c3             	cmp    %bx,%ax
455197:	75 f5                	jne    0x45518e
455199:	2b f7                	sub    %edi,%esi
45519b:	8b fb                	mov    %ebx,%edi
45519d:	8b 1d 88 46 4a 00    	mov    0x4a4688,%ebx
4551a3:	d1 fe                	sar    $1,%esi
4551a5:	85 db                	test   %ebx,%ebx
4551a7:	74 1f                	je     0x4551c8
4551a9:	8d 45 ff             	lea    -0x1(%ebp),%eax
4551ac:	50                   	push   %eax
4551ad:	b8 00 08 00 00       	mov    $0x800,%eax
4551b2:	2b c6                	sub    %esi,%eax
4551b4:	50                   	push   %eax
4551b5:	8d 04 71             	lea    (%ecx,%esi,2),%eax
4551b8:	8b cb                	mov    %ebx,%ecx
4551ba:	50                   	push   %eax