4878a1:	f7 e9                	imul   %ecx
4878a3:	53                   	push   %ebx
4878a4:	d1 fa                	sar    $1,%edx
4878a6:	8b c2                	mov    %edx,%eax
4878a8:	c1 e8 1f             	shr    $0x1f,%eax
4878ab:	03 c2                	add    %edx,%eax
4878ad:	8d 0c 40             	lea    (%eax,%eax,2),%ecx
4878b0:	33 c0                	xor    %eax,%eax
4878b2:	f3 ab                	rep stos %eax,%es:(%edi)
4878b4:	e8 17 8c 06 00       	call   0x4f04d0
4878b9:	c7 46 1c 00 00 00 00 	movl   $0x0,0x1c(%esi)
4878c0:	83 c4 04             	add    $0x4,%esp
4878c3:	c7 46 20 00 00 00 00 	movl   $0x0,0x20(%esi)
4878ca:	c7 46 24 00 00 00 00 	movl   $0x0,0x24(%esi)
4878d1:	8b 5e 10             	mov    0x10(%esi),%ebx
4878d4:	c7 45 fc 01 00 00 00 	movl   $0x1,-0x4(%ebp)
4878db:	85 db                	test   %ebx,%ebx
4878dd:	74 3c                	je     0x48791b
4878df:	8b 4e 18             	mov    0x18(%esi),%ecx
4878e2:	b8 ab aa aa 2a       	mov    $0x2aaaaaab,%eax
4878e7:	2b cb                	sub    %ebx,%ecx
4878e9:	8b fb                	mov    %ebx,%edi
4878eb:	f7 e9                	imul   %ecx
4878ed:	53                   	push   %ebx
4878ee:	d1 fa                	sar    $1,%edx
4878f0:	8b c2                	mov    %edx,%eax
4878f2:	c1 e8 1f             	shr    $0x1f,%eax
4878f5:	03 c2                	add    %edx,%eax
4878f7:	8d 0c 40             	lea    (%eax,%eax,2),%ecx
4878fa:	33 c0                	xor    %eax,%eax
4878fc:	f3 ab                	rep stos %eax,%es:(%edi)
4878fe:	e8 cd 8b 06 00       	call   0x4f04d0
487903:	c7 46 10 00 00 00 00 	movl   $0x0,0x10(%esi)
48790a:	83 c4 04             	add    $0x4,%esp
48790d:	c7 46 14 00 00 00 00 	movl   $0x0,0x14(%esi)
487914:	c7 46 18 00 00 00 00 	movl   $0x0,0x18(%esi)
48791b:	8b 4d f4             	mov    -0xc(%ebp),%ecx
48791e:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
487925:	59                   	pop    %ecx
487926:	5f                   	pop    %edi
487927:	5e                   	pop    %esi
487928:	5b                   	pop    %ebx
487929:	8b e5                	mov    %ebp,%esp
48792b:	5d                   	pop    %ebp
48792c:	c3                   	ret
48792d:	cc                   	int3
48792e:	cc                   	int3
48792f:	cc                   	int3
487930:	e9 1b fe ff ff       	jmp    0x487750
487935:	cc                   	int3
487936:	cc                   	int3
487937:	cc                   	int3
487938:	cc                   	int3
487939:	cc                   	int3
48793a:	cc                   	int3
48793b:	cc                   	int3
48793c:	cc                   	int3
48793d:	cc                   	int3
48793e:	cc                   	int3
48793f:	cc                   	int3
487940:	55                   	push   %ebp
487941:	8b ec                	mov    %esp,%ebp
487943:	6a ff                	push   $0xffffffff
487945:	68 ef 60 65 00       	push   $0x6560ef
48794a:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
487950:	50                   	push   %eax
487951:	83 ec 78             	sub    $0x78,%esp
487954:	53                   	push   %ebx
487955:	56                   	push   %esi
487956:	57                   	push   %edi
487957:	a1 d4 89 72 00       	mov    0x7289d4,%eax
48795c:	33 c5                	xor    %ebp,%eax
48795e:	50                   	push   %eax
48795f:	8d 45 f4             	lea    -0xc(%ebp),%eax
487962:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
487968:	89 65 f0             	mov    %esp,-0x10(%ebp)
48796b:	8b d9                	mov    %ecx,%ebx
48796d:	89 5d e8             	mov    %ebx,-0x18(%ebp)
487970:	33 f6                	xor    %esi,%esi
487972:	c7 45 e0 00 00 00 00 	movl   $0x0,-0x20(%ebp)
487979:	53                   	push   %ebx
48797a:	8d 4d cc             	lea    -0x34(%ebp),%ecx
48797d:	89 75 d4             	mov    %esi,-0x2c(%ebp)
487980:	e8 2b 6a fb ff       	call   0x43e3b0
487985:	80 7d d0 00          	cmpb   $0x0,-0x30(%ebp)
487989:	89 75 fc             	mov    %esi,-0x4(%ebp)
48798c:	0f 84 9e 01 00 00    	je     0x487b30
487992:	8b 03                	mov    (%ebx),%eax
487994:	8b 40 04             	mov    0x4(%eax),%eax
487997:	8b 44 18 30          	mov    0x30(%eax,%ebx,1),%eax
48799b:	8b 70 04             	mov    0x4(%eax),%esi
48799e:	8b ce                	mov    %esi,%ecx
4879a0:	89 75 c8             	mov    %esi,-0x38(%ebp)
4879a3:	8b 06                	mov    (%esi),%eax
4879a5:	ff 50 04             	call   *0x4(%eax)
4879a8:	6a 00                	push   $0x0
4879aa:	8d 4d d8             	lea    -0x28(%ebp),%ecx
4879ad:	e8 45 6a 14 00       	call   0x5ce3f7
4879b2:	8b 0d 78 26 73 00    	mov    0x732678,%ecx
4879b8:	a1 70 26 73 00       	mov    0x732670,%eax
4879bd:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
4879c1:	89 45 e4             	mov    %eax,-0x1c(%ebp)
4879c4:	89 4d ec             	mov    %ecx,-0x14(%ebp)
4879c7:	85 c9                	test   %ecx,%ecx
4879c9:	75 33                	jne    0x4879fe
4879cb:	51                   	push   %ecx
4879cc:	8d 4d ec             	lea    -0x14(%ebp),%ecx
4879cf:	e8 23 6a 14 00       	call   0x5ce3f7
4879d4:	83 3d 78 26 73 00 00 	cmpl   $0x0,0x732678
4879db:	75 10                	jne    0x4879ed
4879dd:	a1 08 06 73 00       	mov    0x730608,%eax
4879e2:	40                   	inc    %eax
4879e3:	a3 08 06 73 00       	mov    %eax,0x730608
4879e8:	a3 78 26 73 00       	mov    %eax,0x732678
4879ed:	8d 4d ec             	lea    -0x14(%ebp),%ecx
4879f0:	e8 5a 6a 14 00       	call   0x5ce44f
4879f5:	8b 0d 78 26 73 00    	mov    0x732678,%ecx
4879fb:	89 4d ec             	mov    %ecx,-0x14(%ebp)
4879fe:	3b 4e 0c             	cmp    0xc(%esi),%ecx
487a01:	73 10                	jae    0x487a13
487a03:	8b 46 08             	mov    0x8(%esi),%eax
487a06:	8b 3c 88             	mov    (%eax,%ecx,4),%edi
487a09:	85 ff                	test   %edi,%edi
487a0b:	0f 85 9e 00 00 00    	jne    0x487aaf
487a11:	eb 02                	jmp    0x487a15
487a13:	33 ff                	xor    %edi,%edi
487a15:	80 7e 14 00          	cmpb   $0x0,0x14(%esi)
487a19:	74 13                	je     0x487a2e
487a1b:	e8 4e 6d 14 00       	call   0x5ce76e
487a20:	8b 7d ec             	mov    -0x14(%ebp),%edi
487a23:	3b 78 0c             	cmp    0xc(%eax),%edi
487a26:	73 0a                	jae    0x487a32
487a28:	8b 40 08             	mov    0x8(%eax),%eax
487a2b:	8b 3c b8             	mov    (%eax,%edi,4),%edi
487a2e:	85 ff                	test   %edi,%edi
487a30:	75 7d                	jne    0x487aaf
487a32:	8b 45 e4             	mov    -0x1c(%ebp),%eax
487a35:	85 c0                	test   %eax,%eax
487a37:	74 04                	je     0x487a3d
487a39:	8b f8                	mov    %eax,%edi
487a3b:	eb 72                	jmp    0x487aaf
487a3d:	6a 08                	push   $0x8
487a3f:	e8 fe 95 15 00       	call   0x5e1042
487a44:	8b f8                	mov    %eax,%edi
487a46:	83 c4 04             	add    $0x4,%esp
487a49:	89 7d e4             	mov    %edi,-0x1c(%ebp)
487a4c:	c6 45 fc 03          	movb   $0x3,-0x4(%ebp)
487a50:	85 ff                	test   %edi,%edi
487a52:	74 2a                	je     0x487a7e
487a54:	8b 46 18             	mov    0x18(%esi),%eax
487a57:	85 c0                	test   %eax,%eax
487a59:	75 03                	jne    0x487a5e
487a5b:	8d 46 1c             	lea    0x1c(%esi),%eax
487a5e:	50                   	push   %eax
487a5f:	8d 8d 7c ff ff ff    	lea    -0x84(%ebp),%ecx
487a65:	e8 66 1c fb ff       	call   0x4396d0
487a6a:	b8 01 00 00 00       	mov    $0x1,%eax
487a6f:	c7 47 04 00 00 00 00 	movl   $0x0,0x4(%edi)
487a76:	c7 07 f4 fd 68 00    	movl   $0x68fdf4,(%edi)
487a7c:	eb 05                	jmp    0x487a83
487a7e:	8b 45 e0             	mov    -0x20(%ebp),%eax
487a81:	33 ff                	xor    %edi,%edi
487a83:	a8 01                	test   $0x1,%al
487a85:	74 0b                	je     0x487a92
487a87:	8d 8d 7c ff ff ff    	lea    -0x84(%ebp),%ecx
487a8d:	e8 fe 1c fb ff       	call   0x439790
487a92:	89 7d e0             	mov    %edi,-0x20(%ebp)
487a95:	57                   	push   %edi
487a96:	c6 45 fc 04          	movb   $0x4,-0x4(%ebp)
487a9a:	e8 a3 6c 14 00       	call   0x5ce742
487a9f:	8b 07                	mov    (%edi),%eax
487aa1:	83 c4 04             	add    $0x4,%esp
487aa4:	8b cf                	mov    %edi,%ecx
487aa6:	ff 50 04             	call   *0x4(%eax)
487aa9:	89 3d 70 26 73 00    	mov    %edi,0x732670
487aaf:	8d 4d d8             	lea    -0x28(%ebp),%ecx
487ab2:	e8 98 69 14 00       	call   0x5ce44f
487ab7:	8b 06                	mov    (%esi),%eax
487ab9:	8b ce                	mov    %esi,%ecx
487abb:	ff 50 08             	call   *0x8(%eax)
487abe:	85 c0                	test   %eax,%eax
487ac0:	74 08                	je     0x487aca
487ac2:	8b 10                	mov    (%eax),%edx
487ac4:	8b c8                	mov    %eax,%ecx
487ac6:	6a 01                	push   $0x1
487ac8:	ff 12                	call   *(%edx)
487aca:	8b 03                	mov    (%ebx),%eax
487acc:	8b cf                	mov    %edi,%ecx
487ace:	ff 75 08             	push   0x8(%ebp)
487ad1:	8b 37                	mov    (%edi),%esi
487ad3:	c6 45 fc 05          	movb   $0x5,-0x4(%ebp)
487ad7:	8b 50 04             	mov    0x4(%eax),%edx
487ada:	03 d3                	add    %ebx,%edx
487adc:	c6 45 dc 00          	movb   $0x0,-0x24(%ebp)
487ae0:	0f b7 42 40          	movzwl 0x40(%edx),%eax
487ae4:	50                   	push   %eax
487ae5:	52                   	push   %edx
487ae6:	ff 72 38             	push   0x38(%edx)
487ae9:	8d 45 dc             	lea    -0x24(%ebp),%eax
487aec:	ff 75 dc             	push   -0x24(%ebp)
487aef:	50                   	push   %eax
487af0:	ff 56 0c             	call   *0xc(%esi)
487af3:	33 f6                	xor    %esi,%esi
487af5:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
487afc:	80 7d dc 00          	cmpb   $0x0,-0x24(%ebp)
487b00:	ba 04 00 00 00       	mov    $0x4,%edx
487b05:	0f 45 f2             	cmovne %edx,%esi
487b08:	eb 2b                	jmp    0x487b35
487b0a:	8b 55 e8             	mov    -0x18(%ebp),%edx
487b0d:	6a 01                	push   $0x1
487b0f:	6a 04                	push   $0x4
487b11:	8b 02                	mov    (%edx),%eax
487b13:	8b 48 04             	mov    0x4(%eax),%ecx
487b16:	03 ca                	add    %edx,%ecx
487b18:	e8 73 7a fb ff       	call   0x43f590
487b1d:	b8 23 7b 48 00       	mov    $0x487b23,%eax
487b22:	c3                   	ret
487b23:	8b 5d e8             	mov    -0x18(%ebp),%ebx
487b26:	8b 75 d4             	mov    -0x2c(%ebp),%esi
487b29:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
487b30:	ba 04 00 00 00       	mov    $0x4,%edx
487b35:	8b 03                	mov    (%ebx),%eax
487b37:	8b 48 04             	mov    0x4(%eax),%ecx
487b3a:	8b 44 19 0c          	mov    0xc(%ecx,%ebx,1),%eax
487b3e:	03 cb                	add    %ebx,%ecx
487b40:	0b c6                	or     %esi,%eax
487b42:	33 f6                	xor    %esi,%esi
487b44:	39 71 38             	cmp    %esi,0x38(%ecx)
487b47:	0f 45 d6             	cmovne %esi,%edx
487b4a:	0b d0                	or     %eax,%edx
487b4c:	8b 41 10             	mov    0x10(%ecx),%eax
487b4f:	83 e2 17             	and    $0x17,%edx
487b52:	89 51 0c             	mov    %edx,0xc(%ecx)
487b55:	23 c2                	and    %edx,%eax
487b57:	75 47                	jne    0x487ba0
487b59:	c7 45 fc 07 00 00 00 	movl   $0x7,-0x4(%ebp)
487b60:	e8 09 69 14 00       	call   0x5ce46e
487b65:	84 c0                	test   %al,%al
487b67:	75 08                	jne    0x487b71
487b69:	8b 4d cc             	mov    -0x34(%ebp),%ecx
487b6c:	e8 3f 8c fb ff       	call   0x4407b0
487b71:	8b 4d cc             	mov    -0x34(%ebp),%ecx
487b74:	c6 45 fc 08          	movb   $0x8,-0x4(%ebp)
487b78:	8b 01                	mov    (%ecx),%eax
487b7a:	8b 40 04             	mov    0x4(%eax),%eax
487b7d:	8b 4c 08 38          	mov    0x38(%eax,%ecx,1),%ecx
487b81:	85 c9                	test   %ecx,%ecx
487b83:	74 05                	je     0x487b8a
487b85:	8b 01                	mov    (%ecx),%eax
487b87:	ff 50 08             	call   *0x8(%eax)
487b8a:	8b c3                	mov    %ebx,%eax
487b8c:	8b 4d f4             	mov    -0xc(%ebp),%ecx
487b8f:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
487b96:	59                   	pop    %ecx
487b97:	5f                   	pop    %edi
487b98:	5e                   	pop    %esi
487b99:	5b                   	pop    %ebx
487b9a:	8b e5                	mov    %ebp,%esp
487b9c:	5d                   	pop    %ebp
487b9d:	c2 04 00             	ret    $0x4
487ba0:	a8 04                	test   $0x4,%al
487ba2:	74 07                	je     0x487bab
487ba4:	be 34 c4 68 00       	mov    $0x68c434,%esi
487ba9:	eb 0f                	jmp    0x487bba
487bab:	a8 02                	test   $0x2,%al
487bad:	be 4c c4 68 00       	mov    $0x68c44c,%esi
487bb2:	b8 64 c4 68 00       	mov    $0x68c464,%eax
487bb7:	0f 44 f0             	cmove  %eax,%esi
487bba:	8d 45 c4             	lea    -0x3c(%ebp),%eax
487bbd:	6a 01                	push   $0x1
487bbf:	50                   	push   %eax
487bc0:	e8 0b 24 fb ff       	call   0x439fd0
487bc5:	83 c4 08             	add    $0x8,%esp
487bc8:	8d 4d b0             	lea    -0x50(%ebp),%ecx
487bcb:	50                   	push   %eax
487bcc:	56                   	push   %esi
487bcd:	e8 1e 29 fb ff       	call   0x43a4f0
487bd2:	68 0c 60 70 00       	push   $0x70600c
487bd7:	8d 45 b0             	lea    -0x50(%ebp),%eax
487bda:	50                   	push   %eax
487bdb:	e8 52 ae 15 00       	call   0x5e2a32
487be0:	cc                   	int3
487be1:	cc                   	int3
487be2:	cc                   	int3
487be3:	cc                   	int3
487be4:	cc                   	int3
487be5:	cc                   	int3
487be6:	cc                   	int3
487be7:	cc                   	int3
487be8:	cc                   	int3
487be9:	cc                   	int3
487bea:	cc                   	int3
487beb:	cc                   	int3
487bec:	cc                   	int3
487bed:	cc                   	int3
487bee:	cc                   	int3
487bef:	cc                   	int3
487bf0:	83 e9 04             	sub    $0x4,%ecx
487bf3:	e9 38 00 00 00       	jmp    0x487c30
487bf8:	cc                   	int3
487bf9:	cc                   	int3
487bfa:	cc                   	int3
487bfb:	cc                   	int3
487bfc:	cc                   	int3
487bfd:	cc                   	int3
487bfe:	cc                   	int3
487bff:	cc                   	int3
487c00:	55                   	push   %ebp
487c01:	8b ec                	mov    %esp,%ebp
487c03:	56                   	push   %esi
487c04:	8b f1                	mov    %ecx,%esi
487c06:	e8 45 fb ff ff       	call   0x487750
487c0b:	f6 45 08 01          	testb  $0x1,0x8(%ebp)
487c0f:	74 0b                	je     0x487c1c
487c11:	6a 28                	push   $0x28
487c13:	56                   	push   %esi
487c14:	e8 59 94 15 00       	call   0x5e1072
487c19:	83 c4 08             	add    $0x8,%esp
487c1c:	8b c6                	mov    %esi,%eax
487c1e:	5e                   	pop    %esi
487c1f:	5d                   	pop    %ebp
487c20:	c2 04 00             	ret    $0x4
487c23:	cc                   	int3
487c24:	cc                   	int3
487c25:	cc                   	int3
487c26:	cc                   	int3
487c27:	cc                   	int3
487c28:	cc                   	int3
487c29:	cc                   	int3
487c2a:	cc                   	int3
487c2b:	cc                   	int3
487c2c:	cc                   	int3
487c2d:	cc                   	int3
487c2e:	cc                   	int3
487c2f:	cc                   	int3
487c30:	55                   	push   %ebp
487c31:	8b ec                	mov    %esp,%ebp
487c33:	56                   	push   %esi
487c34:	8b f1                	mov    %ecx,%esi
487c36:	e8 65 f9 ff ff       	call   0x4875a0
487c3b:	f6 45 08 01          	testb  $0x1,0x8(%ebp)
487c3f:	74 0e                	je     0x487c4f
487c41:	68 18 07 00 00       	push   $0x718
487c46:	56                   	push   %esi
487c47:	e8 26 94 15 00       	call   0x5e1072
487c4c:	83 c4 08             	add    $0x8,%esp
487c4f:	8b c6                	mov    %esi,%eax
487c51:	5e                   	pop    %esi
487c52:	5d                   	pop    %ebp
487c53:	c2 04 00             	ret    $0x4