453cff:	8b 40 14             	mov    0x14(%eax),%eax
453d02:	8b 08                	mov    (%eax),%ecx
453d04:	ff 51 44             	call   *0x44(%ecx)
453d07:	8b d4                	mov    %esp,%edx
453d09:	8b 43 1c             	mov    0x1c(%ebx),%eax
453d0c:	8b 40 14             	mov    0x14(%eax),%eax
453d0f:	8b 08                	mov    (%eax),%ecx
453d11:	ff 91 90 00 00 00    	call   *0x90(%ecx)
453d17:	8b c7                	mov    %edi,%eax
453d19:	3c 01                	cmp    $0x1,%al
453d1b:	75 0a                	jne    0x453d27
453d1d:	8b 6c 24 0c          	mov    0xc(%esp),%ebp
453d21:	2b 6c 24 04          	sub    0x4(%esp),%ebp
453d25:	eb 51                	jmp    0x453d78
453d27:	8b 6c 24 08          	mov    0x8(%esp),%ebp
453d2b:	2b 2c 24             	sub    (%esp),%ebp
453d2e:	eb 48                	jmp    0x453d78
453d30:	8b f3                	mov    %ebx,%esi
453d32:	eb 21                	jmp    0x453d55
453d34:	8b c7                	mov    %edi,%eax
453d36:	8b 56 14             	mov    0x14(%esi),%edx
453d39:	3a 42 10             	cmp    0x10(%edx),%al
453d3c:	75 14                	jne    0x453d52
453d3e:	8b c6                	mov    %esi,%eax
453d40:	e8 5b 03 00 00       	call   0x4540a0
453d45:	8b e8                	mov    %eax,%ebp
453d47:	8b c6                	mov    %esi,%eax
453d49:	e8 6a fe ff ff       	call   0x453bb8
453d4e:	2b e8                	sub    %eax,%ebp
453d50:	eb 26                	jmp    0x453d78
453d52:	8b 76 14             	mov    0x14(%esi),%esi
453d55:	8b 43 1c             	mov    0x1c(%ebx),%eax
453d58:	3b 70 64             	cmp    0x64(%eax),%esi
453d5b:	75 d7                	jne    0x453d34
453d5d:	8b cf                	mov    %edi,%ecx
453d5f:	8b 43 1c             	mov    0x1c(%ebx),%eax
453d62:	8b 50 64             	mov    0x64(%eax),%edx
453d65:	3a 4a 10             	cmp    0x10(%edx),%cl
453d68:	75 05                	jne    0x453d6f
453d6a:	8b 68 68             	mov    0x68(%eax),%ebp
453d6d:	eb 09                	jmp    0x453d78
453d6f:	8b c2                	mov    %edx,%eax
453d71:	e8 2a 03 00 00       	call   0x4540a0
453d76:	8b e8                	mov    %eax,%ebp
453d78:	8b c5                	mov    %ebp,%eax
453d7a:	83 c4 10             	add    $0x10,%esp
453d7d:	5d                   	pop    %ebp
453d7e:	5f                   	pop    %edi
453d7f:	5e                   	pop    %esi
453d80:	5b                   	pop    %ebx
453d81:	c3                   	ret
453d82:	8b c0                	mov    %eax,%eax
453d84:	53                   	push   %ebx
453d85:	56                   	push   %esi
453d86:	57                   	push   %edi
453d87:	8b f0                	mov    %eax,%esi
453d89:	8b c6                	mov    %esi,%eax
453d8b:	e8 cc fd ff ff       	call   0x453b5c
453d90:	85 c0                	test   %eax,%eax
453d92:	0f 84 90 00 00 00    	je     0x453e28
453d98:	80 7e 10 00          	cmpb   $0x0,0x10(%esi)
453d9c:	0f 84 86 00 00 00    	je     0x453e28
453da2:	8b c6                	mov    %esi,%eax
453da4:	e8 fb 03 00 00       	call   0x4541a4
453da9:	8b d8                	mov    %eax,%ebx
453dab:	0f b6 46 10          	movzbl 0x10(%esi),%eax
453daf:	fe c8                	dec    %al
453db1:	74 06                	je     0x453db9
453db3:	fe c8                	dec    %al
453db5:	74 12                	je     0x453dc9
453db7:	eb 20                	jmp    0x453dd9
453db9:	ba 01 00 00 00       	mov    $0x1,%edx
453dbe:	8b c6                	mov    %esi,%eax
453dc0:	e8 07 ff ff ff       	call   0x453ccc
453dc5:	8b f8                	mov    %eax,%edi
453dc7:	eb 12                	jmp    0x453ddb
453dc9:	ba 02 00 00 00       	mov    $0x2,%edx
453dce:	8b c6                	mov    %esi,%eax
453dd0:	e8 f7 fe ff ff       	call   0x453ccc
453dd5:	8b f8                	mov    %eax,%edi
453dd7:	eb 02                	jmp    0x453ddb
453dd9:	33 ff                	xor    %edi,%edi
453ddb:	8b c6                	mov    %esi,%eax
453ddd:	e8 7a fd ff ff       	call   0x453b5c
453de2:	50                   	push   %eax
453de3:	8b c7                	mov    %edi,%eax
453de5:	5a                   	pop    %edx
453de6:	8b ca                	mov    %edx,%ecx
453de8:	99                   	cltd
453de9:	f7 f9                	idiv   %ecx
453deb:	8b f0                	mov    %eax,%esi
453ded:	85 db                	test   %ebx,%ebx
453def:	74 37                	je     0x453e28
453df1:	83 7b 0c 00          	cmpl   $0x0,0xc(%ebx)
453df5:	75 0b                	jne    0x453e02
453df7:	8b d7                	mov    %edi,%edx
453df9:	8b c3                	mov    %ebx,%eax
453dfb:	e8 c8 02 00 00       	call   0x4540c8
453e00:	eb 12                	jmp    0x453e14
453e02:	8b c3                	mov    %ebx,%eax
453e04:	e8 af fd ff ff       	call   0x453bb8
453e09:	8b d0                	mov    %eax,%edx
453e0b:	03 d6                	add    %esi,%edx
453e0d:	8b c3                	mov    %ebx,%eax
453e0f:	e8 b4 02 00 00       	call   0x4540c8
453e14:	8b c3                	mov    %ebx,%eax
453e16:	e8 09 01 00 00       	call   0x453f24
453e1b:	8b c3                	mov    %ebx,%eax
453e1d:	e8 5a 03 00 00       	call   0x45417c
453e22:	8b d8                	mov    %eax,%ebx
453e24:	85 db                	test   %ebx,%ebx
453e26:	75 c9                	jne    0x453df1
453e28:	5f                   	pop    %edi
453e29:	5e                   	pop    %esi
453e2a:	5b                   	pop    %ebx
453e2b:	c3                   	ret
453e2c:	53                   	push   %ebx
453e2d:	56                   	push   %esi
453e2e:	57                   	push   %edi
453e2f:	8b f2                	mov    %edx,%esi
453e31:	8b d8                	mov    %eax,%ebx
453e33:	8b c6                	mov    %esi,%eax
453e35:	e8 0e 09 fb ff       	call   0x404748
453e3a:	8b 7b 04             	mov    0x4(%ebx),%edi
453e3d:	85 ff                	test   %edi,%edi
453e3f:	74 2a                	je     0x453e6b
453e41:	83 7f 08 00          	cmpl   $0x0,0x8(%edi)
453e45:	75 17                	jne    0x453e5e
453e47:	8b 0d c8 75 4a 00    	mov    0x4a75c8,%ecx
453e4d:	b2 01                	mov    $0x1,%dl
453e4f:	a1 38 7b 40 00       	mov    0x407b38,%eax
453e54:	e8 73 86 fb ff       	call   0x40c4cc
453e59:	e8 32 03 fb ff       	call   0x404190
453e5e:	8b c6                	mov    %esi,%eax
453e60:	8b 53 04             	mov    0x4(%ebx),%edx
453e63:	8b 52 08             	mov    0x8(%edx),%edx
453e66:	e8 31 09 fb ff       	call   0x40479c
453e6b:	5f                   	pop    %edi
453e6c:	5e                   	pop    %esi
453e6d:	5b                   	pop    %ebx
453e6e:	c3                   	ret
453e6f:	90                   	nop
453e70:	55                   	push   %ebp
453e71:	8b ec                	mov    %esp,%ebp
453e73:	83 c4 f4             	add    $0xfffffff4,%esp
453e76:	53                   	push   %ebx
453e77:	56                   	push   %esi
453e78:	8b d8                	mov    %eax,%ebx
453e7a:	33 c0                	xor    %eax,%eax
453e7c:	89 45 f8             	mov    %eax,-0x8(%ebp)
453e7f:	8b 43 1c             	mov    0x1c(%ebx),%eax
453e82:	89 45 f4             	mov    %eax,-0xc(%ebp)
453e85:	8d 4d f8             	lea    -0x8(%ebp),%ecx
453e88:	8b 45 f4             	mov    -0xc(%ebp),%eax
453e8b:	8b 40 14             	mov    0x14(%eax),%eax
453e8e:	66 be b7 ff          	mov    $0xffb7,%si
453e92:	e8 81 fc fa ff       	call   0x403b18
453e97:	83 7d f8 00          	cmpl   $0x0,-0x8(%ebp)
453e9b:	0f 95 45 ff          	setne  -0x1(%ebp)
453e9f:	80 7d ff 00          	cmpb   $0x0,-0x1(%ebp)
453ea3:	74 43                	je     0x453ee8
453ea5:	8b 45 f4             	mov    -0xc(%ebp),%eax
453ea8:	89 58 38             	mov    %ebx,0x38(%eax)
453eab:	33 c0                	xor    %eax,%eax
453ead:	55                   	push   %ebp
453eae:	68 e1 3e 45 00       	push   $0x453ee1
453eb3:	64 ff 30             	push   %fs:(%eax)
453eb6:	64 89 20             	mov    %esp,%fs:(%eax)
453eb9:	6a 00                	push   $0x0
453ebb:	8b 45 f4             	mov    -0xc(%ebp),%eax
453ebe:	8b 50 14             	mov    0x14(%eax),%edx
453ec1:	33 c9                	xor    %ecx,%ecx
453ec3:	8b 45 f8             	mov    -0x8(%ebp),%eax
453ec6:	e8 a9 6d ff ff       	call   0x44ac74
453ecb:	33 c0                	xor    %eax,%eax
453ecd:	5a                   	pop    %edx
453ece:	59                   	pop    %ecx
453ecf:	59                   	pop    %ecx
453ed0:	64 89 10             	mov    %edx,%fs:(%eax)
453ed3:	68 e8 3e 45 00       	push   $0x453ee8
453ed8:	8b 45 f4             	mov    -0xc(%ebp),%eax
453edb:	33 d2                	xor    %edx,%edx
453edd:	89 50 38             	mov    %edx,0x38(%eax)
453ee0:	c3                   	ret
453ee1:	e9 ca 01 fb ff       	jmp    0x4040b0
453ee6:	eb f0                	jmp    0x453ed8
453ee8:	0f b6 45 ff          	movzbl -0x1(%ebp),%eax
453eec:	5e                   	pop    %esi
453eed:	5b                   	pop    %ebx
453eee:	8b e5                	mov    %ebp,%esp
453ef0:	5d                   	pop    %ebp
453ef1:	c3                   	ret
453ef2:	8b c0                	mov    %eax,%eax
453ef4:	55                   	push   %ebp
453ef5:	8b ec                	mov    %esp,%ebp
453ef7:	53                   	push   %ebx
453ef8:	56                   	push   %esi
453ef9:	33 db                	xor    %ebx,%ebx
453efb:	8b 45 08             	mov    0x8(%ebp),%eax
453efe:	8b 40 fc             	mov    -0x4(%eax),%eax
453f01:	8b 70 14             	mov    0x14(%eax),%esi
453f04:	85 f6                	test   %esi,%esi
453f06:	74 16                	je     0x453f1e
453f08:	8b c6                	mov    %esi,%eax
453f0a:	e8 6d 02 00 00       	call   0x45417c
453f0f:	85 c0                	test   %eax,%eax
453f11:	74 04                	je     0x453f17
453f13:	b3 01                	mov    $0x1,%bl
453f15:	eb 07                	jmp    0x453f1e
453f17:	8b 76 14             	mov    0x14(%esi),%esi
453f1a:	85 f6                	test   %esi,%esi
453f1c:	75 ea                	jne    0x453f08
453f1e:	8b c3                	mov    %ebx,%eax
453f20:	5e                   	pop    %esi
453f21:	5b                   	pop    %ebx
453f22:	5d                   	pop    %ebp
453f23:	c3                   	ret
453f24:	55                   	push   %ebp
453f25:	8b ec                	mov    %esp,%ebp
453f27:	83 c4 ec             	add    $0xffffffec,%esp
453f2a:	53                   	push   %ebx
453f2b:	56                   	push   %esi
453f2c:	57                   	push   %edi
453f2d:	89 45 fc             	mov    %eax,-0x4(%ebp)
453f30:	8b 45 fc             	mov    -0x4(%ebp),%eax
453f33:	8b 40 04             	mov    0x4(%eax),%eax
453f36:	85 c0                	test   %eax,%eax
453f38:	0f 84 58 01 00 00    	je     0x454096
453f3e:	80 78 57 00          	cmpb   $0x0,0x57(%eax)
453f42:	0f 84 4e 01 00 00    	je     0x454096
453f48:	8b 55 fc             	mov    -0x4(%ebp),%edx
453f4b:	8b 52 1c             	mov    0x1c(%edx),%edx
453f4e:	83 7a 6c 00          	cmpl   $0x0,0x6c(%edx)
453f52:	0f 85 3e 01 00 00    	jne    0x454096
453f58:	8b 55 fc             	mov    -0x4(%ebp),%edx
453f5b:	8b 52 14             	mov    0x14(%edx),%edx
453f5e:	0f b6 52 10          	movzbl 0x10(%edx),%edx
453f62:	88 90 90 00 00 00    	mov    %dl,0x90(%eax)
453f68:	ba 02 00 00 00       	mov    $0x2,%edx
453f6d:	8b 45 fc             	mov    -0x4(%ebp),%eax
453f70:	e8 57 fd ff ff       	call   0x453ccc
453f75:	8b d8                	mov    %eax,%ebx
453f77:	ba 01 00 00 00       	mov    $0x1,%edx
453f7c:	8b 45 fc             	mov    -0x4(%ebp),%eax
453f7f:	e8 48 fd ff ff       	call   0x453ccc
453f84:	8b f0                	mov    %eax,%esi
453f86:	55                   	push   %ebp
453f87:	e8 68 ff ff ff       	call   0x453ef4
453f8c:	59                   	pop    %ecx
453f8d:	84 c0                	test   %al,%al
453f8f:	74 20                	je     0x453fb1
453f91:	8b 45 fc             	mov    -0x4(%ebp),%eax
453f94:	8b 40 14             	mov    0x14(%eax),%eax
453f97:	80 78 10 01          	cmpb   $0x1,0x10(%eax)
453f9b:	75 0b                	jne    0x453fa8
453f9d:	8b 45 fc             	mov    -0x4(%ebp),%eax
453fa0:	8b 40 1c             	mov    0x1c(%eax),%eax
453fa3:	2b 58 0c             	sub    0xc(%eax),%ebx
453fa6:	eb 09                	jmp    0x453fb1
453fa8:	8b 45 fc             	mov    -0x4(%ebp),%eax
453fab:	8b 40 1c             	mov    0x1c(%eax),%eax
453fae:	2b 70 0c             	sub    0xc(%eax),%esi
453fb1:	8b 45 fc             	mov    -0x4(%ebp),%eax
453fb4:	e8 c3 01 00 00       	call   0x45417c
453fb9:	85 c0                	test   %eax,%eax
453fbb:	75 70                	jne    0x45402d
453fbd:	8b 45 fc             	mov    -0x4(%ebp),%eax
453fc0:	8b 40 14             	mov    0x14(%eax),%eax
453fc3:	8b 55 fc             	mov    -0x4(%ebp),%edx
453fc6:	8b 52 1c             	mov    0x1c(%edx),%edx
453fc9:	3b 42 64             	cmp    0x64(%edx),%eax
453fcc:	74 2b                	je     0x453ff9
453fce:	8b 45 fc             	mov    -0x4(%ebp),%eax
453fd1:	8b 40 14             	mov    0x14(%eax),%eax
453fd4:	0f b6 40 10          	movzbl 0x10(%eax),%eax
453fd8:	8b 55 fc             	mov    -0x4(%ebp),%edx
453fdb:	8b 52 1c             	mov    0x1c(%edx),%edx
453fde:	8b 52 64             	mov    0x64(%edx),%edx
453fe1:	3a 42 10             	cmp    0x10(%edx),%al
453fe4:	75 13                	jne    0x453ff9
453fe6:	8b 45 fc             	mov    -0x4(%ebp),%eax
453fe9:	e8 b2 00 00 00       	call   0x4540a0
453fee:	8b 55 fc             	mov    -0x4(%ebp),%edx
453ff1:	8b 52 1c             	mov    0x1c(%edx),%edx
453ff4:	3b 42 68             	cmp    0x68(%edx),%eax
453ff7:	7c 34                	jl     0x45402d
453ff9:	8b 45 fc             	mov    -0x4(%ebp),%eax
453ffc:	8b 40 14             	mov    0x14(%eax),%eax
453fff:	0f b6 40 10          	movzbl 0x10(%eax),%eax
454003:	8b 55 fc             	mov    -0x4(%ebp),%edx
454006:	8b 52 1c             	mov    0x1c(%edx),%edx
454009:	8b 52 64             	mov    0x64(%edx),%edx
45400c:	3a 42 10             	cmp    0x10(%edx),%al
45400f:	74 3c                	je     0x45404d
454011:	8b 45 fc             	mov    -0x4(%ebp),%eax
454014:	e8 87 00 00 00       	call   0x4540a0
454019:	8b f8                	mov    %eax,%edi
45401b:	8b 45 fc             	mov    -0x4(%ebp),%eax
45401e:	8b 40 1c             	mov    0x1c(%eax),%eax
454021:	8b 40 64             	mov    0x64(%eax),%eax
454024:	e8 77 00 00 00       	call   0x4540a0
454029:	3b f8                	cmp    %eax,%edi
45402b:	7d 20                	jge    0x45404d
45402d:	8b 45 fc             	mov    -0x4(%ebp),%eax
454030:	8b 40 14             	mov    0x14(%eax),%eax
454033:	80 78 10 01          	cmpb   $0x1,0x10(%eax)
454037:	75 0b                	jne    0x454044
454039:	8b 45 fc             	mov    -0x4(%ebp),%eax
45403c:	8b 40 1c             	mov    0x1c(%eax),%eax
45403f:	2b 70 0c             	sub    0xc(%eax),%esi
454042:	eb 09                	jmp    0x45404d
454044:	8b 45 fc             	mov    -0x4(%ebp),%eax
454047:	8b 40 1c             	mov    0x1c(%eax),%eax
45404a:	2b 58 0c             	sub    0xc(%eax),%ebx
45404d:	56                   	push   %esi
45404e:	8d 45 ec             	lea    -0x14(%ebp),%eax
454051:	50                   	push   %eax
454052:	ba 01 00 00 00       	mov    $0x1,%edx
454057:	8b 45 fc             	mov    -0x4(%ebp),%eax
45405a:	e8 e9 fb ff ff       	call   0x453c48
45405f:	50                   	push   %eax
454060:	ba 02 00 00 00       	mov    $0x2,%edx
454065:	8b 45 fc             	mov    -0x4(%ebp),%eax
454068:	e8 db fb ff ff       	call   0x453c48
45406d:	8b cb                	mov    %ebx,%ecx
45406f:	5a                   	pop    %edx
454070:	e8 33 2d fc ff       	call   0x416da8
454075:	8d 4d ec             	lea    -0x14(%ebp),%ecx
454078:	8b 45 fc             	mov    -0x4(%ebp),%eax
45407b:	8b 50 04             	mov    0x4(%eax),%edx
45407e:	8b 45 fc             	mov    -0x4(%ebp),%eax
454081:	8b 40 1c             	mov    0x1c(%eax),%eax
454084:	8b 18                	mov    (%eax),%ebx
454086:	ff 13                	call   *(%ebx)
454088:	8d 55 ec             	lea    -0x14(%ebp),%edx
45408b:	8b 45 fc             	mov    -0x4(%ebp),%eax
45408e:	8b 40 04             	mov    0x4(%eax),%eax
454091:	e8 0e 57 ff ff       	call   0x4497a4
454096:	5f                   	pop    %edi
454097:	5e                   	pop    %esi
454098:	5b                   	pop    %ebx
454099:	8b e5                	mov    %ebp,%esp
45409b:	5d                   	pop    %ebp
45409c:	c3                   	ret
45409d:	8d 40 00             	lea    0x0(%eax),%eax
4540a0:	53                   	push   %ebx
4540a1:	8b d8                	mov    %eax,%ebx
4540a3:	8b c3                	mov    %ebx,%eax
4540a5:	e8 d6 fa ff ff       	call   0x453b80
4540aa:	84 c0                	test   %al,%al