577811:	8b d8                	mov    %eax,%ebx
577813:	83 c4 0c             	add    $0xc,%esp
577816:	8d 43 f5             	lea    -0xb(%ebx),%eax
577819:	3b e8                	cmp    %eax,%ebp
57781b:	7e 1e                	jle    0x57783b
57781d:	6a 53                	push   $0x53
57781f:	68 70 d3 6b 00       	push   $0x6bd370
577824:	6a 70                	push   $0x70
577826:	6a 76                	push   $0x76
577828:	6a 04                	push   $0x4
57782a:	e8 71 9c f2 ff       	call   0x4a14a0
57782f:	83 c4 14             	add    $0x14,%esp
577832:	33 c0                	xor    %eax,%eax
577834:	5f                   	pop    %edi
577835:	5d                   	pop    %ebp
577836:	5b                   	pop    %ebx
577837:	83 c4 10             	add    $0x10,%esp
57783a:	c3                   	ret
57783b:	56                   	push   %esi
57783c:	6a 56                	push   $0x56
57783e:	43                   	inc    %ebx
57783f:	68 70 d3 6b 00       	push   $0x6bd370
577844:	53                   	push   %ebx
577845:	e8 66 89 f2 ff       	call   0x4a01b0
57784a:	8b f0                	mov    %eax,%esi
57784c:	83 c4 0c             	add    $0xc,%esp
57784f:	85 f6                	test   %esi,%esi
577851:	75 1f                	jne    0x577872
577853:	6a 58                	push   $0x58
577855:	68 70 d3 6b 00       	push   $0x6bd370
57785a:	6a 41                	push   $0x41
57785c:	6a 76                	push   $0x76
57785e:	6a 04                	push   $0x4
577860:	e8 3b 9c f2 ff       	call   0x4a14a0
577865:	83 c4 14             	add    $0x14,%esp
577868:	33 c0                	xor    %eax,%eax
57786a:	5e                   	pop    %esi
57786b:	5f                   	pop    %edi
57786c:	5d                   	pop    %ebp
57786d:	5b                   	pop    %ebx
57786e:	83 c4 10             	add    $0x10,%esp
577871:	c3                   	ret
577872:	8d 44 24 2c          	lea    0x2c(%esp),%eax
577876:	89 74 24 2c          	mov    %esi,0x2c(%esp)
57787a:	50                   	push   %eax
57787b:	8d 44 24 14          	lea    0x14(%esp),%eax
57787f:	50                   	push   %eax
577880:	e8 3b c5 f3 ff       	call   0x4b3dc0
577885:	6a 01                	push   $0x1
577887:	ff 74 24 44          	push   0x44(%esp)
57788b:	ff 74 24 40          	push   0x40(%esp)
57788f:	56                   	push   %esi
577890:	55                   	push   %ebp
577891:	e8 1a d0 f4 ff       	call   0x4c48b0
577896:	8b c8                	mov    %eax,%ecx
577898:	83 c4 1c             	add    $0x1c,%esp
57789b:	85 c9                	test   %ecx,%ecx
57789d:	7f 04                	jg     0x5778a3
57789f:	33 ff                	xor    %edi,%edi
5778a1:	eb 06                	jmp    0x5778a9
5778a3:	8b 44 24 34          	mov    0x34(%esp),%eax
5778a7:	89 08                	mov    %ecx,(%eax)
5778a9:	53                   	push   %ebx
5778aa:	56                   	push   %esi
5778ab:	e8 a0 8a f2 ff       	call   0x4a0350
5778b0:	56                   	push   %esi
5778b1:	e8 7a 88 f2 ff       	call   0x4a0130
5778b6:	83 c4 0c             	add    $0xc,%esp
5778b9:	8b c7                	mov    %edi,%eax
5778bb:	5e                   	pop    %esi
5778bc:	5f                   	pop    %edi
5778bd:	5d                   	pop    %ebp
5778be:	5b                   	pop    %ebx
5778bf:	83 c4 10             	add    $0x10,%esp
5778c2:	c3                   	ret
5778c3:	cc                   	int3
5778c4:	cc                   	int3
5778c5:	cc                   	int3
5778c6:	cc                   	int3
5778c7:	cc                   	int3
5778c8:	cc                   	int3
5778c9:	cc                   	int3
5778ca:	cc                   	int3
5778cb:	cc                   	int3
5778cc:	cc                   	int3
5778cd:	cc                   	int3
5778ce:	cc                   	int3
5778cf:	cc                   	int3
5778d0:	b8 2c 00 00 00       	mov    $0x2c,%eax
5778d5:	e8 16 9c 06 00       	call   0x5e14f0
5778da:	8b 44 24 40          	mov    0x40(%esp),%eax
5778de:	8b 4c 24 3c          	mov    0x3c(%esp),%ecx
5778e2:	53                   	push   %ebx
5778e3:	55                   	push   %ebp
5778e4:	33 ed                	xor    %ebp,%ebp
5778e6:	33 db                	xor    %ebx,%ebx
5778e8:	85 c0                	test   %eax,%eax
5778ea:	51                   	push   %ecx
5778eb:	0f 44 c1             	cmove  %ecx,%eax
5778ee:	89 44 24 4c          	mov    %eax,0x4c(%esp)
5778f2:	e8 f9 9b f1 ff       	call   0x4914f0
5778f7:	83 c4 04             	add    $0x4,%esp
5778fa:	89 44 24 0c          	mov    %eax,0xc(%esp)
5778fe:	85 c0                	test   %eax,%eax
577900:	0f 88 b1 02 00 00    	js     0x577bb7
577906:	57                   	push   %edi
577907:	8b 7c 24 50          	mov    0x50(%esp),%edi
57790b:	83 ff ff             	cmp    $0xffffffff,%edi
57790e:	75 3e                	jne    0x57794e
577910:	8b f8                	mov    %eax,%edi
577912:	56                   	push   %esi
577913:	8b 74 24 40          	mov    0x40(%esp),%esi
577917:	ff 76 10             	push   0x10(%esi)
57791a:	e8 51 ba f3 ff       	call   0x4b3370
57791f:	48                   	dec    %eax
577920:	83 e0 07             	and    $0x7,%eax
577923:	56                   	push   %esi
577924:	89 44 24 24          	mov    %eax,0x24(%esp)
577928:	e8 53 d1 f4 ff       	call   0x4c4a80
57792d:	83 c4 08             	add    $0x8,%esp
577930:	8b d0                	mov    %eax,%edx
577932:	89 54 24 20          	mov    %edx,0x20(%esp)
577936:	39 5c 24 1c          	cmp    %ebx,0x1c(%esp)
57793a:	75 42                	jne    0x57797e
57793c:	8b 4c 24 44          	mov    0x44(%esp),%ecx
577940:	88 19                	mov    %bl,(%ecx)
577942:	41                   	inc    %ecx
577943:	4a                   	dec    %edx
577944:	89 4c 24 10          	mov    %ecx,0x10(%esp)
577948:	89 54 24 20          	mov    %edx,0x20(%esp)
57794c:	eb 38                	jmp    0x577986
57794e:	83 ff fe             	cmp    $0xfffffffe,%edi
577951:	75 02                	jne    0x577955
577953:	eb bd                	jmp    0x577912
577955:	7d bb                	jge    0x577912
577957:	68 db 00 00 00       	push   $0xdb
57795c:	68 90 d3 6b 00       	push   $0x6bd390
577961:	68 88 00 00 00       	push   $0x88
577966:	68 94 00 00 00       	push   $0x94
57796b:	6a 04                	push   $0x4
57796d:	e8 2e 9b f2 ff       	call   0x4a14a0
577972:	83 c4 14             	add    $0x14,%esp
577975:	8b c5                	mov    %ebp,%eax
577977:	5f                   	pop    %edi
577978:	5d                   	pop    %ebp
577979:	5b                   	pop    %ebx
57797a:	83 c4 2c             	add    $0x2c,%esp
57797d:	c3                   	ret
57797e:	8b 44 24 44          	mov    0x44(%esp),%eax
577982:	89 44 24 10          	mov    %eax,0x10(%esp)
577986:	8b 4c 24 14          	mov    0x14(%esp),%ecx
57798a:	8d 41 02             	lea    0x2(%ecx),%eax
57798d:	3b d0                	cmp    %eax,%edx
57798f:	7d 25                	jge    0x5779b6
577991:	68 e7 00 00 00       	push   $0xe7
577996:	68 90 d3 6b 00       	push   $0x6bd390
57799b:	6a 6e                	push   $0x6e
57799d:	68 94 00 00 00       	push   $0x94
5779a2:	6a 04                	push   $0x4
5779a4:	e8 f7 9a f2 ff       	call   0x4a14a0
5779a9:	83 c4 14             	add    $0x14,%esp
5779ac:	8b c5                	mov    %ebp,%eax
5779ae:	5e                   	pop    %esi
5779af:	5f                   	pop    %edi
5779b0:	5d                   	pop    %ebp
5779b1:	5b                   	pop    %ebx
5779b2:	83 c4 2c             	add    $0x2c,%esp
5779b5:	c3                   	ret
5779b6:	8b f2                	mov    %edx,%esi
5779b8:	2b f1                	sub    %ecx,%esi
5779ba:	83 ff fe             	cmp    $0xfffffffe,%edi
5779bd:	75 45                	jne    0x577a04
5779bf:	8d 7e fe             	lea    -0x2(%esi),%edi
5779c2:	85 ff                	test   %edi,%edi
5779c4:	7e 65                	jle    0x577a2b
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