5505f4:	a9 00 04 00 00       	test   $0x400,%eax
5505f9:	74 2b                	je     0x550626
5505fb:	6a f4                	push   $0xfffffff4
5505fd:	53                   	push   %ebx
5505fe:	ff 75 c4             	push   -0x3c(%ebp)
550601:	e8 6a d0 fd ff       	call   0x52d670
550606:	83 c4 08             	add    $0x8,%esp
550609:	50                   	push   %eax
55060a:	6a 00                	push   $0x0
55060c:	6a 00                	push   $0x0
55060e:	ff 72 2c             	push   0x2c(%edx)
550611:	68 a5 00 00 00       	push   $0xa5
550616:	ff 75 b0             	push   -0x50(%ebp)
550619:	e8 72 15 ff ff       	call   0x541b90
55061e:	83 c4 1c             	add    $0x1c,%esp
550621:	e9 e7 00 00 00       	jmp    0x55070d
550626:	83 7b 38 00          	cmpl   $0x0,0x38(%ebx)
55062a:	0f 85 dd 00 00 00    	jne    0x55070d
550630:	a8 40                	test   $0x40,%al
550632:	0f 85 c2 00 00 00    	jne    0x5506fa
550638:	f6 45 d0 20          	testb  $0x20,-0x30(%ebp)
55063c:	0f 85 b8 00 00 00    	jne    0x5506fa
550642:	8b 7d ac             	mov    -0x54(%ebp),%edi
550645:	b9 60 00 00 00       	mov    $0x60,%ecx
55064a:	80 7f 2e 00          	cmpb   $0x0,0x2e(%edi)
55064e:	74 0b                	je     0x55065b
550650:	8b 42 2c             	mov    0x2c(%edx),%eax
550653:	b9 61 00 00 00       	mov    $0x61,%ecx
550658:	89 47 14             	mov    %eax,0x14(%edi)
55065b:	51                   	push   %ecx
55065c:	53                   	push   %ebx
55065d:	56                   	push   %esi
55065e:	ff 72 2c             	push   0x2c(%edx)
550661:	ff 75 dc             	push   -0x24(%ebp)
550664:	e8 e7 12 fe ff       	call   0x531950
550669:	83 c4 14             	add    $0x14,%esp
55066c:	80 7f 2e 00          	cmpb   $0x0,0x2e(%edi)
550670:	75 71                	jne    0x5506e3
550672:	66 83 7b 2a 40       	cmpw   $0x40,0x2a(%ebx)
550677:	7d 6a                	jge    0x5506e3
550679:	f6 43 24 e0          	testb  $0xe0,0x24(%ebx)
55067d:	75 64                	jne    0x5506e3
55067f:	8b 45 cc             	mov    -0x34(%ebp),%eax
550682:	33 ff                	xor    %edi,%edi
550684:	8b 50 38             	mov    0x38(%eax),%edx
550687:	8b ca                	mov    %edx,%ecx
550689:	8b 40 3c             	mov    0x3c(%eax),%eax
55068c:	0b c8                	or     %eax,%ecx
55068e:	74 0d                	je     0x55069d
550690:	0f ac c2 01          	shrd   $0x1,%eax,%edx
550694:	47                   	inc    %edi
550695:	d1 e8                	shr    $1,%eax
550697:	8b ca                	mov    %edx,%ecx
550699:	0b c8                	or     %eax,%ecx
55069b:	75 f3                	jne    0x550690
55069d:	8b 4d b0             	mov    -0x50(%ebp),%ecx
5506a0:	8b 01                	mov    (%ecx),%eax
5506a2:	80 78 51 00          	cmpb   $0x0,0x51(%eax)
5506a6:	74 0e                	je     0x5506b6
5506a8:	57                   	push   %edi
5506a9:	6a fd                	push   $0xfffffffd
5506ab:	50                   	push   %eax
5506ac:	e8 ff 35 fb ff       	call   0x503cb0
5506b1:	83 c4 0c             	add    $0xc,%esp
5506b4:	eb 2d                	jmp    0x5506e3
5506b6:	8b 41 6c             	mov    0x6c(%ecx),%eax
5506b9:	8b 55 b0             	mov    -0x50(%ebp),%edx
5506bc:	48                   	dec    %eax
5506bd:	8d 0c 80             	lea    (%eax,%eax,4),%ecx
5506c0:	8b 42 68             	mov    0x68(%edx),%eax
5506c3:	80 7c 88 01 00       	cmpb   $0x0,0x1(%eax,%ecx,4)
5506c8:	8d 04 88             	lea    (%eax,%ecx,4),%eax
5506cb:	74 0f                	je     0x5506dc
5506cd:	6a fd                	push   $0xfffffffd
5506cf:	57                   	push   %edi
5506d0:	50                   	push   %eax
5506d1:	52                   	push   %edx
5506d2:	e8 69 95 00 00       	call   0x559c40
5506d7:	83 c4 10             	add    $0x10,%esp
5506da:	eb 07                	jmp    0x5506e3
5506dc:	89 78 10             	mov    %edi,0x10(%eax)
5506df:	c6 40 01 fd          	movb   $0xfd,0x1(%eax)
5506e3:	8a 45 cb             	mov    -0x35(%ebp),%al
5506e6:	0f b6 c0             	movzbl %al,%eax
5506e9:	50                   	push   %eax
5506ea:	ff 75 b0             	push   -0x50(%ebp)
5506ed:	e8 3e 19 ff ff       	call   0x542030
5506f2:	8b 7d a4             	mov    -0x5c(%ebp),%edi
5506f5:	83 c4 08             	add    $0x8,%esp
5506f8:	eb 13                	jmp    0x55070d
5506fa:	ff 33                	push   (%ebx)
5506fc:	6a 00                	push   $0x0
5506fe:	ff 73 1c             	push   0x1c(%ebx)
550701:	56                   	push   %esi
550702:	ff 75 dc             	push   -0x24(%ebp)
550705:	e8 c6 d7 fe ff       	call   0x53ded0
55070a:	83 c4 14             	add    $0x14,%esp
55070d:	f7 47 24 00 02 00 00 	testl  $0x200,0x24(%edi)
550714:	74 33                	je     0x550749
550716:	f6 43 24 80          	testb  $0x80,0x24(%ebx)
55071a:	ba 60 00 00 00       	mov    $0x60,%edx
55071f:	8b 7f 20             	mov    0x20(%edi),%edi
550722:	0f 84 4c 01 00 00    	je     0x550874
550728:	8b 47 38             	mov    0x38(%edi),%eax
55072b:	24 03                	and    $0x3,%al
55072d:	3c 02                	cmp    $0x2,%al
55072f:	8b 45 d0             	mov    -0x30(%ebp),%eax
550732:	0f 85 3f 01 00 00    	jne    0x550877
550738:	a8 20                	test   $0x20,%al
55073a:	0f 84 37 01 00 00    	je     0x550877
550740:	8b 4d d4             	mov    -0x2c(%ebp),%ecx
550743:	8b 41 bc             	mov    -0x44(%ecx),%eax
550746:	89 41 c0             	mov    %eax,-0x40(%ecx)
550749:	8b 7d dc             	mov    -0x24(%ebp),%edi
55074c:	8b 5d ac             	mov    -0x54(%ebp),%ebx
55074f:	85 f6                	test   %esi,%esi
550751:	78 2e                	js     0x550781
550753:	8b 47 74             	mov    0x74(%edi),%eax
550756:	8b d7                	mov    %edi,%edx
550758:	85 c0                	test   %eax,%eax
55075a:	8b ce                	mov    %esi,%ecx
55075c:	0f 45 d0             	cmovne %eax,%edx
55075f:	b8 01 00 00 00       	mov    $0x1,%eax
550764:	d3 e0                	shl    %cl,%eax
550766:	8b 7a 54             	mov    0x54(%edx),%edi
550769:	85 c7                	test   %eax,%edi
55076b:	75 14                	jne    0x550781
55076d:	0f ab f7             	bts    %esi,%edi
550770:	89 7a 54             	mov    %edi,0x54(%edx)
550773:	83 fe 01             	cmp    $0x1,%esi
550776:	75 09                	jne    0x550781
550778:	52                   	push   %edx
550779:	e8 12 15 fe ff       	call   0x531c90
55077e:	83 c4 04             	add    $0x4,%esp
550781:	8b 7d d4             	mov    -0x2c(%ebp),%edi
550784:	8b 55 d8             	mov    -0x28(%ebp),%edx
550787:	83 c7 58             	add    $0x58,%edi
55078a:	83 6d b4 01          	subl   $0x1,-0x4c(%ebp)
55078e:	89 7d d4             	mov    %edi,-0x2c(%ebp)
550791:	0f 85 09 fe ff ff    	jne    0x5505a0
550797:	8b 4d c0             	mov    -0x40(%ebp),%ecx
55079a:	8b 45 b0             	mov    -0x50(%ebp),%eax
55079d:	8b 75 c4             	mov    -0x3c(%ebp),%esi
5507a0:	8b 40 6c             	mov    0x6c(%eax),%eax
5507a3:	89 43 38             	mov    %eax,0x38(%ebx)
5507a6:	80 7e 51 00          	cmpb   $0x0,0x51(%esi)
5507aa:	0f 85 57 fb ff ff    	jne    0x550307
5507b0:	c7 45 cc 00 00 00 00 	movl   $0x0,-0x34(%ebp)
5507b7:	85 c9                	test   %ecx,%ecx
5507b9:	0f 8e a2 00 00 00    	jle    0x550861
5507bf:	8d bb 24 03 00 00    	lea    0x324(%ebx),%edi
5507c5:	66 66 66 0f 1f 84 00 	data16 data16 nopw 0x0(%eax,%eax,1)
5507cc:	00 00 00 00
5507d0:	8b 47 14             	mov    0x14(%edi),%eax
5507d3:	f7 40 24 00 40 00 00 	testl  $0x4000,0x24(%eax)
5507da:	74 33                	je     0x55080f
5507dc:	8b 4d d8             	mov    -0x28(%ebp),%ecx
5507df:	8d 47 cc             	lea    -0x34(%edi),%eax
5507e2:	50                   	push   %eax
5507e3:	0f b6 07             	movzbl (%edi),%eax
5507e6:	ff 75 b8             	push   -0x48(%ebp)
5507e9:	ff 75 bc             	push   -0x44(%ebp)
5507ec:	8d 04 c0             	lea    (%eax,%eax,8),%eax
5507ef:	8d 40 01             	lea    0x1(%eax),%eax
5507f2:	8d 04 c1             	lea    (%ecx,%eax,8),%eax
5507f5:	50                   	push   %eax
5507f6:	8d 43 50             	lea    0x50(%ebx),%eax
5507f9:	50                   	push   %eax
5507fa:	ff 75 dc             	push   -0x24(%ebp)
5507fd:	e8 5e af fa ff       	call   0x4fb760
550802:	83 c4 18             	add    $0x18,%esp
550805:	80 7e 51 00          	cmpb   $0x0,0x51(%esi)
550809:	0f 85 f8 fa ff ff    	jne    0x550307
55080f:	ff 75 d0             	push   -0x30(%ebp)
550812:	8d 77 cc             	lea    -0x34(%edi),%esi
550815:	56                   	push   %esi
550816:	ff 75 d8             	push   -0x28(%ebp)
550819:	ff 75 dc             	push   -0x24(%ebp)
55081c:	e8 ff 2f 00 00       	call   0x553820
550821:	ff 75 b8             	push   -0x48(%ebp)
550824:	8b 4d b0             	mov    -0x50(%ebp),%ecx
550827:	ff 75 bc             	push   -0x44(%ebp)
55082a:	56                   	push   %esi
55082b:	8b 75 cc             	mov    -0x34(%ebp),%esi
55082e:	8b 41 6c             	mov    0x6c(%ecx),%eax
550831:	56                   	push   %esi
550832:	53                   	push   %ebx
550833:	51                   	push   %ecx
550834:	ff 75 dc             	push   -0x24(%ebp)
550837:	89 47 ec             	mov    %eax,-0x14(%edi)
55083a:	e8 81 01 00 00       	call   0x5509c0
55083f:	8b 4f e4             	mov    -0x1c(%edi),%ecx
550842:	46                   	inc    %esi
550843:	83 c4 2c             	add    $0x2c,%esp
550846:	89 75 cc             	mov    %esi,-0x34(%ebp)
550849:	83 c7 58             	add    $0x58,%edi
55084c:	89 45 bc             	mov    %eax,-0x44(%ebp)
55084f:	3b 75 c0             	cmp    -0x40(%ebp),%esi
550852:	8b 75 c4             	mov    -0x3c(%ebp),%esi
550855:	89 55 b8             	mov    %edx,-0x48(%ebp)
550858:	89 4b 1c             	mov    %ecx,0x1c(%ebx)
55085b:	0f 8c 6f ff ff ff    	jl     0x5507d0
550861:	8b 4d fc             	mov    -0x4(%ebp),%ecx
550864:	8b c3                	mov    %ebx,%eax
550866:	5f                   	pop    %edi
550867:	5e                   	pop    %esi
550868:	33 cd                	xor    %ebp,%ecx
55086a:	5b                   	pop    %ebx
55086b:	e8 6a 0c 09 00       	call   0x5e14da
550870:	8b e5                	mov    %ebp,%esp
550872:	5d                   	pop    %ebp
550873:	c3                   	ret
550874:	8b 45 d0             	mov    -0x30(%ebp),%eax
550877:	8b 5d ac             	mov    -0x54(%ebp),%ebx
55087a:	8b 4d 20             	mov    0x20(%ebp),%ecx
55087d:	80 7b 2e 00          	cmpb   $0x0,0x2e(%ebx)
550881:	74 23                	je     0x5508a6
550883:	8b 45 cc             	mov    -0x34(%ebp),%eax
550886:	8b 40 10             	mov    0x10(%eax),%eax
550889:	8b 40 08             	mov    0x8(%eax),%eax
55088c:	85 c0                	test   %eax,%eax
55088e:	74 0c                	je     0x55089c
550890:	3b c7                	cmp    %edi,%eax
550892:	74 08                	je     0x55089c
550894:	8b 40 14             	mov    0x14(%eax),%eax
550897:	41                   	inc    %ecx
550898:	85 c0                	test   %eax,%eax
55089a:	75 f4                	jne    0x550890
55089c:	ba 61 00 00 00       	mov    $0x61,%edx
5508a1:	89 4b 18             	mov    %ecx,0x18(%ebx)
5508a4:	eb 21                	jmp    0x5508c7
5508a6:	85 c9                	test   %ecx,%ecx
5508a8:	74 0b                	je     0x5508b5
5508aa:	a8 20                	test   $0x20,%al
5508ac:	74 07                	je     0x5508b5
5508ae:	ba 5f 00 00 00       	mov    $0x5f,%edx
5508b3:	eb 12                	jmp    0x5508c7
5508b5:	8b 45 dc             	mov    -0x24(%ebp),%eax
5508b8:	8b 5d dc             	mov    -0x24(%ebp),%ebx
5508bb:	8b 48 28             	mov    0x28(%eax),%ecx
5508be:	8d 41 01             	lea    0x1(%ecx),%eax
5508c1:	89 43 28             	mov    %eax,0x28(%ebx)
5508c4:	8b 5d ac             	mov    -0x54(%ebp),%ebx
5508c7:	8b 45 d4             	mov    -0x2c(%ebp),%eax
5508ca:	56                   	push   %esi
5508cb:	89 48 c0             	mov    %ecx,-0x40(%eax)
5508ce:	ff 77 2c             	push   0x2c(%edi)
5508d1:	51                   	push   %ecx
5508d2:	52                   	push   %edx
5508d3:	ff 75 b0             	push   -0x50(%ebp)
5508d6:	e8 65 12 ff ff       	call   0x541b40
5508db:	57                   	push   %edi
5508dc:	8b 7d dc             	mov    -0x24(%ebp),%edi
5508df:	57                   	push   %edi
5508e0:	e8 6b c7 ff ff       	call   0x54d050
5508e5:	8b 45 a4             	mov    -0x5c(%ebp),%eax
5508e8:	83 c4 1c             	add    $0x1c,%esp
5508eb:	8b 40 24             	mov    0x24(%eax),%eax
5508ee:	a8 0f                	test   $0xf,%al
5508f0:	0f 84 59 fe ff ff    	je     0x55074f
5508f6:	a9 02 80 08 00       	test   $0x88002,%eax
5508fb:	0f 85 4e fe ff ff    	jne    0x55074f
550901:	f6 43 28 01          	testb  $0x1,0x28(%ebx)
550905:	0f 85 44 fe ff ff    	jne    0x55074f
55090b:	80 7b 2f 02          	cmpb   $0x2,0x2f(%ebx)
55090f:	0f 84 3a fe ff ff    	je     0x55074f
550915:	6a 02                	push   $0x2
550917:	ff 75 b0             	push   -0x50(%ebp)
55091a:	e8 11 17 ff ff       	call   0x542030
55091f:	83 c4 08             	add    $0x8,%esp
550922:	e9 28 fe ff ff       	jmp    0x55074f
550927:	cc                   	int3
550928:	cc                   	int3
550929:	cc                   	int3
55092a:	cc                   	int3
55092b:	cc                   	int3
55092c:	cc                   	int3
55092d:	cc                   	int3
55092e:	cc                   	int3
55092f:	cc                   	int3
550930:	55                   	push   %ebp
550931:	8b ec                	mov    %esp,%ebp
550933:	51                   	push   %ecx
550934:	53                   	push   %ebx
550935:	56                   	push   %esi
550936:	57                   	push   %edi
550937:	8b 7d 08             	mov    0x8(%ebp),%edi
55093a:	8b 07                	mov    (%edi),%eax
55093c:	8b 5f 0c             	mov    0xc(%edi),%ebx
55093f:	83 eb 01             	sub    $0x1,%ebx
550942:	8b 77 14             	mov    0x14(%edi),%esi
550945:	8b 00                	mov    (%eax),%eax
550947:	8b 08                	mov    (%eax),%ecx
550949:	89 4d fc             	mov    %ecx,-0x4(%ebp)
55094c:	78 4e                	js     0x55099c
55094e:	66 90                	xchg   %ax,%ax
550950:	f6 46 0a 01          	testb  $0x1,0xa(%esi)
550954:	74 10                	je     0x550966
550956:	8b 06                	mov    (%esi),%eax
550958:	85 c0                	test   %eax,%eax
55095a:	74 0a                	je     0x550966
55095c:	50                   	push   %eax
55095d:	51                   	push   %ecx
55095e:	e8 4d 5e fd ff       	call   0x5267b0
550963:	83 c4 08             	add    $0x8,%esp
550966:	0f b7 46 0a          	movzwl 0xa(%esi),%eax
55096a:	a8 10                	test   $0x10,%al
55096c:	75 04                	jne    0x550972
55096e:	a8 20                	test   $0x20,%al
550970:	74 1c                	je     0x55098e
550972:	8b 7e 1c             	mov    0x1c(%esi),%edi
550975:	57                   	push   %edi
550976:	e8 b5 ff ff ff       	call   0x550930
55097b:	83 c4 04             	add    $0x4,%esp
55097e:	85 ff                	test   %edi,%edi
550980:	74 0c                	je     0x55098e
550982:	57                   	push   %edi
550983:	ff 75 fc             	push   -0x4(%ebp)
550986:	e8 e5 09 fd ff       	call   0x521370
55098b:	83 c4 08             	add    $0x8,%esp
55098e:	8b 4d fc             	mov    -0x4(%ebp),%ecx
550991:	83 c6 30             	add    $0x30,%esi
550994:	83 eb 01             	sub    $0x1,%ebx
550997:	79 b7                	jns    0x550950
550999:	8b 7d 08             	mov    0x8(%ebp),%edi
55099c:	8b 57 14             	mov    0x14(%edi),%edx
55099f:	8d 47 18             	lea    0x18(%edi),%eax
5509a2:	5f                   	pop    %edi
5509a3:	5e                   	pop    %esi
5509a4:	5b                   	pop    %ebx
5509a5:	3b d0                	cmp    %eax,%edx
5509a7:	74 0e                	je     0x5509b7
5509a9:	85 d2                	test   %edx,%edx
5509ab:	74 0a                	je     0x5509b7
5509ad:	52                   	push   %edx
5509ae:	51                   	push   %ecx
5509af:	e8 bc 09 fd ff       	call   0x521370
5509b4:	83 c4 08             	add    $0x8,%esp
5509b7:	8b e5                	mov    %ebp,%esp
5509b9:	5d                   	pop    %ebp
5509ba:	c3                   	ret
5509bb:	cc                   	int3
5509bc:	cc                   	int3
5509bd:	cc                   	int3
5509be:	cc                   	int3
5509bf:	cc                   	int3
5509c0:	55                   	push   %ebp
5509c1:	8b ec                	mov    %esp,%ebp
5509c3:	81 ec 24 01 00 00    	sub    $0x124,%esp
5509c9:	a1 d4 89 72 00       	mov    0x7289d4,%eax