456785:	f6 45 ff 40          	testb  $0x40,-0x1(%ebp)
456789:	74 51                	je     0x4567dc
45678b:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
45678e:	8b 55 0c             	mov    0xc(%ebp),%edx
456791:	8b 45 10             	mov    0x10(%ebp),%eax
456794:	e8 bf 05 fc ff       	call   0x416d58
456799:	8d 55 d4             	lea    -0x2c(%ebp),%edx
45679c:	8d 4d f8             	lea    -0x8(%ebp),%ecx
45679f:	8b c3                	mov    %ebx,%eax
4567a1:	e8 32 e4 ff ff       	call   0x454bd8
4567a6:	8b f0                	mov    %eax,%esi
4567a8:	85 f6                	test   %esi,%esi
4567aa:	0f 84 da 00 00 00    	je     0x45688a
4567b0:	83 7e 04 00          	cmpl   $0x0,0x4(%esi)
4567b4:	0f 84 d0 00 00 00    	je     0x45688a
4567ba:	83 7d f8 02          	cmpl   $0x2,-0x8(%ebp)
4567be:	0f 85 c6 00 00 00    	jne    0x45688a
4567c4:	e8 c7 1b ff ff       	call   0x448390
4567c9:	6a 01                	push   $0x1
4567cb:	33 c9                	xor    %ecx,%ecx
4567cd:	33 d2                	xor    %edx,%edx
4567cf:	8b 46 04             	mov    0x4(%esi),%eax
4567d2:	e8 9d 44 ff ff       	call   0x44ac74
4567d7:	e9 ae 00 00 00       	jmp    0x45688a
4567dc:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
4567df:	8b 55 0c             	mov    0xc(%ebp),%edx
4567e2:	8b 45 10             	mov    0x10(%ebp),%eax
4567e5:	e8 6e 05 fc ff       	call   0x416d58
4567ea:	8d 55 d4             	lea    -0x2c(%ebp),%edx
4567ed:	8d 4d f8             	lea    -0x8(%ebp),%ecx
4567f0:	8b c3                	mov    %ebx,%eax
4567f2:	e8 e1 e3 ff ff       	call   0x454bd8
4567f7:	8b f0                	mov    %eax,%esi
4567f9:	85 f6                	test   %esi,%esi
4567fb:	0f 84 89 00 00 00    	je     0x45688a
456801:	83 7d f8 12          	cmpl   $0x12,-0x8(%ebp)
456805:	75 1c                	jne    0x456823
456807:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
45680a:	8b 55 0c             	mov    0xc(%ebp),%edx
45680d:	8b 45 10             	mov    0x10(%ebp),%eax
456810:	e8 43 05 fc ff       	call   0x416d58
456815:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
456818:	8b d6                	mov    %esi,%edx
45681a:	8b c3                	mov    %ebx,%eax
45681c:	e8 33 f6 ff ff       	call   0x455e54
456821:	eb 67                	jmp    0x45688a
456823:	83 7d f8 02          	cmpl   $0x2,-0x8(%ebp)
456827:	75 61                	jne    0x45688a
456829:	6a 00                	push   $0x0
45682b:	68 03 02 00 00       	push   $0x203
456830:	68 03 02 00 00       	push   $0x203
456835:	8b 43 14             	mov    0x14(%ebx),%eax
456838:	e8 6f b1 ff ff       	call   0x4519ac
45683d:	50                   	push   %eax
45683e:	8d 45 dc             	lea    -0x24(%ebp),%eax
456841:	50                   	push   %eax
456842:	e8 71 09 fb ff       	call   0x4071b8
456847:	85 c0                	test   %eax,%eax
456849:	75 1d                	jne    0x456868
45684b:	8b 46 04             	mov    0x4(%esi),%eax
45684e:	8b 15 bc 59 44 00    	mov    0x4459bc,%edx
456854:	e8 4f d2 fa ff       	call   0x403aa8
456859:	84 c0                	test   %al,%al
45685b:	74 0b                	je     0x456868
45685d:	8b 46 04             	mov    0x4(%esi),%eax
456860:	8b 10                	mov    (%eax),%edx
456862:	ff 92 d4 00 00 00    	call   *0xd4(%edx)
456868:	8b 46 04             	mov    0x4(%esi),%eax
45686b:	80 b8 8f 00 00 00 01 	cmpb   $0x1,0x8f(%eax)
456872:	75 10                	jne    0x456884
456874:	80 78 5d 01          	cmpb   $0x1,0x5d(%eax)
456878:	75 0a                	jne    0x456884
45687a:	83 c9 ff             	or     $0xffffffff,%ecx
45687d:	33 d2                	xor    %edx,%edx
45687f:	e8 2c 3d ff ff       	call   0x44a5b0
456884:	8b 45 08             	mov    0x8(%ebp),%eax
456887:	c6 00 01             	movb   $0x1,(%eax)
45688a:	5e                   	pop    %esi
45688b:	5b                   	pop    %ebx
45688c:	8b e5                	mov    %ebp,%esp
45688e:	5d                   	pop    %ebp
45688f:	c2 0c 00             	ret    $0xc
456892:	8b c0                	mov    %eax,%eax
456894:	55                   	push   %ebp
456895:	8b ec                	mov    %esp,%ebp
456897:	53                   	push   %ebx
456898:	56                   	push   %esi
456899:	57                   	push   %edi
45689a:	8b 7d 08             	mov    0x8(%ebp),%edi
45689d:	83 c7 fc             	add    $0xfffffffc,%edi
4568a0:	8b 07                	mov    (%edi),%eax
4568a2:	8b 58 18             	mov    0x18(%eax),%ebx
4568a5:	8b 07                	mov    (%edi),%eax
4568a7:	8b 70 60             	mov    0x60(%eax),%esi
4568aa:	8b 46 14             	mov    0x14(%esi),%eax
4568ad:	80 78 10 01          	cmpb   $0x1,0x10(%eax)
4568b1:	75 36                	jne    0x4568e9
4568b3:	8b c6                	mov    %esi,%eax
4568b5:	ba 01 00 00 00       	mov    $0x1,%edx
4568ba:	e8 89 d3 ff ff       	call   0x453c48
4568bf:	03 c3                	add    %ebx,%eax
4568c1:	8b 17                	mov    (%edi),%edx
4568c3:	3b 42 54             	cmp    0x54(%edx),%eax
4568c6:	7c 05                	jl     0x4568cd
4568c8:	8b 17                	mov    (%edi),%edx
4568ca:	89 42 54             	mov    %eax,0x54(%edx)
4568cd:	8b 07                	mov    (%edi),%eax
4568cf:	8b 50 60             	mov    0x60(%eax),%edx
4568d2:	8b 07                	mov    (%edi),%eax
4568d4:	e8 1f f8 ff ff       	call   0x4560f8
4568d9:	2b c3                	sub    %ebx,%eax
4568db:	8b 17                	mov    (%edi),%edx
4568dd:	3b 42 54             	cmp    0x54(%edx),%eax
4568e0:	7f 3b                	jg     0x45691d
4568e2:	8b 17                	mov    (%edi),%edx
4568e4:	89 42 54             	mov    %eax,0x54(%edx)
4568e7:	eb 34                	jmp    0x45691d
4568e9:	8b c6                	mov    %esi,%eax
4568eb:	ba 02 00 00 00       	mov    $0x2,%edx
4568f0:	e8 53 d3 ff ff       	call   0x453c48
4568f5:	03 c3                	add    %ebx,%eax
4568f7:	8b 17                	mov    (%edi),%edx
4568f9:	3b 42 50             	cmp    0x50(%edx),%eax
4568fc:	7c 05                	jl     0x456903
4568fe:	8b 17                	mov    (%edi),%edx
456900:	89 42 50             	mov    %eax,0x50(%edx)
456903:	8b 07                	mov    (%edi),%eax
456905:	8b 50 60             	mov    0x60(%eax),%edx
456908:	8b 07                	mov    (%edi),%eax
45690a:	e8 e9 f7 ff ff       	call   0x4560f8
45690f:	2b c3                	sub    %ebx,%eax
456911:	8b 17                	mov    (%edi),%edx
456913:	3b 42 50             	cmp    0x50(%edx),%eax
456916:	7f 05                	jg     0x45691d
456918:	8b 17                	mov    (%edi),%edx
45691a:	89 42 50             	mov    %eax,0x50(%edx)
45691d:	5f                   	pop    %edi
45691e:	5e                   	pop    %esi
45691f:	5b                   	pop    %ebx
456920:	5d                   	pop    %ebp
456921:	c3                   	ret
456922:	8b c0                	mov    %eax,%eax
456924:	55                   	push   %ebp
456925:	8b ec                	mov    %esp,%ebp
456927:	83 c4 f4             	add    $0xfffffff4,%esp
45692a:	53                   	push   %ebx
45692b:	8b d9                	mov    %ecx,%ebx
45692d:	89 45 fc             	mov    %eax,-0x4(%ebp)
456930:	8b 45 fc             	mov    -0x4(%ebp),%eax
456933:	83 78 60 00          	cmpl   $0x0,0x60(%eax)
456937:	74 33                	je     0x45696c
456939:	8b 45 fc             	mov    -0x4(%ebp),%eax
45693c:	e8 3b f6 ff ff       	call   0x455f7c
456941:	8d 4d f4             	lea    -0xc(%ebp),%ecx
456944:	8b 55 0c             	mov    0xc(%ebp),%edx
456947:	8b c3                	mov    %ebx,%eax
456949:	e8 0a 04 fc ff       	call   0x416d58
45694e:	8b 45 fc             	mov    -0x4(%ebp),%eax
456951:	8b 55 f4             	mov    -0xc(%ebp),%edx
456954:	89 50 50             	mov    %edx,0x50(%eax)
456957:	8b 55 f8             	mov    -0x8(%ebp),%edx
45695a:	89 50 54             	mov    %edx,0x54(%eax)
45695d:	55                   	push   %ebp
45695e:	e8 31 ff ff ff       	call   0x456894
456963:	59                   	pop    %ecx
456964:	8b 45 fc             	mov    -0x4(%ebp),%eax
456967:	e8 10 f6 ff ff       	call   0x455f7c
45696c:	5b                   	pop    %ebx
45696d:	8b e5                	mov    %ebp,%esp
45696f:	5d                   	pop    %ebp
456970:	c2 08 00             	ret    $0x8
456973:	90                   	nop
456974:	55                   	push   %ebp
456975:	8b ec                	mov    %esp,%ebp
456977:	83 c4 f4             	add    $0xfffffff4,%esp
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