5779c6:	68 f2 00 00 00       	push   $0xf2
5779cb:	68 90 d3 6b 00       	push   $0x6bd390
5779d0:	57                   	push   %edi
5779d1:	e8 da 87 f2 ff       	call   0x4a01b0
5779d6:	8b d8                	mov    %eax,%ebx
5779d8:	83 c4 0c             	add    $0xc,%esp
5779db:	85 db                	test   %ebx,%ebx
5779dd:	75 3a                	jne    0x577a19
5779df:	68 f5 00 00 00       	push   $0xf5
5779e4:	68 90 d3 6b 00       	push   $0x6bd390
5779e9:	6a 41                	push   $0x41
5779eb:	68 94 00 00 00       	push   $0x94
5779f0:	6a 04                	push   $0x4
5779f2:	e8 a9 9a f2 ff       	call   0x4a14a0
5779f7:	83 c4 14             	add    $0x14,%esp
5779fa:	8b c5                	mov    %ebp,%eax
5779fc:	5e                   	pop    %esi
5779fd:	5f                   	pop    %edi
5779fe:	5d                   	pop    %ebp
5779ff:	5b                   	pop    %ebx
577a00:	83 c4 2c             	add    $0x2c,%esp
577a03:	c3                   	ret
577a04:	8d 46 fe             	lea    -0x2(%esi),%eax
577a07:	3b f8                	cmp    %eax,%edi
577a09:	7e b7                	jle    0x5779c2
577a0b:	68 ee 00 00 00       	push   $0xee
577a10:	68 90 d3 6b 00       	push   $0x6bd390
577a15:	6a 6e                	push   $0x6e
577a17:	eb d2                	jmp    0x5779eb
577a19:	57                   	push   %edi
577a1a:	53                   	push   %ebx
577a1b:	e8 80 94 f1 ff       	call   0x490ea0
577a20:	83 c4 08             	add    $0x8,%esp
577a23:	85 c0                	test   %eax,%eax
577a25:	0f 8e 7d 01 00 00    	jle    0x577ba8
577a2b:	8b 44 24 10          	mov    0x10(%esp),%eax
577a2f:	8d 4e ff             	lea    -0x1(%esi),%ecx
577a32:	03 c1                	add    %ecx,%eax
577a34:	89 44 24 18          	mov    %eax,0x18(%esp)
577a38:	8d 44 24 24          	lea    0x24(%esp),%eax
577a3c:	50                   	push   %eax
577a3d:	e8 7e 9c f3 ff       	call   0x4b16c0
577a42:	6a 00                	push   $0x0
577a44:	ff 74 24 54          	push   0x54(%esp)
577a48:	8d 44 24 30          	lea    0x30(%esp),%eax
577a4c:	50                   	push   %eax
577a4d:	e8 4e 98 f3 ff       	call   0x4b12a0
577a52:	83 c4 10             	add    $0x10,%esp
577a55:	85 c0                	test   %eax,%eax
577a57:	0f 84 4b 01 00 00    	je     0x577ba8
577a5d:	6a 08                	push   $0x8
577a5f:	8d 44 24 28          	lea    0x28(%esp),%eax
577a63:	68 88 d3 6b 00       	push   $0x6bd388
577a68:	50                   	push   %eax
577a69:	e8 e2 99 f3 ff       	call   0x4b1450
577a6e:	83 c4 0c             	add    $0xc,%esp
577a71:	85 c0                	test   %eax,%eax
577a73:	0f 84 2f 01 00 00    	je     0x577ba8
577a79:	ff 74 24 14          	push   0x14(%esp)
577a7d:	8d 44 24 28          	lea    0x28(%esp),%eax
577a81:	ff 74 24 4c          	push   0x4c(%esp)
577a85:	50                   	push   %eax
577a86:	e8 c5 99 f3 ff       	call   0x4b1450
577a8b:	83 c4 0c             	add    $0xc,%esp
577a8e:	85 c0                	test   %eax,%eax
577a90:	0f 84 12 01 00 00    	je     0x577ba8
577a96:	85 ff                	test   %edi,%edi
577a98:	74 17                	je     0x577ab1
577a9a:	57                   	push   %edi
577a9b:	8d 44 24 28          	lea    0x28(%esp),%eax
577a9f:	53                   	push   %ebx
577aa0:	50                   	push   %eax
577aa1:	e8 aa 99 f3 ff       	call   0x4b1450
577aa6:	83 c4 0c             	add    $0xc,%esp
577aa9:	85 c0                	test   %eax,%eax
577aab:	0f 84 f7 00 00 00    	je     0x577ba8
577ab1:	6a 00                	push   $0x0
577ab3:	ff 74 24 1c          	push   0x1c(%esp)
577ab7:	8d 44 24 2c          	lea    0x2c(%esp),%eax
577abb:	50                   	push   %eax
577abc:	e8 5f 97 f3 ff       	call   0x4b1220
577ac1:	83 c4 0c             	add    $0xc,%esp
577ac4:	85 c0                	test   %eax,%eax
577ac6:	0f 84 dc 00 00 00    	je     0x577ba8
577acc:	8d 44 24 24          	lea    0x24(%esp),%eax
577ad0:	50                   	push   %eax
577ad1:	e8 8a 99 f3 ff       	call   0x4b1460
577ad6:	ff 74 24 54          	push   0x54(%esp)
577ada:	8d 46 ff             	lea    -0x1(%esi),%eax
577add:	ff 74 24 1c          	push   0x1c(%esp)
577ae1:	ff 74 24 24          	push   0x24(%esp)
577ae5:	50                   	push   %eax
577ae6:	ff 74 24 24          	push   0x24(%esp)
577aea:	e8 51 98 ff ff       	call   0x571340
577aef:	83 c4 18             	add    $0x18,%esp
577af2:	85 c0                	test   %eax,%eax
577af4:	0f 85 ae 00 00 00    	jne    0x577ba8
577afa:	8b 54 24 10          	mov    0x10(%esp),%edx
577afe:	2b f7                	sub    %edi,%esi
577b00:	80 74 16 fe 01       	xorb   $0x1,-0x2(%esi,%edx,1)
577b05:	8d 0c 16             	lea    (%esi,%edx,1),%ecx
577b08:	49                   	dec    %ecx
577b09:	85 ff                	test   %edi,%edi
577b0b:	7e 75                	jle    0x577b82
577b0d:	33 d2                	xor    %edx,%edx
577b0f:	83 ff 20             	cmp    $0x20,%edi
577b12:	72 57                	jb     0x577b6b
577b14:	8d 43 ff             	lea    -0x1(%ebx),%eax
577b17:	8d 71 ff             	lea    -0x1(%ecx),%esi
577b1a:	03 c7                	add    %edi,%eax
577b1c:	03 f7                	add    %edi,%esi
577b1e:	3b c8                	cmp    %eax,%ecx
577b20:	77 04                	ja     0x577b26
577b22:	3b f3                	cmp    %ebx,%esi
577b24:	73 45                	jae    0x577b6b
577b26:	8b c7                	mov    %edi,%eax
577b28:	25 1f 00 00 80       	and    $0x8000001f,%eax
577b2d:	79 05                	jns    0x577b34
577b2f:	48                   	dec    %eax
577b30:	83 c8 e0             	or     $0xffffffe0,%eax
577b33:	40                   	inc    %eax
577b34:	8b f7                	mov    %edi,%esi
577b36:	2b f0                	sub    %eax,%esi
577b38:	8d 43 10             	lea    0x10(%ebx),%eax
577b3b:	0f 1f 44 00 00       	nopl   0x0(%eax,%eax,1)
577b40:	0f 10 01             	movups (%ecx),%xmm0
577b43:	83 c2 20             	add    $0x20,%edx
577b46:	8d 40 20             	lea    0x20(%eax),%eax
577b49:	0f 10 48 d0          	movups -0x30(%eax),%xmm1
577b4d:	66 0f ef c8          	pxor   %xmm0,%xmm1
577b51:	0f 11 09             	movups %xmm1,(%ecx)
577b54:	0f 10 48 e0          	movups -0x20(%eax),%xmm1
577b58:	0f 10 41 10          	movups 0x10(%ecx),%xmm0
577b5c:	66 0f ef c8          	pxor   %xmm0,%xmm1
577b60:	0f 11 49 10          	movups %xmm1,0x10(%ecx)
577b64:	83 c1 20             	add    $0x20,%ecx
577b67:	3b d6                	cmp    %esi,%edx
577b69:	7c d5                	jl     0x577b40
577b6b:	3b d7                	cmp    %edi,%edx
577b6d:	7d 0f                	jge    0x577b7e
577b6f:	90                   	nop
577b70:	8a 04 1a             	mov    (%edx,%ebx,1),%al
577b73:	8d 49 01             	lea    0x1(%ecx),%ecx
577b76:	30 41 ff             	xor    %al,-0x1(%ecx)
577b79:	42                   	inc    %edx
577b7a:	3b d7                	cmp    %edi,%edx
577b7c:	7c f2                	jl     0x577b70
577b7e:	8b 54 24 10          	mov    0x10(%esp),%edx
577b82:	8b 44 24 1c          	mov    0x1c(%esp),%eax
577b86:	85 c0                	test   %eax,%eax
577b88:	74 10                	je     0x577b9a
577b8a:	b9 08 00 00 00       	mov    $0x8,%ecx
577b8f:	2b c8                	sub    %eax,%ecx
577b91:	b8 ff 00 00 00       	mov    $0xff,%eax
577b96:	d3 f8                	sar    %cl,%eax
577b98:	20 02                	and    %al,(%edx)
577b9a:	8b 44 24 20          	mov    0x20(%esp),%eax
577b9e:	bd 01 00 00 00       	mov    $0x1,%ebp
577ba3:	c6 44 10 ff bc       	movb   $0xbc,-0x1(%eax,%edx,1)
577ba8:	85 db                	test   %ebx,%ebx
577baa:	74 09                	je     0x577bb5
577bac:	53                   	push   %ebx
577bad:	e8 7e 85 f2 ff       	call   0x4a0130
577bb2:	83 c4 04             	add    $0x4,%esp
577bb5:	5e                   	pop    %esi
577bb6:	5f                   	pop    %edi
577bb7:	8b c5                	mov    %ebp,%eax
577bb9:	5d                   	pop    %ebp
577bba:	5b                   	pop    %ebx
577bbb:	83 c4 2c             	add    $0x2c,%esp
577bbe:	c3                   	ret
577bbf:	cc                   	int3
577bc0:	b8 84 00 00 00       	mov    $0x84,%eax
577bc5:	e8 26 99 06 00       	call   0x5e14f0
577bca:	a1 d4 89 72 00       	mov    0x7289d4,%eax
577bcf:	33 c4                	xor    %esp,%eax
577bd1:	89 84 24 80 00 00 00 	mov    %eax,0x80(%esp)
577bd8:	8b 84 24 8c 00 00 00 	mov    0x8c(%esp),%eax
577bdf:	53                   	push   %ebx
577be0:	8b 9c 24 9c 00 00 00 	mov    0x9c(%esp),%ebx
577be7:	55                   	push   %ebp
577be8:	8b ac 24 9c 00 00 00 	mov    0x9c(%esp),%ebp
577bef:	56                   	push   %esi
577bf0:	8b b4 24 94 00 00 00 	mov    0x94(%esp),%esi
577bf7:	89 44 24 30          	mov    %eax,0x30(%esp)
577bfb:	8d 44 24 34          	lea    0x34(%esp),%eax
577bff:	57                   	push   %edi
577c00:	8b bc 24 a0 00 00 00 	mov    0xa0(%esp),%edi
577c07:	50                   	push   %eax
577c08:	89 74 24 18          	mov    %esi,0x18(%esp)
577c0c:	89 7c 24 34          	mov    %edi,0x34(%esp)
577c10:	89 5c 24 1c          	mov    %ebx,0x1c(%esp)
577c14:	c7 44 24 24 00 00 00 	movl   $0x0,0x24(%esp)
577c1b:	00
577c1c:	e8 9f 9a f3 ff       	call   0x4b16c0
577c21:	85 ed                	test   %ebp,%ebp
577c23:	57                   	push   %edi
577c24:	0f 44 ef             	cmove  %edi,%ebp
577c27:	89 6c 24 18          	mov    %ebp,0x18(%esp)
577c2b:	e8 c0 98 f1 ff       	call   0x4914f0
577c30:	8b f8                	mov    %eax,%edi
577c32:	83 c4 08             	add    $0x8,%esp
577c35:	85 ff                	test   %edi,%edi
577c37:	0f 88 ac 03 00 00    	js     0x577fe9
577c3d:	8b ac 24 ac 00 00 00 	mov    0xac(%esp),%ebp
577c44:	83 fd ff             	cmp    $0xffffffff,%ebp
577c47:	75 56                	jne    0x577c9f
577c49:	8b ef                	mov    %edi,%ebp
577c4b:	89 ac 24 ac 00 00 00 	mov    %ebp,0xac(%esp)
577c52:	ff 76 10             	push   0x10(%esi)
577c55:	e8 16 b7 f3 ff       	call   0x4b3370
577c5a:	ff 74 24 18          	push   0x18(%esp)
577c5e:	8d 70 ff             	lea    -0x1(%eax),%esi
577c61:	83 e6 07             	and    $0x7,%esi
577c64:	89 74 24 34          	mov    %esi,0x34(%esp)
577c68:	e8 13 ce f4 ff       	call   0x4c4a80
577c6d:	8b d0                	mov    %eax,%edx
577c6f:	8b ce                	mov    %esi,%ecx
577c71:	b8 ff 00 00 00       	mov    $0xff,%eax
577c76:	83 c4 08             	add    $0x8,%esp
577c79:	d3 e0                	shl    %cl,%eax
577c7b:	84 03                	test   %al,(%ebx)
577c7d:	74 49                	je     0x577cc8
577c7f:	6a 76                	push   $0x76
577c81:	68 90 d3 6b 00       	push   $0x6bd390
577c86:	68 85 00 00 00       	push   $0x85
577c8b:	68 95 00 00 00       	push   $0x95
577c90:	6a 04                	push   $0x4
577c92:	e8 09 98 f2 ff       	call   0x4a14a0
577c97:	83 c4 14             	add    $0x14,%esp
577c9a:	e9 4a 03 00 00       	jmp    0x577fe9
577c9f:	83 fd fe             	cmp    $0xfffffffe,%ebp
577ca2:	75 02                	jne    0x577ca6
577ca4:	eb a5                	jmp    0x577c4b
577ca6:	7d aa                	jge    0x577c52
577ca8:	6a 6f                	push   $0x6f
577caa:	68 90 d3 6b 00       	push   $0x6bd390
577caf:	68 88 00 00 00       	push   $0x88
577cb4:	68 95 00 00 00       	push   $0x95
577cb9:	6a 04                	push   $0x4
577cbb:	e8 e0 97 f2 ff       	call   0x4a14a0
577cc0:	83 c4 14             	add    $0x14,%esp
577cc3:	e9 21 03 00 00       	jmp    0x577fe9
577cc8:	85 f6                	test   %esi,%esi
577cca:	75 06                	jne    0x577cd2
577ccc:	43                   	inc    %ebx
577ccd:	4a                   	dec    %edx
577cce:	89 5c 24 18          	mov    %ebx,0x18(%esp)
577cd2:	8d 47 02             	lea    0x2(%edi),%eax
577cd5:	3b d0                	cmp    %eax,%edx
577cd7:	7d 1d                	jge    0x577cf6
577cd9:	6a 7e                	push   $0x7e
577cdb:	68 90 d3 6b 00       	push   $0x6bd390
577ce0:	6a 6d                	push   $0x6d
577ce2:	68 95 00 00 00       	push   $0x95
577ce7:	6a 04                	push   $0x4
577ce9:	e8 b2 97 f2 ff       	call   0x4a14a0
577cee:	83 c4 14             	add    $0x14,%esp
577cf1:	e9 f3 02 00 00       	jmp    0x577fe9
577cf6:	8b f2                	mov    %edx,%esi
577cf8:	2b f7                	sub    %edi,%esi
577cfa:	8d 46 fe             	lea    -0x2(%esi),%eax
577cfd:	3b e8                	cmp    %eax,%ebp
577cff:	7e 07                	jle    0x577d08
577d01:	68 82 00 00 00       	push   $0x82
577d06:	eb d3                	jmp    0x577cdb
577d08:	80 7c 13 ff bc       	cmpb   $0xbc,-0x1(%ebx,%edx,1)
577d0d:	74 23                	je     0x577d32
577d0f:	68 86 00 00 00       	push   $0x86
577d14:	68 90 d3 6b 00       	push   $0x6bd390
577d19:	68 86 00 00 00       	push   $0x86
577d1e:	68 95 00 00 00       	push   $0x95
577d23:	6a 04                	push   $0x4
577d25:	e8 76 97 f2 ff       	call   0x4a14a0
577d2a:	83 c4 14             	add    $0x14,%esp
577d2d:	e9 b7 02 00 00       	jmp    0x577fe9
577d32:	68 8b 00 00 00       	push   $0x8b
577d37:	4e                   	dec    %esi
577d38:	68 90 d3 6b 00       	push   $0x6bd390
577d3d:	56                   	push   %esi
577d3e:	89 74 24 28          	mov    %esi,0x28(%esp)
577d42:	03 de                	add    %esi,%ebx
577d44:	e8 67 84 f2 ff       	call   0x4a01b0
577d49:	8b e8                	mov    %eax,%ebp
577d4b:	83 c4 0c             	add    $0xc,%esp
577d4e:	85 ed                	test   %ebp,%ebp
577d50:	75 20                	jne    0x577d72
577d52:	68 8d 00 00 00       	push   $0x8d
577d57:	68 90 d3 6b 00       	push   $0x6bd390
577d5c:	6a 41                	push   $0x41
577d5e:	68 95 00 00 00       	push   $0x95
577d63:	6a 04                	push   $0x4
577d65:	e8 36 97 f2 ff       	call   0x4a14a0
577d6a:	83 c4 14             	add    $0x14,%esp
577d6d:	e9 77 02 00 00       	jmp    0x577fe9
577d72:	ff 74 24 10          	push   0x10(%esp)
577d76:	57                   	push   %edi
577d77:	53                   	push   %ebx
577d78:	56                   	push   %esi
577d79:	55                   	push   %ebp
577d7a:	e8 c1 95 ff ff       	call   0x571340
577d7f:	83 c4 14             	add    $0x14,%esp
577d82:	85 c0                	test   %eax,%eax
577d84:	0f 88 56 02 00 00    	js     0x577fe0
577d8a:	33 c9                	xor    %ecx,%ecx
577d8c:	89 4c 24 10          	mov    %ecx,0x10(%esp)
577d90:	85 f6                	test   %esi,%esi
577d92:	0f 8e aa 00 00 00    	jle    0x577e42
577d98:	8b 54 24 18          	mov    0x18(%esp),%edx
577d9c:	83 fe 20             	cmp    $0x20,%esi
577d9f:	0f 82 83 00 00 00    	jb     0x577e28
577da5:	8d 42 ff             	lea    -0x1(%edx),%eax
577da8:	89 4c 24 10          	mov    %ecx,0x10(%esp)
577dac:	03 c6                	add    %esi,%eax
577dae:	3b e8                	cmp    %eax,%ebp
577db0:	77 09                	ja     0x577dbb
577db2:	8d 45 ff             	lea    -0x1(%ebp),%eax
577db5:	03 c6                	add    %esi,%eax
577db7:	3b c2                	cmp    %edx,%eax
577db9:	73 6d                	jae    0x577e28
577dbb:	8b c6                	mov    %esi,%eax
577dbd:	25 1f 00 00 80       	and    $0x8000001f,%eax
577dc2:	79 05                	jns    0x577dc9
577dc4:	48                   	dec    %eax
577dc5:	83 c8 e0             	or     $0xffffffe0,%eax
577dc8:	40                   	inc    %eax
577dc9:	89 74 24 14          	mov    %esi,0x14(%esp)
577dcd:	8b ca                	mov    %edx,%ecx
577dcf:	29 44 24 14          	sub    %eax,0x14(%esp)
577dd3:	2b cd                	sub    %ebp,%ecx
577dd5:	89 4c 24 24          	mov    %ecx,0x24(%esp)
577dd9:	8b c5                	mov    %ebp,%eax
577ddb:	8d 4a 10             	lea    0x10(%edx),%ecx
577dde:	8b 54 24 24          	mov    0x24(%esp),%edx
577de2:	89 4c 24 28          	mov    %ecx,0x28(%esp)
577de6:	8b 4c 24 10          	mov    0x10(%esp),%ecx
577dea:	8b 74 24 28          	mov    0x28(%esp),%esi
577dee:	66 90                	xchg   %ax,%ax
577df0:	0f 10 00             	movups (%eax),%xmm0
577df3:	8d 40 20             	lea    0x20(%eax),%eax
577df6:	0f 10 4c 02 e0       	movups -0x20(%edx,%eax,1),%xmm1
577dfb:	66 0f ef c8          	pxor   %xmm0,%xmm1
577dff:	0f 11 48 e0          	movups %xmm1,-0x20(%eax)
577e03:	0f 10 0c 0e          	movups (%esi,%ecx,1),%xmm1
577e07:	83 c1 20             	add    $0x20,%ecx
577e0a:	0f 10 40 f0          	movups -0x10(%eax),%xmm0
577e0e:	66 0f ef c8          	pxor   %xmm0,%xmm1
577e12:	0f 11 48 f0          	movups %xmm1,-0x10(%eax)
577e16:	3b 4c 24 14          	cmp    0x14(%esp),%ecx
577e1a:	7c d4                	jl     0x577df0