563907:	8b 75 a8             	mov    -0x58(%ebp),%esi
56390a:	83 c6 14             	add    $0x14,%esi
56390d:	47                   	inc    %edi
56390e:	89 75 a8             	mov    %esi,-0x58(%ebp)
563911:	84 ff                	test   %bh,%bh
563913:	0f 85 a7 fe ff ff    	jne    0x5637c0
563919:	8b 55 d0             	mov    -0x30(%ebp),%edx
56391c:	8b 4d c4             	mov    -0x3c(%ebp),%ecx
56391f:	85 c9                	test   %ecx,%ecx
563921:	74 0a                	je     0x56392d
563923:	8b 45 9c             	mov    -0x64(%ebp),%eax
563926:	0f b7 c0             	movzwl %ax,%eax
563929:	3b c8                	cmp    %eax,%ecx
56392b:	7d 04                	jge    0x563931
56392d:	c6 45 cc 00          	movb   $0x0,-0x34(%ebp)
563931:	8b 45 bc             	mov    -0x44(%ebp),%eax
563934:	84 c0                	test   %al,%al
563936:	0f 84 eb 00 00 00    	je     0x563a27
56393c:	c6 45 cc 01          	movb   $0x1,-0x34(%ebp)
563940:	e9 ec 00 00 00       	jmp    0x563a31
563945:	8b 75 c4             	mov    -0x3c(%ebp),%esi
563948:	66 83 bd 6c ff ff ff 	cmpw   $0x0,-0x94(%ebp)
56394f:	00
563950:	74 0a                	je     0x56395c
563952:	8b 4d d0             	mov    -0x30(%ebp),%ecx
563955:	8d 46 01             	lea    0x1(%esi),%eax
563958:	66 89 41 1e          	mov    %ax,0x1e(%ecx)
56395c:	f6 45 14 40          	testb  $0x40,0x14(%ebp)
563960:	75 59                	jne    0x5639bb
563962:	80 7d c9 00          	cmpb   $0x0,-0x37(%ebp)
563966:	8d 04 bf             	lea    (%edi,%edi,4),%eax
563969:	8b 4d b0             	mov    -0x50(%ebp),%ecx
56396c:	74 17                	je     0x563985
56396e:	8a 44 81 0c          	mov    0xc(%ecx,%eax,4),%al
563972:	8a 4d db             	mov    -0x25(%ebp),%cl
563975:	24 01                	and    $0x1,%al
563977:	32 4d ca             	xor    -0x36(%ebp),%cl
56397a:	3a c8                	cmp    %al,%cl
56397c:	0f 94 c0             	sete   %al
56397f:	84 c0                	test   %al,%al
563981:	74 96                	je     0x563919
563983:	eb 36                	jmp    0x5639bb
563985:	8a 54 81 0c          	mov    0xc(%ecx,%eax,4),%dl
563989:	80 e2 01             	and    $0x1,%dl
56398c:	32 55 db             	xor    -0x25(%ebp),%dl
56398f:	88 55 ca             	mov    %dl,-0x36(%ebp)
563992:	74 23                	je     0x5639b7
563994:	8b 45 ac             	mov    -0x54(%ebp),%eax
563997:	33 c9                	xor    %ecx,%ecx
563999:	0f ab c1             	bts    %eax,%ecx
56399c:	33 d2                	xor    %edx,%edx
56399e:	83 f8 20             	cmp    $0x20,%eax
5639a1:	0f 43 d1             	cmovae %ecx,%edx
5639a4:	33 ca                	xor    %edx,%ecx
5639a6:	83 f8 40             	cmp    $0x40,%eax
5639a9:	8b 85 58 ff ff ff    	mov    -0xa8(%ebp),%eax
5639af:	0f 43 d1             	cmovae %ecx,%edx
5639b2:	09 08                	or     %ecx,(%eax)
5639b4:	09 50 04             	or     %edx,0x4(%eax)
5639b7:	c6 45 c9 01          	movb   $0x1,-0x37(%ebp)
5639bb:	8b 4d b0             	mov    -0x50(%ebp),%ecx
5639be:	8d 04 bf             	lea    (%edi,%edi,4),%eax
5639c1:	8b 55 d0             	mov    -0x30(%ebp),%edx
5639c4:	f6 44 81 0c 02       	testb  $0x2,0xc(%ecx,%eax,4)
5639c9:	74 13                	je     0x5639de
5639cb:	0f b7 42 18          	movzwl 0x18(%edx),%eax
5639cf:	3b f0                	cmp    %eax,%esi
5639d1:	0f 85 45 ff ff ff    	jne    0x56391c
5639d7:	81 4a 24 00 00 08 00 	orl    $0x80000,0x24(%edx)
5639de:	83 7d c0 ff          	cmpl   $0xffffffff,-0x40(%ebp)
5639e2:	b9 01 00 00 00       	mov    $0x1,%ecx
5639e7:	8b 45 bc             	mov    -0x44(%ebp),%eax
5639ea:	0f b6 c0             	movzbl %al,%eax
5639ed:	0f 44 c1             	cmove  %ecx,%eax
5639f0:	33 c9                	xor    %ecx,%ecx
5639f2:	89 45 bc             	mov    %eax,-0x44(%ebp)
5639f5:	33 c0                	xor    %eax,%eax
5639f7:	0f ab f8             	bts    %edi,%eax
5639fa:	83 ff 20             	cmp    $0x20,%edi
5639fd:	0f 43 c8             	cmovae %eax,%ecx
563a00:	33 c1                	xor    %ecx,%eax
563a02:	83 ff 40             	cmp    $0x40,%edi
563a05:	0f 43 c8             	cmovae %eax,%ecx
563a08:	09 45 d4             	or     %eax,-0x2c(%ebp)
563a0b:	09 4d dc             	or     %ecx,-0x24(%ebp)
563a0e:	8b 75 c4             	mov    -0x3c(%ebp),%esi
563a11:	83 45 a4 14          	addl   $0x14,-0x5c(%ebp)
563a15:	46                   	inc    %esi
563a16:	89 75 c4             	mov    %esi,-0x3c(%ebp)
563a19:	3b 75 80             	cmp    -0x80(%ebp),%esi
563a1c:	0f 8c ae fc ff ff    	jl     0x5636d0
563a22:	e9 0a ff ff ff       	jmp    0x563931
563a27:	80 7d cc 00          	cmpb   $0x0,-0x34(%ebp)
563a2b:	0f 84 16 01 00 00    	je     0x563b47
563a31:	8b 45 88             	mov    -0x78(%ebp),%eax
563a34:	0b 42 08             	or     0x8(%edx),%eax
563a37:	8b 5d b8             	mov    -0x48(%ebp),%ebx
563a3a:	89 45 88             	mov    %eax,-0x78(%ebp)
563a3d:	8b 45 84             	mov    -0x7c(%ebp),%eax
563a40:	0b 42 0c             	or     0xc(%edx),%eax
563a43:	89 45 84             	mov    %eax,-0x7c(%ebp)
563a46:	33 c0                	xor    %eax,%eax
563a48:	89 45 a8             	mov    %eax,-0x58(%ebp)
563a4b:	85 db                	test   %ebx,%ebx
563a4d:	0f 8e f7 00 00 00    	jle    0x563b4a
563a53:	8b 5d b0             	mov    -0x50(%ebp),%ebx
563a56:	8b 55 b8             	mov    -0x48(%ebp),%edx
563a59:	83 c3 04             	add    $0x4,%ebx
563a5c:	89 5d bc             	mov    %ebx,-0x44(%ebp)
563a5f:	90                   	nop
563a60:	33 f6                	xor    %esi,%esi
563a62:	33 ff                	xor    %edi,%edi
563a64:	0f ab c6             	bts    %eax,%esi
563a67:	83 f8 20             	cmp    $0x20,%eax
563a6a:	0f 43 fe             	cmovae %esi,%edi
563a6d:	33 f7                	xor    %edi,%esi
563a6f:	83 f8 40             	cmp    $0x40,%eax
563a72:	8b ce                	mov    %esi,%ecx
563a74:	0f 43 fe             	cmovae %esi,%edi
563a77:	23 4d d4             	and    -0x2c(%ebp),%ecx
563a7a:	8b c7                	mov    %edi,%eax
563a7c:	23 45 dc             	and    -0x24(%ebp),%eax
563a7f:	0b c8                	or     %eax,%ecx
563a81:	0f 85 9c 00 00 00    	jne    0x563b23
563a87:	8b 1b                	mov    (%ebx),%ebx
563a89:	85 db                	test   %ebx,%ebx
563a8b:	74 16                	je     0x563aa3
563a8d:	8b 45 b4             	mov    -0x4c(%ebp),%eax
563a90:	05 e8 01 00 00       	add    $0x1e8,%eax
563a95:	53                   	push   %ebx
563a96:	50                   	push   %eax
563a97:	e8 04 01 ff ff       	call   0x553ba0
563a9c:	83 c4 08             	add    $0x8,%esp
563a9f:	8b ca                	mov    %edx,%ecx
563aa1:	eb 14                	jmp    0x563ab7
563aa3:	0f 57 c0             	xorps  %xmm0,%xmm0
563aa6:	66 0f 13 85 7c ff ff 	movlpd %xmm0,-0x84(%ebp)
563aad:	ff
563aae:	8b 4d 80             	mov    -0x80(%ebp),%ecx
563ab1:	8b 85 7c ff ff ff    	mov    -0x84(%ebp),%eax
563ab7:	89 45 9c             	mov    %eax,-0x64(%ebp)
563aba:	0b c1                	or     %ecx,%eax
563abc:	89 4d a4             	mov    %ecx,-0x5c(%ebp)
563abf:	75 36                	jne    0x563af7
563ac1:	c7 45 e4 c0 12 50 00 	movl   $0x5012c0,-0x1c(%ebp)
563ac8:	b8 01 00 00 00       	mov    $0x1,%eax
563acd:	66 89 45 f4          	mov    %ax,-0xc(%ebp)
563ad1:	c7 45 e8 f0 c7 53 00 	movl   $0x53c7f0,-0x18(%ebp)
563ad8:	c7 45 f8 00 00 00 00 	movl   $0x0,-0x8(%ebp)
563adf:	85 db                	test   %ebx,%ebx
563ae1:	74 14                	je     0x563af7
563ae3:	8d 45 e0             	lea    -0x20(%ebp),%eax
563ae6:	53                   	push   %ebx
563ae7:	50                   	push   %eax
563ae8:	e8 c3 c4 ff ff       	call   0x55ffb0
563aed:	83 c4 08             	add    $0x8,%esp
563af0:	66 83 7d f4 00       	cmpw   $0x0,-0xc(%ebp)
563af5:	74 29                	je     0x563b20
563af7:	8b 4d 88             	mov    -0x78(%ebp),%ecx
563afa:	8b 45 84             	mov    -0x7c(%ebp),%eax
563afd:	f7 d1                	not    %ecx
563aff:	23 4d 9c             	and    -0x64(%ebp),%ecx
563b02:	f7 d0                	not    %eax
563b04:	23 45 a4             	and    -0x5c(%ebp),%eax
563b07:	8b 55 b8             	mov    -0x48(%ebp),%edx
563b0a:	0b c8                	or     %eax,%ecx
563b0c:	8b 4d d4             	mov    -0x2c(%ebp),%ecx
563b0f:	75 15                	jne    0x563b26
563b11:	0b ce                	or     %esi,%ecx
563b13:	8b 75 dc             	mov    -0x24(%ebp),%esi
563b16:	0b f7                	or     %edi,%esi
563b18:	89 4d d4             	mov    %ecx,-0x2c(%ebp)
563b1b:	89 75 dc             	mov    %esi,-0x24(%ebp)
563b1e:	eb 09                	jmp    0x563b29
563b20:	8b 55 b8             	mov    -0x48(%ebp),%edx
563b23:	8b 4d d4             	mov    -0x2c(%ebp),%ecx
563b26:	8b 75 dc             	mov    -0x24(%ebp),%esi
563b29:	8b 45 a8             	mov    -0x58(%ebp),%eax
563b2c:	83 45 bc 14          	addl   $0x14,-0x44(%ebp)
563b30:	40                   	inc    %eax
563b31:	8b 5d bc             	mov    -0x44(%ebp),%ebx
563b34:	89 45 a8             	mov    %eax,-0x58(%ebp)
563b37:	3b c2                	cmp    %edx,%eax
563b39:	0f 8c 21 ff ff ff    	jl     0x563a60
563b3f:	8b 55 d0             	mov    -0x30(%ebp),%edx
563b42:	8b 5d b8             	mov    -0x48(%ebp),%ebx
563b45:	eb 09                	jmp    0x563b50
563b47:	8b 5d b8             	mov    -0x48(%ebp),%ebx
563b4a:	8b 4d d4             	mov    -0x2c(%ebp),%ecx
563b4d:	8b 75 dc             	mov    -0x24(%ebp),%esi
563b50:	8b 7d b4             	mov    -0x4c(%ebp),%edi
563b53:	ff 45 ac             	incl   -0x54(%ebp)
563b56:	80 7d cc 00          	cmpb   $0x0,-0x34(%ebp)
563b5a:	0f 85 20 f9 ff ff    	jne    0x563480
563b60:	eb 0c                	jmp    0x563b6e
563b62:	80 7a 1d 00          	cmpb   $0x0,0x1d(%edx)
563b66:	74 06                	je     0x563b6e
563b68:	f6 45 14 80          	testb  $0x80,0x14(%ebp)
563b6c:	74 0f                	je     0x563b7d
563b6e:	8b 45 a0             	mov    -0x60(%ebp),%eax
563b71:	3b 8d 70 ff ff ff    	cmp    -0x90(%ebp),%ecx
563b77:	75 1b                	jne    0x563b94
563b79:	3b f0                	cmp    %eax,%esi
563b7b:	75 17                	jne    0x563b94
563b7d:	8a 85 54 ff ff ff    	mov    -0xac(%ebp),%al
563b83:	5e                   	pop    %esi
563b84:	5b                   	pop    %ebx
563b85:	5f                   	pop    %edi
563b86:	8b 4d fc             	mov    -0x4(%ebp),%ecx
563b89:	33 cd                	xor    %ebp,%ecx
563b8b:	e8 4a d9 07 00       	call   0x5e14da
563b90:	8b e5                	mov    %ebp,%esp
563b92:	5d                   	pop    %ebp
563b93:	c3                   	ret
563b94:	80 7d cc 00          	cmpb   $0x0,-0x34(%ebp)
563b98:	75 61                	jne    0x563bfb
563b9a:	4b                   	dec    %ebx
563b9b:	85 db                	test   %ebx,%ebx
563b9d:	7e 36                	jle    0x563bd5
563b9f:	8b 7d dc             	mov    -0x24(%ebp),%edi
563ba2:	33 c9                	xor    %ecx,%ecx
563ba4:	33 d2                	xor    %edx,%edx
563ba6:	8b c3                	mov    %ebx,%eax
563ba8:	0f ab c1             	bts    %eax,%ecx
563bab:	83 f8 20             	cmp    $0x20,%eax
563bae:	0f 43 d1             	cmovae %ecx,%edx
563bb1:	33 ca                	xor    %edx,%ecx
563bb3:	83 f8 40             	cmp    $0x40,%eax
563bb6:	0f 43 d1             	cmovae %ecx,%edx
563bb9:	83 c1 ff             	add    $0xffffffff,%ecx
563bbc:	8b c1                	mov    %ecx,%eax
563bbe:	83 d2 ff             	adc    $0xffffffff,%edx
563bc1:	23 45 d4             	and    -0x2c(%ebp),%eax
563bc4:	8b f2                	mov    %edx,%esi
563bc6:	23 f7                	and    %edi,%esi
563bc8:	3b c1                	cmp    %ecx,%eax
563bca:	75 04                	jne    0x563bd0
563bcc:	3b f2                	cmp    %edx,%esi
563bce:	74 18                	je     0x563be8
563bd0:	4b                   	dec    %ebx
563bd1:	85 db                	test   %ebx,%ebx
563bd3:	7f cd                	jg     0x563ba2
563bd5:	5e                   	pop    %esi
563bd6:	5b                   	pop    %ebx
563bd7:	32 c0                	xor    %al,%al
563bd9:	5f                   	pop    %edi
563bda:	8b 4d fc             	mov    -0x4(%ebp),%ecx
563bdd:	33 cd                	xor    %ebp,%ecx
563bdf:	e8 f6 d8 07 00       	call   0x5e14da
563be4:	8b e5                	mov    %ebp,%esp
563be6:	5d                   	pop    %ebp
563be7:	c3                   	ret
563be8:	5e                   	pop    %esi
563be9:	8a c3                	mov    %bl,%al
563beb:	5b                   	pop    %ebx
563bec:	5f                   	pop    %edi
563bed:	8b 4d fc             	mov    -0x4(%ebp),%ecx
563bf0:	33 cd                	xor    %ebp,%ecx
563bf2:	e8 e3 d8 07 00       	call   0x5e14da
563bf7:	8b e5                	mov    %ebp,%esp
563bf9:	5d                   	pop    %ebp
563bfa:	c3                   	ret
563bfb:	8b 4d fc             	mov    -0x4(%ebp),%ecx
563bfe:	0c ff                	or     $0xff,%al
563c00:	5e                   	pop    %esi
563c01:	5b                   	pop    %ebx
563c02:	33 cd                	xor    %ebp,%ecx
563c04:	5f                   	pop    %edi
563c05:	e8 d0 d8 07 00       	call   0x5e14da
563c0a:	8b e5                	mov    %ebp,%esp
563c0c:	5d                   	pop    %ebp
563c0d:	c3                   	ret
563c0e:	cc                   	int3
563c0f:	cc                   	int3
563c10:	55                   	push   %ebp
563c11:	8b ec                	mov    %esp,%ebp
563c13:	83 ec 74             	sub    $0x74,%esp
563c16:	8b 45 08             	mov    0x8(%ebp),%eax
563c19:	53                   	push   %ebx
563c1a:	56                   	push   %esi
563c1b:	c7 45 c0 00 00 00 00 	movl   $0x0,-0x40(%ebp)
563c22:	8b 08                	mov    (%eax),%ecx
563c24:	0f b6 50 2c          	movzbl 0x2c(%eax),%edx
563c28:	c7 45 b8 00 00 00 00 	movl   $0x0,-0x48(%ebp)
563c2f:	c7 45 bc 00 00 00 00 	movl   $0x0,-0x44(%ebp)
563c36:	8b 31                	mov    (%ecx),%esi
563c38:	c7 45 b4 00 00 00 00 	movl   $0x0,-0x4c(%ebp)
563c3f:	89 4d 9c             	mov    %ecx,-0x64(%ebp)
563c42:	89 75 94             	mov    %esi,-0x6c(%ebp)
563c45:	89 55 f0             	mov    %edx,-0x10(%ebp)
563c48:	83 fa 01             	cmp    $0x1,%edx
563c4b:	7f 07                	jg     0x563c54
563c4d:	bb 01 00 00 00       	mov    $0x1,%ebx
563c52:	eb 10                	jmp    0x563c64
563c54:	83 fa 02             	cmp    $0x2,%edx
563c57:	bb 0a 00 00 00       	mov    $0xa,%ebx
563c5c:	b9 05 00 00 00       	mov    $0x5,%ecx
563c61:	0f 44 d9             	cmove  %ecx,%ebx
563c64:	8b 40 08             	mov    0x8(%eax),%eax
563c67:	89 5d d0             	mov    %ebx,-0x30(%ebp)
563c6a:	85 c0                	test   %eax,%eax
563c6c:	74 0b                	je     0x563c79
563c6e:	66 83 7d 0c 00       	cmpw   $0x0,0xc(%ebp)
563c73:	74 04                	je     0x563c79
563c75:	8b 08                	mov    (%eax),%ecx
563c77:	eb 02                	jmp    0x563c7b
563c79:	33 c9                	xor    %ecx,%ecx
563c7b:	8d 42 08             	lea    0x8(%edx),%eax
563c7e:	89 4d d8             	mov    %ecx,-0x28(%ebp)
563c81:	0f af c3             	imul   %ebx,%eax
563c84:	8d 04 81             	lea    (%ecx,%eax,4),%eax
563c87:	03 c0                	add    %eax,%eax
563c89:	99                   	cltd
563c8a:	52                   	push   %edx
563c8b:	50                   	push   %eax
563c8c:	56                   	push   %esi
563c8d:	e8 4e d7 fb ff       	call   0x5213e0
563c92:	8b d0                	mov    %eax,%edx
563c94:	83 c4 0c             	add    $0xc,%esp
563c97:	89 55 e4             	mov    %edx,-0x1c(%ebp)
563c9a:	85 d2                	test   %edx,%edx
563c9c:	75 09                	jne    0x563ca7
563c9e:	5e                   	pop    %esi
563c9f:	8d 42 07             	lea    0x7(%edx),%eax
563ca2:	5b                   	pop    %ebx
563ca3:	8b e5                	mov    %ebp,%esp
563ca5:	5d                   	pop    %ebp
563ca6:	c3                   	ret
563ca7:	8b c3                	mov    %ebx,%eax
563ca9:	0f 57 c0             	xorps  %xmm0,%xmm0
563cac:	c1 e0 05             	shl    $0x5,%eax
563caf:	8b f2                	mov    %edx,%esi
563cb1:	57                   	push   %edi
563cb2:	8d 3c 10             	lea    (%eax,%edx,1),%edi
563cb5:	89 75 e0             	mov    %esi,-0x20(%ebp)
563cb8:	0f 11 07             	movups %xmm0,(%edi)
563cbb:	8d 0c 38             	lea    (%eax,%edi,1),%ecx
563cbe:	89 7d dc             	mov    %edi,-0x24(%ebp)
563cc1:	8d 04 1b             	lea    (%ebx,%ebx,1),%eax
563cc4:	8b 5d f0             	mov    -0x10(%ebp),%ebx
563cc7:	c1 e3 02             	shl    $0x2,%ebx
563cca:	83 c2 18             	add    $0x18,%edx
563ccd:	0f 11 47 10          	movups %xmm0,0x10(%edi)
563cd1:	89 5d 90             	mov    %ebx,-0x70(%ebp)
563cd4:	89 0a                	mov    %ecx,(%edx)
563cd6:	8d 52 20             	lea    0x20(%edx),%edx
563cd9:	48                   	dec    %eax
563cda:	03 cb                	add    %ebx,%ecx
563cdc:	85 c0                	test   %eax,%eax
563cde:	7f f4                	jg     0x563cd4