563712:	e9 f7 02 00 00       	jmp    0x563a0e
563717:	f6 c1 01             	test   $0x1,%cl
56371a:	74 29                	je     0x563745
56371c:	8b 4d c4             	mov    -0x3c(%ebp),%ecx
56371f:	8b 36                	mov    (%esi),%esi
563721:	8d 51 01             	lea    0x1(%ecx),%edx
563724:	3b d3                	cmp    %ebx,%edx
563726:	7d 1d                	jge    0x563745
563728:	41                   	inc    %ecx
563729:	8d 0c 8f             	lea    (%edi,%ecx,4),%ecx
56372c:	0f 1f 40 00          	nopl   0x0(%eax)
563730:	8b 01                	mov    (%ecx),%eax
563732:	39 30                	cmp    %esi,(%eax)
563734:	74 0a                	je     0x563740
563736:	42                   	inc    %edx
563737:	83 c1 04             	add    $0x4,%ecx
56373a:	3b d3                	cmp    %ebx,%edx
56373c:	7c f2                	jl     0x563730
56373e:	eb 05                	jmp    0x563745
563740:	32 c0                	xor    %al,%al
563742:	88 45 cb             	mov    %al,-0x35(%ebp)
563745:	8b 75 c4             	mov    -0x3c(%ebp),%esi
563748:	8b 7d 90             	mov    -0x70(%ebp),%edi
56374b:	85 ff                	test   %edi,%edi
56374d:	74 23                	je     0x563772
56374f:	8b 47 04             	mov    0x4(%edi),%eax
563752:	0f bf 14 70          	movswl (%eax,%esi,2),%edx
563756:	8b 47 1c             	mov    0x1c(%edi),%eax
563759:	89 55 c0             	mov    %edx,-0x40(%ebp)
56375c:	8a 0c 06             	mov    (%esi,%eax,1),%cl
56375f:	8b 47 0c             	mov    0xc(%edi),%eax
563762:	80 e1 01             	and    $0x1,%cl
563765:	88 4d db             	mov    %cl,-0x25(%ebp)
563768:	0f bf 40 28          	movswl 0x28(%eax),%eax
56376c:	3b d0                	cmp    %eax,%edx
56376e:	75 0c                	jne    0x56377c
563770:	eb 04                	jmp    0x563776
563772:	c6 45 db 00          	movb   $0x0,-0x25(%ebp)
563776:	83 ca ff             	or     $0xffffffff,%edx
563779:	89 55 c0             	mov    %edx,-0x40(%ebp)
56377c:	80 7d cc 00          	cmpb   $0x0,-0x34(%ebp)
563780:	74 24                	je     0x5637a6
563782:	85 d2                	test   %edx,%edx
563784:	78 20                	js     0x5637a6
563786:	3b f3                	cmp    %ebx,%esi
563788:	7c 1c                	jl     0x5637a6
56378a:	8b 47 0c             	mov    0xc(%edi),%eax
56378d:	8d 0c 92             	lea    (%edx,%edx,4),%ecx
563790:	8b 55 cc             	mov    -0x34(%ebp),%edx
563793:	33 f6                	xor    %esi,%esi
563795:	0f b6 d2             	movzbl %dl,%edx
563798:	8b 40 04             	mov    0x4(%eax),%eax
56379b:	80 7c 88 0c 00       	cmpb   $0x0,0xc(%eax,%ecx,4)
5637a0:	0f 44 d6             	cmove  %esi,%edx
5637a3:	89 55 cc             	mov    %edx,-0x34(%ebp)
5637a6:	8a 7d cb             	mov    -0x35(%ebp),%bh
5637a9:	33 ff                	xor    %edi,%edi
5637ab:	84 ff                	test   %bh,%bh
5637ad:	0f 84 66 01 00 00    	je     0x563919
5637b3:	8b 75 b0             	mov    -0x50(%ebp),%esi
5637b6:	83 c6 04             	add    $0x4,%esi
5637b9:	89 75 a8             	mov    %esi,-0x58(%ebp)
5637bc:	0f 1f 40 00          	nopl   0x0(%eax)
5637c0:	3b 7d b8             	cmp    -0x48(%ebp),%edi
5637c3:	0f 8d 50 01 00 00    	jge    0x563919
5637c9:	33 d2                	xor    %edx,%edx
5637cb:	33 c9                	xor    %ecx,%ecx
5637cd:	8b c7                	mov    %edi,%eax
5637cf:	0f ab c2             	bts    %eax,%edx
5637d2:	83 f8 20             	cmp    $0x20,%eax
5637d5:	0f 43 ca             	cmovae %edx,%ecx
5637d8:	33 d1                	xor    %ecx,%edx
5637da:	83 f8 40             	cmp    $0x40,%eax
5637dd:	0f 43 ca             	cmovae %edx,%ecx
5637e0:	23 55 d4             	and    -0x2c(%ebp),%edx
5637e3:	23 4d dc             	and    -0x24(%ebp),%ecx
5637e6:	0b d1                	or     %ecx,%edx
5637e8:	0f 85 1c 01 00 00    	jne    0x56390a
5637ee:	8b 06                	mov    (%esi),%eax
5637f0:	85 c0                	test   %eax,%eax
5637f2:	74 22                	je     0x563816
5637f4:	8b 48 04             	mov    0x4(%eax),%ecx
5637f7:	f7 c1 00 10 04 00    	test   $0x41000,%ecx
5637fd:	74 17                	je     0x563816
5637ff:	f7 c1 00 00 04 00    	test   $0x40000,%ecx
563805:	74 08                	je     0x56380f
563807:	8b 40 14             	mov    0x14(%eax),%eax
56380a:	8b 40 04             	mov    0x4(%eax),%eax
56380d:	eb 03                	jmp    0x563812
56380f:	8b 40 0c             	mov    0xc(%eax),%eax
563812:	85 c0                	test   %eax,%eax
563814:	75 de                	jne    0x5637f4
563816:	8a 4d 14             	mov    0x14(%ebp),%cl
563819:	8b 55 c0             	mov    -0x40(%ebp),%edx
56381c:	80 e1 c0             	and    $0xc0,%cl
56381f:	f6 d9                	neg    %cl
563821:	1a c9                	sbb    %cl,%cl
563823:	22 f9                	and    %cl,%bh
563825:	8a df                	mov    %bh,%bl
563827:	83 fa ff             	cmp    $0xffffffff,%edx
56382a:	7c 23                	jl     0x56384f
56382c:	80 38 a4             	cmpb   $0xa4,(%eax)
56382f:	0f 85 d5 00 00 00    	jne    0x56390a
563835:	8b 4d 94             	mov    -0x6c(%ebp),%ecx
563838:	39 48 1c             	cmp    %ecx,0x1c(%eax)
56383b:	0f 85 c9 00 00 00    	jne    0x56390a
563841:	0f bf 40 20          	movswl 0x20(%eax),%eax
563845:	3b c2                	cmp    %edx,%eax
563847:	0f 85 bd 00 00 00    	jne    0x56390a
56384d:	eb 79                	jmp    0x5638c8
56384f:	8b 4d 90             	mov    -0x70(%ebp),%ecx
563852:	8b 55 a4             	mov    -0x5c(%ebp),%edx
563855:	8b 49 28             	mov    0x28(%ecx),%ecx
563858:	8b 54 11 04          	mov    0x4(%ecx,%edx,1),%edx
56385c:	85 d2                	test   %edx,%edx
56385e:	74 22                	je     0x563882
563860:	8b 4a 04             	mov    0x4(%edx),%ecx
563863:	f7 c1 00 10 04 00    	test   $0x41000,%ecx
563869:	74 17                	je     0x563882
56386b:	f7 c1 00 00 04 00    	test   $0x40000,%ecx
563871:	74 08                	je     0x56387b
563873:	8b 4a 14             	mov    0x14(%edx),%ecx
563876:	8b 51 04             	mov    0x4(%ecx),%edx
563879:	eb 03                	jmp    0x56387e
56387b:	8b 52 0c             	mov    0xc(%edx),%edx
56387e:	85 d2                	test   %edx,%edx
563880:	75 de                	jne    0x563860
563882:	85 c0                	test   %eax,%eax
563884:	74 2c                	je     0x5638b2
563886:	66 66 0f 1f 84 00 00 	data16 nopw 0x0(%eax,%eax,1)
56388d:	00 00 00
563890:	8b 48 04             	mov    0x4(%eax),%ecx
563893:	f7 c1 00 10 04 00    	test   $0x41000,%ecx
563899:	74 17                	je     0x5638b2
56389b:	f7 c1 00 00 04 00    	test   $0x40000,%ecx
5638a1:	74 08                	je     0x5638ab
5638a3:	8b 48 14             	mov    0x14(%eax),%ecx
5638a6:	8b 41 04             	mov    0x4(%ecx),%eax
5638a9:	eb 03                	jmp    0x5638ae
5638ab:	8b 40 0c             	mov    0xc(%eax),%eax
5638ae:	85 c0                	test   %eax,%eax
5638b0:	75 de                	jne    0x563890
5638b2:	ff 75 94             	push   -0x6c(%ebp)
5638b5:	52                   	push   %edx
5638b6:	50                   	push   %eax
5638b7:	6a 00                	push   $0x0
5638b9:	e8 12 2c fc ff       	call   0x5264d0
5638be:	83 c4 10             	add    $0x10,%esp
5638c1:	85 c0                	test   %eax,%eax
5638c3:	75 45                	jne    0x56390a
5638c5:	8b 55 c0             	mov    -0x40(%ebp),%edx
5638c8:	83 fa ff             	cmp    $0xffffffff,%edx
5638cb:	74 78                	je     0x563945
5638cd:	8b 45 b4             	mov    -0x4c(%ebp),%eax
5638d0:	8b 30                	mov    (%eax),%esi
5638d2:	8b 45 a8             	mov    -0x58(%ebp),%eax
5638d5:	ff 30                	push   (%eax)
5638d7:	56                   	push   %esi
5638d8:	e8 03 2a fc ff       	call   0x5262e0
5638dd:	8b c8                	mov    %eax,%ecx
5638df:	83 c4 08             	add    $0x8,%esp
5638e2:	85 c9                	test   %ecx,%ecx
5638e4:	75 05                	jne    0x5638eb
5638e6:	8b 06                	mov    (%esi),%eax
5638e8:	8b 48 08             	mov    0x8(%eax),%ecx
5638eb:	8b 45 90             	mov    -0x70(%ebp),%eax
5638ee:	8a fb                	mov    %bl,%bh
5638f0:	8b 75 c4             	mov    -0x3c(%ebp),%esi
5638f3:	8b 40 20             	mov    0x20(%eax),%eax
5638f6:	ff 34 b0             	push   (%eax,%esi,4)
5638f9:	ff 31                	push   (%ecx)
5638fb:	e8 30 a3 fd ff       	call   0x53dc30
563900:	83 c4 08             	add    $0x8,%esp
563903:	85 c0                	test   %eax,%eax
563905:	74 41                	je     0x563948
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