5076b3:	5e                   	pop    %esi
5076b4:	5d                   	pop    %ebp
5076b5:	c3                   	ret
5076b6:	cc                   	int3
5076b7:	cc                   	int3
5076b8:	cc                   	int3
5076b9:	cc                   	int3
5076ba:	cc                   	int3
5076bb:	cc                   	int3
5076bc:	cc                   	int3
5076bd:	cc                   	int3
5076be:	cc                   	int3
5076bf:	cc                   	int3
5076c0:	55                   	push   %ebp
5076c1:	8b ec                	mov    %esp,%ebp
5076c3:	83 ec 18             	sub    $0x18,%esp
5076c6:	a1 d4 89 72 00       	mov    0x7289d4,%eax
5076cb:	33 c5                	xor    %ebp,%eax
5076cd:	89 45 fc             	mov    %eax,-0x4(%ebp)
5076d0:	8b 45 14             	mov    0x14(%ebp),%eax
5076d3:	8b 4d 08             	mov    0x8(%ebp),%ecx
5076d6:	53                   	push   %ebx
5076d7:	8b 5d 10             	mov    0x10(%ebp),%ebx
5076da:	56                   	push   %esi
5076db:	57                   	push   %edi
5076dc:	8b 7d 0c             	mov    0xc(%ebp),%edi
5076df:	89 45 f0             	mov    %eax,-0x10(%ebp)
5076e2:	8b 45 18             	mov    0x18(%ebp),%eax
5076e5:	89 45 ec             	mov    %eax,-0x14(%ebp)
5076e8:	8a 07                	mov    (%edi),%al
5076ea:	89 4d f4             	mov    %ecx,-0xc(%ebp)
5076ed:	89 5d e8             	mov    %ebx,-0x18(%ebp)
5076f0:	3c a9                	cmp    $0xa9,%al
5076f2:	0f 85 0d 01 00 00    	jne    0x507805
5076f8:	8b 5f 14             	mov    0x14(%edi),%ebx
5076fb:	85 db                	test   %ebx,%ebx
5076fd:	0f 84 ef 00 00 00    	je     0x5077f2
507703:	83 3b 02             	cmpl   $0x2,(%ebx)
507706:	0f 85 e6 00 00 00    	jne    0x5077f2
50770c:	8b 43 18             	mov    0x18(%ebx),%eax
50770f:	89 45 f8             	mov    %eax,-0x8(%ebp)
507712:	80 38 a4             	cmpb   $0xa4,(%eax)
507715:	75 38                	jne    0x50774f
507717:	8b 40 2c             	mov    0x2c(%eax),%eax
50771a:	83 78 38 00          	cmpl   $0x0,0x38(%eax)
50771e:	74 2f                	je     0x50774f
507720:	33 f6                	xor    %esi,%esi
507722:	0f 1f 40 00          	nopl   0x0(%eax)
507726:	66 66 0f 1f 84 00 00 	data16 nopw 0x0(%eax,%eax,1)
50772d:	00 00 00
507730:	ff 34 f5 60 1d 6b 00 	push   0x6b1d60(,%esi,8)
507737:	ff 77 08             	push   0x8(%edi)
50773a:	e8 f1 64 03 00       	call   0x53dc30
50773f:	83 c4 08             	add    $0x8,%esp
507742:	85 c0                	test   %eax,%eax
507744:	74 7a                	je     0x5077c0
507746:	46                   	inc    %esi
507747:	83 fe 04             	cmp    $0x4,%esi
50774a:	7c e4                	jl     0x507730
50774c:	8b 4d f4             	mov    -0xc(%ebp),%ecx
50774f:	8b 73 04             	mov    0x4(%ebx),%esi
507752:	80 3e a4             	cmpb   $0xa4,(%esi)
507755:	0f 85 97 00 00 00    	jne    0x5077f2
50775b:	8b 46 2c             	mov    0x2c(%esi),%eax
50775e:	83 78 38 00          	cmpl   $0x0,0x38(%eax)
507762:	0f 84 8a 00 00 00    	je     0x5077f2
507768:	50                   	push   %eax
507769:	51                   	push   %ecx
50776a:	e8 01 5f 02 00       	call   0x52d670
50776f:	83 c4 08             	add    $0x8,%esp
507772:	8b 48 08             	mov    0x8(%eax),%ecx
507775:	8b 01                	mov    (%ecx),%eax
507777:	8b 40 48             	mov    0x48(%eax),%eax
50777a:	85 c0                	test   %eax,%eax
50777c:	74 74                	je     0x5077f2
50777e:	8d 55 f8             	lea    -0x8(%ebp),%edx
507781:	52                   	push   %edx
507782:	8d 55 f4             	lea    -0xc(%ebp),%edx
507785:	52                   	push   %edx
507786:	ff 77 08             	push   0x8(%edi)
507789:	6a 02                	push   $0x2
50778b:	51                   	push   %ecx
50778c:	ff d0                	call   *%eax
50778e:	83 c4 14             	add    $0x14,%esp
507791:	3d 96 00 00 00       	cmp    $0x96,%eax
507796:	7c 5a                	jl     0x5077f2
507798:	8b 4d e8             	mov    -0x18(%ebp),%ecx
50779b:	5f                   	pop    %edi
50779c:	88 01                	mov    %al,(%ecx)
50779e:	8b 4d ec             	mov    -0x14(%ebp),%ecx
5077a1:	8b 43 18             	mov    0x18(%ebx),%eax
5077a4:	89 01                	mov    %eax,(%ecx)
5077a6:	b8 01 00 00 00       	mov    $0x1,%eax
5077ab:	8b 4d f0             	mov    -0x10(%ebp),%ecx
5077ae:	89 31                	mov    %esi,(%ecx)
5077b0:	5e                   	pop    %esi
5077b1:	5b                   	pop    %ebx
5077b2:	8b 4d fc             	mov    -0x4(%ebp),%ecx
5077b5:	33 cd                	xor    %ebp,%ecx
5077b7:	e8 1e 9d 0d 00       	call   0x5e14da
5077bc:	8b e5                	mov    %ebp,%esp
5077be:	5d                   	pop    %ebp
5077bf:	c3                   	ret
5077c0:	8a 04 f5 64 1d 6b 00 	mov    0x6b1d64(,%esi,8),%al
5077c7:	8b 4d e8             	mov    -0x18(%ebp),%ecx
5077ca:	5f                   	pop    %edi
5077cb:	5e                   	pop    %esi
5077cc:	88 01                	mov    %al,(%ecx)
5077ce:	8b 4d ec             	mov    -0x14(%ebp),%ecx
5077d1:	8b 43 04             	mov    0x4(%ebx),%eax
5077d4:	5b                   	pop    %ebx
5077d5:	89 01                	mov    %eax,(%ecx)
5077d7:	8b 4d f0             	mov    -0x10(%ebp),%ecx
5077da:	8b 45 f8             	mov    -0x8(%ebp),%eax
5077dd:	89 01                	mov    %eax,(%ecx)
5077df:	b8 01 00 00 00       	mov    $0x1,%eax
5077e4:	8b 4d fc             	mov    -0x4(%ebp),%ecx
5077e7:	33 cd                	xor    %ebp,%ecx
5077e9:	e8 ec 9c 0d 00       	call   0x5e14da
5077ee:	8b e5                	mov    %ebp,%esp
5077f0:	5d                   	pop    %ebp
5077f1:	c3                   	ret
5077f2:	5f                   	pop    %edi
5077f3:	5e                   	pop    %esi
5077f4:	33 c0                	xor    %eax,%eax
5077f6:	5b                   	pop    %ebx
5077f7:	8b 4d fc             	mov    -0x4(%ebp),%ecx
5077fa:	33 cd                	xor    %ebp,%ecx
5077fc:	e8 d9 9c 0d 00       	call   0x5e14da
507801:	8b e5                	mov    %ebp,%esp
507803:	5d                   	pop    %ebp
507804:	c3                   	ret
507805:	3c 34                	cmp    $0x34,%al
507807:	74 08                	je     0x507811
507809:	3c a8                	cmp    $0xa8,%al
50780b:	74 04                	je     0x507811
50780d:	3c 33                	cmp    $0x33,%al
50780f:	75 e1                	jne    0x5077f2
507811:	8b 77 0c             	mov    0xc(%edi),%esi
507814:	33 d2                	xor    %edx,%edx
507816:	8b 4f 10             	mov    0x10(%edi),%ecx
507819:	80 3e a4             	cmpb   $0xa4,(%esi)
50781c:	75 11                	jne    0x50782f
50781e:	8b 46 2c             	mov    0x2c(%esi),%eax
507821:	c7 45 f8 01 00 00 00 	movl   $0x1,-0x8(%ebp)
507828:	39 50 38             	cmp    %edx,0x38(%eax)
50782b:	0f 45 55 f8          	cmovne -0x8(%ebp),%edx
50782f:	85 c9                	test   %ecx,%ecx
507831:	74 15                	je     0x507848
507833:	80 39 a4             	cmpb   $0xa4,(%ecx)
507836:	75 10                	jne    0x507848
507838:	8b 41 2c             	mov    0x2c(%ecx),%eax
50783b:	83 78 38 00          	cmpl   $0x0,0x38(%eax)
50783f:	74 07                	je     0x507848
507841:	8b c6                	mov    %esi,%eax
507843:	42                   	inc    %edx
507844:	8b f1                	mov    %ecx,%esi
507846:	8b c8                	mov    %eax,%ecx
507848:	8b 45 f0             	mov    -0x10(%ebp),%eax
50784b:	89 30                	mov    %esi,(%eax)
50784d:	8b 45 ec             	mov    -0x14(%ebp),%eax
507850:	89 08                	mov    %ecx,(%eax)
507852:	80 3f 34             	cmpb   $0x34,(%edi)
507855:	75 03                	jne    0x50785a
507857:	c6 03 44             	movb   $0x44,(%ebx)
50785a:	80 3f a8             	cmpb   $0xa8,(%edi)
50785d:	75 03                	jne    0x507862
50785f:	c6 03 45             	movb   $0x45,(%ebx)
507862:	80 3f 33             	cmpb   $0x33,(%edi)
507865:	75 03                	jne    0x50786a
507867:	c6 03 46             	movb   $0x46,(%ebx)
50786a:	8b 4d fc             	mov    -0x4(%ebp),%ecx
50786d:	8b c2                	mov    %edx,%eax
50786f:	5f                   	pop    %edi
507870:	5e                   	pop    %esi
507871:	33 cd                	xor    %ebp,%ecx
507873:	5b                   	pop    %ebx
507874:	e8 61 9c 0d 00       	call   0x5e14da
507879:	8b e5                	mov    %ebp,%esp
50787b:	5d                   	pop    %ebp
50787c:	c3                   	ret
50787d:	cc                   	int3
50787e:	cc                   	int3
50787f:	cc                   	int3
507880:	55                   	push   %ebp
507881:	8b ec                	mov    %esp,%ebp
507883:	56                   	push   %esi
507884:	8b 75 08             	mov    0x8(%ebp),%esi
507887:	8b 46 04             	mov    0x4(%esi),%eax
50788a:	a9 00 08 00 00       	test   $0x800,%eax
50788f:	75 05                	jne    0x507896
507891:	33 c0                	xor    %eax,%eax
507893:	5e                   	pop    %esi
507894:	5d                   	pop    %ebp
507895:	c3                   	ret
507896:	a8 20                	test   $0x20,%al
507898:	75 f7                	jne    0x507891
50789a:	8b 76 14             	mov    0x14(%esi),%esi
50789d:	83 7e 34 00          	cmpl   $0x0,0x34(%esi)
5078a1:	75 ee                	jne    0x507891
5078a3:	f6 46 04 09          	testb  $0x9,0x4(%esi)
5078a7:	75 e8                	jne    0x507891
5078a9:	83 7e 3c 00          	cmpl   $0x0,0x3c(%esi)
5078ad:	75 e2                	jne    0x507891
5078af:	83 7e 24 00          	cmpl   $0x0,0x24(%esi)
5078b3:	75 dc                	jne    0x507891
5078b5:	8b 46 20             	mov    0x20(%esi),%eax
5078b8:	83 38 01             	cmpl   $0x1,(%eax)
5078bb:	75 d4                	jne    0x507891
5078bd:	83 78 1c 00          	cmpl   $0x0,0x1c(%eax)
5078c1:	75 ce                	jne    0x507891
5078c3:	8b 40 18             	mov    0x18(%eax),%eax
5078c6:	83 78 38 00          	cmpl   $0x0,0x38(%eax)
5078ca:	75 c5                	jne    0x507891
5078cc:	8b 56 1c             	mov    0x1c(%esi),%edx
5078cf:	33 c9                	xor    %ecx,%ecx
5078d1:	57                   	push   %edi
5078d2:	8b 3a                	mov    (%edx),%edi
5078d4:	85 ff                	test   %edi,%edi
5078d6:	7e 17                	jle    0x5078ef
5078d8:	83 c2 04             	add    $0x4,%edx
5078db:	0f 1f 44 00 00       	nopl   0x0(%eax,%eax,1)
5078e0:	8b 02                	mov    (%edx),%eax
5078e2:	80 38 a4             	cmpb   $0xa4,(%eax)
5078e5:	75 0e                	jne    0x5078f5
5078e7:	41                   	inc    %ecx
5078e8:	83 c2 14             	add    $0x14,%edx
5078eb:	3b cf                	cmp    %edi,%ecx
5078ed:	7c f1                	jl     0x5078e0
5078ef:	5f                   	pop    %edi
5078f0:	8b c6                	mov    %esi,%eax
5078f2:	5e                   	pop    %esi
5078f3:	5d                   	pop    %ebp
5078f4:	c3                   	ret
5078f5:	5f                   	pop    %edi
5078f6:	33 c0                	xor    %eax,%eax
5078f8:	5e                   	pop    %esi
5078f9:	5d                   	pop    %ebp
5078fa:	c3                   	ret
5078fb:	cc                   	int3
5078fc:	cc                   	int3
5078fd:	cc                   	int3
5078fe:	cc                   	int3
5078ff:	cc                   	int3
507900:	55                   	push   %ebp
507901:	8b ec                	mov    %esp,%ebp
507903:	83 ec 08             	sub    $0x8,%esp
507906:	53                   	push   %ebx
507907:	8b 5d 14             	mov    0x14(%ebp),%ebx
50790a:	6a 30                	push   $0x30
50790c:	6a 00                	push   $0x0
50790e:	53                   	push   %ebx
50790f:	e8 ec c0 0d 00       	call   0x5e3a00
507914:	83 c4 0c             	add    $0xc,%esp
507917:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
50791b:	75 2f                	jne    0x50794c
50791d:	ff 75 08             	push   0x8(%ebp)
507920:	e8 bb 60 03 00       	call   0x53d9e0
507925:	83 c4 04             	add    $0x4,%esp
507928:	89 03                	mov    %eax,(%ebx)
50792a:	89 53 04             	mov    %edx,0x4(%ebx)
50792d:	85 d2                	test   %edx,%edx
50792f:	7c 11                	jl     0x507942
507931:	7f 04                	jg     0x507937
507933:	85 c0                	test   %eax,%eax
507935:	76 0b                	jbe    0x507942
507937:	c6 43 28 01          	movb   $0x1,0x28(%ebx)
50793b:	33 c0                	xor    %eax,%eax
50793d:	5b                   	pop    %ebx
50793e:	8b e5                	mov    %ebp,%esp
507940:	5d                   	pop    %ebp
507941:	c3                   	ret
507942:	b8 01 00 00 00       	mov    $0x1,%eax
507947:	5b                   	pop    %ebx
507948:	8b e5                	mov    %ebp,%esp
50794a:	5d                   	pop    %ebp
50794b:	c3                   	ret
50794c:	56                   	push   %esi
50794d:	8b 75 10             	mov    0x10(%ebp),%esi
507950:	8b 0e                	mov    (%esi),%ecx
507952:	0f b7 41 08          	movzwl 0x8(%ecx),%eax
507956:	83 e0 3f             	and    $0x3f,%eax
507959:	0f b6 80 68 30 6b 00 	movzbl 0x6b3068(%eax),%eax
507960:	83 f8 02             	cmp    $0x2,%eax
507963:	74 32                	je     0x507997
507965:	83 f8 01             	cmp    $0x1,%eax
507968:	74 2d                	je     0x507997
50796a:	51                   	push   %ecx
50796b:	e8 d0 ac fd ff       	call   0x4e2640
507970:	83 c4 04             	add    $0x4,%esp
507973:	85 c0                	test   %eax,%eax
507975:	74 15                	je     0x50798c
507977:	53                   	push   %ebx
507978:	50                   	push   %eax
507979:	ff 75 08             	push   0x8(%ebp)
50797c:	e8 4f 71 00 00       	call   0x50ead0
507981:	83 c4 0c             	add    $0xc,%esp
507984:	85 c0                	test   %eax,%eax
507986:	0f 84 87 00 00 00    	je     0x507a13
50798c:	5e                   	pop    %esi
50798d:	b8 01 00 00 00       	mov    $0x1,%eax
507992:	5b                   	pop    %ebx
507993:	8b e5                	mov    %ebp,%esp
507995:	5d                   	pop    %ebp
507996:	c3                   	ret
507997:	0f b7 41 08          	movzwl 0x8(%ecx),%eax
50799b:	a8 08                	test   $0x8,%al
50799d:	74 06                	je     0x5079a5
50799f:	f2 0f 10 09          	movsd  (%ecx),%xmm1
5079a3:	eb 2d                	jmp    0x5079d2
5079a5:	a8 24                	test   $0x24,%al
5079a7:	74 0f                	je     0x5079b8
5079a9:	8b 51 04             	mov    0x4(%ecx),%edx
5079ac:	8b 09                	mov    (%ecx),%ecx
5079ae:	e8 ed 9e 0d 00       	call   0x5e18a0
5079b3:	0f 28 c8             	movaps %xmm0,%xmm1
5079b6:	eb 1a                	jmp    0x5079d2
5079b8:	a8 12                	test   $0x12,%al
5079ba:	74 13                	je     0x5079cf
5079bc:	51                   	push   %ecx
5079bd:	e8 4e 1b 00 00       	call   0x509510
5079c2:	dd 5d f8             	fstpl  -0x8(%ebp)
5079c5:	f2 0f 10 4d f8       	movsd  -0x8(%ebp),%xmm1
5079ca:	83 c4 04             	add    $0x4,%esp
5079cd:	eb 03                	jmp    0x5079d2
5079cf:	0f 57 c9             	xorps  %xmm1,%xmm1
5079d2:	0f 57 c0             	xorps  %xmm0,%xmm0
5079d5:	f2 0f 11 4b 20       	movsd  %xmm1,0x20(%ebx)
5079da:	66 0f 2f c8          	comisd %xmm0,%xmm1
5079de:	c6 43 29 01          	movb   $0x1,0x29(%ebx)
5079e2:	72 2f                	jb     0x507a13
5079e4:	f2 0f 10 05 b8 c5 6b 	movsd  0x6bc5b8,%xmm0
5079eb:	00
5079ec:	66 0f 2f c1          	comisd %xmm1,%xmm0
5079f0:	76 21                	jbe    0x507a13
5079f2:	f2 0f 59 0d c0 c5 6b 	mulsd  0x6bc5c0,%xmm1
5079f9:	00
5079fa:	f2 0f 58 0d f8 9b 6a 	addsd  0x6a9bf8,%xmm1
507a01:	00
507a02:	0f 28 c1             	movaps %xmm1,%xmm0
507a05:	e8 81 9d 0d 00       	call   0x5e178b
507a0a:	89 03                	mov    %eax,(%ebx)
507a0c:	89 53 04             	mov    %edx,0x4(%ebx)
507a0f:	c6 43 28 01          	movb   $0x1,0x28(%ebx)
507a13:	57                   	push   %edi
507a14:	bf 01 00 00 00       	mov    $0x1,%edi
507a19:	39 7d 0c             	cmp    %edi,0xc(%ebp)
507a1c:	0f 8e 9f 00 00 00    	jle    0x507ac1
507a22:	8b 0c be             	mov    (%esi,%edi,4),%ecx
507a25:	85 c9                	test   %ecx,%ecx