46e742:	0f 8c af 01 00 00    	jl     0x46e8f7
46e748:	39 45 90             	cmp    %eax,-0x70(%ebp)
46e74b:	0f 83 60 01 00 00    	jae    0x46e8b1
46e751:	e9 a1 01 00 00       	jmp    0x46e8f7
46e756:	ff 75 14             	push   0x14(%ebp)
46e759:	8b 4d 98             	mov    -0x68(%ebp),%ecx
46e75c:	56                   	push   %esi
46e75d:	e8 2e 72 ff ff       	call   0x465990
46e762:	ff 75 14             	push   0x14(%ebp)
46e765:	8b 4d 98             	mov    -0x68(%ebp),%ecx
46e768:	8b f0                	mov    %eax,%esi
46e76a:	ff 75 94             	push   -0x6c(%ebp)
46e76d:	e8 1e 72 ff ff       	call   0x465990
46e772:	3b f0                	cmp    %eax,%esi
46e774:	0f 92 c0             	setb   %al
46e777:	e9 31 01 00 00       	jmp    0x46e8ad
46e77c:	ff 75 14             	push   0x14(%ebp)
46e77f:	8b 4d 98             	mov    -0x68(%ebp),%ecx
46e782:	56                   	push   %esi
46e783:	e8 e8 72 ff ff       	call   0x465a70
46e788:	ff 75 14             	push   0x14(%ebp)
46e78b:	8b 4d 98             	mov    -0x68(%ebp),%ecx
46e78e:	8b f2                	mov    %edx,%esi
46e790:	ff 75 94             	push   -0x6c(%ebp)
46e793:	89 45 90             	mov    %eax,-0x70(%ebp)
46e796:	e8 d5 72 ff ff       	call   0x465a70
46e79b:	3b f2                	cmp    %edx,%esi
46e79d:	0f 87 0e 01 00 00    	ja     0x46e8b1
46e7a3:	0f 82 4e 01 00 00    	jb     0x46e8f7
46e7a9:	39 45 90             	cmp    %eax,-0x70(%ebp)
46e7ac:	0f 83 ff 00 00 00    	jae    0x46e8b1
46e7b2:	e9 40 01 00 00       	jmp    0x46e8f7
46e7b7:	ff 75 14             	push   0x14(%ebp)
46e7ba:	8b 4d 98             	mov    -0x68(%ebp),%ecx
46e7bd:	8d 45 d8             	lea    -0x28(%ebp),%eax
46e7c0:	56                   	push   %esi
46e7c1:	50                   	push   %eax
46e7c2:	e8 c9 6f ff ff       	call   0x465790
46e7c7:	ff 75 14             	push   0x14(%ebp)
46e7ca:	8b 4d 98             	mov    -0x68(%ebp),%ecx
46e7cd:	8d 45 c0             	lea    -0x40(%ebp),%eax
46e7d0:	ff 75 94             	push   -0x6c(%ebp)
46e7d3:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
46e7da:	50                   	push   %eax
46e7db:	e8 b0 6f ff ff       	call   0x465790
46e7e0:	83 7d d4 10          	cmpl   $0x10,-0x2c(%ebp)
46e7e4:	8d 4d c0             	lea    -0x40(%ebp),%ecx
46e7e7:	8b 45 c0             	mov    -0x40(%ebp),%eax
46e7ea:	ff 75 d0             	push   -0x30(%ebp)
46e7ed:	8b 75 d8             	mov    -0x28(%ebp),%esi
46e7f0:	0f 43 c8             	cmovae %eax,%ecx
46e7f3:	83 7d ec 10          	cmpl   $0x10,-0x14(%ebp)
46e7f7:	89 45 90             	mov    %eax,-0x70(%ebp)
46e7fa:	8d 45 d8             	lea    -0x28(%ebp),%eax
46e7fd:	51                   	push   %ecx
46e7fe:	ff 75 e8             	push   -0x18(%ebp)
46e801:	0f 43 c6             	cmovae %esi,%eax
46e804:	50                   	push   %eax
46e805:	e8 06 fd ff ff       	call   0x46e510
46e80a:	c1 e8 1f             	shr    $0x1f,%eax
46e80d:	83 c4 10             	add    $0x10,%esp
46e810:	89 45 94             	mov    %eax,-0x6c(%ebp)
46e813:	8b 45 d4             	mov    -0x2c(%ebp),%eax
46e816:	83 f8 10             	cmp    $0x10,%eax
46e819:	72 31                	jb     0x46e84c
46e81b:	8b 4d 90             	mov    -0x70(%ebp),%ecx
46e81e:	8d 50 01             	lea    0x1(%eax),%edx
46e821:	8b c1                	mov    %ecx,%eax
46e823:	81 fa 00 10 00 00    	cmp    $0x1000,%edx
46e829:	72 14                	jb     0x46e83f
46e82b:	8b 49 fc             	mov    -0x4(%ecx),%ecx
46e82e:	83 c2 23             	add    $0x23,%edx
46e831:	2b c1                	sub    %ecx,%eax
46e833:	83 c0 fc             	add    $0xfffffffc,%eax
46e836:	83 f8 1f             	cmp    $0x1f,%eax
46e839:	0f 87 f5 00 00 00    	ja     0x46e934
46e83f:	52                   	push   %edx
46e840:	51                   	push   %ecx
46e841:	e8 0f 2a 16 00       	call   0x5d1255
46e846:	8b 75 d8             	mov    -0x28(%ebp),%esi
46e849:	83 c4 08             	add    $0x8,%esp
46e84c:	8b 45 ec             	mov    -0x14(%ebp),%eax
46e84f:	c7 45 d0 00 00 00 00 	movl   $0x0,-0x30(%ebp)
46e856:	c7 45 d4 0f 00 00 00 	movl   $0xf,-0x2c(%ebp)
46e85d:	c6 45 c0 00          	movb   $0x0,-0x40(%ebp)
46e861:	c7 45 fc ff ff ff ff 	movl   $0xffffffff,-0x4(%ebp)
46e868:	83 f8 10             	cmp    $0x10,%eax
46e86b:	72 2b                	jb     0x46e898
46e86d:	8d 48 01             	lea    0x1(%eax),%ecx
46e870:	8b c6                	mov    %esi,%eax
46e872:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
46e878:	72 14                	jb     0x46e88e
46e87a:	8b 76 fc             	mov    -0x4(%esi),%esi
46e87d:	83 c1 23             	add    $0x23,%ecx
46e880:	2b c6                	sub    %esi,%eax
46e882:	83 c0 fc             	add    $0xfffffffc,%eax
46e885:	83 f8 1f             	cmp    $0x1f,%eax
46e888:	0f 87 a6 00 00 00    	ja     0x46e934
46e88e:	51                   	push   %ecx
46e88f:	56                   	push   %esi
46e890:	e8 c0 29 16 00       	call   0x5d1255
46e895:	83 c4 08             	add    $0x8,%esp
46e898:	8b 45 94             	mov    -0x6c(%ebp),%eax
46e89b:	c7 45 e8 00 00 00 00 	movl   $0x0,-0x18(%ebp)
46e8a2:	c7 45 ec 0f 00 00 00 	movl   $0xf,-0x14(%ebp)
46e8a9:	c6 45 d8 00          	movb   $0x0,-0x28(%ebp)
46e8ad:	84 c0                	test   %al,%al
46e8af:	75 46                	jne    0x46e8f7
46e8b1:	8b 4d 88             	mov    -0x78(%ebp),%ecx
46e8b4:	8b fb                	mov    %ebx,%edi
46e8b6:	eb 4f                	jmp    0x46e907
46e8b8:	68 d2 00 00 00       	push   $0xd2
46e8bd:	68 e0 76 60 00       	push   $0x6076e0
46e8c2:	6a 02                	push   $0x2
46e8c4:	8d 4d 9c             	lea    -0x64(%ebp),%ecx
46e8c7:	e8 14 6a 00 00       	call   0x4752e0
46e8cc:	68 48 77 60 00       	push   $0x607748
46e8d1:	8b c8                	mov    %eax,%ecx
46e8d3:	c7 45 fc 01 00 00 00 	movl   $0x1,-0x4(%ebp)
46e8da:	e8 11 70 00 00       	call   0x4758f0
46e8df:	50                   	push   %eax
46e8e0:	8d 4d 8f             	lea    -0x71(%ebp),%ecx
46e8e3:	e8 98 6d 00 00       	call   0x475680
46e8e8:	8d 4d 9c             	lea    -0x64(%ebp),%ecx
46e8eb:	c7 45 fc ff ff ff ff 	movl   $0xffffffff,-0x4(%ebp)
46e8f2:	e8 19 6d 00 00       	call   0x475610
46e8f7:	8b 4d 80             	mov    -0x80(%ebp),%ecx
46e8fa:	83 c8 ff             	or     $0xffffffff,%eax
46e8fd:	83 c1 04             	add    $0x4,%ecx
46e900:	2b c3                	sub    %ebx,%eax
46e902:	89 4d 88             	mov    %ecx,-0x78(%ebp)
46e905:	03 f8                	add    %eax,%edi
46e907:	85 ff                	test   %edi,%edi
46e909:	7e 0b                	jle    0x46e916
46e90b:	8b 95 7c ff ff ff    	mov    -0x84(%ebp),%edx
46e911:	e9 6d fd ff ff       	jmp    0x46e683
46e916:	8b c1                	mov    %ecx,%eax
46e918:	8b 4d f4             	mov    -0xc(%ebp),%ecx
46e91b:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
46e922:	59                   	pop    %ecx
46e923:	5f                   	pop    %edi
46e924:	5e                   	pop    %esi
46e925:	5b                   	pop    %ebx
46e926:	8b 4d f0             	mov    -0x10(%ebp),%ecx
46e929:	33 cd                	xor    %ebp,%ecx
46e92b:	e8 f6 30 16 00       	call   0x5d1a26
46e930:	8b e5                	mov    %ebp,%esp
46e932:	5d                   	pop    %ebp
46e933:	c3                   	ret
46e934:	e8 b7 78 16 00       	call   0x5d61f0
46e939:	0f 1f 00             	nopl   (%eax)
46e93c:	f5                   	cmc
46e93d:	e6 46                	out    %al,$0x46
46e93f:	00 1b                	add    %bl,(%ebx)
46e941:	e7 46                	out    %eax,$0x46
46e943:	00 56 e7             	add    %dl,-0x19(%esi)
46e946:	46                   	inc    %esi
46e947:	00 7c e7 46          	add    %bh,0x46(%edi,%eiz,8)
46e94b:	00 b8 e8 46 00 b8    	add    %bh,-0x47ffb918(%eax)
46e951:	e8 46 00 cc e6       	call   0xe712e99c
46e956:	46                   	inc    %esi
46e957:	00 b8 e8 46 00 b7    	add    %bh,-0x48ffb918(%eax)
46e95d:	e7 46                	out    %eax,$0x46
46e95f:	00 55 8b             	add    %dl,-0x75(%ebp)
46e962:	ec                   	in     (%dx),%al
46e963:	6a ff                	push   $0xffffffff
46e965:	68 25 98 5f 00       	push   $0x5f9825
46e96a:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
46e970:	50                   	push   %eax
46e971:	81 ec 80 00 00 00    	sub    $0x80,%esp
46e977:	a1 c0 14 69 00       	mov    0x6914c0,%eax
46e97c:	33 c5                	xor    %ebp,%eax
46e97e:	89 45 f0             	mov    %eax,-0x10(%ebp)
46e981:	53                   	push   %ebx
46e982:	56                   	push   %esi
46e983:	57                   	push   %edi
46e984:	50                   	push   %eax
46e985:	8d 45 f4             	lea    -0xc(%ebp),%eax
46e988:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
46e98e:	8b 4d 08             	mov    0x8(%ebp),%ecx
46e991:	8b 7d 0c             	mov    0xc(%ebp),%edi
46e994:	8b 55 10             	mov    0x10(%ebp),%edx
46e997:	2b f9                	sub    %ecx,%edi
46e999:	c1 ff 02             	sar    $0x2,%edi
46e99c:	89 4d 88             	mov    %ecx,-0x78(%ebp)
46e99f:	89 95 7c ff ff ff    	mov    %edx,-0x84(%ebp)
46e9a5:	85 ff                	test   %edi,%edi
46e9a7:	0f 8e 98 02 00 00    	jle    0x46ec45
46e9ad:	8b 45 14             	mov    0x14(%ebp),%eax
46e9b0:	89 45 84             	mov    %eax,-0x7c(%ebp)
46e9b3:	8b 32                	mov    (%edx),%esi
46e9b5:	8b df                	mov    %edi,%ebx
46e9b7:	d1 eb                	shr    $1,%ebx
46e9b9:	89 5d 90             	mov    %ebx,-0x70(%ebp)
46e9bc:	8d 04 99             	lea    (%ecx,%ebx,4),%eax
46e9bf:	89 45 80             	mov    %eax,-0x80(%ebp)
46e9c2:	8d 8d 74 ff ff ff    	lea    -0x8c(%ebp),%ecx
46e9c8:	8b 00                	mov    (%eax),%eax
46e9ca:	89 45 94             	mov    %eax,-0x6c(%ebp)
46e9cd:	8b 06                	mov    (%esi),%eax
46e9cf:	51                   	push   %ecx
46e9d0:	8b ce                	mov    %esi,%ecx
46e9d2:	ff 50 48             	call   *0x48(%eax)
46e9d5:	8b 4d 84             	mov    -0x7c(%ebp),%ecx
46e9d8:	8b 40 04             	mov    0x4(%eax),%eax
46e9db:	89 45 98             	mov    %eax,-0x68(%ebp)
46e9de:	e8 bd a7 fe ff       	call   0x4591a0
46e9e3:	8b 04 85 98 7b 60 00 	mov    0x607b98(,%eax,4),%eax
46e9ea:	48                   	dec    %eax
46e9eb:	83 f8 08             	cmp    $0x8,%eax
46e9ee:	0f 87 fe 01 00 00    	ja     0x46ebf2
46e9f4:	ff 24 85 68 ec 46 00 	jmp    *0x46ec68(,%eax,4)
46e9fb:	ff 75 14             	push   0x14(%ebp)
46e9fe:	8b 4d 98             	mov    -0x68(%ebp),%ecx
46ea01:	56                   	push   %esi
46ea02:	e8 49 59 ff ff       	call   0x464350
46ea07:	ff 75 14             	push   0x14(%ebp)
46ea0a:	8b 4d 98             	mov    -0x68(%ebp),%ecx
46ea0d:	8a d8                	mov    %al,%bl
46ea0f:	ff 75 94             	push   -0x6c(%ebp)
46ea12:	e8 39 59 ff ff       	call   0x464350
46ea17:	3a d8                	cmp    %al,%bl
46ea19:	8b 5d 90             	mov    -0x70(%ebp),%ebx
46ea1c:	0f 92 c0             	setb   %al
46ea1f:	e9 b8 01 00 00       	jmp    0x46ebdc
46ea24:	ff 75 14             	push   0x14(%ebp)
46ea27:	8b 4d 98             	mov    -0x68(%ebp),%ecx
46ea2a:	56                   	push   %esi
46ea2b:	e8 00 5f ff ff       	call   0x464930
46ea30:	ff 75 14             	push   0x14(%ebp)
46ea33:	8b 4d 98             	mov    -0x68(%ebp),%ecx
46ea36:	8b f0                	mov    %eax,%esi
46ea38:	ff 75 94             	push   -0x6c(%ebp)
46ea3b:	e8 f0 5e ff ff       	call   0x464930
46ea40:	3b f0                	cmp    %eax,%esi
46ea42:	0f 9c c0             	setl   %al
46ea45:	e9 92 01 00 00       	jmp    0x46ebdc
46ea4a:	ff 75 14             	push   0x14(%ebp)
46ea4d:	8b 4d 98             	mov    -0x68(%ebp),%ecx
46ea50:	56                   	push   %esi
46ea51:	e8 ba 5f ff ff       	call   0x464a10
46ea56:	ff 75 14             	push   0x14(%ebp)
46ea59:	8b 4d 98             	mov    -0x68(%ebp),%ecx
46ea5c:	8b f2                	mov    %edx,%esi
46ea5e:	ff 75 94             	push   -0x6c(%ebp)
46ea61:	89 45 90             	mov    %eax,-0x70(%ebp)
46ea64:	e8 a7 5f ff ff       	call   0x464a10
46ea69:	3b f2                	cmp    %edx,%esi
46ea6b:	0f 8f 6f 01 00 00    	jg     0x46ebe0
46ea71:	0f 8c ba 01 00 00    	jl     0x46ec31
46ea77:	39 45 90             	cmp    %eax,-0x70(%ebp)
46ea7a:	0f 83 60 01 00 00    	jae    0x46ebe0
46ea80:	e9 ac 01 00 00       	jmp    0x46ec31
46ea85:	ff 75 14             	push   0x14(%ebp)
46ea88:	8b 4d 98             	mov    -0x68(%ebp),%ecx
46ea8b:	56                   	push   %esi
46ea8c:	e8 ff 6e ff ff       	call   0x465990
46ea91:	ff 75 14             	push   0x14(%ebp)
46ea94:	8b 4d 98             	mov    -0x68(%ebp),%ecx
46ea97:	8b f0                	mov    %eax,%esi
46ea99:	ff 75 94             	push   -0x6c(%ebp)
46ea9c:	e8 ef 6e ff ff       	call   0x465990
46eaa1:	3b f0                	cmp    %eax,%esi
46eaa3:	0f 92 c0             	setb   %al
46eaa6:	e9 31 01 00 00       	jmp    0x46ebdc
46eaab:	ff 75 14             	push   0x14(%ebp)
46eaae:	8b 4d 98             	mov    -0x68(%ebp),%ecx
46eab1:	56                   	push   %esi
46eab2:	e8 b9 6f ff ff       	call   0x465a70
46eab7:	ff 75 14             	push   0x14(%ebp)
46eaba:	8b 4d 98             	mov    -0x68(%ebp),%ecx
46eabd:	8b f2                	mov    %edx,%esi
46eabf:	ff 75 94             	push   -0x6c(%ebp)
46eac2:	89 45 90             	mov    %eax,-0x70(%ebp)
46eac5:	e8 a6 6f ff ff       	call   0x465a70
46eaca:	3b f2                	cmp    %edx,%esi
46eacc:	0f 87 0e 01 00 00    	ja     0x46ebe0
46ead2:	0f 82 59 01 00 00    	jb     0x46ec31
46ead8:	39 45 90             	cmp    %eax,-0x70(%ebp)
46eadb:	0f 83 ff 00 00 00    	jae    0x46ebe0
46eae1:	e9 4b 01 00 00       	jmp    0x46ec31
46eae6:	ff 75 14             	push   0x14(%ebp)
46eae9:	8b 4d 98             	mov    -0x68(%ebp),%ecx
46eaec:	8d 45 d8             	lea    -0x28(%ebp),%eax
46eaef:	56                   	push   %esi
46eaf0:	50                   	push   %eax
46eaf1:	e8 9a 6c ff ff       	call   0x465790
46eaf6:	ff 75 14             	push   0x14(%ebp)
46eaf9:	8b 4d 98             	mov    -0x68(%ebp),%ecx
46eafc:	8d 45 c0             	lea    -0x40(%ebp),%eax
46eaff:	ff 75 94             	push   -0x6c(%ebp)
46eb02:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
46eb09:	50                   	push   %eax
46eb0a:	e8 81 6c ff ff       	call   0x465790
46eb0f:	83 7d d4 10          	cmpl   $0x10,-0x2c(%ebp)
46eb13:	8d 4d c0             	lea    -0x40(%ebp),%ecx
46eb16:	8b 45 c0             	mov    -0x40(%ebp),%eax
46eb19:	ff 75 d0             	push   -0x30(%ebp)
46eb1c:	8b 75 d8             	mov    -0x28(%ebp),%esi
46eb1f:	0f 43 c8             	cmovae %eax,%ecx
46eb22:	83 7d ec 10          	cmpl   $0x10,-0x14(%ebp)
46eb26:	89 45 90             	mov    %eax,-0x70(%ebp)
46eb29:	8d 45 d8             	lea    -0x28(%ebp),%eax
46eb2c:	51                   	push   %ecx
46eb2d:	ff 75 e8             	push   -0x18(%ebp)
46eb30:	0f 43 c6             	cmovae %esi,%eax
46eb33:	50                   	push   %eax
46eb34:	e8 d7 f9 ff ff       	call   0x46e510
46eb39:	c1 e8 1f             	shr    $0x1f,%eax
46eb3c:	83 c4 10             	add    $0x10,%esp
46eb3f:	89 45 94             	mov    %eax,-0x6c(%ebp)
46eb42:	8b 45 d4             	mov    -0x2c(%ebp),%eax
46eb45:	83 f8 10             	cmp    $0x10,%eax
46eb48:	72 31                	jb     0x46eb7b
46eb4a:	8b 4d 90             	mov    -0x70(%ebp),%ecx
46eb4d:	8d 50 01             	lea    0x1(%eax),%edx
46eb50:	8b c1                	mov    %ecx,%eax
46eb52:	81 fa 00 10 00 00    	cmp    $0x1000,%edx
46eb58:	72 14                	jb     0x46eb6e
46eb5a:	8b 49 fc             	mov    -0x4(%ecx),%ecx
46eb5d:	83 c2 23             	add    $0x23,%edx
46eb60:	2b c1                	sub    %ecx,%eax
46eb62:	83 c0 fc             	add    $0xfffffffc,%eax
46eb65:	83 f8 1f             	cmp    $0x1f,%eax
46eb68:	0f 87 f5 00 00 00    	ja     0x46ec63
46eb6e:	52                   	push   %edx
46eb6f:	51                   	push   %ecx
46eb70:	e8 e0 26 16 00       	call   0x5d1255
46eb75:	8b 75 d8             	mov    -0x28(%ebp),%esi
46eb78:	83 c4 08             	add    $0x8,%esp
46eb7b:	8b 45 ec             	mov    -0x14(%ebp),%eax
46eb7e:	c7 45 d0 00 00 00 00 	movl   $0x0,-0x30(%ebp)
46eb85:	c7 45 d4 0f 00 00 00 	movl   $0xf,-0x2c(%ebp)
46eb8c:	c6 45 c0 00          	movb   $0x0,-0x40(%ebp)
46eb90:	c7 45 fc ff ff ff ff 	movl   $0xffffffff,-0x4(%ebp)
46eb97:	83 f8 10             	cmp    $0x10,%eax
46eb9a:	72 2b                	jb     0x46ebc7
46eb9c:	8d 48 01             	lea    0x1(%eax),%ecx
46eb9f:	8b c6                	mov    %esi,%eax
46eba1:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
46eba7:	72 14                	jb     0x46ebbd
46eba9:	8b 76 fc             	mov    -0x4(%esi),%esi
46ebac:	83 c1 23             	add    $0x23,%ecx
46ebaf:	2b c6                	sub    %esi,%eax
46ebb1:	83 c0 fc             	add    $0xfffffffc,%eax
46ebb4:	83 f8 1f             	cmp    $0x1f,%eax
46ebb7:	0f 87 a6 00 00 00    	ja     0x46ec63
46ebbd:	51                   	push   %ecx
46ebbe:	56                   	push   %esi
46ebbf:	e8 91 26 16 00       	call   0x5d1255