559705:	6a 00                	push   $0x0
559707:	6a 00                	push   $0x0
559709:	57                   	push   %edi
55970a:	6a 74                	push   $0x74
55970c:	56                   	push   %esi
55970d:	e8 ee cd fa ff       	call   0x506500
559712:	83 c4 14             	add    $0x14,%esp
559715:	5f                   	pop    %edi
559716:	5e                   	pop    %esi
559717:	5b                   	pop    %ebx
559718:	8b e5                	mov    %ebp,%esp
55971a:	5d                   	pop    %ebp
55971b:	c3                   	ret
55971c:	8d 41 01             	lea    0x1(%ecx),%eax
55971f:	89 46 6c             	mov    %eax,0x6c(%esi)
559722:	8d 0c 89             	lea    (%ecx,%ecx,4),%ecx
559725:	8b 46 68             	mov    0x68(%esi),%eax
559728:	89 7c 88 04          	mov    %edi,0x4(%eax,%ecx,4)
55972c:	5f                   	pop    %edi
55972d:	5e                   	pop    %esi
55972e:	c7 04 88 74 00 00 00 	movl   $0x74,(%eax,%ecx,4)
559735:	c7 44 88 08 00 00 00 	movl   $0x0,0x8(%eax,%ecx,4)
55973c:	00
55973d:	c7 44 88 0c 00 00 00 	movl   $0x0,0xc(%eax,%ecx,4)
559744:	00
559745:	c7 44 88 10 00 00 00 	movl   $0x0,0x10(%eax,%ecx,4)
55974c:	00
55974d:	5b                   	pop    %ebx
55974e:	8b e5                	mov    %ebp,%esp
559750:	5d                   	pop    %ebp
559751:	c3                   	ret
559752:	ff 75 dc             	push   -0x24(%ebp)
559755:	e8 b6 96 ff ff       	call   0x552e10
55975a:	83 c4 04             	add    $0x4,%esp
55975d:	5f                   	pop    %edi
55975e:	5e                   	pop    %esi
55975f:	5b                   	pop    %ebx
559760:	8b e5                	mov    %ebp,%esp
559762:	5d                   	pop    %ebp
559763:	c3                   	ret
559764:	cc                   	int3
559765:	cc                   	int3
559766:	cc                   	int3
559767:	cc                   	int3
559768:	cc                   	int3
559769:	cc                   	int3
55976a:	cc                   	int3
55976b:	cc                   	int3
55976c:	cc                   	int3
55976d:	cc                   	int3
55976e:	cc                   	int3
55976f:	cc                   	int3
559770:	55                   	push   %ebp
559771:	8b ec                	mov    %esp,%ebp
559773:	56                   	push   %esi
559774:	ff 75 0c             	push   0xc(%ebp)
559777:	8b 75 08             	mov    0x8(%ebp),%esi
55977a:	56                   	push   %esi
55977b:	e8 10 04 00 00       	call   0x559b90
559780:	83 c4 08             	add    $0x8,%esp
559783:	85 c0                	test   %eax,%eax
559785:	74 06                	je     0x55978d
559787:	8b 46 0c             	mov    0xc(%esi),%eax
55978a:	5e                   	pop    %esi
55978b:	5d                   	pop    %ebp
55978c:	c3                   	ret
55978d:	33 c0                	xor    %eax,%eax
55978f:	5e                   	pop    %esi
559790:	5d                   	pop    %ebp
559791:	c3                   	ret
559792:	cc                   	int3
559793:	cc                   	int3
559794:	cc                   	int3
559795:	cc                   	int3
559796:	cc                   	int3
559797:	cc                   	int3
559798:	cc                   	int3
559799:	cc                   	int3
55979a:	cc                   	int3
55979b:	cc                   	int3
55979c:	cc                   	int3
55979d:	cc                   	int3
55979e:	cc                   	int3
55979f:	cc                   	int3
5597a0:	55                   	push   %ebp
5597a1:	8b ec                	mov    %esp,%ebp
5597a3:	83 ec 20             	sub    $0x20,%esp
5597a6:	a1 d4 89 72 00       	mov    0x7289d4,%eax
5597ab:	33 c5                	xor    %ebp,%eax
5597ad:	89 45 fc             	mov    %eax,-0x4(%ebp)
5597b0:	8b 4d 18             	mov    0x18(%ebp),%ecx
5597b3:	8b 45 08             	mov    0x8(%ebp),%eax
5597b6:	89 4d ec             	mov    %ecx,-0x14(%ebp)
5597b9:	8b 4d 1c             	mov    0x1c(%ebp),%ecx
5597bc:	56                   	push   %esi
5597bd:	89 4d e8             	mov    %ecx,-0x18(%ebp)
5597c0:	33 c9                	xor    %ecx,%ecx
5597c2:	57                   	push   %edi
5597c3:	8b 7d 0c             	mov    0xc(%ebp),%edi
5597c6:	89 45 f4             	mov    %eax,-0xc(%ebp)
5597c9:	c7 45 f0 00 00 00 00 	movl   $0x0,-0x10(%ebp)
5597d0:	89 4d f8             	mov    %ecx,-0x8(%ebp)
5597d3:	c7 45 e4 01 00 00 00 	movl   $0x1,-0x1c(%ebp)
5597da:	c7 45 e0 ad 57 6e 00 	movl   $0x6e57ad,-0x20(%ebp)
5597e1:	0f b6 37             	movzbl (%edi),%esi
5597e4:	81 fe ab 00 00 00    	cmp    $0xab,%esi
5597ea:	74 08                	je     0x5597f4
5597ec:	81 fe b2 00 00 00    	cmp    $0xb2,%esi
5597f2:	75 05                	jne    0x5597f9
5597f4:	8b 7f 0c             	mov    0xc(%edi),%edi
5597f7:	eb e8                	jmp    0x5597e1
5597f9:	81 fe ad 00 00 00    	cmp    $0xad,%esi
5597ff:	75 04                	jne    0x559805
559801:	0f b6 77 02          	movzbl 0x2(%edi),%esi
559805:	83 fe 24             	cmp    $0x24,%esi
559808:	75 62                	jne    0x55986c
55980a:	6a 00                	push   $0x0
55980c:	ff 77 08             	push   0x8(%edi)
55980f:	e8 ac e8 fb ff       	call   0x5180c0
559814:	ff 75 e8             	push   -0x18(%ebp)
559817:	8b 55 ec             	mov    -0x14(%ebp),%edx
55981a:	52                   	push   %edx
55981b:	88 45 f0             	mov    %al,-0x10(%ebp)
55981e:	8b 75 f0             	mov    -0x10(%ebp),%esi
559821:	56                   	push   %esi
559822:	ff 75 10             	push   0x10(%ebp)
559825:	ff 77 0c             	push   0xc(%edi)
559828:	8b 7d f4             	mov    -0xc(%ebp),%edi
55982b:	57                   	push   %edi
55982c:	e8 6f ff ff ff       	call   0x5597a0
559831:	8b f8                	mov    %eax,%edi
559833:	83 c4 20             	add    $0x20,%esp
559836:	8b 45 ec             	mov    -0x14(%ebp),%eax
559839:	8b 00                	mov    (%eax),%eax
55983b:	85 c0                	test   %eax,%eax
55983d:	74 1b                	je     0x55985a
55983f:	6a 01                	push   $0x1
559841:	56                   	push   %esi
559842:	50                   	push   %eax
559843:	e8 a8 19 ff ff       	call   0x54b1f0
559848:	8b 45 ec             	mov    -0x14(%ebp),%eax
55984b:	6a 01                	push   $0x1
55984d:	ff 75 14             	push   0x14(%ebp)
559850:	ff 30                	push   (%eax)
559852:	e8 89 a2 f9 ff       	call   0x4f3ae0
559857:	83 c4 18             	add    $0x18,%esp
55985a:	8b c7                	mov    %edi,%eax
55985c:	5f                   	pop    %edi
55985d:	5e                   	pop    %esi
55985e:	8b 4d fc             	mov    -0x4(%ebp),%ecx
559861:	33 cd                	xor    %ebp,%ecx
559863:	e8 72 7c 08 00       	call   0x5e14da
559868:	8b e5                	mov    %ebp,%esp
55986a:	5d                   	pop    %ebp
55986b:	c3                   	ret
55986c:	81 fe aa 00 00 00    	cmp    $0xaa,%esi
559872:	75 22                	jne    0x559896
559874:	8b 77 0c             	mov    0xc(%edi),%esi
559877:	8a 16                	mov    (%esi),%dl
559879:	80 fa 98             	cmp    $0x98,%dl
55987c:	74 05                	je     0x559883
55987e:	80 fa 96             	cmp    $0x96,%dl
559881:	75 40                	jne    0x5598c3
559883:	8b fe                	mov    %esi,%edi
559885:	c7 45 e4 ff ff ff ff 	movl   $0xffffffff,-0x1c(%ebp)
55988c:	c7 45 e0 2c a8 6a 00 	movl   $0x6aa82c,-0x20(%ebp)
559893:	0f b6 37             	movzbl (%edi),%esi
559896:	83 fe 73             	cmp    $0x73,%esi
559899:	0f 84 9e 01 00 00    	je     0x559a3d
55989f:	81 fe 96 00 00 00    	cmp    $0x96,%esi
5598a5:	0f 84 92 01 00 00    	je     0x559a3d
5598ab:	81 fe 98 00 00 00    	cmp    $0x98,%esi
5598b1:	0f 84 86 01 00 00    	je     0x559a3d
5598b7:	81 fe aa 00 00 00    	cmp    $0xaa,%esi
5598bd:	0f 85 b3 00 00 00    	jne    0x559976
5598c3:	ff 75 e8             	push   -0x18(%ebp)
5598c6:	8b 75 14             	mov    0x14(%ebp),%esi
5598c9:	8d 4d f8             	lea    -0x8(%ebp),%ecx
5598cc:	51                   	push   %ecx
5598cd:	56                   	push   %esi
5598ce:	ff 75 10             	push   0x10(%ebp)
5598d1:	ff 77 0c             	push   0xc(%edi)
5598d4:	50                   	push   %eax
5598d5:	e8 c6 fe ff ff       	call   0x5597a0
5598da:	8b 4d f8             	mov    -0x8(%ebp),%ecx
5598dd:	83 c4 18             	add    $0x18,%esp
5598e0:	85 c0                	test   %eax,%eax
5598e2:	75 7b                	jne    0x55995f
5598e4:	85 c9                	test   %ecx,%ecx
5598e6:	74 77                	je     0x55995f
5598e8:	51                   	push   %ecx
5598e9:	e8 52 1f ff ff       	call   0x54b840
5598ee:	8b 45 f8             	mov    -0x8(%ebp),%eax
5598f1:	83 c4 04             	add    $0x4,%esp
5598f4:	f6 40 08 08          	testb  $0x8,0x8(%eax)
5598f8:	74 11                	je     0x55990b
5598fa:	f2 0f 10 00          	movsd  (%eax),%xmm0
5598fe:	0f 57 05 10 9c 6a 00 	xorps  0x6a9c10,%xmm0
559905:	f2 0f 11 00          	movsd  %xmm0,(%eax)
559909:	eb 42                	jmp    0x55994d
55990b:	8b 10                	mov    (%eax),%edx
55990d:	8b 48 04             	mov    0x4(%eax),%ecx
559910:	85 d2                	test   %edx,%edx
559912:	75 2d                	jne    0x559941
559914:	81 f9 00 00 00 80    	cmp    $0x80000000,%ecx
55991a:	75 25                	jne    0x559941
55991c:	f2 0f 10 05 00 c6 6b 	movsd  0x6bc600,%xmm0
559923:	00
559924:	ba 40 3e 00 00       	mov    $0x3e40,%edx
559929:	f2 0f 11 00          	movsd  %xmm0,(%eax)
55992d:	8b 4d f8             	mov    -0x8(%ebp),%ecx
559930:	66 8b 41 08          	mov    0x8(%ecx),%ax
559934:	66 23 c2             	and    %dx,%ax
559937:	66 83 c8 08          	or     $0x8,%ax
55993b:	66 89 41 08          	mov    %ax,0x8(%ecx)
55993f:	eb 0c                	jmp    0x55994d
559941:	f7 da                	neg    %edx
559943:	89 10                	mov    %edx,(%eax)
559945:	83 d1 00             	adc    $0x0,%ecx
559948:	f7 d9                	neg    %ecx
55994a:	89 48 04             	mov    %ecx,0x4(%eax)
55994d:	ff 75 10             	push   0x10(%ebp)
559950:	56                   	push   %esi
559951:	ff 75 f8             	push   -0x8(%ebp)
559954:	e8 87 a1 f9 ff       	call   0x4f3ae0
559959:	83 c4 0c             	add    $0xc,%esp
55995c:	8b 4d f8             	mov    -0x8(%ebp),%ecx
55995f:	33 c0                	xor    %eax,%eax
559961:	8b 55 ec             	mov    -0x14(%ebp),%edx
559964:	5f                   	pop    %edi
559965:	5e                   	pop    %esi
559966:	89 0a                	mov    %ecx,(%edx)
559968:	8b 4d fc             	mov    -0x4(%ebp),%ecx
55996b:	33 cd                	xor    %ebp,%ecx
55996d:	e8 68 7b 08 00       	call   0x5e14da
559972:	8b e5                	mov    %ebp,%esp
559974:	5d                   	pop    %ebp
559975:	c3                   	ret
559976:	83 fe 77             	cmp    $0x77,%esi
559979:	75 1f                	jne    0x55999a
55997b:	50                   	push   %eax
55997c:	e8 2f 7f fe ff       	call   0x5418b0
559981:	83 c4 04             	add    $0x4,%esp
559984:	89 45 f8             	mov    %eax,-0x8(%ebp)
559987:	85 c0                	test   %eax,%eax
559989:	0f 84 9b 01 00 00    	je     0x559b2a
55998f:	50                   	push   %eax
559990:	e8 bb 20 ff ff       	call   0x54ba50
559995:	83 c4 04             	add    $0x4,%esp
559998:	eb c2                	jmp    0x55995c
55999a:	81 fe 97 00 00 00    	cmp    $0x97,%esi
5599a0:	75 54                	jne    0x5599f6
5599a2:	50                   	push   %eax
5599a3:	e8 08 7f fe ff       	call   0x5418b0
5599a8:	83 c4 04             	add    $0x4,%esp
5599ab:	89 45 f8             	mov    %eax,-0x8(%ebp)
5599ae:	85 c0                	test   %eax,%eax
5599b0:	0f 84 74 01 00 00    	je     0x559b2a
5599b6:	8b 77 08             	mov    0x8(%edi),%esi
5599b9:	83 c6 02             	add    $0x2,%esi
5599bc:	56                   	push   %esi
5599bd:	e8 ce 42 fe ff       	call   0x53dc90
5599c2:	8b 7d f4             	mov    -0xc(%ebp),%edi
5599c5:	83 c4 04             	add    $0x4,%esp
5599c8:	8d 48 ff             	lea    -0x1(%eax),%ecx
5599cb:	8b c1                	mov    %ecx,%eax
5599cd:	68 c0 10 53 00       	push   $0x5310c0
5599d2:	99                   	cltd
5599d3:	6a 00                	push   $0x0
5599d5:	2b c2                	sub    %edx,%eax
5599d7:	d1 f8                	sar    $1,%eax
5599d9:	50                   	push   %eax
5599da:	51                   	push   %ecx
5599db:	56                   	push   %esi
5599dc:	57                   	push   %edi
5599dd:	e8 ee 41 fd ff       	call   0x52dbd0
5599e2:	83 c4 0c             	add    $0xc,%esp
5599e5:	50                   	push   %eax
5599e6:	ff 75 f8             	push   -0x8(%ebp)
5599e9:	e8 f2 20 ff ff       	call   0x54bae0
5599ee:	83 c4 14             	add    $0x14,%esp
5599f1:	e9 66 ff ff ff       	jmp    0x55995c
5599f6:	81 fe a7 00 00 00    	cmp    $0xa7,%esi
5599fc:	0f 85 5d ff ff ff    	jne    0x55995f
559a02:	50                   	push   %eax
559a03:	e8 a8 7e fe ff       	call   0x5418b0
559a08:	8b c8                	mov    %eax,%ecx
559a0a:	83 c4 04             	add    $0x4,%esp
559a0d:	89 4d f8             	mov    %ecx,-0x8(%ebp)
559a10:	85 c9                	test   %ecx,%ecx
559a12:	0f 84 47 ff ff ff    	je     0x55995f
559a18:	b8 04 00 00 00       	mov    $0x4,%eax
559a1d:	66 89 41 08          	mov    %ax,0x8(%ecx)
559a21:	33 c9                	xor    %ecx,%ecx
559a23:	8b 47 08             	mov    0x8(%edi),%eax
559a26:	38 48 04             	cmp    %cl,0x4(%eax)
559a29:	8b 45 f8             	mov    -0x8(%ebp),%eax
559a2c:	0f 94 c1             	sete   %cl
559a2f:	89 08                	mov    %ecx,(%eax)
559a31:	c7 40 04 00 00 00 00 	movl   $0x0,0x4(%eax)
559a38:	e9 1f ff ff ff       	jmp    0x55995c
559a3d:	50                   	push   %eax
559a3e:	e8 6d 7e fe ff       	call   0x5418b0
559a43:	8b c8                	mov    %eax,%ecx
559a45:	83 c4 04             	add    $0x4,%esp
559a48:	89 4d f8             	mov    %ecx,-0x8(%ebp)
559a4b:	85 c9                	test   %ecx,%ecx
559a4d:	0f 84 d7 00 00 00    	je     0x559b2a
559a53:	f7 47 04 00 04 00 00 	testl  $0x400,0x4(%edi)
559a5a:	74 13                	je     0x559a6f
559a5c:	8b 45 e4             	mov    -0x1c(%ebp),%eax
559a5f:	f7 6f 08             	imull  0x8(%edi)
559a62:	52                   	push   %edx
559a63:	50                   	push   %eax
559a64:	51                   	push   %ecx
559a65:	e8 a6 1f ff ff       	call   0x54ba10
559a6a:	83 c4 0c             	add    $0xc,%esp
559a6d:	eb 3e                	jmp    0x559aad
559a6f:	ff 77 08             	push   0x8(%edi)
559a72:	8b 7d f4             	mov    -0xc(%ebp),%edi
559a75:	ff 75 e0             	push   -0x20(%ebp)
559a78:	68 50 86 6b 00       	push   $0x6b8650
559a7d:	57                   	push   %edi
559a7e:	e8 bd 74 fd ff       	call   0x530f40
559a83:	8b c8                	mov    %eax,%ecx
559a85:	83 c4 10             	add    $0x10,%esp
559a88:	89 4d f0             	mov    %ecx,-0x10(%ebp)
559a8b:	85 c9                	test   %ecx,%ecx
559a8d:	0f 84 9a 00 00 00    	je     0x559b2d
559a93:	8b 45 f8             	mov    -0x8(%ebp),%eax
559a96:	85 c0                	test   %eax,%eax
559a98:	74 16                	je     0x559ab0
559a9a:	68 c0 10 53 00       	push   $0x5310c0
559a9f:	6a 01                	push   $0x1
559aa1:	6a ff                	push   $0xffffffff
559aa3:	51                   	push   %ecx
559aa4:	50                   	push   %eax
559aa5:	e8 36 20 ff ff       	call   0x54bae0
559aaa:	83 c4 14             	add    $0x14,%esp
559aad:	8b 45 f8             	mov    -0x8(%ebp),%eax
559ab0:	8b 4d 14             	mov    0x14(%ebp),%ecx
559ab3:	81 fe 98 00 00 00    	cmp    $0x98,%esi
559ab9:	74 08                	je     0x559ac3
559abb:	81 fe 96 00 00 00    	cmp    $0x96,%esi
559ac1:	75 0b                	jne    0x559ace
559ac3:	80 f9 41             	cmp    $0x41,%cl
559ac6:	75 06                	jne    0x559ace
559ac8:	6a 01                	push   $0x1
559aca:	6a 43                	push   $0x43
559acc:	eb 03                	jmp    0x559ad1