45697a:	53                   	push   %ebx
45697b:	56                   	push   %esi
45697c:	8b d8                	mov    %eax,%ebx
45697e:	84 d2                	test   %dl,%dl
456980:	75 5c                	jne    0x4569de
456982:	83 7b 60 00          	cmpl   $0x0,0x60(%ebx)
456986:	75 4f                	jne    0x4569d7
456988:	8d 4d f4             	lea    -0xc(%ebp),%ecx
45698b:	8b 55 0c             	mov    0xc(%ebp),%edx
45698e:	8b 45 10             	mov    0x10(%ebp),%eax
456991:	e8 c2 03 fc ff       	call   0x416d58
456996:	8d 55 f4             	lea    -0xc(%ebp),%edx
456999:	8d 4d fc             	lea    -0x4(%ebp),%ecx
45699c:	8b c3                	mov    %ebx,%eax
45699e:	e8 35 e2 ff ff       	call   0x454bd8
4569a3:	8b d8                	mov    %eax,%ebx
4569a5:	85 db                	test   %ebx,%ebx
4569a7:	74 35                	je     0x4569de
4569a9:	83 7d fc 14          	cmpl   $0x14,-0x4(%ebp)
4569ad:	75 2f                	jne    0x4569de
4569af:	8b 73 04             	mov    0x4(%ebx),%esi
4569b2:	8b c6                	mov    %esi,%eax
4569b4:	8b 15 20 ab 45 00    	mov    0x45ab20,%edx
4569ba:	e8 e9 d0 fa ff       	call   0x403aa8
4569bf:	84 c0                	test   %al,%al
4569c1:	74 09                	je     0x4569cc
4569c3:	8b c6                	mov    %esi,%eax
4569c5:	e8 96 c1 00 00       	call   0x462b60
4569ca:	eb 12                	jmp    0x4569de
4569cc:	8b c6                	mov    %esi,%eax
4569ce:	33 d2                	xor    %edx,%edx
4569d0:	e8 bf 33 ff ff       	call   0x449d94
4569d5:	eb 07                	jmp    0x4569de
4569d7:	8b c3                	mov    %ebx,%eax
4569d9:	e8 d6 f4 ff ff       	call   0x455eb4
4569de:	5e                   	pop    %esi
4569df:	5b                   	pop    %ebx
4569e0:	8b e5                	mov    %ebp,%esp
4569e2:	5d                   	pop    %ebp
4569e3:	c2 0c 00             	ret    $0xc
4569e6:	8b c0                	mov    %eax,%eax
4569e8:	55                   	push   %ebp
4569e9:	8b ec                	mov    %esp,%ebp
4569eb:	83 c4 dc             	add    $0xffffffdc,%esp
4569ee:	53                   	push   %ebx
4569ef:	56                   	push   %esi
4569f0:	57                   	push   %edi
4569f1:	33 db                	xor    %ebx,%ebx
4569f3:	89 5d dc             	mov    %ebx,-0x24(%ebp)
4569f6:	8b f2                	mov    %edx,%esi
4569f8:	8d 7d f8             	lea    -0x8(%ebp),%edi
4569fb:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4569fc:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4569fd:	89 4d f4             	mov    %ecx,-0xc(%ebp)
456a00:	8b f0                	mov    %eax,%esi
456a02:	33 c0                	xor    %eax,%eax
456a04:	55                   	push   %ebp
456a05:	68 c9 6a 45 00       	push   $0x456ac9
456a0a:	64 ff 30             	push   %fs:(%eax)
456a0d:	64 89 20             	mov    %esp,%fs:(%eax)
456a10:	8d 4d f0             	lea    -0x10(%ebp),%ecx
456a13:	8d 55 f8             	lea    -0x8(%ebp),%edx
456a16:	8b c6                	mov    %esi,%eax
456a18:	8b 18                	mov    (%eax),%ebx
456a1a:	ff 53 08             	call   *0x8(%ebx)
456a1d:	8b d8                	mov    %eax,%ebx
456a1f:	83 7d f0 12          	cmpl   $0x12,-0x10(%ebp)
456a23:	75 0d                	jne    0x456a32
456a25:	8b 45 08             	mov    0x8(%ebp),%eax
456a28:	e8 1b dd fa ff       	call   0x404748
456a2d:	e9 81 00 00 00       	jmp    0x456ab3
456a32:	85 db                	test   %ebx,%ebx
456a34:	74 7d                	je     0x456ab3
456a36:	8b 45 f0             	mov    -0x10(%ebp),%eax
456a39:	83 e8 02             	sub    $0x2,%eax
456a3c:	74 05                	je     0x456a43
456a3e:	83 e8 12             	sub    $0x12,%eax
456a41:	75 70                	jne    0x456ab3
456a43:	8d 55 e0             	lea    -0x20(%ebp),%edx
456a46:	8b c3                	mov    %ebx,%eax
456a48:	e8 37 2d ff ff       	call   0x449784
456a4d:	8d 4d e0             	lea    -0x20(%ebp),%ecx
456a50:	8b d3                	mov    %ebx,%edx
456a52:	8b c6                	mov    %esi,%eax
456a54:	8b 30                	mov    (%eax),%esi
456a56:	ff 16                	call   *(%esi)
456a58:	8b 45 e0             	mov    -0x20(%ebp),%eax
456a5b:	2b 43 40             	sub    0x40(%ebx),%eax
456a5e:	03 c0                	add    %eax,%eax
456a60:	29 45 e0             	sub    %eax,-0x20(%ebp)
456a63:	8b 45 e4             	mov    -0x1c(%ebp),%eax
456a66:	2b 43 44             	sub    0x44(%ebx),%eax
456a69:	03 c0                	add    %eax,%eax
456a6b:	29 45 e4             	sub    %eax,-0x1c(%ebp)
456a6e:	8b 45 e8             	mov    -0x18(%ebp),%eax
456a71:	2b 45 e0             	sub    -0x20(%ebp),%eax
456a74:	8b 53 48             	mov    0x48(%ebx),%edx
456a77:	2b d0                	sub    %eax,%edx
456a79:	8b c2                	mov    %edx,%eax
456a7b:	03 c0                	add    %eax,%eax
456a7d:	29 45 e8             	sub    %eax,-0x18(%ebp)
456a80:	8b 45 ec             	mov    -0x14(%ebp),%eax
456a83:	2b 45 e4             	sub    -0x1c(%ebp),%eax
456a86:	8b 53 4c             	mov    0x4c(%ebx),%edx
456a89:	2b d0                	sub    %eax,%edx
456a8b:	8b c2                	mov    %edx,%eax
456a8d:	03 c0                	add    %eax,%eax
456a8f:	29 45 ec             	sub    %eax,-0x14(%ebp)
456a92:	8d 55 dc             	lea    -0x24(%ebp),%edx
456a95:	8b c3                	mov    %ebx,%eax
456a97:	e8 d8 33 ff ff       	call   0x449e74
456a9c:	8b 55 dc             	mov    -0x24(%ebp),%edx
456a9f:	8b 45 08             	mov    0x8(%ebp),%eax
456aa2:	e8 f5 dc fa ff       	call   0x40479c
456aa7:	8b 45 f4             	mov    -0xc(%ebp),%eax
456aaa:	8b f8                	mov    %eax,%edi
456aac:	8d 75 e0             	lea    -0x20(%ebp),%esi
456aaf:	a5                   	movsl  %ds:(%esi),%es:(%edi)
456ab0:	a5                   	movsl  %ds:(%esi),%es:(%edi)
456ab1:	a5                   	movsl  %ds:(%esi),%es:(%edi)
456ab2:	a5                   	movsl  %ds:(%esi),%es:(%edi)
456ab3:	33 c0                	xor    %eax,%eax
456ab5:	5a                   	pop    %edx
456ab6:	59                   	pop    %ecx
456ab7:	59                   	pop    %ecx
456ab8:	64 89 10             	mov    %edx,%fs:(%eax)
456abb:	68 d0 6a 45 00       	push   $0x456ad0
456ac0:	8d 45 dc             	lea    -0x24(%ebp),%eax
456ac3:	e8 80 dc fa ff       	call   0x404748
456ac8:	c3                   	ret
456ac9:	e9 e2 d5 fa ff       	jmp    0x4040b0
456ace:	eb f0                	jmp    0x456ac0
456ad0:	5f                   	pop    %edi
456ad1:	5e                   	pop    %esi
456ad2:	5b                   	pop    %ebx
456ad3:	8b e5                	mov    %ebp,%esp
456ad5:	5d                   	pop    %ebp
456ad6:	c2 04 00             	ret    $0x4
456ad9:	8d 40 00             	lea    0x0(%eax),%eax
456adc:	53                   	push   %ebx
456add:	56                   	push   %esi
456ade:	84 d2                	test   %dl,%dl
456ae0:	74 08                	je     0x456aea
456ae2:	83 c4 f0             	add    $0xfffffff0,%esp
456ae5:	e8 56 d1 fa ff       	call   0x403c40
456aea:	8b da                	mov    %edx,%ebx
456aec:	8b f0                	mov    %eax,%esi
456aee:	33 d2                	xor    %edx,%edx
456af0:	8b c6                	mov    %esi,%eax
456af2:	e8 f5 cd fa ff       	call   0x4038ec
456af7:	c6 46 04 01          	movb   $0x1,0x4(%esi)
456afb:	c7 46 08 05 00 00 00 	movl   $0x5,0x8(%esi)
456b02:	a1 3c 78 4a 00       	mov    0x4a783c,%eax
456b07:	83 38 02             	cmpl   $0x2,(%eax)
456b0a:	75 0a                	jne    0x456b16
456b0c:	a1 14 75 4a 00       	mov    0x4a7514,%eax
456b11:	83 38 04             	cmpl   $0x4,(%eax)
456b14:	7d 2c                	jge    0x456b42
456b16:	a1 3c 78 4a 00       	mov    0x4a783c,%eax
456b1b:	83 38 01             	cmpl   $0x1,(%eax)
456b1e:	75 1e                	jne    0x456b3e
456b20:	a1 14 75 4a 00       	mov    0x4a7514,%eax
456b25:	83 38 04             	cmpl   $0x4,(%eax)
456b28:	7f 18                	jg     0x456b42
456b2a:	a1 14 75 4a 00       	mov    0x4a7514,%eax
456b2f:	83 38 04             	cmpl   $0x4,(%eax)
456b32:	75 0a                	jne    0x456b3e
456b34:	a1 04 77 4a 00       	mov    0x4a7704,%eax
456b39:	83 38 0a             	cmpl   $0xa,(%eax)
456b3c:	7d 04                	jge    0x456b42
456b3e:	33 c0                	xor    %eax,%eax
456b40:	eb 02                	jmp    0x456b44
456b42:	b0 01                	mov    $0x1,%al
456b44:	88 46 0d             	mov    %al,0xd(%esi)
456b47:	33 d2                	xor    %edx,%edx
456b49:	8b c6                	mov    %esi,%eax
456b4b:	e8 7c 01 00 00       	call   0x456ccc
456b50:	8b c6                	mov    %esi,%eax
456b52:	84 db                	test   %bl,%bl
456b54:	74 0f                	je     0x456b65
456b56:	e8 3d d1 fa ff       	call   0x403c98
456b5b:	64 8f 05 00 00 00 00 	pop    %fs:0x0
456b62:	83 c4 0c             	add    $0xc,%esp
456b65:	8b c6                	mov    %esi,%eax
456b67:	5e                   	pop    %esi
456b68:	5b                   	pop    %ebx
456b69:	c3                   	ret
456b6a:	8b c0                	mov    %eax,%eax
456b6c:	53                   	push   %ebx
456b6d:	8b d8                	mov    %eax,%ebx
456b6f:	33 c0                	xor    %eax,%eax
456b71:	83 7b 2c 00          	cmpl   $0x0,0x2c(%ebx)
456b75:	74 1c                	je     0x456b93
456b77:	80 7b 20 00          	cmpb   $0x0,0x20(%ebx)
456b7b:	74 16                	je     0x456b93
456b7d:	33 d2                	xor    %edx,%edx
456b7f:	8b c3                	mov    %ebx,%eax
456b81:	e8 26 01 00 00       	call   0x456cac
456b86:	33 c9                	xor    %ecx,%ecx
456b88:	b2 01                	mov    $0x1,%dl
456b8a:	8b 43 2c             	mov    0x2c(%ebx),%eax
456b8d:	ff 50 2c             	call   *0x2c(%eax)
456b90:	89 43 28             	mov    %eax,0x28(%ebx)
456b93:	5b                   	pop    %ebx
456b94:	c3                   	ret
456b95:	8d 40 00             	lea    0x0(%eax),%eax
456b98:	53                   	push   %ebx
456b99:	56                   	push   %esi
456b9a:	e8 49 d1 fa ff       	call   0x403ce8
456b9f:	8b da                	mov    %edx,%ebx
456ba1:	8b f0                	mov    %eax,%esi
456ba3:	33 d2                	xor    %edx,%edx
456ba5:	8b c6                	mov    %esi,%eax
456ba7:	e8 d8 00 00 00       	call   0x456c84
456bac:	8b d3                	mov    %ebx,%edx
456bae:	80 e2 fc             	and    $0xfc,%dl
456bb1:	8b c6                	mov    %esi,%eax
456bb3:	e8 54 cd fa ff       	call   0x40390c
456bb8:	84 db                	test   %bl,%bl
456bba:	7e 07                	jle    0x456bc3
456bbc:	8b c6                	mov    %esi,%eax
456bbe:	e8 cd d0 fa ff       	call   0x403c90
456bc3:	5e                   	pop    %esi
456bc4:	5b                   	pop    %ebx
456bc5:	c3                   	ret
456bc6:	8b c0                	mov    %eax,%eax
456bc8:	e8 7b 03 fb ff       	call   0x406f48
456bcd:	c3                   	ret
456bce:	8b c0                	mov    %eax,%eax
456bd0:	53                   	push   %ebx
456bd1:	8b da                	mov    %edx,%ebx
456bd3:	53                   	push   %ebx
456bd4:	e8 9f 03 fb ff       	call   0x406f78
456bd9:	e8 5e 70 fb ff       	call   0x40dc3c
456bde:	5b                   	pop    %ebx
456bdf:	c3                   	ret
456be0:	80 3d 5c b5 4a 00 00 	cmpb   $0x0,0x4ab55c
456be7:	0f 95 c0             	setne  %al
456bea:	c3                   	ret
456beb:	90                   	nop
456bec:	53                   	push   %ebx
456bed:	56                   	push   %esi
456bee:	8b d8                	mov    %eax,%ebx
456bf0:	8b 73 28             	mov    0x28(%ebx),%esi
456bf3:	85 f6                	test   %esi,%esi
456bf5:	74 0e                	je     0x456c05
456bf7:	8b c6                	mov    %esi,%eax
456bf9:	8b 10                	mov    (%eax),%edx
456bfb:	ff 92 dc 00 00 00    	call   *0xdc(%edx)
456c01:	84 c0                	test   %al,%al
456c03:	75 05                	jne    0x456c0a
456c05:	33 c0                	xor    %eax,%eax
456c07:	5e                   	pop    %esi
456c08:	5b                   	pop    %ebx
456c09:	c3                   	ret
456c0a:	b0 01                	mov    $0x1,%al
456c0c:	5e                   	pop    %esi
456c0d:	5b                   	pop    %ebx
456c0e:	c3                   	ret
456c0f:	90                   	nop
456c10:	53                   	push   %ebx
456c11:	8b d8                	mov    %eax,%ebx
456c13:	6a 13                	push   $0x13
456c15:	a1 28 75 4a 00       	mov    0x4a7528,%eax
456c1a:	8b 00                	mov    (%eax),%eax
456c1c:	ff d0                	call   *%eax
456c1e:	83 f8 01             	cmp    $0x1,%eax
456c21:	1b c0                	sbb    %eax,%eax
456c23:	40                   	inc    %eax
456c24:	88 43 0c             	mov    %al,0xc(%ebx)
456c27:	5b                   	pop    %ebx
456c28:	c3                   	ret
456c29:	8d 40 00             	lea    0x0(%eax),%eax
456c2c:	53                   	push   %ebx
456c2d:	56                   	push   %esi
456c2e:	8b f0                	mov    %eax,%esi
456c30:	6a 4b                	push   $0x4b
456c32:	a1 28 75 4a 00       	mov    0x4a7528,%eax
456c37:	8b 00                	mov    (%eax),%eax
456c39:	ff d0                	call   *%eax
456c3b:	83 f8 01             	cmp    $0x1,%eax
456c3e:	1b db                	sbb    %ebx,%ebx
456c40:	43                   	inc    %ebx
456c41:	88 5e 20             	mov    %bl,0x20(%esi)
456c44:	84 db                	test   %bl,%bl
456c46:	74 0f                	je     0x456c57
456c48:	6a 00                	push   $0x0
456c4a:	8d 46 10             	lea    0x10(%esi),%eax
456c4d:	50                   	push   %eax
456c4e:	6a 00                	push   $0x0
456c50:	6a 68                	push   $0x68
456c52:	e8 b9 06 fb ff       	call   0x407310
456c57:	5e                   	pop    %esi
456c58:	5b                   	pop    %ebx
456c59:	c3                   	ret
456c5a:	8b c0                	mov    %eax,%eax
456c5c:	53                   	push   %ebx
456c5d:	51                   	push   %ecx
456c5e:	8b d8                	mov    %eax,%ebx
456c60:	54                   	push   %esp
456c61:	8d 43 10             	lea    0x10(%ebx),%eax
456c64:	50                   	push   %eax
456c65:	8d 4b 14             	lea    0x14(%ebx),%ecx
456c68:	8d 53 24             	lea    0x24(%ebx),%edx
456c6b:	8d 43 1c             	lea    0x1c(%ebx),%eax
456c6e:	e8 a5 07 fb ff       	call   0x407418
456c73:	89 43 18             	mov    %eax,0x18(%ebx)
456c76:	83 7b 1c 00          	cmpl   $0x0,0x1c(%ebx)
456c7a:	0f 95 c0             	setne  %al
456c7d:	88 43 20             	mov    %al,0x20(%ebx)
456c80:	5a                   	pop    %edx
456c81:	5b                   	pop    %ebx
456c82:	c3                   	ret
456c83:	90                   	nop
456c84:	53                   	push   %ebx
456c85:	56                   	push   %esi
456c86:	8b f2                	mov    %edx,%esi
456c88:	8b d8                	mov    %eax,%ebx
456c8a:	8b c3                	mov    %ebx,%eax
456c8c:	e8 37 ff ff ff       	call   0x456bc8
456c91:	3b f0                	cmp    %eax,%esi
456c93:	74 11                	je     0x456ca6
456c95:	85 f6                	test   %esi,%esi
456c97:	75 07                	jne    0x456ca0
456c99:	e8 62 05 fb ff       	call   0x407200
456c9e:	eb 06                	jmp    0x456ca6
456ca0:	56                   	push   %esi
456ca1:	e8 aa 05 fb ff       	call   0x407250
456ca6:	5e                   	pop    %esi
456ca7:	5b                   	pop    %ebx
456ca8:	c3                   	ret
456ca9:	8d 40 00             	lea    0x0(%eax),%eax
456cac:	53                   	push   %ebx
456cad:	56                   	push   %esi
456cae:	8b f2                	mov    %edx,%esi
456cb0:	8b d8                	mov    %eax,%ebx
456cb2:	8b 43 28             	mov    0x28(%ebx),%eax
456cb5:	3b f0                	cmp    %eax,%esi
456cb7:	74 0f                	je     0x456cc8
456cb9:	85 c0                	test   %eax,%eax
456cbb:	74 08                	je     0x456cc5
456cbd:	8d 43 28             	lea    0x28(%ebx),%eax
456cc0:	e8 63 74 fb ff       	call   0x40e128
456cc5:	89 73 28             	mov    %esi,0x28(%ebx)
456cc8:	5e                   	pop    %esi
456cc9:	5b                   	pop    %ebx
456cca:	c3                   	ret
456ccb:	90                   	nop
456ccc:	53                   	push   %ebx
456ccd:	8b d8                	mov    %eax,%ebx