5634e2:	89 55 d0             	mov    %edx,-0x30(%ebp)
5634e5:	0f 85 68 06 00 00    	jne    0x563b53
5634eb:	eb 09                	jmp    0x5634f6
5634ed:	8b 95 5c ff ff ff    	mov    -0xa4(%ebp),%edx
5634f3:	89 55 d0             	mov    %edx,-0x30(%ebp)
5634f6:	f7 42 24 00 04 00 00 	testl  $0x400,0x24(%edx)
5634fd:	0f 85 5f 06 00 00    	jne    0x563b62
563503:	8b 45 14             	mov    0x14(%ebp),%eax
563506:	25 80 00 00 00       	and    $0x80,%eax
56350b:	89 85 6c ff ff ff    	mov    %eax,-0x94(%ebp)
563511:	74 06                	je     0x563519
563513:	33 c0                	xor    %eax,%eax
563515:	66 89 42 1e          	mov    %ax,0x1e(%edx)
563519:	0f b6 42 10          	movzbl 0x10(%edx),%eax
56351d:	8d 0c c0             	lea    (%eax,%eax,8),%ecx
563520:	8b 47 04             	mov    0x4(%edi),%eax
563523:	8b 44 c8 34          	mov    0x34(%eax,%ecx,8),%eax
563527:	89 45 94             	mov    %eax,-0x6c(%ebp)
56352a:	33 c0                	xor    %eax,%eax
56352c:	89 45 bc             	mov    %eax,-0x44(%ebp)
56352f:	85 db                	test   %ebx,%ebx
563531:	0f 8e 0d 01 00 00    	jle    0x563644
563537:	8b 55 b0             	mov    -0x50(%ebp),%edx
56353a:	83 c2 04             	add    $0x4,%edx
56353d:	89 55 c0             	mov    %edx,-0x40(%ebp)
563540:	33 ff                	xor    %edi,%edi
563542:	33 db                	xor    %ebx,%ebx
563544:	0f ab c7             	bts    %eax,%edi
563547:	83 f8 20             	cmp    $0x20,%eax
56354a:	0f 43 df             	cmovae %edi,%ebx
56354d:	33 fb                	xor    %ebx,%edi
56354f:	83 f8 40             	cmp    $0x40,%eax
563552:	8b cf                	mov    %edi,%ecx
563554:	0f 43 df             	cmovae %edi,%ebx
563557:	23 4d d4             	and    -0x2c(%ebp),%ecx
56355a:	8b c3                	mov    %ebx,%eax
56355c:	23 c6                	and    %esi,%eax
56355e:	0b c8                	or     %eax,%ecx
563560:	0f 85 c4 00 00 00    	jne    0x56362a
563566:	ff 32                	push   (%edx)
563568:	e8 e3 47 fc ff       	call   0x527d50
56356d:	8b d0                	mov    %eax,%edx
56356f:	83 c4 04             	add    $0x4,%esp
563572:	89 55 9c             	mov    %edx,-0x64(%ebp)
563575:	80 3a a4             	cmpb   $0xa4,(%edx)
563578:	0f 85 ac 00 00 00    	jne    0x56362a
56357e:	8b 45 94             	mov    -0x6c(%ebp),%eax
563581:	39 42 1c             	cmp    %eax,0x1c(%edx)
563584:	0f 85 a0 00 00 00    	jne    0x56362a
56358a:	8b 85 74 ff ff ff    	mov    -0x8c(%ebp),%eax
563590:	8b 8d 78 ff ff ff    	mov    -0x88(%ebp),%ecx
563596:	0f b7 c0             	movzwl %ax,%eax
563599:	f7 d1                	not    %ecx
56359b:	6a 00                	push   $0x0
56359d:	50                   	push   %eax
56359e:	8b 45 8c             	mov    -0x74(%ebp),%eax
5635a1:	f7 d0                	not    %eax
5635a3:	50                   	push   %eax
5635a4:	0f bf 42 20          	movswl 0x20(%edx),%eax
5635a8:	51                   	push   %ecx
5635a9:	50                   	push   %eax
5635aa:	8b 45 b4             	mov    -0x4c(%ebp),%eax
5635ad:	ff 75 94             	push   -0x6c(%ebp)
5635b0:	83 c0 50             	add    $0x50,%eax
5635b3:	50                   	push   %eax
5635b4:	e8 27 07 ff ff       	call   0x553ce0
5635b9:	8b f0                	mov    %eax,%esi
5635bb:	83 c4 1c             	add    $0x1c,%esp
5635be:	85 f6                	test   %esi,%esi
5635c0:	74 65                	je     0x563627
5635c2:	0f b7 46 0c          	movzwl 0xc(%esi),%eax
5635c6:	83 f8 01             	cmp    $0x1,%eax
5635c9:	75 29                	jne    0x5635f4
5635cb:	8b 55 d0             	mov    -0x30(%ebp),%edx
5635ce:	33 c9                	xor    %ecx,%ecx
5635d0:	0f b7 52 28          	movzwl 0x28(%edx),%edx
5635d4:	85 d2                	test   %edx,%edx
5635d6:	7e 18                	jle    0x5635f0
5635d8:	8b 45 d0             	mov    -0x30(%ebp),%eax
5635db:	8b 40 30             	mov    0x30(%eax),%eax
5635de:	66 90                	xchg   %ax,%ax
5635e0:	3b 30                	cmp    (%eax),%esi
5635e2:	74 08                	je     0x5635ec
5635e4:	41                   	inc    %ecx
5635e5:	83 c0 04             	add    $0x4,%eax
5635e8:	3b ca                	cmp    %edx,%ecx
5635ea:	7c f4                	jl     0x5635e0
5635ec:	0f b7 46 0c          	movzwl 0xc(%esi),%eax
5635f0:	3b ca                	cmp    %edx,%ecx
5635f2:	7d 33                	jge    0x563627
5635f4:	a8 82                	test   $0x82,%al
5635f6:	74 22                	je     0x56361a
5635f8:	8b 45 9c             	mov    -0x64(%ebp),%eax
5635fb:	66 83 78 20 00       	cmpw   $0x0,0x20(%eax)
563600:	7c 18                	jl     0x56361a
563602:	8b 45 c0             	mov    -0x40(%ebp),%eax
563605:	ff 36                	push   (%esi)
563607:	ff 30                	push   (%eax)
563609:	8b 45 b4             	mov    -0x4c(%ebp),%eax
56360c:	ff 30                	push   (%eax)
56360e:	e8 6d 2e fc ff       	call   0x526480
563613:	83 c4 0c             	add    $0xc,%esp
563616:	85 c0                	test   %eax,%eax
563618:	74 0d                	je     0x563627
56361a:	8b 75 dc             	mov    -0x24(%ebp),%esi
56361d:	09 7d d4             	or     %edi,-0x2c(%ebp)
563620:	0b f3                	or     %ebx,%esi
563622:	89 75 dc             	mov    %esi,-0x24(%ebp)
563625:	eb 03                	jmp    0x56362a
563627:	8b 75 dc             	mov    -0x24(%ebp),%esi
56362a:	8b 45 bc             	mov    -0x44(%ebp),%eax
56362d:	83 45 c0 14          	addl   $0x14,-0x40(%ebp)
563631:	40                   	inc    %eax
563632:	8b 55 c0             	mov    -0x40(%ebp),%edx
563635:	89 45 bc             	mov    %eax,-0x44(%ebp)
563638:	3b 45 b8             	cmp    -0x48(%ebp),%eax
56363b:	0f 8c ff fe ff ff    	jl     0x563540
563641:	8b 55 d0             	mov    -0x30(%ebp),%edx
563644:	8b 42 24             	mov    0x24(%edx),%eax
563647:	a9 00 10 00 00       	test   $0x1000,%eax
56364c:	0f 85 d5 03 00 00    	jne    0x563a27
563652:	a9 00 01 00 00       	test   $0x100,%eax
563657:	74 15                	je     0x56366e
563659:	c7 45 90 00 00 00 00 	movl   $0x0,-0x70(%ebp)
563660:	b9 01 00 00 00       	mov    $0x1,%ecx
563665:	c7 45 9c 00 00 00 00 	movl   $0x0,-0x64(%ebp)
56366c:	eb 3b                	jmp    0x5636a9
56366e:	8b 52 20             	mov    0x20(%edx),%edx
563671:	89 55 90             	mov    %edx,-0x70(%ebp)
563674:	85 d2                	test   %edx,%edx
563676:	0f 84 59 05 00 00    	je     0x563bd5
56367c:	f6 42 38 04          	testb  $0x4,0x38(%edx)
563680:	0f 85 4f 05 00 00    	jne    0x563bd5
563686:	80 7a 36 00          	cmpb   $0x0,0x36(%edx)
56368a:	0f b7 4a 32          	movzwl 0x32(%edx),%ecx
56368e:	89 4d 9c             	mov    %ecx,-0x64(%ebp)
563691:	0f b7 4a 34          	movzwl 0x34(%edx),%ecx
563695:	74 0b                	je     0x5636a2
563697:	c6 45 cc 01          	movb   $0x1,-0x34(%ebp)
56369b:	a9 00 80 00 00       	test   $0x8000,%eax
5636a0:	74 04                	je     0x5636a6
5636a2:	c6 45 cc 00          	movb   $0x0,-0x34(%ebp)
5636a6:	8b 55 d0             	mov    -0x30(%ebp),%edx
5636a9:	32 c0                	xor    %al,%al
5636ab:	c6 45 c9 00          	movb   $0x0,-0x37(%ebp)
5636af:	89 45 bc             	mov    %eax,-0x44(%ebp)
5636b2:	33 f6                	xor    %esi,%esi
5636b4:	0f b7 c1             	movzwl %cx,%eax
5636b7:	c6 45 ca 00          	movb   $0x0,-0x36(%ebp)
5636bb:	89 75 c4             	mov    %esi,-0x3c(%ebp)
5636be:	89 45 80             	mov    %eax,-0x80(%ebp)
5636c1:	85 c0                	test   %eax,%eax
5636c3:	0f 8e 5e 03 00 00    	jle    0x563a27
5636c9:	89 75 a4             	mov    %esi,-0x5c(%ebp)
5636cc:	0f 1f 40 00          	nopl   0x0(%eax)
5636d0:	0f b7 5a 18          	movzwl 0x18(%edx),%ebx
5636d4:	c6 45 cb 01          	movb   $0x1,-0x35(%ebp)
5636d8:	3b f3                	cmp    %ebx,%esi
5636da:	7d 6c                	jge    0x563748
5636dc:	0f b7 42 2a          	movzwl 0x2a(%edx),%eax
5636e0:	3b f0                	cmp    %eax,%esi
5636e2:	7c 64                	jl     0x563748
5636e4:	8b 7a 30             	mov    0x30(%edx),%edi
5636e7:	8b 85 74 ff ff ff    	mov    -0x8c(%ebp),%eax
5636ed:	8b 34 b7             	mov    (%edi,%esi,4),%esi
5636f0:	0f b7 4e 0c          	movzwl 0xc(%esi),%ecx
5636f4:	23 c1                	and    %ecx,%eax
5636f6:	66 85 c0             	test   %ax,%ax
5636f9:	74 1c                	je     0x563717
5636fb:	8b 45 cc             	mov    -0x34(%ebp),%eax
5636fe:	f7 c1 80 01 00 00    	test   $0x180,%ecx
563704:	b9 00 00 00 00       	mov    $0x0,%ecx
563709:	0f b6 c0             	movzbl %al,%eax
56370c:	0f 44 c8             	cmove  %eax,%ecx
56370f:	88 4d cc             	mov    %cl,-0x34(%ebp)
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