558626:	c3                   	ret
558627:	0f b7 4a 0c          	movzwl 0xc(%edx),%ecx
55862b:	f6 c1 82             	test   $0x82,%cl
55862e:	74 f2                	je     0x558622
558630:	f6 46 24 08          	testb  $0x8,0x24(%esi)
558634:	74 0c                	je     0x558642
558636:	8b 02                	mov    (%edx),%eax
558638:	f6 40 04 01          	testb  $0x1,0x4(%eax)
55863c:	75 04                	jne    0x558642
55863e:	84 c9                	test   %cl,%cl
558640:	78 e0                	js     0x558622
558642:	8b 4a 20             	mov    0x20(%edx),%ecx
558645:	8b 42 24             	mov    0x24(%edx),%eax
558648:	23 4d 10             	and    0x10(%ebp),%ecx
55864b:	23 45 14             	and    0x14(%ebp),%eax
55864e:	0b c8                	or     %eax,%ecx
558650:	75 d0                	jne    0x558622
558652:	8b 4a 1c             	mov    0x1c(%edx),%ecx
558655:	85 c9                	test   %ecx,%ecx
558657:	78 c9                	js     0x558622
558659:	8b 46 10             	mov    0x10(%esi),%eax
55865c:	8d 0c 89             	lea    (%ecx,%ecx,4),%ecx
55865f:	8b 40 04             	mov    0x4(%eax),%eax
558662:	8a 44 88 0d          	mov    0xd(%eax,%ecx,4),%al
558666:	88 45 08             	mov    %al,0x8(%ebp)
558669:	ff 75 08             	push   0x8(%ebp)
55866c:	ff 32                	push   (%edx)
55866e:	e8 1d 59 fd ff       	call   0x52df90
558673:	83 c4 08             	add    $0x8,%esp
558676:	f7 d8                	neg    %eax
558678:	1b c0                	sbb    %eax,%eax
55867a:	f7 d8                	neg    %eax
55867c:	5e                   	pop    %esi
55867d:	5d                   	pop    %ebp
55867e:	c3                   	ret
55867f:	cc                   	int3
558680:	55                   	push   %ebp
558681:	8b ec                	mov    %esp,%ebp
558683:	57                   	push   %edi
558684:	8b 7d 08             	mov    0x8(%ebp),%edi
558687:	8b 07                	mov    (%edi),%eax
558689:	f6 40 4c 80          	testb  $0x80,0x4c(%eax)
55868d:	74 05                	je     0x558694
55868f:	33 c0                	xor    %eax,%eax
558691:	5f                   	pop    %edi
558692:	5d                   	pop    %ebp
558693:	c3                   	ret
558694:	56                   	push   %esi
558695:	8b 75 0c             	mov    0xc(%ebp),%esi
558698:	8a 06                	mov    (%esi),%al
55869a:	3c 35                	cmp    $0x35,%al
55869c:	74 04                	je     0x5586a2
55869e:	3c 2d                	cmp    $0x2d,%al
5586a0:	75 06                	jne    0x5586a8
5586a2:	f6 46 04 01          	testb  $0x1,0x4(%esi)
5586a6:	74 06                	je     0x5586ae
5586a8:	5e                   	pop    %esi
5586a9:	33 c0                	xor    %eax,%eax
5586ab:	5f                   	pop    %edi
5586ac:	5d                   	pop    %ebp
5586ad:	c3                   	ret
5586ae:	53                   	push   %ebx
5586af:	ff 76 0c             	push   0xc(%esi)
5586b2:	e8 f9 ae fc ff       	call   0x5235b0
5586b7:	ff 76 10             	push   0x10(%esi)
5586ba:	8a d8                	mov    %al,%bl
5586bc:	e8 ef ae fc ff       	call   0x5235b0
5586c1:	83 c4 08             	add    $0x8,%esp
5586c4:	3a d8                	cmp    %al,%bl
5586c6:	74 10                	je     0x5586d8
5586c8:	80 fb 43             	cmp    $0x43,%bl
5586cb:	7c 04                	jl     0x5586d1
5586cd:	3c 43                	cmp    $0x43,%al
5586cf:	7d 07                	jge    0x5586d8
5586d1:	5b                   	pop    %ebx
5586d2:	5e                   	pop    %esi
5586d3:	33 c0                	xor    %eax,%eax
5586d5:	5f                   	pop    %edi
5586d6:	5d                   	pop    %ebp
5586d7:	c3                   	ret
5586d8:	56                   	push   %esi
5586d9:	57                   	push   %edi
5586da:	e8 61 e0 fc ff       	call   0x526740
5586df:	83 c4 08             	add    $0x8,%esp
5586e2:	85 c0                	test   %eax,%eax
5586e4:	74 1d                	je     0x558703
5586e6:	81 78 0c 30 5e 4f 00 	cmpl   $0x4f5e30,0xc(%eax)
5586ed:	74 14                	je     0x558703
5586ef:	ff 76 10             	push   0x10(%esi)
5586f2:	ff 76 0c             	push   0xc(%esi)
5586f5:	57                   	push   %edi
5586f6:	e8 85 dd fc ff       	call   0x526480
5586fb:	83 c4 0c             	add    $0xc,%esp
5586fe:	5b                   	pop    %ebx
5586ff:	5e                   	pop    %esi
558700:	5f                   	pop    %edi
558701:	5d                   	pop    %ebp
558702:	c3                   	ret
558703:	5b                   	pop    %ebx
558704:	5e                   	pop    %esi
558705:	b8 01 00 00 00       	mov    $0x1,%eax
55870a:	5f                   	pop    %edi
55870b:	5d                   	pop    %ebp
55870c:	c3                   	ret
55870d:	cc                   	int3
55870e:	cc                   	int3
55870f:	cc                   	int3
558710:	55                   	push   %ebp
558711:	8b ec                	mov    %esp,%ebp
558713:	83 ec 10             	sub    $0x10,%esp
558716:	a1 d4 89 72 00       	mov    0x7289d4,%eax
55871b:	33 c5                	xor    %ebp,%eax
55871d:	89 45 fc             	mov    %eax,-0x4(%ebp)
558720:	8b 45 10             	mov    0x10(%ebp),%eax
558723:	53                   	push   %ebx
558724:	8b 5d 14             	mov    0x14(%ebp),%ebx
558727:	56                   	push   %esi
558728:	57                   	push   %edi
558729:	8b 7d 08             	mov    0x8(%ebp),%edi
55872c:	89 45 f0             	mov    %eax,-0x10(%ebp)
55872f:	89 45 f4             	mov    %eax,-0xc(%ebp)
558732:	8d 43 35             	lea    0x35(%ebx),%eax
558735:	6a 00                	push   $0x0
558737:	50                   	push   %eax
558738:	ff 37                	push   (%edi)
55873a:	89 5d f8             	mov    %ebx,-0x8(%ebp)
55873d:	e8 9e 8c fc ff       	call   0x5213e0
558742:	8b f0                	mov    %eax,%esi
558744:	83 c4 0c             	add    $0xc,%esp
558747:	85 f6                	test   %esi,%esi
558749:	0f 84 bf 00 00 00    	je     0x55880e
55874f:	8a 4d 0c             	mov    0xc(%ebp),%cl
558752:	83 c8 ff             	or     $0xffffffff,%eax
558755:	66 89 46 22          	mov    %ax,0x22(%esi)
558759:	33 c0                	xor    %eax,%eax
55875b:	53                   	push   %ebx
55875c:	ff 75 f0             	push   -0x10(%ebp)
55875f:	66 89 46 20          	mov    %ax,0x20(%esi)
558763:	8d 46 34             	lea    0x34(%esi),%eax
558766:	50                   	push   %eax
558767:	88 0e                	mov    %cl,(%esi)
558769:	66 c7 46 01 00 00    	movw   $0x0,0x1(%esi)
55876f:	c7 46 04 00 00 80 00 	movl   $0x800000,0x4(%esi)
558776:	c7 46 10 00 00 00 00 	movl   $0x0,0x10(%esi)
55877d:	c7 46 0c 00 00 00 00 	movl   $0x0,0xc(%esi)
558784:	c7 46 14 00 00 00 00 	movl   $0x0,0x14(%esi)
55878b:	c7 46 28 00 00 00 00 	movl   $0x0,0x28(%esi)
558792:	c7 46 2c 00 00 00 00 	movl   $0x0,0x2c(%esi)
558799:	c7 46 1c 00 00 00 00 	movl   $0x0,0x1c(%esi)
5587a0:	89 46 08             	mov    %eax,0x8(%esi)
5587a3:	e8 58 a7 08 00       	call   0x5e2f00
5587a8:	8b 46 08             	mov    0x8(%esi),%eax
5587ab:	83 c4 0c             	add    $0xc,%esp
5587ae:	c6 04 03 00          	movb   $0x0,(%ebx,%eax,1)
5587b2:	8b 4e 08             	mov    0x8(%esi),%ecx
5587b5:	8a 11                	mov    (%ecx),%dl
5587b7:	0f b6 c2             	movzbl %dl,%eax
5587ba:	80 b8 40 1b 6b 00 00 	cmpb   $0x0,0x6b1b40(%eax)
5587c1:	7d 1c                	jge    0x5587df
5587c3:	80 fa 22             	cmp    $0x22,%dl
5587c6:	b8 00 00 00 04       	mov    $0x4000000,%eax
5587cb:	bb 40 00 00 04       	mov    $0x4000040,%ebx
5587d0:	0f 44 c3             	cmove  %ebx,%eax
5587d3:	09 46 04             	or     %eax,0x4(%esi)
5587d6:	51                   	push   %ecx
5587d7:	e8 04 9d fc ff       	call   0x5224e0
5587dc:	83 c4 04             	add    $0x4,%esp
5587df:	c7 46 18 01 00 00 00 	movl   $0x1,0x18(%esi)
5587e6:	80 bf c8 00 00 00 02 	cmpb   $0x2,0xc8(%edi)
5587ed:	72 1f                	jb     0x55880e
5587ef:	8d 45 f4             	lea    -0xc(%ebp),%eax
5587f2:	50                   	push   %eax
5587f3:	56                   	push   %esi
5587f4:	57                   	push   %edi
5587f5:	e8 56 f6 fd ff       	call   0x537e50
5587fa:	83 c4 0c             	add    $0xc,%esp
5587fd:	5f                   	pop    %edi
5587fe:	5e                   	pop    %esi
5587ff:	5b                   	pop    %ebx
558800:	8b 4d fc             	mov    -0x4(%ebp),%ecx
558803:	33 cd                	xor    %ebp,%ecx
558805:	e8 d0 8c 08 00       	call   0x5e14da
55880a:	8b e5                	mov    %ebp,%esp
55880c:	5d                   	pop    %ebp
55880d:	c3                   	ret
55880e:	8b 4d fc             	mov    -0x4(%ebp),%ecx
558811:	8b c6                	mov    %esi,%eax
558813:	5f                   	pop    %edi
558814:	5e                   	pop    %esi
558815:	33 cd                	xor    %ebp,%ecx
558817:	5b                   	pop    %ebx
558818:	e8 bd 8c 08 00       	call   0x5e14da
55881d:	8b e5                	mov    %ebp,%esp
55881f:	5d                   	pop    %ebp
558820:	c3                   	ret
558821:	cc                   	int3
558822:	cc                   	int3
558823:	cc                   	int3
558824:	cc                   	int3
558825:	cc                   	int3
558826:	cc                   	int3
558827:	cc                   	int3
558828:	cc                   	int3
558829:	cc                   	int3
55882a:	cc                   	int3
55882b:	cc                   	int3
55882c:	cc                   	int3
55882d:	cc                   	int3
55882e:	cc                   	int3
55882f:	cc                   	int3
558830:	55                   	push   %ebp
558831:	8b ec                	mov    %esp,%ebp
558833:	8b 55 08             	mov    0x8(%ebp),%edx
558836:	83 7a 24 00          	cmpl   $0x0,0x24(%edx)
55883a:	75 17                	jne    0x558853
55883c:	8b 4d 0c             	mov    0xc(%ebp),%ecx
55883f:	8b 41 04             	mov    0x4(%ecx),%eax
558842:	89 42 04             	mov    %eax,0x4(%edx)
558845:	8b 41 24             	mov    0x24(%ecx),%eax
558848:	89 42 24             	mov    %eax,0x24(%edx)
55884b:	8b 41 0c             	mov    0xc(%ecx),%eax
55884e:	89 42 0c             	mov    %eax,0xc(%edx)
558851:	5d                   	pop    %ebp
558852:	c3                   	ret
558853:	8b 45 0c             	mov    0xc(%ebp),%eax
558856:	8b 48 04             	mov    0x4(%eax),%ecx
558859:	85 c9                	test   %ecx,%ecx
55885b:	74 0b                	je     0x558868
55885d:	51                   	push   %ecx
55885e:	ff 30                	push   (%eax)
558860:	e8 0b 8b fc ff       	call   0x521370
558865:	83 c4 08             	add    $0x8,%esp
558868:	5d                   	pop    %ebp
558869:	c3                   	ret
55886a:	cc                   	int3
55886b:	cc                   	int3
55886c:	cc                   	int3
55886d:	cc                   	int3
55886e:	cc                   	int3
55886f:	cc                   	int3
558870:	55                   	push   %ebp
558871:	8b ec                	mov    %esp,%ebp
558873:	56                   	push   %esi
558874:	8b 75 0c             	mov    0xc(%ebp),%esi
558877:	8b ce                	mov    %esi,%ecx
558879:	57                   	push   %edi
55887a:	8b 7d 08             	mov    0x8(%ebp),%edi
55887d:	8b 57 08             	mov    0x8(%edi),%edx
558880:	85 f6                	test   %esi,%esi
558882:	79 04                	jns    0x558888
558884:	8b 4a 6c             	mov    0x6c(%edx),%ecx
558887:	49                   	dec    %ecx
558888:	8b 02                	mov    (%edx),%eax
55888a:	80 78 51 00          	cmpb   $0x0,0x51(%eax)
55888e:	74 07                	je     0x558897
558890:	b9 ec 02 73 00       	mov    $0x7302ec,%ecx
558895:	eb 09                	jmp    0x5588a0
558897:	8b 42 68             	mov    0x68(%edx),%eax
55889a:	8d 0c 89             	lea    (%ecx,%ecx,4),%ecx
55889d:	8d 0c 88             	lea    (%eax,%ecx,4),%ecx
5588a0:	8b 07                	mov    (%edi),%eax
5588a2:	8b 52 6c             	mov    0x6c(%edx),%edx
5588a5:	80 78 51 00          	cmpb   $0x0,0x51(%eax)
5588a9:	75 5f                	jne    0x55890a
5588ab:	3b f2                	cmp    %edx,%esi
5588ad:	7d 5b                	jge    0x55890a
5588af:	8b 7d 10             	mov    0x10(%ebp),%edi
5588b2:	8d 41 04             	lea    0x4(%ecx),%eax
5588b5:	53                   	push   %ebx
5588b6:	8b 5d 14             	mov    0x14(%ebp),%ebx
5588b9:	2b d6                	sub    %esi,%edx
5588bb:	8b 75 18             	mov    0x18(%ebp),%esi
5588be:	66 90                	xchg   %ax,%ax
5588c0:	39 38                	cmp    %edi,(%eax)
5588c2:	75 3d                	jne    0x558901
5588c4:	8a 48 fc             	mov    -0x4(%eax),%cl
5588c7:	80 f9 59             	cmp    $0x59,%cl
5588ca:	75 13                	jne    0x5588df
5588cc:	8b 48 04             	mov    0x4(%eax),%ecx
5588cf:	03 cb                	add    %ebx,%ecx
5588d1:	c6 40 fc 4d          	movb   $0x4d,-0x4(%eax)
5588d5:	89 08                	mov    %ecx,(%eax)
5588d7:	8b 48 08             	mov    0x8(%eax),%ecx
5588da:	89 48 04             	mov    %ecx,0x4(%eax)
5588dd:	eb 1b                	jmp    0x5588fa
5588df:	80 f9 7f             	cmp    $0x7f,%cl
5588e2:	75 1d                	jne    0x558901
5588e4:	85 f6                	test   %esi,%esi
5588e6:	74 08                	je     0x5588f0
5588e8:	c6 40 fc 77          	movb   $0x77,-0x4(%eax)
5588ec:	89 30                	mov    %esi,(%eax)
5588ee:	eb 11                	jmp    0x558901
5588f0:	c6 40 fc 48          	movb   $0x48,-0x4(%eax)
5588f4:	c7 00 00 00 00 00    	movl   $0x0,(%eax)
5588fa:	c7 40 08 00 00 00 00 	movl   $0x0,0x8(%eax)
558901:	83 c0 14             	add    $0x14,%eax
558904:	83 ea 01             	sub    $0x1,%edx
558907:	75 b7                	jne    0x5588c0
558909:	5b                   	pop    %ebx
55890a:	5f                   	pop    %edi
55890b:	5e                   	pop    %esi
55890c:	5d                   	pop    %ebp
55890d:	c3                   	ret
55890e:	cc                   	int3
55890f:	cc                   	int3
558910:	55                   	push   %ebp
558911:	8b ec                	mov    %esp,%ebp
558913:	8b 4d 10             	mov    0x10(%ebp),%ecx
558916:	53                   	push   %ebx
558917:	8b 5d 08             	mov    0x8(%ebp),%ebx
55891a:	56                   	push   %esi
55891b:	8b 71 04             	mov    0x4(%ecx),%esi
55891e:	57                   	push   %edi
55891f:	8b 1b                	mov    (%ebx),%ebx
558921:	83 c6 2d             	add    $0x2d,%esi
558924:	6a 00                	push   $0x0
558926:	56                   	push   %esi
558927:	85 db                	test   %ebx,%ebx
558929:	74 0b                	je     0x558936
55892b:	53                   	push   %ebx
55892c:	e8 af 8a fc ff       	call   0x5213e0
558931:	83 c4 0c             	add    $0xc,%esp
558934:	eb 08                	jmp    0x55893e
558936:	e8 25 86 fd ff       	call   0x530f60
55893b:	83 c4 08             	add    $0x8,%esp
55893e:	8b f8                	mov    %eax,%edi
558940:	85 ff                	test   %edi,%edi
558942:	0f 84 7c 00 00 00    	je     0x5589c4
558948:	56                   	push   %esi
558949:	6a 00                	push   $0x0
55894b:	57                   	push   %edi
55894c:	e8 af b0 08 00       	call   0x5e3a00
558951:	8b 45 10             	mov    0x10(%ebp),%eax
558954:	8d 77 2c             	lea    0x2c(%edi),%esi
558957:	ff 70 04             	push   0x4(%eax)
55895a:	ff 30                	push   (%eax)
55895c:	56                   	push   %esi
55895d:	e8 9e a5 08 00       	call   0x5e2f00
558962:	56                   	push   %esi
558963:	e8 78 9b fc ff       	call   0x5224e0
558968:	ff 75 18             	push   0x18(%ebp)
55896b:	8a 45 0c             	mov    0xc(%ebp),%al
55896e:	ff 75 14             	push   0x14(%ebp)
558971:	89 77 0c             	mov    %esi,0xc(%edi)
558974:	53                   	push   %ebx
558975:	88 07                	mov    %al,(%edi)
558977:	e8 a4 8c fc ff       	call   0x521620
55897c:	8b d0                	mov    %eax,%edx
55897e:	83 c4 28             	add    $0x28,%esp
558981:	85 d2                	test   %edx,%edx