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
577e1c:	8b 74 24 1c          	mov    0x1c(%esp),%esi
577e20:	8b 54 24 18          	mov    0x18(%esp),%edx
577e24:	89 4c 24 10          	mov    %ecx,0x10(%esp)
577e28:	3b ce                	cmp    %esi,%ecx
577e2a:	7d 16                	jge    0x577e42
577e2c:	03 cd                	add    %ebp,%ecx
577e2e:	2b d5                	sub    %ebp,%edx
577e30:	2b 74 24 10          	sub    0x10(%esp),%esi
577e34:	8a 04 11             	mov    (%ecx,%edx,1),%al
577e37:	8d 49 01             	lea    0x1(%ecx),%ecx
577e3a:	30 41 ff             	xor    %al,-0x1(%ecx)
577e3d:	83 ee 01             	sub    $0x1,%esi
577e40:	75 f2                	jne    0x577e34
577e42:	8b 44 24 2c          	mov    0x2c(%esp),%eax
577e46:	85 c0                	test   %eax,%eax
577e48:	74 11                	je     0x577e5b
577e4a:	b9 08 00 00 00       	mov    $0x8,%ecx
577e4f:	2b c8                	sub    %eax,%ecx
577e51:	b8 ff 00 00 00       	mov    $0xff,%eax
577e56:	d3 f8                	sar    %cl,%eax
577e58:	20 45 00             	and    %al,0x0(%ebp)
577e5b:	8b 4c 24 1c          	mov    0x1c(%esp),%ecx
577e5f:	33 f6                	xor    %esi,%esi
577e61:	80 7d 00 00          	cmpb   $0x0,0x0(%ebp)
577e65:	75 14                	jne    0x577e7b
577e67:	8d 41 ff             	lea    -0x1(%ecx),%eax
577e6a:	66 0f 1f 44 00 00    	nopw   0x0(%eax,%eax,1)
577e70:	3b f0                	cmp    %eax,%esi
577e72:	7d 07                	jge    0x577e7b
577e74:	46                   	inc    %esi
577e75:	80 3c 2e 00          	cmpb   $0x0,(%esi,%ebp,1)
577e79:	74 f5                	je     0x577e70
577e7b:	8a 04 2e             	mov    (%esi,%ebp,1),%al
577e7e:	46                   	inc    %esi
577e7f:	3c 01                	cmp    $0x1,%al
577e81:	74 23                	je     0x577ea6
577e83:	68 98 00 00 00       	push   $0x98
577e88:	68 90 d3 6b 00       	push   $0x6bd390
577e8d:	68 87 00 00 00       	push   $0x87
577e92:	68 95 00 00 00       	push   $0x95
577e97:	6a 04                	push   $0x4
577e99:	e8 02 96 f2 ff       	call   0x4a14a0
577e9e:	83 c4 14             	add    $0x14,%esp
577ea1:	e9 3a 01 00 00       	jmp    0x577fe0
577ea6:	8b 94 24 ac 00 00 00 	mov    0xac(%esp),%edx
577ead:	85 d2                	test   %edx,%edx
577eaf:	78 2b                	js     0x577edc
577eb1:	8b c1                	mov    %ecx,%eax
577eb3:	2b c6                	sub    %esi,%eax
577eb5:	3b c2                	cmp    %edx,%eax
577eb7:	74 23                	je     0x577edc
577eb9:	68 9c 00 00 00       	push   $0x9c
577ebe:	68 90 d3 6b 00       	push   $0x6bd390
577ec3:	68 88 00 00 00       	push   $0x88
577ec8:	68 95 00 00 00       	push   $0x95
577ecd:	6a 04                	push   $0x4
577ecf:	e8 cc 95 f2 ff       	call   0x4a14a0
577ed4:	83 c4 14             	add    $0x14,%esp
577ed7:	e9 04 01 00 00       	jmp    0x577fe0
577edc:	6a 00                	push   $0x0
577ede:	ff 74 24 34          	push   0x34(%esp)
577ee2:	8d 44 24 40          	lea    0x40(%esp),%eax
577ee6:	50                   	push   %eax
577ee7:	e8 b4 93 f3 ff       	call   0x4b12a0
577eec:	83 c4 0c             	add    $0xc,%esp
577eef:	85 c0                	test   %eax,%eax
577ef1:	0f 84 e9 00 00 00    	je     0x577fe0
577ef7:	6a 08                	push   $0x8
577ef9:	8d 44 24 3c          	lea    0x3c(%esp),%eax
577efd:	68 88 d3 6b 00       	push   $0x6bd388
577f02:	50                   	push   %eax
577f03:	e8 48 95 f3 ff       	call   0x4b1450
577f08:	83 c4 0c             	add    $0xc,%esp
577f0b:	85 c0                	test   %eax,%eax
577f0d:	0f 84 cd 00 00 00    	je     0x577fe0
577f13:	57                   	push   %edi
577f14:	ff 74 24 38          	push   0x38(%esp)
577f18:	8d 44 24 40          	lea    0x40(%esp),%eax
577f1c:	50                   	push   %eax
577f1d:	e8 2e 95 f3 ff       	call   0x4b1450
577f22:	83 c4 0c             	add    $0xc,%esp
577f25:	85 c0                	test   %eax,%eax
577f27:	0f 84 b3 00 00 00    	je     0x577fe0
577f2d:	8b 44 24 1c          	mov    0x1c(%esp),%eax
577f31:	2b c6                	sub    %esi,%eax
577f33:	74 1a                	je     0x577f4f
577f35:	50                   	push   %eax
577f36:	8d 04 2e             	lea    (%esi,%ebp,1),%eax
577f39:	50                   	push   %eax
577f3a:	8d 44 24 40          	lea    0x40(%esp),%eax
577f3e:	50                   	push   %eax
577f3f:	e8 0c 95 f3 ff       	call   0x4b1450
577f44:	83 c4 0c             	add    $0xc,%esp
577f47:	85 c0                	test   %eax,%eax
577f49:	0f 84 91 00 00 00    	je     0x577fe0
577f4f:	6a 00                	push   $0x0
577f51:	8d 44 24 54          	lea    0x54(%esp),%eax
577f55:	50                   	push   %eax
577f56:	8d 44 24 40          	lea    0x40(%esp),%eax
577f5a:	50                   	push   %eax
577f5b:	e8 c0 92 f3 ff       	call   0x4b1220
577f60:	83 c4 0c             	add    $0xc,%esp
577f63:	85 c0                	test   %eax,%eax
577f65:	74 79                	je     0x577fe0
577f67:	8d 4c 24 50          	lea    0x50(%esp),%ecx
577f6b:	83 ef 04             	sub    $0x4,%edi
577f6e:	72 11                	jb     0x577f81
577f70:	8b 01                	mov    (%ecx),%eax
577f72:	3b 03                	cmp    (%ebx),%eax
577f74:	75 10                	jne    0x577f86
577f76:	83 c1 04             	add    $0x4,%ecx
577f79:	83 c3 04             	add    $0x4,%ebx
577f7c:	83 ef 04             	sub    $0x4,%edi
577f7f:	73 ef                	jae    0x577f70
577f81:	83 ff fc             	cmp    $0xfffffffc,%edi
577f84:	74 52                	je     0x577fd8
577f86:	8a 01                	mov    (%ecx),%al
577f88:	3a 03                	cmp    (%ebx),%al
577f8a:	75 27                	jne    0x577fb3
577f8c:	83 ff fd             	cmp    $0xfffffffd,%edi
577f8f:	74 47                	je     0x577fd8
577f91:	8a 41 01             	mov    0x1(%ecx),%al
577f94:	3a 43 01             	cmp    0x1(%ebx),%al
577f97:	75 1a                	jne    0x577fb3
577f99:	83 ff fe             	cmp    $0xfffffffe,%edi
577f9c:	74 3a                	je     0x577fd8
577f9e:	8a 41 02             	mov    0x2(%ecx),%al
577fa1:	3a 43 02             	cmp    0x2(%ebx),%al
577fa4:	75 0d                	jne    0x577fb3
577fa6:	83 ff ff             	cmp    $0xffffffff,%edi
577fa9:	74 2d                	je     0x577fd8
577fab:	8a 41 03             	mov    0x3(%ecx),%al
577fae:	3a 43 03             	cmp    0x3(%ebx),%al
577fb1:	74 25                	je     0x577fd8
577fb3:	68 aa 00 00 00       	push   $0xaa
577fb8:	68 90 d3 6b 00       	push   $0x6bd390
577fbd:	6a 68                	push   $0x68
577fbf:	68 95 00 00 00       	push   $0x95
577fc4:	6a 04                	push   $0x4
577fc6:	e8 d5 94 f2 ff       	call   0x4a14a0
577fcb:	83 c4 14             	add    $0x14,%esp
577fce:	c7 44 24 20 00 00 00 	movl   $0x0,0x20(%esp)
577fd5:	00
577fd6:	eb 08                	jmp    0x577fe0
577fd8:	c7 44 24 20 01 00 00 	movl   $0x1,0x20(%esp)
577fdf:	00
577fe0:	55                   	push   %ebp
577fe1:	e8 4a 81 f2 ff       	call   0x4a0130
577fe6:	83 c4 04             	add    $0x4,%esp
577fe9:	8d 44 24 38          	lea    0x38(%esp),%eax
577fed:	50                   	push   %eax
577fee:	e8 6d 94 f3 ff       	call   0x4b1460
577ff3:	8b 8c 24 94 00 00 00 	mov    0x94(%esp),%ecx
577ffa:	83 c4 04             	add    $0x4,%esp
577ffd:	8b 44 24 20          	mov    0x20(%esp),%eax
578001:	5f                   	pop    %edi
578002:	5e                   	pop    %esi
578003:	5d                   	pop    %ebp
578004:	5b                   	pop    %ebx
578005:	33 cc                	xor    %esp,%ecx
578007:	e8 ce 94 06 00       	call   0x5e14da
57800c:	81 c4 84 00 00 00    	add    $0x84,%esp
578012:	c3                   	ret
578013:	cc                   	int3
578014:	cc                   	int3
578015:	cc                   	int3
578016:	cc                   	int3
578017:	cc                   	int3
578018:	cc                   	int3
578019:	cc                   	int3
57801a:	cc                   	int3
57801b:	cc                   	int3
57801c:	cc                   	int3
57801d:	cc                   	int3
57801e:	cc                   	int3