456742:	33 c0                	xor    %eax,%eax
456744:	55                   	push   %ebp
456745:	68 81 68 45 00       	push   $0x456881
45674a:	64 ff 30             	push   %fs:(%eax)
45674d:	64 89 20             	mov    %esp,%fs:(%eax)
456750:	f6 46 1c 10          	testb  $0x10,0x1c(%esi)
456754:	0f 85 11 01 00 00    	jne    0x45686b
45675a:	8b 45 fc             	mov    -0x4(%ebp),%eax
45675d:	8b 40 08             	mov    0x8(%eax),%eax
456760:	83 78 04 01          	cmpl   $0x1,0x4(%eax)
456764:	75 5d                	jne    0x4567c3
456766:	8b 40 0c             	mov    0xc(%eax),%eax
456769:	e8 9e 13 fe ff       	call   0x437b0c
45676e:	8b d8                	mov    %eax,%ebx
456770:	eb 03                	jmp    0x456775
456772:	8b 5b 30             	mov    0x30(%ebx),%ebx
456775:	85 db                	test   %ebx,%ebx
456777:	74 0b                	je     0x456784
456779:	8b c3                	mov    %ebx,%eax
45677b:	e8 44 ff ff ff       	call   0x4566c4
456780:	84 c0                	test   %al,%al
456782:	74 ee                	je     0x456772
456784:	85 db                	test   %ebx,%ebx
456786:	0f 84 df 00 00 00    	je     0x45686b
45678c:	8d 45 f0             	lea    -0x10(%ebp),%eax
45678f:	50                   	push   %eax
456790:	8d 4d f8             	lea    -0x8(%ebp),%ecx
456793:	8d 55 f7             	lea    -0x9(%ebp),%edx
456796:	8b c3                	mov    %ebx,%eax
456798:	e8 5f ff ff ff       	call   0x4566fc
45679d:	8d 4d dc             	lea    -0x24(%ebp),%ecx
4567a0:	33 d2                	xor    %edx,%edx
4567a2:	33 c0                	xor    %eax,%eax
4567a4:	e8 87 c1 fb ff       	call   0x412930
4567a9:	8d 55 dc             	lea    -0x24(%ebp),%edx
4567ac:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
4567af:	8b c3                	mov    %ebx,%eax
4567b1:	e8 e2 3f fe ff       	call   0x43a798
4567b6:	8d 45 e4             	lea    -0x1c(%ebp),%eax
4567b9:	e8 da 01 fb ff       	call   0x406998
4567be:	89 45 ec             	mov    %eax,-0x14(%ebp)
4567c1:	eb 4b                	jmp    0x45680e
4567c3:	c6 45 f7 01          	movb   $0x1,-0x9(%ebp)
4567c7:	55                   	push   %ebp
4567c8:	8b 86 48 02 00 00    	mov    0x248(%esi),%eax
4567ce:	e8 b1 fe ff ff       	call   0x456684
4567d3:	59                   	pop    %ecx
4567d4:	89 45 f8             	mov    %eax,-0x8(%ebp)
4567d7:	83 7d f8 00          	cmpl   $0x0,-0x8(%ebp)
4567db:	75 0d                	jne    0x4567ea
4567dd:	55                   	push   %ebp
4567de:	8b 46 7c             	mov    0x7c(%esi),%eax
4567e1:	e8 9e fe ff ff       	call   0x456684
4567e6:	59                   	pop    %ecx
4567e7:	89 45 f8             	mov    %eax,-0x8(%ebp)
4567ea:	8d 4d dc             	lea    -0x24(%ebp),%ecx
4567ed:	33 d2                	xor    %edx,%edx
4567ef:	33 c0                	xor    %eax,%eax
4567f1:	e8 3a c1 fb ff       	call   0x412930
4567f6:	8d 55 dc             	lea    -0x24(%ebp),%edx
4567f9:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
4567fc:	8b c6                	mov    %esi,%eax
4567fe:	e8 95 3f fe ff       	call   0x43a798
456803:	8d 45 e4             	lea    -0x1c(%ebp),%eax
456806:	e8 8d 01 fb ff       	call   0x406998
45680b:	89 45 ec             	mov    %eax,-0x14(%ebp)
45680e:	f6 86 28 02 00 00 08 	testb  $0x8,0x228(%esi)
456815:	74 2c                	je     0x456843
456817:	80 7d f7 01          	cmpb   $0x1,-0x9(%ebp)
45681b:	75 26                	jne    0x456843
45681d:	8b 4d ec             	mov    -0x14(%ebp),%ecx
456820:	ba 0d 00 00 00       	mov    $0xd,%edx
456825:	a1 b8 9b 46 00       	mov    0x469bb8,%eax
45682a:	e8 cd 45 00 00       	call   0x45adfc
45682f:	8b 4d f8             	mov    -0x8(%ebp),%ecx
456832:	ba 08 00 00 00       	mov    $0x8,%edx
456837:	a1 b8 9b 46 00       	mov    0x469bb8,%eax
45683c:	e8 bb 45 00 00       	call   0x45adfc
456841:	eb 28                	jmp    0x45686b
456843:	80 7d f7 01          	cmpb   $0x1,-0x9(%ebp)
456847:	75 0f                	jne    0x456858
456849:	8b 55 f8             	mov    -0x8(%ebp),%edx
45684c:	a1 b8 9b 46 00       	mov    0x469bb8,%eax
456851:	e8 3e 45 00 00       	call   0x45ad94
456856:	eb 13                	jmp    0x45686b
456858:	80 7d f7 00          	cmpb   $0x0,-0x9(%ebp)
45685c:	75 0d                	jne    0x45686b
45685e:	8b 55 f0             	mov    -0x10(%ebp),%edx
456861:	a1 b8 9b 46 00       	mov    0x469bb8,%eax
456866:	e8 c1 44 00 00       	call   0x45ad2c
45686b:	33 c0                	xor    %eax,%eax
45686d:	5a                   	pop    %edx
45686e:	59                   	pop    %ecx
45686f:	59                   	pop    %ecx
456870:	64 89 10             	mov    %edx,%fs:(%eax)
456873:	68 88 68 45 00       	push   $0x456888
456878:	8d 45 f0             	lea    -0x10(%ebp),%eax
45687b:	e8 3c d7 fa ff       	call   0x403fbc
456880:	c3                   	ret
456881:	e9 3a d1 fa ff       	jmp    0x4039c0
456886:	eb f0                	jmp    0x456878
456888:	5e                   	pop    %esi
456889:	5b                   	pop    %ebx
45688a:	8b e5                	mov    %ebp,%esp
45688c:	5d                   	pop    %ebp
45688d:	c3                   	ret
45688e:	8b c0                	mov    %eax,%eax
456890:	53                   	push   %ebx
456891:	56                   	push   %esi
456892:	51                   	push   %ecx
456893:	89 14 24             	mov    %edx,(%esp)
456896:	8b f0                	mov    %eax,%esi
456898:	f6 46 1c 02          	testb  $0x2,0x1c(%esi)
45689c:	75 55                	jne    0x4568f3
45689e:	80 be 2a 02 00 00 00 	cmpb   $0x0,0x22a(%esi)
4568a5:	74 4c                	je     0x4568f3
4568a7:	8b 14 24             	mov    (%esp),%edx
4568aa:	8b 52 08             	mov    0x8(%edx),%edx
4568ad:	8b 46 74             	mov    0x74(%esi),%eax
4568b0:	8d 4a 18             	lea    0x18(%edx),%ecx
4568b3:	8b 58 14             	mov    0x14(%eax),%ebx
4568b6:	85 db                	test   %ebx,%ebx
4568b8:	76 02                	jbe    0x4568bc
4568ba:	89 19                	mov    %ebx,(%ecx)
4568bc:	8b 58 10             	mov    0x10(%eax),%ebx
4568bf:	85 db                	test   %ebx,%ebx
4568c1:	76 03                	jbe    0x4568c6
4568c3:	89 59 04             	mov    %ebx,0x4(%ecx)
4568c6:	8d 4a 20             	lea    0x20(%edx),%ecx
4568c9:	8b 58 0c             	mov    0xc(%eax),%ebx
4568cc:	85 db                	test   %ebx,%ebx
4568ce:	76 02                	jbe    0x4568d2
4568d0:	89 19                	mov    %ebx,(%ecx)
4568d2:	8b 58 08             	mov    0x8(%eax),%ebx
4568d5:	85 db                	test   %ebx,%ebx
4568d7:	76 03                	jbe    0x4568dc
4568d9:	89 59 04             	mov    %ebx,0x4(%ecx)
4568dc:	8d 42 20             	lea    0x20(%edx),%eax
4568df:	50                   	push   %eax
4568e0:	8d 42 24             	lea    0x24(%edx),%eax
4568e3:	50                   	push   %eax
4568e4:	8d 4a 1c             	lea    0x1c(%edx),%ecx
4568e7:	8d 42 18             	lea    0x18(%edx),%eax
4568ea:	8b d0                	mov    %eax,%edx
4568ec:	8b c6                	mov    %esi,%eax
4568ee:	8b 18                	mov    (%eax),%ebx
4568f0:	ff 53 38             	call   *0x38(%ebx)
4568f3:	8b 14 24             	mov    (%esp),%edx
4568f6:	8b c6                	mov    %esi,%eax
4568f8:	8b 08                	mov    (%eax),%ecx
4568fa:	ff 51 f0             	call   *-0x10(%ecx)
4568fd:	5a                   	pop    %edx
4568fe:	5e                   	pop    %esi
4568ff:	5b                   	pop    %ebx
456900:	c3                   	ret
456901:	8d 40 00             	lea    0x0(%eax),%eax
456904:	55                   	push   %ebp
456905:	8b ec                	mov    %esp,%ebp
456907:	53                   	push   %ebx
456908:	56                   	push   %esi
456909:	8b f2                	mov    %edx,%esi
45690b:	8b d8                	mov    %eax,%ebx
45690d:	8b 03                	mov    (%ebx),%eax
45690f:	03 c1                	add    %ecx,%eax
456911:	2b c6                	sub    %esi,%eax
456913:	99                   	cltd
456914:	33 c2                	xor    %edx,%eax
456916:	2b c2                	sub    %edx,%eax
456918:	8b 55 08             	mov    0x8(%ebp),%edx
45691b:	8b 52 fc             	mov    -0x4(%edx),%edx
45691e:	3b 82 e4 02 00 00    	cmp    0x2e4(%edx),%eax
456924:	7d 04                	jge    0x45692a
456926:	2b f1                	sub    %ecx,%esi
456928:	89 33                	mov    %esi,(%ebx)
45692a:	5e                   	pop    %esi
45692b:	5b                   	pop    %ebx
45692c:	5d                   	pop    %ebp
45692d:	c3                   	ret
45692e:	8b c0                	mov    %eax,%eax
456930:	55                   	push   %ebp
456931:	8b ec                	mov    %esp,%ebp
456933:	83 c4 dc             	add    $0xffffffdc,%esp
456936:	53                   	push   %ebx
456937:	56                   	push   %esi
456938:	8b da                	mov    %edx,%ebx
45693a:	89 45 fc             	mov    %eax,-0x4(%ebp)
45693d:	8b 55 fc             	mov    -0x4(%ebp),%edx
456940:	80 ba e2 02 00 00 00 	cmpb   $0x0,0x2e2(%edx)
456947:	0f 84 88 00 00 00    	je     0x4569d5
45694d:	8b 43 08             	mov    0x8(%ebx),%eax
456950:	83 78 08 00          	cmpl   $0x0,0x8(%eax)
456954:	75 06                	jne    0x45695c
456956:	83 78 0c 00          	cmpl   $0x0,0xc(%eax)
45695a:	74 79                	je     0x4569d5
45695c:	8b 73 08             	mov    0x8(%ebx),%esi
45695f:	8b 45 fc             	mov    -0x4(%ebp),%eax
456962:	e8 d9 df ff ff       	call   0x454940
456967:	8d 55 ec             	lea    -0x14(%ebp),%edx
45696a:	e8 99 17 00 00       	call   0x458108
45696f:	55                   	push   %ebp
456970:	8b 45 fc             	mov    -0x4(%ebp),%eax
456973:	e8 c8 df ff ff       	call   0x454940
456978:	8d 55 dc             	lea    -0x24(%ebp),%edx
45697b:	e8 88 17 00 00       	call   0x458108
456980:	8b 4d dc             	mov    -0x24(%ebp),%ecx
456983:	8d 46 08             	lea    0x8(%esi),%eax
456986:	8b 55 ec             	mov    -0x14(%ebp),%edx
456989:	e8 76 ff ff ff       	call   0x456904
45698e:	59                   	pop    %ecx
45698f:	55                   	push   %ebp
456990:	8b 45 fc             	mov    -0x4(%ebp),%eax
456993:	e8 a8 df ff ff       	call   0x454940
456998:	8d 55 dc             	lea    -0x24(%ebp),%edx
45699b:	e8 68 17 00 00       	call   0x458108
4569a0:	8b 4d e0             	mov    -0x20(%ebp),%ecx
4569a3:	8d 46 0c             	lea    0xc(%esi),%eax
4569a6:	8b 55 f0             	mov    -0x10(%ebp),%edx
4569a9:	e8 56 ff ff ff       	call   0x456904
4569ae:	59                   	pop    %ecx
4569af:	55                   	push   %ebp
4569b0:	8b 45 fc             	mov    -0x4(%ebp),%eax
4569b3:	8b 48 48             	mov    0x48(%eax),%ecx
4569b6:	8d 46 08             	lea    0x8(%esi),%eax
4569b9:	8b 55 f4             	mov    -0xc(%ebp),%edx
4569bc:	e8 43 ff ff ff       	call   0x456904
4569c1:	59                   	pop    %ecx
4569c2:	55                   	push   %ebp
4569c3:	8b 45 fc             	mov    -0x4(%ebp),%eax
4569c6:	8b 48 4c             	mov    0x4c(%eax),%ecx
4569c9:	8d 46 0c             	lea    0xc(%esi),%eax
4569cc:	8b 55 f8             	mov    -0x8(%ebp),%edx
4569cf:	e8 30 ff ff ff       	call   0x456904
4569d4:	59                   	pop    %ecx
4569d5:	8b d3                	mov    %ebx,%edx
4569d7:	8b 45 fc             	mov    -0x4(%ebp),%eax
4569da:	e8 19 90 fe ff       	call   0x43f9f8
4569df:	5e                   	pop    %esi
4569e0:	5b                   	pop    %ebx
4569e1:	8b e5                	mov    %ebp,%esp
4569e3:	5d                   	pop    %ebp
4569e4:	c3                   	ret
4569e5:	8d 40 00             	lea    0x0(%eax),%eax
4569e8:	53                   	push   %ebx
4569e9:	56                   	push   %esi
4569ea:	8b d8                	mov    %eax,%ebx
4569ec:	f6 43 1c 02          	testb  $0x2,0x1c(%ebx)
4569f0:	75 0e                	jne    0x456a00
4569f2:	8b c3                	mov    %ebx,%eax
4569f4:	66 be b3 ff          	mov    $0xffb3,%si
4569f8:	e8 6b ca fa ff       	call   0x403468
4569fd:	5e                   	pop    %esi
4569fe:	5b                   	pop    %ebx
4569ff:	c3                   	ret
456a00:	80 8b f4 02 00 00 20 	orb    $0x20,0x2f4(%ebx)
456a07:	5e                   	pop    %esi
456a08:	5b                   	pop    %ebx
456a09:	c3                   	ret
456a0a:	8b c0                	mov    %eax,%eax
456a0c:	53                   	push   %ebx
456a0d:	56                   	push   %esi
456a0e:	8b d8                	mov    %eax,%ebx
456a10:	f6 43 1c 02          	testb  $0x2,0x1c(%ebx)
456a14:	75 0e                	jne    0x456a24
456a16:	8b c3                	mov    %ebx,%eax
456a18:	66 be b1 ff          	mov    $0xffb1,%si
456a1c:	e8 47 ca fa ff       	call   0x403468
456a21:	5e                   	pop    %esi
456a22:	5b                   	pop    %ebx
456a23:	c3                   	ret
456a24:	80 a3 f4 02 00 00 df 	andb   $0xdf,0x2f4(%ebx)
456a2b:	5e                   	pop    %esi
456a2c:	5b                   	pop    %ebx
456a2d:	c3                   	ret
456a2e:	8b c0                	mov    %eax,%eax
456a30:	53                   	push   %ebx
456a31:	56                   	push   %esi
456a32:	8b f2                	mov    %edx,%esi
456a34:	8b d8                	mov    %eax,%ebx
456a36:	6a 12                	push   $0x12
456a38:	e8 ab fb fa ff       	call   0x4065e8
456a3d:	66 85 c0             	test   %ax,%ax
456a40:	7c 7c                	jl     0x456abe
456a42:	66 8b 46 04          	mov    0x4(%esi),%ax
456a46:	66 83 e8 09          	sub    $0x9,%ax
456a4a:	74 0b                	je     0x456a57
456a4c:	83 c0 e4             	add    $0xffffffe4,%eax
456a4f:	66 83 e8 04          	sub    $0x4,%ax
456a53:	72 34                	jb     0x456a89
456a55:	eb 67                	jmp    0x456abe
456a57:	6a 11                	push   $0x11
456a59:	e8 8a fb fa ff       	call   0x4065e8
456a5e:	66 85 c0             	test   %ax,%ax
456a61:	7c 5b                	jl     0x456abe
456a63:	6a 01                	push   $0x1
456a65:	6a 10                	push   $0x10
456a67:	e8 7c fb fa ff       	call   0x4065e8
456a6c:	66 85 c0             	test   %ax,%ax
456a6f:	0f 9d c1             	setge  %cl
456a72:	8b 93 20 02 00 00    	mov    0x220(%ebx),%edx
456a78:	8b c3                	mov    %ebx,%eax
456a7a:	e8 11 af fe ff       	call   0x441990
456a7f:	c7 46 0c 01 00 00 00 	movl   $0x1,0xc(%esi)
456a86:	5e                   	pop    %esi
456a87:	5b                   	pop    %ebx
456a88:	c3                   	ret
456a89:	8b 83 20 02 00 00    	mov    0x220(%ebx),%eax
456a8f:	85 c0                	test   %eax,%eax
456a91:	74 34                	je     0x456ac7
456a93:	6a 00                	push   $0x0
456a95:	66 8b 56 04          	mov    0x4(%esi),%dx
456a99:	66 83 fa 27          	cmp    $0x27,%dx
456a9d:	74 0a                	je     0x456aa9
456a9f:	66 83 fa 28          	cmp    $0x28,%dx
456aa3:	74 04                	je     0x456aa9
456aa5:	33 c9                	xor    %ecx,%ecx
456aa7:	eb 02                	jmp    0x456aab
456aa9:	b1 01                	mov    $0x1,%cl
456aab:	8b 50 30             	mov    0x30(%eax),%edx
456aae:	92                   	xchg   %eax,%edx
456aaf:	e8 dc ae fe ff       	call   0x441990
456ab4:	c7 46 0c 01 00 00 00 	movl   $0x1,0xc(%esi)
456abb:	5e                   	pop    %esi
456abc:	5b                   	pop    %ebx
456abd:	c3                   	ret
456abe:	8b d6                	mov    %esi,%edx
456ac0:	8b c3                	mov    %ebx,%eax
456ac2:	e8 11 9e fe ff       	call   0x4408d8
456ac7:	5e                   	pop    %esi
456ac8:	5b                   	pop    %ebx
456ac9:	c3                   	ret
456aca:	8b c0                	mov    %eax,%eax
456acc:	55                   	push   %ebp
456acd:	8b ec                	mov    %esp,%ebp
456acf:	83 c4 f8             	add    $0xfffffff8,%esp
456ad2:	53                   	push   %ebx
456ad3:	56                   	push   %esi
456ad4:	57                   	push   %edi
456ad5:	33 c9                	xor    %ecx,%ecx
456ad7:	89 4d f8             	mov    %ecx,-0x8(%ebp)
456ada:	89 45 fc             	mov    %eax,-0x4(%ebp)
456add:	33 c0                	xor    %eax,%eax
456adf:	55                   	push   %ebp
456ae0:	68 36 70 45 00       	push   $0x457036
456ae5:	64 ff 30             	push   %fs:(%eax)
456ae8:	64 89 20             	mov    %esp,%fs:(%eax)
456aeb:	8b 45 fc             	mov    -0x4(%ebp),%eax
456aee:	f6 40 1c 10          	testb  $0x10,0x1c(%eax)
456af2:	75 2d                	jne    0x456b21
456af4:	8b 45 fc             	mov    -0x4(%ebp),%eax
456af7:	f6 80 f4 02 00 00 04 	testb  $0x4,0x2f4(%eax)