5596bb:	33 c0                	xor    %eax,%eax
5596bd:	5a                   	pop    %edx
5596be:	59                   	pop    %ecx
5596bf:	59                   	pop    %ecx
5596c0:	64 89 10             	mov    %edx,%fs:(%eax)
5596c3:	68 d0 96 55 00       	push   $0x5596d0
5596c8:	c3                   	ret
5596c9:	e9 3e ab ea ff       	jmp    0x40420c
5596ce:	eb f8                	jmp    0x5596c8
5596d0:	5d                   	pop    %ebp
5596d1:	c3                   	ret
5596d2:	8b c0                	mov    %eax,%eax
5596d4:	83 2d 04 b4 6a 00 01 	subl   $0x1,0x6ab404
5596db:	c3                   	ret
5596dc:	55                   	push   %ebp
5596dd:	8b ec                	mov    %esp,%ebp
5596df:	33 c0                	xor    %eax,%eax
5596e1:	55                   	push   %ebp
5596e2:	68 01 97 55 00       	push   $0x559701
5596e7:	64 ff 30             	push   %fs:(%eax)
5596ea:	64 89 20             	mov    %esp,%fs:(%eax)
5596ed:	ff 05 08 b4 6a 00    	incl   0x6ab408
5596f3:	33 c0                	xor    %eax,%eax
5596f5:	5a                   	pop    %edx
5596f6:	59                   	pop    %ecx
5596f7:	59                   	pop    %ecx
5596f8:	64 89 10             	mov    %edx,%fs:(%eax)
5596fb:	68 08 97 55 00       	push   $0x559708
559700:	c3                   	ret
559701:	e9 06 ab ea ff       	jmp    0x40420c
559706:	eb f8                	jmp    0x559700
559708:	5d                   	pop    %ebp
559709:	c3                   	ret
55970a:	8b c0                	mov    %eax,%eax
55970c:	83 2d 08 b4 6a 00 01 	subl   $0x1,0x6ab408
559713:	c3                   	ret
559714:	25 ff 7f 00 00       	and    $0x7fff,%eax
559719:	c3                   	ret
55971a:	8b c0                	mov    %eax,%eax
55971c:	53                   	push   %ebx
55971d:	56                   	push   %esi
55971e:	8b f2                	mov    %edx,%esi
559720:	8b d8                	mov    %eax,%ebx
559722:	8b c3                	mov    %ebx,%eax
559724:	2b c6                	sub    %esi,%eax
559726:	99                   	cltd
559727:	f7 f9                	idiv   %ecx
559729:	5e                   	pop    %esi
55972a:	5b                   	pop    %ebx
55972b:	c3                   	ret
55972c:	51                   	push   %ecx
55972d:	8b 10                	mov    (%eax),%edx
55972f:	89 14 24             	mov    %edx,(%esp)
559732:	8b d4                	mov    %esp,%edx
559734:	8a 4a 03             	mov    0x3(%edx),%cl
559737:	88 08                	mov    %cl,(%eax)
559739:	8a 4a 02             	mov    0x2(%edx),%cl
55973c:	88 48 01             	mov    %cl,0x1(%eax)
55973f:	8a 4a 01             	mov    0x1(%edx),%cl
559742:	88 48 02             	mov    %cl,0x2(%eax)
559745:	8a 12                	mov    (%edx),%dl
559747:	88 50 03             	mov    %dl,0x3(%eax)
55974a:	5a                   	pop    %edx
55974b:	c3                   	ret
55974c:	51                   	push   %ecx
55974d:	66 8b 10             	mov    (%eax),%dx
559750:	66 89 14 24          	mov    %dx,(%esp)
559754:	8b d4                	mov    %esp,%edx
559756:	8a 4a 01             	mov    0x1(%edx),%cl
559759:	88 08                	mov    %cl,(%eax)
55975b:	8a 12                	mov    (%edx),%dl
55975d:	88 50 01             	mov    %dl,0x1(%eax)
559760:	5a                   	pop    %edx
559761:	c3                   	ret
559762:	8b c0                	mov    %eax,%eax
559764:	53                   	push   %ebx
559765:	56                   	push   %esi
559766:	57                   	push   %edi
559767:	83 c4 ec             	add    $0xffffffec,%esp
55976a:	8b f0                	mov    %eax,%esi
55976c:	8b c6                	mov    %esi,%eax
55976e:	e8 45 4f ec ff       	call   0x41e6b8
559773:	89 04 24             	mov    %eax,(%esp)
559776:	89 54 24 04          	mov    %edx,0x4(%esp)
55977a:	33 db                	xor    %ebx,%ebx
55977c:	8d 54 24 08          	lea    0x8(%esp),%edx
559780:	b9 04 00 00 00       	mov    $0x4,%ecx
559785:	8b c6                	mov    %esi,%eax
559787:	8b 38                	mov    (%eax),%edi
559789:	ff 57 08             	call   *0x8(%edi)
55978c:	8d 54 24 0c          	lea    0xc(%esp),%edx
559790:	b9 04 00 00 00       	mov    $0x4,%ecx
559795:	8b c6                	mov    %esi,%eax
559797:	8b 38                	mov    (%eax),%edi
559799:	ff 57 08             	call   *0x8(%edi)
55979c:	8d 54 24 10          	lea    0x10(%esp),%edx
5597a0:	b9 04 00 00 00       	mov    $0x4,%ecx
5597a5:	8b c6                	mov    %esi,%eax
5597a7:	8b 38                	mov    (%eax),%edi
5597a9:	ff 57 08             	call   *0x8(%edi)
5597ac:	8d 44 24 08          	lea    0x8(%esp),%eax
5597b0:	e8 77 ff ff ff       	call   0x55972c
5597b5:	8d 44 24 0c          	lea    0xc(%esp),%eax
5597b9:	e8 6e ff ff ff       	call   0x55972c
5597be:	8d 44 24 10          	lea    0x10(%esp),%eax
5597c2:	e8 65 ff ff ff       	call   0x55972c
5597c7:	83 7c 24 08 0c       	cmpl   $0xc,0x8(%esp)
5597cc:	75 16                	jne    0x5597e4
5597ce:	81 7c 24 0c 20 20 50 	cmpl   $0x6a502020,0xc(%esp)
5597d5:	6a
5597d6:	75 0c                	jne    0x5597e4
5597d8:	81 7c 24 10 0a 87 0a 	cmpl   $0xd0a870a,0x10(%esp)
5597df:	0d
5597e0:	75 02                	jne    0x5597e4
5597e2:	b3 01                	mov    $0x1,%bl
5597e4:	ff 74 24 04          	push   0x4(%esp)
5597e8:	ff 74 24 04          	push   0x4(%esp)
5597ec:	8b c6                	mov    %esi,%eax
5597ee:	e8 e5 4e ec ff       	call   0x41e6d8
5597f3:	8b c3                	mov    %ebx,%eax
5597f5:	83 c4 14             	add    $0x14,%esp
5597f8:	5f                   	pop    %edi
5597f9:	5e                   	pop    %esi
5597fa:	5b                   	pop    %ebx
5597fb:	c3                   	ret
5597fc:	53                   	push   %ebx
5597fd:	56                   	push   %esi
5597fe:	57                   	push   %edi
5597ff:	83 c4 f4             	add    $0xfffffff4,%esp
559802:	8b f0                	mov    %eax,%esi
559804:	8b c6                	mov    %esi,%eax
559806:	e8 ad 4e ec ff       	call   0x41e6b8
55980b:	89 04 24             	mov    %eax,(%esp)
55980e:	89 54 24 04          	mov    %edx,0x4(%esp)
559812:	33 db                	xor    %ebx,%ebx
559814:	8d 54 24 08          	lea    0x8(%esp),%edx
559818:	b9 02 00 00 00       	mov    $0x2,%ecx
55981d:	8b c6                	mov    %esi,%eax
55981f:	8b 38                	mov    (%eax),%edi
559821:	ff 57 08             	call   *0x8(%edi)
559824:	8d 54 24 0a          	lea    0xa(%esp),%edx
559828:	b9 02 00 00 00       	mov    $0x2,%ecx
55982d:	8b c6                	mov    %esi,%eax
55982f:	8b 38                	mov    (%eax),%edi
559831:	ff 57 08             	call   *0x8(%edi)
559834:	8d 44 24 08          	lea    0x8(%esp),%eax
559838:	e8 0f ff ff ff       	call   0x55974c
55983d:	8d 44 24 0a          	lea    0xa(%esp),%eax
559841:	e8 06 ff ff ff       	call   0x55974c
559846:	66 81 7c 24 08 4f ff 	cmpw   $0xff4f,0x8(%esp)
55984d:	75 0b                	jne    0x55985a
55984f:	66 81 7c 24 0a 51 ff 	cmpw   $0xff51,0xa(%esp)
559856:	75 02                	jne    0x55985a
559858:	b3 01                	mov    $0x1,%bl
55985a:	ff 74 24 04          	push   0x4(%esp)
55985e:	ff 74 24 04          	push   0x4(%esp)
559862:	8b c6                	mov    %esi,%eax
559864:	e8 6f 4e ec ff       	call   0x41e6d8
559869:	8b c3                	mov    %ebx,%eax
55986b:	83 c4 0c             	add    $0xc,%esp
55986e:	5f                   	pop    %edi
55986f:	5e                   	pop    %esi
559870:	5b                   	pop    %ebx
559871:	c3                   	ret
559872:	8b c0                	mov    %eax,%eax
559874:	53                   	push   %ebx
559875:	56                   	push   %esi
559876:	57                   	push   %edi
559877:	55                   	push   %ebp
559878:	83 c4 d8             	add    $0xffffffd8,%esp
55987b:	b8 80 24 6b 00       	mov    $0x6b2480,%eax
559880:	c7 00 87 16 99 3e    	movl   $0x3e991687,(%eax)
559886:	c7 40 04 a2 45 16 3f 	movl   $0x3f1645a2,0x4(%eax)
55988d:	c7 40 08 d5 78 e9 3d 	movl   $0x3de978d5,0x8(%eax)
559894:	8b 10                	mov    (%eax),%edx
559896:	89 54 24 10          	mov    %edx,0x10(%esp)
55989a:	8b 50 04             	mov    0x4(%eax),%edx
55989d:	89 54 24 14          	mov    %edx,0x14(%esp)
5598a1:	8b 40 08             	mov    0x8(%eax),%eax
5598a4:	89 44 24 18          	mov    %eax,0x18(%esp)
5598a8:	d9 05 88 99 55 00    	flds   0x559988
5598ae:	d8 4c 24 10          	fmuls  0x10(%esp)
5598b2:	d8 2d 88 99 55 00    	fsubrs 0x559988
5598b8:	d9 1c 24             	fstps  (%esp)
5598bb:	9b d9 44 24 10       	flds   0x10(%esp)
5598c0:	d8 0c 24             	fmuls  (%esp)
5598c3:	d8 74 24 14          	fdivs  0x14(%esp)
5598c7:	d9 5c 24 04          	fstps  0x4(%esp)
5598cb:	9b d9 05 88 99 55 00 	flds   0x559988
5598d2:	d8 4c 24 18          	fmuls  0x18(%esp)
5598d6:	d8 2d 88 99 55 00    	fsubrs 0x559988
5598dc:	d9 5c 24 08          	fstps  0x8(%esp)
5598e0:	9b d9 44 24 18       	flds   0x18(%esp)
5598e5:	d8 4c 24 08          	fmuls  0x8(%esp)
5598e9:	d8 74 24 14          	fdivs  0x14(%esp)
5598ed:	d9 5c 24 0c          	fstps  0xc(%esp)
5598f1:	9b                   	fwait
5598f2:	bb 80 ff ff ff       	mov    $0xffffff80,%ebx
5598f7:	c7 44 24 1c 00 01 00 	movl   $0x100,0x1c(%esp)
5598fe:	00
5598ff:	be 80 14 6b 00       	mov    $0x6b1480,%esi
559904:	bf 80 18 6b 00       	mov    $0x6b1880,%edi
559909:	bd 80 1c 6b 00       	mov    $0x6b1c80,%ebp
55990e:	c7 44 24 20 80 20 6b 	movl   $0x6b2080,0x20(%esp)
559915:	00
559916:	89 5c 24 24          	mov    %ebx,0x24(%esp)
55991a:	db 44 24 24          	fildl  0x24(%esp)
55991e:	d8 0c 24             	fmuls  (%esp)
559921:	e8 9a 93 ea ff       	call   0x402cc0
559926:	89 06                	mov    %eax,(%esi)
559928:	89 5c 24 24          	mov    %ebx,0x24(%esp)
55992c:	db 44 24 24          	fildl  0x24(%esp)
559930:	d8 4c 24 08          	fmuls  0x8(%esp)
559934:	e8 87 93 ea ff       	call   0x402cc0
559939:	89 07                	mov    %eax,(%edi)
55993b:	89 5c 24 24          	mov    %ebx,0x24(%esp)
55993f:	db 44 24 24          	fildl  0x24(%esp)
559943:	d8 4c 24 04          	fmuls  0x4(%esp)
559947:	e8 74 93 ea ff       	call   0x402cc0
55994c:	f7 d8                	neg    %eax
55994e:	89 45 00             	mov    %eax,0x0(%ebp)
559951:	89 5c 24 24          	mov    %ebx,0x24(%esp)
559955:	db 44 24 24          	fildl  0x24(%esp)
559959:	d8 4c 24 0c          	fmuls  0xc(%esp)
55995d:	e8 5e 93 ea ff       	call   0x402cc0
559962:	f7 d8                	neg    %eax
559964:	8b 54 24 20          	mov    0x20(%esp),%edx
559968:	89 02                	mov    %eax,(%edx)
55996a:	43                   	inc    %ebx
55996b:	83 44 24 20 04       	addl   $0x4,0x20(%esp)
559970:	83 c5 04             	add    $0x4,%ebp
559973:	83 c7 04             	add    $0x4,%edi
559976:	83 c6 04             	add    $0x4,%esi
559979:	ff 4c 24 1c          	decl   0x1c(%esp)
55997d:	75 97                	jne    0x559916
55997f:	83 c4 28             	add    $0x28,%esp
559982:	5d                   	pop    %ebp
559983:	5f                   	pop    %edi
559984:	5e                   	pop    %esi
559985:	5b                   	pop    %ebx
559986:	c3                   	ret
559987:	00 00                	add    %al,(%eax)
559989:	00 00                	add    %al,(%eax)
55998b:	40                   	inc    %eax
55998c:	55                   	push   %ebp
55998d:	8b ec                	mov    %esp,%ebp
55998f:	81 c4 14 ff ff ff    	add    $0xffffff14,%esp
559995:	53                   	push   %ebx
559996:	56                   	push   %esi
559997:	57                   	push   %edi
559998:	89 4d f4             	mov    %ecx,-0xc(%ebp)
55999b:	89 55 f8             	mov    %edx,-0x8(%ebp)
55999e:	89 45 fc             	mov    %eax,-0x4(%ebp)
5599a1:	8b 45 fc             	mov    -0x4(%ebp),%eax
5599a4:	e8 bb fd ff ff       	call   0x559764
5599a9:	84 c0                	test   %al,%al
5599ab:	75 1a                	jne    0x5599c7
5599ad:	8b 45 fc             	mov    -0x4(%ebp),%eax
5599b0:	e8 47 fe ff ff       	call   0x5597fc
5599b5:	84 c0                	test   %al,%al
5599b7:	75 0e                	jne    0x5599c7
5599b9:	8b 45 0c             	mov    0xc(%ebp),%eax
5599bc:	8b 40 28             	mov    0x28(%eax),%eax
5599bf:	c6 00 01             	movb   $0x1,(%eax)
5599c2:	e9 2f 0b 00 00       	jmp    0x55a4f6
5599c7:	ba 00 a5 55 00       	mov    $0x55a500,%edx
5599cc:	8b 45 fc             	mov    -0x4(%ebp),%eax
5599cf:	e8 0c eb 01 00       	call   0x5784e0
5599d4:	89 45 f0             	mov    %eax,-0x10(%ebp)
5599d7:	33 c9                	xor    %ecx,%ecx
5599d9:	83 ca ff             	or     $0xffffffff,%edx
5599dc:	8b 45 f0             	mov    -0x10(%ebp),%eax
5599df:	e8 5c b5 01 00       	call   0x574f40
5599e4:	8b f0                	mov    %eax,%esi
5599e6:	8b 45 f0             	mov    -0x10(%ebp),%eax
5599e9:	e8 4e ed 01 00       	call   0x57873c
5599ee:	85 f6                	test   %esi,%esi
5599f0:	75 0e                	jne    0x559a00
5599f2:	8b 45 0c             	mov    0xc(%ebp),%eax
5599f5:	8b 40 28             	mov    0x28(%eax),%eax
5599f8:	c6 00 01             	movb   $0x1,(%eax)
5599fb:	e9 f6 0a 00 00       	jmp    0x55a4f6
559a00:	8b c6                	mov    %esi,%eax
559a02:	e8 61 06 02 00       	call   0x57a068
559a07:	89 45 c4             	mov    %eax,-0x3c(%ebp)
559a0a:	8b c6                	mov    %esi,%eax
559a0c:	e8 63 06 02 00       	call   0x57a074
559a11:	89 45 c0             	mov    %eax,-0x40(%ebp)
559a14:	c6 45 e7 01          	movb   $0x1,-0x19(%ebp)
559a18:	c7 45 e8 03 00 00 00 	movl   $0x3,-0x18(%ebp)
559a1f:	8b c6                	mov    %esi,%eax
559a21:	e8 5a 06 02 00       	call   0x57a080
559a26:	48                   	dec    %eax
559a27:	0f 84 52 01 00 00    	je     0x559b7f
559a2d:	48                   	dec    %eax
559a2e:	74 0c                	je     0x559a3c
559a30:	48                   	dec    %eax
559a31:	0f 84 aa 00 00 00    	je     0x559ae1
559a37:	e9 9b 01 00 00       	jmp    0x559bd7
559a3c:	33 c0                	xor    %eax,%eax
559a3e:	e8 d1 fc ff ff       	call   0x559714
559a43:	8b d0                	mov    %eax,%edx
559a45:	8b c6                	mov    %esi,%eax
559a47:	e8 9c c2 01 00       	call   0x575ce8
559a4c:	89 85 78 ff ff ff    	mov    %eax,-0x88(%ebp)
559a52:	81 bd 78 ff ff ff ff 	cmpl   $0xff,-0x88(%ebp)
559a59:	00 00 00
559a5c:	7e 08                	jle    0x559a66
559a5e:	33 c0                	xor    %eax,%eax
559a60:	89 85 78 ff ff ff    	mov    %eax,-0x88(%ebp)
559a66:	b8 01 00 00 00       	mov    $0x1,%eax
559a6b:	e8 a4 fc ff ff       	call   0x559714
559a70:	8b d0                	mov    %eax,%edx
559a72:	8b c6                	mov    %esi,%eax
559a74:	e8 6f c2 01 00       	call   0x575ce8
559a79:	89 85 7c ff ff ff    	mov    %eax,-0x84(%ebp)
559a7f:	81 bd 7c ff ff ff ff 	cmpl   $0xff,-0x84(%ebp)
559a86:	00 00 00
559a89:	7e 0a                	jle    0x559a95
559a8b:	c7 85 7c ff ff ff 01 	movl   $0x1,-0x84(%ebp)
559a92:	00 00 00
559a95:	b8 02 00 00 00       	mov    $0x2,%eax
559a9a:	e8 75 fc ff ff       	call   0x559714
559a9f:	8b d0                	mov    %eax,%edx
559aa1:	8b c6                	mov    %esi,%eax
559aa3:	e8 40 c2 01 00       	call   0x575ce8
559aa8:	89 45 80             	mov    %eax,-0x80(%ebp)
559aab:	81 7d 80 ff 00 00 00 	cmpl   $0xff,-0x80(%ebp)
559ab2:	7e 07                	jle    0x559abb
559ab4:	c7 45 80 02 00 00 00 	movl   $0x2,-0x80(%ebp)
559abb:	8b 95 78 ff ff ff    	mov    -0x88(%ebp),%edx
559ac1:	8b c6                	mov    %esi,%eax
559ac3:	e8 90 05 02 00       	call   0x57a058
559ac8:	8b 55 f4             	mov    -0xc(%ebp),%edx
559acb:	8b 12                	mov    (%edx),%edx
559acd:	89 42 08             	mov    %eax,0x8(%edx)
559ad0:	8b 45 f4             	mov    -0xc(%ebp),%eax
559ad3:	8b 00                	mov    (%eax),%eax
559ad5:	c7 40 10 03 00 00 00 	movl   $0x3,0x10(%eax)
559adc:	e9 0b 01 00 00       	jmp    0x559bec
559ae1:	33 c0                	xor    %eax,%eax
559ae3:	e8 2c fc ff ff       	call   0x559714
559ae8:	8b d0                	mov    %eax,%edx
559aea:	8b c6                	mov    %esi,%eax
559aec:	e8 f7 c1 01 00       	call   0x575ce8
559af1:	89 85 78 ff ff ff    	mov    %eax,-0x88(%ebp)
559af7:	81 bd 78 ff ff ff ff 	cmpl   $0xff,-0x88(%ebp)
559afe:	00 00 00
559b01:	7e 08                	jle    0x559b0b
559b03:	33 c0                	xor    %eax,%eax