458953:	8b 45 fc             	mov    -0x4(%ebp),%eax
458956:	eb 02                	jmp    0x45895a
458958:	33 f6                	xor    %esi,%esi
45895a:	85 db                	test   %ebx,%ebx
45895c:	74 29                	je     0x458987
45895e:	8b 00                	mov    (%eax),%eax
458960:	c1 e3 02             	shl    $0x2,%ebx
458963:	81 fb 00 10 00 00    	cmp    $0x1000,%ebx
458969:	72 12                	jb     0x45897d
45896b:	8b 48 fc             	mov    -0x4(%eax),%ecx
45896e:	83 c3 23             	add    $0x23,%ebx
458971:	2b c1                	sub    %ecx,%eax
458973:	83 c0 fc             	add    $0xfffffffc,%eax
458976:	83 f8 1f             	cmp    $0x1f,%eax
458979:	77 50                	ja     0x4589cb
45897b:	8b c1                	mov    %ecx,%eax
45897d:	53                   	push   %ebx
45897e:	50                   	push   %eax
45897f:	e8 d1 88 17 00       	call   0x5d1255
458984:	83 c4 08             	add    $0x8,%esp
458987:	8b 45 fc             	mov    -0x4(%ebp),%eax
45898a:	8d 0c 37             	lea    (%edi,%esi,1),%ecx
45898d:	89 30                	mov    %esi,(%eax)
45898f:	89 48 04             	mov    %ecx,0x4(%eax)
458992:	89 48 08             	mov    %ecx,0x8(%eax)
458995:	3b f1                	cmp    %ecx,%esi
458997:	74 13                	je     0x4589ac
458999:	0f 1f 80 00 00 00 00 	nopl   0x0(%eax)
4589a0:	8b 45 0c             	mov    0xc(%ebp),%eax
4589a3:	89 06                	mov    %eax,(%esi)
4589a5:	83 c6 04             	add    $0x4,%esi
4589a8:	3b f1                	cmp    %ecx,%esi
4589aa:	75 f4                	jne    0x4589a0
4589ac:	5e                   	pop    %esi
4589ad:	5f                   	pop    %edi
4589ae:	5b                   	pop    %ebx
4589af:	8b e5                	mov    %ebp,%esp
4589b1:	5d                   	pop    %ebp
4589b2:	c2 08 00             	ret    $0x8
4589b5:	8d 45 0c             	lea    0xc(%ebp),%eax
4589b8:	50                   	push   %eax
4589b9:	51                   	push   %ecx
4589ba:	52                   	push   %edx
4589bb:	e8 f0 dc ff ff       	call   0x4566b0
4589c0:	83 c4 0c             	add    $0xc,%esp
4589c3:	5f                   	pop    %edi
4589c4:	5b                   	pop    %ebx
4589c5:	8b e5                	mov    %ebp,%esp
4589c7:	5d                   	pop    %ebp
4589c8:	c2 08 00             	ret    $0x8
4589cb:	e8 20 d8 17 00       	call   0x5d61f0
4589d0:	e8 1b ec fe ff       	call   0x4475f0
4589d5:	cc                   	int3
4589d6:	cc                   	int3
4589d7:	cc                   	int3
4589d8:	cc                   	int3
4589d9:	cc                   	int3
4589da:	cc                   	int3
4589db:	cc                   	int3
4589dc:	cc                   	int3
4589dd:	cc                   	int3
4589de:	cc                   	int3
4589df:	cc                   	int3
4589e0:	55                   	push   %ebp
4589e1:	8b ec                	mov    %esp,%ebp
4589e3:	83 ec 0c             	sub    $0xc,%esp
4589e6:	8b 55 08             	mov    0x8(%ebp),%edx
4589e9:	b8 ff ff ff 1f       	mov    $0x1fffffff,%eax
4589ee:	53                   	push   %ebx
4589ef:	8b d9                	mov    %ecx,%ebx
4589f1:	0f bd c8             	bsr    %eax,%ecx
4589f4:	56                   	push   %esi
4589f5:	57                   	push   %edi
4589f6:	bf 01 00 00 00       	mov    $0x1,%edi
4589fb:	89 5d f4             	mov    %ebx,-0xc(%ebp)
4589fe:	8b c7                	mov    %edi,%eax
458a00:	d3 e0                	shl    %cl,%eax
458a02:	3b d0                	cmp    %eax,%edx
458a04:	0f 87 39 01 00 00    	ja     0x458b43
458a0a:	8b 73 04             	mov    0x4(%ebx),%esi
458a0d:	8d 42 ff             	lea    -0x1(%edx),%eax
458a10:	0b c7                	or     %edi,%eax
458a12:	89 75 fc             	mov    %esi,-0x4(%ebp)
458a15:	0f bd c8             	bsr    %eax,%ecx
458a18:	56                   	push   %esi
458a19:	8d 49 01             	lea    0x1(%ecx),%ecx
458a1c:	d3 e7                	shl    %cl,%edi
458a1e:	8d 4b 0c             	lea    0xc(%ebx),%ecx
458a21:	8d 04 3f             	lea    (%edi,%edi,1),%eax
458a24:	50                   	push   %eax
458a25:	e8 b6 fe ff ff       	call   0x4588e0
458a2a:	8b 4b 04             	mov    0x4(%ebx),%ecx
458a2d:	8d 47 ff             	lea    -0x1(%edi),%eax
458a30:	89 43 18             	mov    %eax,0x18(%ebx)
458a33:	89 7b 1c             	mov    %edi,0x1c(%ebx)
458a36:	8b 09                	mov    (%ecx),%ecx
458a38:	8b d1                	mov    %ecx,%edx
458a3a:	3b ce                	cmp    %esi,%ecx
458a3c:	0f 84 d4 00 00 00    	je     0x458b16
458a42:	0f b6 41 08          	movzbl 0x8(%ecx),%eax
458a46:	35 c5 9d 1c 81       	xor    $0x811c9dc5,%eax
458a4b:	8b 12                	mov    (%edx),%edx
458a4d:	69 f8 93 01 00 01    	imul   $0x1000193,%eax,%edi
458a53:	0f b6 41 09          	movzbl 0x9(%ecx),%eax
458a57:	33 f8                	xor    %eax,%edi
458a59:	0f b6 41 0a          	movzbl 0xa(%ecx),%eax
458a5d:	69 ff 93 01 00 01    	imul   $0x1000193,%edi,%edi
458a63:	33 f8                	xor    %eax,%edi
458a65:	0f b6 41 0b          	movzbl 0xb(%ecx),%eax
458a69:	69 ff 93 01 00 01    	imul   $0x1000193,%edi,%edi
458a6f:	33 f8                	xor    %eax,%edi
458a71:	69 c7 93 01 00 01    	imul   $0x1000193,%edi,%eax
458a77:	8b 7b 18             	mov    0x18(%ebx),%edi
458a7a:	23 f8                	and    %eax,%edi
458a7c:	8b 43 0c             	mov    0xc(%ebx),%eax
458a7f:	8b 1c f8             	mov    (%eax,%edi,8),%ebx
458a82:	89 5d 08             	mov    %ebx,0x8(%ebp)
458a85:	8d 04 f8             	lea    (%eax,%edi,8),%eax
458a88:	89 45 f8             	mov    %eax,-0x8(%ebp)
458a8b:	3b de                	cmp    %esi,%ebx
458a8d:	75 07                	jne    0x458a96
458a8f:	89 08                	mov    %ecx,(%eax)
458a91:	89 48 04             	mov    %ecx,0x4(%eax)
458a94:	eb 73                	jmp    0x458b09
458a96:	8b 40 04             	mov    0x4(%eax),%eax
458a99:	8b 59 08             	mov    0x8(%ecx),%ebx
458a9c:	3b 58 08             	cmp    0x8(%eax),%ebx
458a9f:	75 2f                	jne    0x458ad0
458aa1:	8b 00                	mov    (%eax),%eax
458aa3:	89 45 08             	mov    %eax,0x8(%ebp)
458aa6:	3b c1                	cmp    %ecx,%eax
458aa8:	74 1e                	je     0x458ac8
458aaa:	8b 59 04             	mov    0x4(%ecx),%ebx
458aad:	8b 75 08             	mov    0x8(%ebp),%esi
458ab0:	89 13                	mov    %edx,(%ebx)
458ab2:	8b 7a 04             	mov    0x4(%edx),%edi
458ab5:	89 07                	mov    %eax,(%edi)
458ab7:	8b 40 04             	mov    0x4(%eax),%eax
458aba:	89 08                	mov    %ecx,(%eax)
458abc:	89 7e 04             	mov    %edi,0x4(%esi)
458abf:	8b 75 fc             	mov    -0x4(%ebp),%esi
458ac2:	89 5a 04             	mov    %ebx,0x4(%edx)
458ac5:	89 41 04             	mov    %eax,0x4(%ecx)
458ac8:	8b 45 f8             	mov    -0x8(%ebp),%eax
458acb:	89 48 04             	mov    %ecx,0x4(%eax)
458ace:	eb 39                	jmp    0x458b09
458ad0:	8b f8                	mov    %eax,%edi
458ad2:	39 45 08             	cmp    %eax,0x8(%ebp)
458ad5:	74 0f                	je     0x458ae6
458ad7:	8b 40 04             	mov    0x4(%eax),%eax
458ada:	8b f8                	mov    %eax,%edi
458adc:	3b 58 08             	cmp    0x8(%eax),%ebx
458adf:	74 3e                	je     0x458b1f
458ae1:	39 45 08             	cmp    %eax,0x8(%ebp)
458ae4:	75 f1                	jne    0x458ad7
458ae6:	8b 41 04             	mov    0x4(%ecx),%eax
458ae9:	89 45 08             	mov    %eax,0x8(%ebp)
458aec:	89 10                	mov    %edx,(%eax)
458aee:	8b 5a 04             	mov    0x4(%edx),%ebx
458af1:	89 3b                	mov    %edi,(%ebx)
458af3:	8b 47 04             	mov    0x4(%edi),%eax
458af6:	89 08                	mov    %ecx,(%eax)
458af8:	89 5f 04             	mov    %ebx,0x4(%edi)
458afb:	8b 7d 08             	mov    0x8(%ebp),%edi
458afe:	89 7a 04             	mov    %edi,0x4(%edx)
458b01:	89 41 04             	mov    %eax,0x4(%ecx)
458b04:	8b 45 f8             	mov    -0x8(%ebp),%eax
458b07:	89 08                	mov    %ecx,(%eax)
458b09:	8b 5d f4             	mov    -0xc(%ebp),%ebx
458b0c:	8b ca                	mov    %edx,%ecx
458b0e:	3b d6                	cmp    %esi,%edx
458b10:	0f 85 2c ff ff ff    	jne    0x458a42
458b16:	5f                   	pop    %edi
458b17:	5e                   	pop    %esi
458b18:	5b                   	pop    %ebx
458b19:	8b e5                	mov    %ebp,%esp
458b1b:	5d                   	pop    %ebp
458b1c:	c2 04 00             	ret    $0x4
458b1f:	8b 59 04             	mov    0x4(%ecx),%ebx
458b22:	8b 00                	mov    (%eax),%eax
458b24:	89 45 08             	mov    %eax,0x8(%ebp)
458b27:	8b f0                	mov    %eax,%esi
458b29:	89 13                	mov    %edx,(%ebx)
458b2b:	8b 7a 04             	mov    0x4(%edx),%edi
458b2e:	89 07                	mov    %eax,(%edi)
458b30:	8b 40 04             	mov    0x4(%eax),%eax
458b33:	89 08                	mov    %ecx,(%eax)
458b35:	89 7e 04             	mov    %edi,0x4(%esi)
458b38:	8b 75 fc             	mov    -0x4(%ebp),%esi
458b3b:	89 5a 04             	mov    %ebx,0x4(%edx)
458b3e:	89 41 04             	mov    %eax,0x4(%ecx)
458b41:	eb c6                	jmp    0x458b09
458b43:	68 3c 64 60 00       	push   $0x60643c
458b48:	e8 89 80 17 00       	call   0x5d0bd6
458b4d:	cc                   	int3
458b4e:	cc                   	int3
458b4f:	cc                   	int3
458b50:	55                   	push   %ebp
458b51:	8b ec                	mov    %esp,%ebp
458b53:	83 ec 18             	sub    $0x18,%esp
458b56:	8b 55 08             	mov    0x8(%ebp),%edx
458b59:	b8 ff ff ff 1f       	mov    $0x1fffffff,%eax
458b5e:	53                   	push   %ebx
458b5f:	8b d9                	mov    %ecx,%ebx
458b61:	0f bd c8             	bsr    %eax,%ecx
458b64:	56                   	push   %esi
458b65:	57                   	push   %edi
458b66:	bf 01 00 00 00       	mov    $0x1,%edi
458b6b:	89 5d e8             	mov    %ebx,-0x18(%ebp)
458b6e:	8b c7                	mov    %edi,%eax
458b70:	d3 e0                	shl    %cl,%eax
458b72:	3b d0                	cmp    %eax,%edx
458b74:	0f 87 50 02 00 00    	ja     0x458dca
458b7a:	8b 73 04             	mov    0x4(%ebx),%esi
458b7d:	8d 42 ff             	lea    -0x1(%edx),%eax
458b80:	0b c7                	or     %edi,%eax
458b82:	89 75 f4             	mov    %esi,-0xc(%ebp)
458b85:	0f bd c8             	bsr    %eax,%ecx
458b88:	56                   	push   %esi
458b89:	8d 49 01             	lea    0x1(%ecx),%ecx
458b8c:	d3 e7                	shl    %cl,%edi
458b8e:	8d 4b 0c             	lea    0xc(%ebx),%ecx
458b91:	8d 04 3f             	lea    (%edi,%edi,1),%eax
458b94:	50                   	push   %eax
458b95:	e8 46 fd ff ff       	call   0x4588e0
458b9a:	8b 4b 04             	mov    0x4(%ebx),%ecx
458b9d:	8d 47 ff             	lea    -0x1(%edi),%eax
458ba0:	89 43 18             	mov    %eax,0x18(%ebx)
458ba3:	89 7b 1c             	mov    %edi,0x1c(%ebx)
458ba6:	8b 09                	mov    (%ecx),%ecx
458ba8:	8b d1                	mov    %ecx,%edx
458baa:	3b ce                	cmp    %esi,%ecx
458bac:	0f 84 ee 01 00 00    	je     0x458da0
458bb2:	8b 79 08             	mov    0x8(%ecx),%edi
458bb5:	33 db                	xor    %ebx,%ebx
458bb7:	8b 41 0c             	mov    0xc(%ecx),%eax
458bba:	8b 12                	mov    (%edx),%edx
458bbc:	03 c7                	add    %edi,%eax
458bbe:	89 45 08             	mov    %eax,0x8(%ebp)
458bc1:	3b f8                	cmp    %eax,%edi
458bc3:	73 12                	jae    0x458bd7
458bc5:	8b f0                	mov    %eax,%esi
458bc7:	0f be 07             	movsbl (%edi),%eax
458bca:	8d 1c 9b             	lea    (%ebx,%ebx,4),%ebx
458bcd:	47                   	inc    %edi
458bce:	03 d8                	add    %eax,%ebx
458bd0:	3b fe                	cmp    %esi,%edi
458bd2:	72 f3                	jb     0x458bc7
458bd4:	8b 75 f4             	mov    -0xc(%ebp),%esi
458bd7:	8b 45 e8             	mov    -0x18(%ebp),%eax
458bda:	8b 78 18             	mov    0x18(%eax),%edi
458bdd:	8b 40 0c             	mov    0xc(%eax),%eax
458be0:	23 fb                	and    %ebx,%edi
458be2:	8d 04 f8             	lea    (%eax,%edi,8),%eax
458be5:	89 45 f0             	mov    %eax,-0x10(%ebp)
458be8:	39 30                	cmp    %esi,(%eax)
458bea:	75 0a                	jne    0x458bf6
458bec:	89 08                	mov    %ecx,(%eax)
458bee:	89 48 04             	mov    %ecx,0x4(%eax)
458bf1:	e9 9d 01 00 00       	jmp    0x458d93
458bf6:	8b 40 04             	mov    0x4(%eax),%eax
458bf9:	8b 79 0c             	mov    0xc(%ecx),%edi
458bfc:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
458c03:	8b 58 08             	mov    0x8(%eax),%ebx
458c06:	89 5d ec             	mov    %ebx,-0x14(%ebp)
458c09:	3b 78 0c             	cmp    0xc(%eax),%edi
458c0c:	0f 85 ad 00 00 00    	jne    0x458cbf
458c12:	39 59 08             	cmp    %ebx,0x8(%ecx)
458c15:	74 76                	je     0x458c8d
458c17:	85 ff                	test   %edi,%edi
458c19:	7e 72                	jle    0x458c8d
458c1b:	8b 71 0c             	mov    0xc(%ecx),%esi
458c1e:	8b 79 08             	mov    0x8(%ecx),%edi
458c21:	89 75 08             	mov    %esi,0x8(%ebp)
458c24:	83 6d 08 04          	subl   $0x4,0x8(%ebp)
458c28:	8b 75 f4             	mov    -0xc(%ebp),%esi
458c2b:	89 7d fc             	mov    %edi,-0x4(%ebp)
458c2e:	72 1b                	jb     0x458c4b
458c30:	8b 3f                	mov    (%edi),%edi
458c32:	3b 3b                	cmp    (%ebx),%edi
458c34:	8b 7d fc             	mov    -0x4(%ebp),%edi
458c37:	75 18                	jne    0x458c51
458c39:	83 c7 04             	add    $0x4,%edi
458c3c:	83 c3 04             	add    $0x4,%ebx
458c3f:	83 6d 08 04          	subl   $0x4,0x8(%ebp)
458c43:	89 7d fc             	mov    %edi,-0x4(%ebp)
458c46:	89 5d ec             	mov    %ebx,-0x14(%ebp)
458c49:	73 e5                	jae    0x458c30
458c4b:	83 7d 08 fc          	cmpl   $0xfffffffc,0x8(%ebp)
458c4f:	74 3c                	je     0x458c8d
458c51:	8a 1f                	mov    (%edi),%bl
458c53:	8b 7d ec             	mov    -0x14(%ebp),%edi
458c56:	3a 1f                	cmp    (%edi),%bl
458c58:	75 65                	jne    0x458cbf
458c5a:	83 7d 08 fd          	cmpl   $0xfffffffd,0x8(%ebp)
458c5e:	74 2d                	je     0x458c8d
458c60:	8b 5d fc             	mov    -0x4(%ebp),%ebx
458c63:	8a 5b 01             	mov    0x1(%ebx),%bl
458c66:	3a 5f 01             	cmp    0x1(%edi),%bl
458c69:	75 54                	jne    0x458cbf
458c6b:	83 7d 08 fe          	cmpl   $0xfffffffe,0x8(%ebp)
458c6f:	74 1c                	je     0x458c8d
458c71:	8b 5d fc             	mov    -0x4(%ebp),%ebx
458c74:	8a 5b 02             	mov    0x2(%ebx),%bl
458c77:	3a 5f 02             	cmp    0x2(%edi),%bl
458c7a:	75 43                	jne    0x458cbf
458c7c:	83 7d 08 ff          	cmpl   $0xffffffff,0x8(%ebp)
458c80:	74 0b                	je     0x458c8d
458c82:	8b 5d fc             	mov    -0x4(%ebp),%ebx
458c85:	8a 5b 03             	mov    0x3(%ebx),%bl
458c88:	3a 5f 03             	cmp    0x3(%edi),%bl
458c8b:	75 32                	jne    0x458cbf
458c8d:	8b 00                	mov    (%eax),%eax
458c8f:	89 45 08             	mov    %eax,0x8(%ebp)
458c92:	3b c1                	cmp    %ecx,%eax
458c94:	74 1e                	je     0x458cb4
458c96:	8b 59 04             	mov    0x4(%ecx),%ebx
458c99:	8b 75 08             	mov    0x8(%ebp),%esi
458c9c:	89 13                	mov    %edx,(%ebx)
458c9e:	8b 7a 04             	mov    0x4(%edx),%edi
458ca1:	89 07                	mov    %eax,(%edi)
458ca3:	8b 40 04             	mov    0x4(%eax),%eax
458ca6:	89 08                	mov    %ecx,(%eax)
458ca8:	89 7e 04             	mov    %edi,0x4(%esi)
458cab:	8b 75 f4             	mov    -0xc(%ebp),%esi
458cae:	89 5a 04             	mov    %ebx,0x4(%edx)
458cb1:	89 41 04             	mov    %eax,0x4(%ecx)
458cb4:	8b 45 f0             	mov    -0x10(%ebp),%eax
458cb7:	89 48 04             	mov    %ecx,0x4(%eax)
458cba:	e9 d4 00 00 00       	jmp    0x458d93
458cbf:	8b 5d f0             	mov    -0x10(%ebp),%ebx
458cc2:	89 45 ec             	mov    %eax,-0x14(%ebp)
458cc5:	39 03                	cmp    %eax,(%ebx)
458cc7:	0f 84 a0 00 00 00    	je     0x458d6d
458ccd:	8b 59 0c             	mov    0xc(%ecx),%ebx
458cd0:	8b 40 04             	mov    0x4(%eax),%eax
458cd3:	89 45 ec             	mov    %eax,-0x14(%ebp)
458cd6:	8b 78 08             	mov    0x8(%eax),%edi
458cd9:	3b 58 0c             	cmp    0xc(%eax),%ebx
458cdc:	0f 85 80 00 00 00    	jne    0x458d62
458ce2:	39 79 08             	cmp    %edi,0x8(%ecx)
458ce5:	0f 84 be 00 00 00    	je     0x458da9
458ceb:	85 db                	test   %ebx,%ebx
458ced:	0f 8e b6 00 00 00    	jle    0x458da9
458cf3:	8b 71 0c             	mov    0xc(%ecx),%esi
458cf6:	8b 59 08             	mov    0x8(%ecx),%ebx
458cf9:	89 75 08             	mov    %esi,0x8(%ebp)
458cfc:	83 6d 08 04          	subl   $0x4,0x8(%ebp)
458d00:	89 5d fc             	mov    %ebx,-0x4(%ebp)
458d03:	72 18                	jb     0x458d1d