451c0a:	85 c0                	test   %eax,%eax
451c0c:	79 07                	jns    0x451c15
451c0e:	83 26 00             	andl   $0x0,(%esi)
451c11:	83 66 04 00          	andl   $0x0,0x4(%esi)
451c15:	b0 01                	mov    $0x1,%al
451c17:	eb 02                	jmp    0x451c1b
451c19:	32 c0                	xor    %al,%al
451c1b:	5f                   	pop    %edi
451c1c:	5e                   	pop    %esi
451c1d:	5b                   	pop    %ebx
451c1e:	8b e5                	mov    %ebp,%esp
451c20:	5d                   	pop    %ebp
451c21:	c2 04 00             	ret    $0x4
451c24:	cc                   	int3
451c25:	cc                   	int3
451c26:	cc                   	int3
451c27:	cc                   	int3
451c28:	cc                   	int3
451c29:	cc                   	int3
451c2a:	cc                   	int3
451c2b:	cc                   	int3
451c2c:	cc                   	int3
451c2d:	cc                   	int3
451c2e:	cc                   	int3
451c2f:	cc                   	int3
451c30:	83 3d f0 59 4a 00 02 	cmpl   $0x2,0x4a59f0
451c37:	75 24                	jne    0x451c5d
451c39:	66 83 3d f4 59 4a 00 	cmpw   $0x0,0x4a59f4
451c40:	00
451c41:	74 1a                	je     0x451c5d
451c43:	e8 ed e6 fc ff       	call   0x420335
451c48:	6a 00                	push   $0x0
451c4a:	68 41 e1 00 00       	push   $0xe141
451c4f:	68 11 01 00 00       	push   $0x111
451c54:	ff 70 20             	push   0x20(%eax)
451c57:	ff 15 d4 7c 4a 00    	call   *0x4a7cd4
451c5d:	c3                   	ret
451c5e:	8b ff                	mov    %edi,%edi
451c60:	55                   	push   %ebp
451c61:	8b ec                	mov    %esp,%ebp
451c63:	83 e4 f8             	and    $0xfffffff8,%esp
451c66:	56                   	push   %esi
451c67:	57                   	push   %edi
451c68:	8b 7d 08             	mov    0x8(%ebp),%edi
451c6b:	8b f1                	mov    %ecx,%esi
451c6d:	83 ff 05             	cmp    $0x5,%edi
451c70:	0f 84 85 00 00 00    	je     0x451cfb
451c76:	e8 8d fc 01 00       	call   0x471908
451c7b:	85 c0                	test   %eax,%eax
451c7d:	74 7c                	je     0x451cfb
451c7f:	8b 86 10 04 00 00    	mov    0x410(%esi),%eax
451c85:	3b f8                	cmp    %eax,%edi
451c87:	0f 84 86 00 00 00    	je     0x451d13
451c8d:	83 f8 02             	cmp    $0x2,%eax
451c90:	75 61                	jne    0x451cf3
451c92:	e8 54 f3 01 00       	call   0x470feb
451c97:	85 c0                	test   %eax,%eax
451c99:	79 2b                	jns    0x451cc6
451c9b:	ba f2 c4 00 00       	mov    $0xc4f2,%edx
451ca0:	6a 10                	push   $0x10
451ca2:	8d 4a 01             	lea    0x1(%edx),%ecx
451ca5:	e8 fa e5 fc ff       	call   0x4202a4
451caa:	e8 86 e6 fc ff       	call   0x420335
451caf:	6a 00                	push   $0x0
451cb1:	68 41 e1 00 00       	push   $0xe141
451cb6:	68 11 01 00 00       	push   $0x111
451cbb:	ff 70 20             	push   0x20(%eax)
451cbe:	ff 15 d4 7c 4a 00    	call   *0x4a7cd4
451cc4:	eb 2d                	jmp    0x451cf3
451cc6:	8b 86 78 06 00 00    	mov    0x678(%esi),%eax
451ccc:	0b 86 7c 06 00 00    	or     0x67c(%esi),%eax
451cd2:	74 1f                	je     0x451cf3
451cd4:	ff b6 7c 06 00 00    	push   0x67c(%esi)
451cda:	ff b6 78 06 00 00    	push   0x678(%esi)
451ce0:	e8 29 fb 01 00       	call   0x47180e
451ce5:	83 a6 78 06 00 00 00 	andl   $0x0,0x678(%esi)
451cec:	83 a6 7c 06 00 00 00 	andl   $0x0,0x67c(%esi)
451cf3:	89 be 10 04 00 00    	mov    %edi,0x410(%esi)
451cf9:	eb 18                	jmp    0x451d13
451cfb:	83 a6 78 06 00 00 00 	andl   $0x0,0x678(%esi)
451d02:	83 a6 7c 06 00 00 00 	andl   $0x0,0x67c(%esi)
451d09:	c7 86 10 04 00 00 05 	movl   $0x5,0x410(%esi)
451d10:	00 00 00
451d13:	33 c0                	xor    %eax,%eax
451d15:	5f                   	pop    %edi
451d16:	66 89 86 14 04 00 00 	mov    %ax,0x414(%esi)
451d1d:	5e                   	pop    %esi
451d1e:	8b e5                	mov    %ebp,%esp
451d20:	5d                   	pop    %ebp
451d21:	c2 04 00             	ret    $0x4
451d24:	6a 24                	push   $0x24
451d26:	b8 9a 3b 49 00       	mov    $0x493b9a,%eax
451d2b:	e8 42 e8 03 00       	call   0x490572
451d30:	8b f1                	mov    %ecx,%esi
451d32:	33 ff                	xor    %edi,%edi
451d34:	33 c0                	xor    %eax,%eax
451d36:	89 7d fc             	mov    %edi,-0x4(%ebp)
451d39:	c7 45 e8 07 00 00 00 	movl   $0x7,-0x18(%ebp)
451d40:	89 7d e4             	mov    %edi,-0x1c(%ebp)
451d43:	66 89 45 d4          	mov    %ax,-0x2c(%ebp)
451d47:	8d 45 d0             	lea    -0x30(%ebp),%eax
451d4a:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
451d4e:	50                   	push   %eax
451d4f:	e8 c5 00 00 00       	call   0x451e19
451d54:	84 c0                	test   %al,%al
451d56:	75 16                	jne    0x451d6e
451d58:	e8 d1 60 02 00       	call   0x477e2e
451d5d:	57                   	push   %edi
451d5e:	6a 01                	push   $0x1
451d60:	8d 4d d0             	lea    -0x30(%ebp),%ecx
451d63:	e8 5c aa fc ff       	call   0x41c7c4
451d68:	e8 57 e7 03 00       	call   0x4904c4
451d6d:	c3                   	ret
451d6e:	e8 64 01 00 00       	call   0x451ed7
451d73:	84 c0                	test   %al,%al
451d75:	75 07                	jne    0x451d7e
451d77:	e8 19 61 02 00       	call   0x477e95
451d7c:	eb df                	jmp    0x451d5d
451d7e:	e8 79 61 02 00       	call   0x477efc
451d83:	8d 45 d0             	lea    -0x30(%ebp),%eax
451d86:	8b ce                	mov    %esi,%ecx
451d88:	50                   	push   %eax
451d89:	e8 40 09 00 00       	call   0x4526ce
451d8e:	8b c8                	mov    %eax,%ecx
451d90:	e8 35 62 02 00       	call   0x477fca
451d95:	eb c6                	jmp    0x451d5d
451d97:	b9 0e 00 07 80       	mov    $0x8007000e,%ecx
451d9c:	e8 29 62 02 00       	call   0x477fca
451da1:	b8 68 1d 45 00       	mov    $0x451d68,%eax
451da6:	c3                   	ret
451da7:	8b ff                	mov    %edi,%edi
451da9:	56                   	push   %esi
451daa:	8b f1                	mov    %ecx,%esi
451dac:	0f b7 06             	movzwl (%esi),%eax
451daf:	66 85 c0             	test   %ax,%ax
451db2:	74 33                	je     0x451de7
451db4:	8b c8                	mov    %eax,%ecx
451db6:	66 83 f9 2d          	cmp    $0x2d,%cx
451dba:	74 06                	je     0x451dc2
451dbc:	66 83 f9 2f          	cmp    $0x2f,%cx
451dc0:	75 18                	jne    0x451dda
451dc2:	6a 15                	push   $0x15
451dc4:	8d 46 02             	lea    0x2(%esi),%eax
451dc7:	50                   	push   %eax
451dc8:	68 28 05 41 00       	push   $0x410528
451dcd:	ff 15 78 80 4a 00    	call   *0x4a8078
451dd3:	83 c4 0c             	add    $0xc,%esp
451dd6:	85 c0                	test   %eax,%eax
451dd8:	74 11                	je     0x451deb
451dda:	83 c6 02             	add    $0x2,%esi
451ddd:	0f b7 06             	movzwl (%esi),%eax
451de0:	8b c8                	mov    %eax,%ecx
451de2:	66 85 c0             	test   %ax,%ax
451de5:	75 cf                	jne    0x451db6
451de7:	33 c0                	xor    %eax,%eax
451de9:	5e                   	pop    %esi
451dea:	c3                   	ret
451deb:	8b ce                	mov    %esi,%ecx
451ded:	8d 51 02             	lea    0x2(%ecx),%edx
451df0:	66 8b 01             	mov    (%ecx),%ax
451df3:	83 c1 02             	add    $0x2,%ecx
451df6:	66 85 c0             	test   %ax,%ax
451df9:	75 f5                	jne    0x451df0
451dfb:	2b ca                	sub    %edx,%ecx
451dfd:	d1 f9                	sar    $1,%ecx
451dff:	8d 04 4d d6 ff ff ff 	lea    -0x2a(,%ecx,2),%eax
451e06:	50                   	push   %eax
451e07:	8d 46 2c             	lea    0x2c(%esi),%eax
451e0a:	50                   	push   %eax
451e0b:	56                   	push   %esi
451e0c:	e8 22 f2 03 00       	call   0x491033
451e11:	83 c4 0c             	add    $0xc,%esp
451e14:	33 c0                	xor    %eax,%eax
451e16:	40                   	inc    %eax
451e17:	5e                   	pop    %esi
451e18:	c3                   	ret
451e19:	8b ff                	mov    %edi,%edi
451e1b:	55                   	push   %ebp
451e1c:	8b ec                	mov    %esp,%ebp
451e1e:	51                   	push   %ecx
451e1f:	53                   	push   %ebx
451e20:	56                   	push   %esi
451e21:	57                   	push   %edi
451e22:	8b 7d 08             	mov    0x8(%ebp),%edi
451e25:	8b d9                	mov    %ecx,%ebx
451e27:	83 7f 18 08          	cmpl   $0x8,0x18(%edi)
451e2b:	8d 57 04             	lea    0x4(%edi),%edx
451e2e:	72 04                	jb     0x451e34
451e30:	8b 32                	mov    (%edx),%esi
451e32:	eb 02                	jmp    0x451e36
451e34:	8b f2                	mov    %edx,%esi
451e36:	8b 47 14             	mov    0x14(%edi),%eax
451e39:	8d 04 46             	lea    (%esi,%eax,2),%eax
451e3c:	72 04                	jb     0x451e42
451e3e:	8b 32                	mov    (%edx),%esi
451e40:	eb 02                	jmp    0x451e44
451e42:	8b f2                	mov    %edx,%esi
451e44:	72 02                	jb     0x451e48
451e46:	8b 12                	mov    (%edx),%edx
451e48:	33 c9                	xor    %ecx,%ecx
451e4a:	89 4d fc             	mov    %ecx,-0x4(%ebp)
451e4d:	85 f6                	test   %esi,%esi
451e4f:	74 06                	je     0x451e57
451e51:	8b ce                	mov    %esi,%ecx
451e53:	2b ca                	sub    %edx,%ecx
451e55:	d1 f9                	sar    $1,%ecx
451e57:	85 c0                	test   %eax,%eax
451e59:	74 04                	je     0x451e5f
451e5b:	2b c6                	sub    %esi,%eax
451e5d:	d1 f8                	sar    $1,%eax
451e5f:	50                   	push   %eax
451e60:	51                   	push   %ecx
451e61:	8b cf                	mov    %edi,%ecx
451e63:	e8 e2 a5 fc ff       	call   0x41c44a
451e68:	8b 4b 74             	mov    0x74(%ebx),%ecx
451e6b:	e8 37 ff ff ff       	call   0x451da7
451e70:	85 c0                	test   %eax,%eax
451e72:	74 5a                	je     0x451ece
451e74:	8b 53 74             	mov    0x74(%ebx),%edx
451e77:	8b ca                	mov    %edx,%ecx
451e79:	8d 71 02             	lea    0x2(%ecx),%esi
451e7c:	66 8b 01             	mov    (%ecx),%ax
451e7f:	83 c1 02             	add    $0x2,%ecx
451e82:	66 3b 45 fc          	cmp    -0x4(%ebp),%ax
451e86:	75 f4                	jne    0x451e7c
451e88:	2b ce                	sub    %esi,%ecx
451e8a:	d1 f9                	sar    $1,%ecx
451e8c:	75 04                	jne    0x451e92
451e8e:	b0 01                	mov    $0x1,%al
451e90:	eb 3e                	jmp    0x451ed0
451e92:	83 f9 04             	cmp    $0x4,%ecx
451e95:	72 37                	jb     0x451ece
451e97:	66 83 7c 4a fe 20    	cmpw   $0x20,-0x2(%edx,%ecx,2)
451e9d:	75 0b                	jne    0x451eaa
451e9f:	33 c0                	xor    %eax,%eax
451ea1:	66 89 44 4a fe       	mov    %ax,-0x2(%edx,%ecx,2)
451ea6:	49                   	dec    %ecx
451ea7:	8b 53 74             	mov    0x74(%ebx),%edx
451eaa:	6a 22                	push   $0x22
451eac:	5e                   	pop    %esi
451ead:	66 39 32             	cmp    %si,(%edx)
451eb0:	75 1c                	jne    0x451ece
451eb2:	8d 41 ff             	lea    -0x1(%ecx),%eax
451eb5:	8d 04 42             	lea    (%edx,%eax,2),%eax
451eb8:	66 39 30             	cmp    %si,(%eax)
451ebb:	75 11                	jne    0x451ece
451ebd:	ff 75 fc             	push   -0x4(%ebp)
451ec0:	8b cf                	mov    %edi,%ecx
451ec2:	50                   	push   %eax
451ec3:	8d 42 02             	lea    0x2(%edx),%eax
451ec6:	50                   	push   %eax
451ec7:	e8 ee 29 00 00       	call   0x4548ba
451ecc:	eb c0                	jmp    0x451e8e
451ece:	32 c0                	xor    %al,%al
451ed0:	5f                   	pop    %edi
451ed1:	5e                   	pop    %esi
451ed2:	5b                   	pop    %ebx
451ed3:	c9                   	leave
451ed4:	c2 04 00             	ret    $0x4
451ed7:	8b ff                	mov    %edi,%edi
451ed9:	55                   	push   %ebp
451eda:	8b ec                	mov    %esp,%ebp
451edc:	83 ec 10             	sub    $0x10,%esp
451edf:	53                   	push   %ebx
451ee0:	56                   	push   %esi
451ee1:	57                   	push   %edi
451ee2:	c7 45 f0 01 00 00 80 	movl   $0x80000001,-0x10(%ebp)
451ee9:	8d 7d f0             	lea    -0x10(%ebp),%edi
451eec:	c7 45 f4 02 00 00 80 	movl   $0x80000002,-0xc(%ebp)
451ef3:	33 db                	xor    %ebx,%ebx
451ef5:	8d 45 fc             	lea    -0x4(%ebp),%eax
451ef8:	89 5d fc             	mov    %ebx,-0x4(%ebp)
451efb:	50                   	push   %eax
451efc:	6a 01                	push   $0x1
451efe:	53                   	push   %ebx
451eff:	68 58 05 41 00       	push   $0x410558
451f04:	ff 37                	push   (%edi)
451f06:	ff 15 28 70 4a 00    	call   *0x4a7028
451f0c:	85 c0                	test   %eax,%eax
451f0e:	75 27                	jne    0x451f37
451f10:	53                   	push   %ebx
451f11:	53                   	push   %ebx
451f12:	8d 45 f8             	lea    -0x8(%ebp),%eax
451f15:	89 5d f8             	mov    %ebx,-0x8(%ebp)
451f18:	50                   	push   %eax
451f19:	53                   	push   %ebx
451f1a:	68 dc 05 41 00       	push   $0x4105dc
451f1f:	ff 75 fc             	push   -0x4(%ebp)
451f22:	ff 15 04 70 4a 00    	call   *0x4a7004
451f28:	ff 75 fc             	push   -0x4(%ebp)
451f2b:	8b f0                	mov    %eax,%esi
451f2d:	ff 15 08 70 4a 00    	call   *0x4a7008
451f33:	85 f6                	test   %esi,%esi
451f35:	74 11                	je     0x451f48
451f37:	83 c7 04             	add    $0x4,%edi
451f3a:	8d 45 f8             	lea    -0x8(%ebp),%eax
451f3d:	3b f8                	cmp    %eax,%edi
451f3f:	75 b4                	jne    0x451ef5
451f41:	b0 01                	mov    $0x1,%al
451f43:	5f                   	pop    %edi
451f44:	5e                   	pop    %esi
451f45:	5b                   	pop    %ebx
451f46:	c9                   	leave
451f47:	c3                   	ret
451f48:	32 c0                	xor    %al,%al
451f4a:	eb f7                	jmp    0x451f43
451f4c:	8b ff                	mov    %edi,%edi
451f4e:	56                   	push   %esi
451f4f:	6a 00                	push   $0x0
451f51:	6a 00                	push   $0x0
451f53:	8b f1                	mov    %ecx,%esi
451f55:	ff 15 7c 7e 4a 00    	call   *0x4a7e7c
451f5b:	89 06                	mov    %eax,(%esi)
451f5d:	8b c6                	mov    %esi,%eax
451f5f:	5e                   	pop    %esi
451f60:	c2 04 00             	ret    $0x4
451f63:	83 39 00             	cmpl   $0x0,(%ecx)
451f66:	7c 06                	jl     0x451f6e
451f68:	ff 25 8c 7e 4a 00    	jmp    *0x4a7e8c
451f6e:	c3                   	ret
451f6f:	8b 01                	mov    (%ecx),%eax
451f71:	c3                   	ret
451f72:	6a 10                	push   $0x10
451f74:	b8 d7 3b 49 00       	mov    $0x493bd7,%eax
451f79:	e8 55 e5 03 00       	call   0x4904d3
451f7e:	33 db                	xor    %ebx,%ebx
451f80:	89 5d e8             	mov    %ebx,-0x18(%ebp)
451f83:	8d 45 e8             	lea    -0x18(%ebp),%eax
451f86:	89 5d fc             	mov    %ebx,-0x4(%ebp)
451f89:	50                   	push   %eax
451f8a:	68 3c 09 41 00       	push   $0x41093c
451f8f:	6a 01                	push   $0x1
451f91:	53                   	push   %ebx
451f92:	68 3c f1 40 00       	push   $0x40f13c
451f97:	ff 15 98 7e 4a 00    	call   *0x4a7e98
451f9d:	8b f8                	mov    %eax,%edi
451f9f:	85 ff                	test   %edi,%edi
451fa1:	0f 88 b3 00 00 00    	js     0x45205a
451fa7:	89 5d ec             	mov    %ebx,-0x14(%ebp)
451faa:	8b 45 08             	mov    0x8(%ebp),%eax
451fad:	83 78 18 08          	cmpl   $0x8,0x18(%eax)
451fb1:	8d 70 04             	lea    0x4(%eax),%esi
451fb4:	72 02                	jb     0x451fb8
451fb6:	8b 36                	mov    (%esi),%esi
451fb8:	8d 45 ec             	lea    -0x14(%ebp),%eax
451fbb:	50                   	push   %eax
451fbc:	e8 ab a4 fd ff       	call   0x42c46c
451fc1:	50                   	push   %eax
451fc2:	68 cc 09 41 00       	push   $0x4109cc
451fc7:	53                   	push   %ebx