594738:	0f b6 7c 3d 00       	movzbl 0x0(%ebp,%edi,1),%edi
59473d:	03 cf                	add    %edi,%ecx
59473f:	0f b7 f8             	movzwl %ax,%edi
594742:	8b 6c 24 24          	mov    0x24(%esp),%ebp
594746:	0f b6 7c 3d 00       	movzbl 0x0(%ebp,%edi,1),%edi
59474b:	03 cf                	add    %edi,%ecx
59474d:	c1 e9 02             	shr    $0x2,%ecx
594750:	0f b7 fa             	movzwl %dx,%edi
594753:	8d 3c 7f             	lea    (%edi,%edi,2),%edi
594756:	8b 6c 24 14          	mov    0x14(%esp),%ebp
59475a:	8d 7c 3d 00          	lea    0x0(%ebp,%edi,1),%edi
59475e:	57                   	push   %edi
59475f:	0f b7 f8             	movzwl %ax,%edi
594762:	5d                   	pop    %ebp
594763:	88 4c 3d 00          	mov    %cl,0x0(%ebp,%edi,1)
594767:	40                   	inc    %eax
594768:	66 83 f8 03          	cmp    $0x3,%ax
59476c:	0f 85 54 ff ff ff    	jne    0x5946c6
594772:	eb 1c                	jmp    0x594790
594774:	0f b7 c2             	movzwl %dx,%eax
594777:	8d 04 40             	lea    (%eax,%eax,2),%eax
59477a:	8b 4c 24 14          	mov    0x14(%esp),%ecx
59477e:	8b 7c 24 10          	mov    0x10(%esp),%edi
594782:	03 c8                	add    %eax,%ecx
594784:	66 8b 07             	mov    (%edi),%ax
594787:	66 89 01             	mov    %ax,(%ecx)
59478a:	8a 47 02             	mov    0x2(%edi),%al
59478d:	88 41 02             	mov    %al,0x2(%ecx)
594790:	42                   	inc    %edx
594791:	66 ff 4c 24 3e       	decw   0x3e(%esp)
594796:	0f 85 da fe ff ff    	jne    0x594676
59479c:	8b 54 24 38          	mov    0x38(%esp),%edx
5947a0:	8b 44 24 04          	mov    0x4(%esp),%eax
5947a4:	8b 08                	mov    (%eax),%ecx
5947a6:	ff 11                	call   *(%ecx)
5947a8:	8b d3                	mov    %ebx,%edx
5947aa:	03 d2                	add    %edx,%edx
5947ac:	8d 14 52             	lea    (%edx,%edx,2),%edx
5947af:	8b ca                	mov    %edx,%ecx
5947b1:	8b 54 24 14          	mov    0x14(%esp),%edx
5947b5:	e8 06 37 e7 ff       	call   0x407ec0
5947ba:	ff 44 24 38          	incl   0x38(%esp)
5947be:	46                   	inc    %esi
5947bf:	66 ff 4c 24 3c       	decw   0x3c(%esp)
5947c4:	0f 85 95 fe ff ff    	jne    0x59465f
5947ca:	8b 44 24 0c          	mov    0xc(%esp),%eax
5947ce:	e8 f9 df e6 ff       	call   0x4027cc
5947d3:	8b 44 24 14          	mov    0x14(%esp),%eax
5947d7:	e8 f0 df e6 ff       	call   0x4027cc
5947dc:	8b 54 24 04          	mov    0x4(%esp),%edx
5947e0:	8b 04 24             	mov    (%esp),%eax
5947e3:	8b 08                	mov    (%eax),%ecx
5947e5:	ff 51 28             	call   *0x28(%ecx)
5947e8:	8b 44 24 04          	mov    0x4(%esp),%eax
5947ec:	e8 87 f2 e6 ff       	call   0x403a78
5947f1:	83 c4 40             	add    $0x40,%esp
5947f4:	5d                   	pop    %ebp
5947f5:	5f                   	pop    %edi
5947f6:	5e                   	pop    %esi
5947f7:	5b                   	pop    %ebx
5947f8:	c3                   	ret
5947f9:	8d 40 00             	lea    0x0(%eax),%eax
5947fc:	55                   	push   %ebp
5947fd:	8b ec                	mov    %esp,%ebp
5947ff:	50                   	push   %eax
594800:	b8 0f 00 00 00       	mov    $0xf,%eax
594805:	81 c4 04 f0 ff ff    	add    $0xfffff004,%esp
59480b:	50                   	push   %eax
59480c:	48                   	dec    %eax
59480d:	75 f6                	jne    0x594805
59480f:	8b 45 fc             	mov    -0x4(%ebp),%eax
594812:	81 c4 d4 fa ff ff    	add    $0xfffffad4,%esp
594818:	53                   	push   %ebx
594819:	56                   	push   %esi
59481a:	57                   	push   %edi
59481b:	33 db                	xor    %ebx,%ebx
59481d:	89 9d dc 0a ff ff    	mov    %ebx,-0xf524(%ebp)
594823:	89 9d d8 0a ff ff    	mov    %ebx,-0xf528(%ebp)
594829:	89 9d d4 0a ff ff    	mov    %ebx,-0xf52c(%ebp)
59482f:	89 4d f8             	mov    %ecx,-0x8(%ebp)
594832:	89 55 fc             	mov    %edx,-0x4(%ebp)
594835:	8b d8                	mov    %eax,%ebx
594837:	8b 75 0c             	mov    0xc(%ebp),%esi
59483a:	33 c0                	xor    %eax,%eax
59483c:	55                   	push   %ebp
59483d:	68 6e 53 59 00       	push   $0x59536e
594842:	64 ff 30             	push   %fs:(%eax)
594845:	64 89 20             	mov    %esp,%fs:(%eax)
594848:	8b 45 f8             	mov    -0x8(%ebp),%eax
59484b:	8b 00                	mov    (%eax),%eax
59484d:	80 b8 98 03 00 00 00 	cmpb   $0x0,0x398(%eax)
594854:	0f 84 88 00 00 00    	je     0x5948e2
59485a:	8b 45 f8             	mov    -0x8(%ebp),%eax
59485d:	8b 00                	mov    (%eax),%eax
59485f:	83 b8 74 01 00 00 00 	cmpl   $0x0,0x174(%eax)
594866:	74 12                	je     0x59487a
594868:	8b 45 f8             	mov    -0x8(%ebp),%eax
59486b:	8b 00                	mov    (%eax),%eax
59486d:	8b 80 74 01 00 00    	mov    0x174(%eax),%eax
594873:	b2 01                	mov    $0x1,%dl
594875:	e8 96 39 06 00       	call   0x5f8210
59487a:	8b 45 f8             	mov    -0x8(%ebp),%eax
59487d:	8b 00                	mov    (%eax),%eax
59487f:	33 d2                	xor    %edx,%edx
594881:	e8 d2 8e 03 00       	call   0x5cd758
594886:	56                   	push   %esi
594887:	6a 01                	push   $0x1
594889:	8b 4d f8             	mov    -0x8(%ebp),%ecx
59488c:	8b 55 fc             	mov    -0x4(%ebp),%edx
59488f:	8b c3                	mov    %ebx,%eax
594891:	e8 66 ff ff ff       	call   0x5947fc
594896:	8b 45 f8             	mov    -0x8(%ebp),%eax
594899:	8b 00                	mov    (%eax),%eax
59489b:	b2 01                	mov    $0x1,%dl
59489d:	e8 b6 8e 03 00       	call   0x5cd758
5948a2:	8b 45 f8             	mov    -0x8(%ebp),%eax
5948a5:	8b 00                	mov    (%eax),%eax
5948a7:	8b b8 74 01 00 00    	mov    0x174(%eax),%edi
5948ad:	85 ff                	test   %edi,%edi
5948af:	74 26                	je     0x5948d7
5948b1:	8b 45 f8             	mov    -0x8(%ebp),%eax
5948b4:	8b c7                	mov    %edi,%eax
5948b6:	e8 f9 39 06 00       	call   0x5f82b4
5948bb:	84 c0                	test   %al,%al
5948bd:	75 18                	jne    0x5948d7
5948bf:	8b 45 f8             	mov    -0x8(%ebp),%eax
5948c2:	8b 00                	mov    (%eax),%eax
5948c4:	8b 90 74 01 00 00    	mov    0x174(%eax),%edx
5948ca:	8b 45 fc             	mov    -0x4(%ebp),%eax
5948cd:	8b 08                	mov    (%eax),%ecx
5948cf:	ff 51 28             	call   *0x28(%ecx)
5948d2:	e9 79 0a 00 00       	jmp    0x595350
5948d7:	6a 00                	push   $0x0
5948d9:	6a 00                	push   $0x0
5948db:	8b c3                	mov    %ebx,%eax
5948dd:	e8 f6 9d e8 ff       	call   0x41e6d8
5948e2:	68 00 20 00 00       	push   $0x2000
5948e7:	8b cb                	mov    %ebx,%ecx
5948e9:	b2 01                	mov    $0x1,%dl
5948eb:	a1 84 02 5f 00       	mov    0x5f0284,%eax
5948f0:	e8 b7 02 07 00       	call   0x604bac
5948f5:	89 45 c4             	mov    %eax,-0x3c(%ebp)
5948f8:	33 c9                	xor    %ecx,%ecx
5948fa:	55                   	push   %ebp
5948fb:	68 49 53 59 00       	push   $0x595349
594900:	64 ff 31             	push   %fs:(%ecx)
594903:	64 89 21             	mov    %esp,%fs:(%ecx)
594906:	6a 00                	push   $0x0
594908:	6a 00                	push   $0x0
59490a:	8b 45 c4             	mov    -0x3c(%ebp),%eax
59490d:	e8 c6 9d e8 ff       	call   0x41e6d8
594912:	8b 45 c4             	mov    -0x3c(%ebp),%eax
594915:	e8 8e 20 06 00       	call   0x5f69a8
59491a:	89 45 c8             	mov    %eax,-0x38(%ebp)
59491d:	83 7d c8 00          	cmpl   $0x0,-0x38(%ebp)
594921:	0f 8c 8d 00 00 00    	jl     0x5949b4
594927:	8b 45 c8             	mov    -0x38(%ebp),%eax
59492a:	99                   	cltd
59492b:	52                   	push   %edx
59492c:	50                   	push   %eax
59492d:	8b 45 c4             	mov    -0x3c(%ebp),%eax
594930:	e8 a3 9d e8 ff       	call   0x41e6d8
594935:	8b 55 f8             	mov    -0x8(%ebp),%edx
594938:	8b 12                	mov    (%edx),%edx
59493a:	8b 45 c4             	mov    -0x3c(%ebp),%eax
59493d:	e8 72 21 06 00       	call   0x5f6ab4
594942:	84 c0                	test   %al,%al
594944:	0f 84 81 00 00 00    	je     0x5949cb
59494a:	8b 45 f8             	mov    -0x8(%ebp),%eax
59494d:	8b 00                	mov    (%eax),%eax
59494f:	83 b8 98 01 00 00 03 	cmpl   $0x3,0x198(%eax)
594956:	75 10                	jne    0x594968
594958:	c7 45 d8 52 b8 1e 85 	movl   $0x851eb852,-0x28(%ebp)
59495f:	c7 45 dc eb 51 04 40 	movl   $0x400451eb,-0x24(%ebp)
594966:	eb 0c                	jmp    0x594974
594968:	33 c0                	xor    %eax,%eax
59496a:	89 45 d8             	mov    %eax,-0x28(%ebp)
59496d:	c7 45 dc 00 00 f0 3f 	movl   $0x3ff00000,-0x24(%ebp)
594974:	8b 45 f8             	mov    -0x8(%ebp),%eax
594977:	8b 00                	mov    (%eax),%eax
594979:	dd 80 88 01 00 00    	fldl   0x188(%eax)
59497f:	dc 4d d8             	fmull  -0x28(%ebp)
594982:	e8 45 e3 e6 ff       	call   0x402ccc
594987:	8b d0                	mov    %eax,%edx
594989:	8b 45 f8             	mov    -0x8(%ebp),%eax
59498c:	8b 00                	mov    (%eax),%eax
59498e:	e8 29 8d 03 00       	call   0x5cd6bc
594993:	8b 45 f8             	mov    -0x8(%ebp),%eax
594996:	8b 00                	mov    (%eax),%eax
594998:	dd 80 90 01 00 00    	fldl   0x190(%eax)
59499e:	dc 4d d8             	fmull  -0x28(%ebp)
5949a1:	e8 26 e3 e6 ff       	call   0x402ccc
5949a6:	8b d0                	mov    %eax,%edx
5949a8:	8b 45 f8             	mov    -0x8(%ebp),%eax
5949ab:	8b 00                	mov    (%eax),%eax
5949ad:	e8 3a 8d 03 00       	call   0x5cd6ec
5949b2:	eb 17                	jmp    0x5949cb
5949b4:	6a 00                	push   $0x0
5949b6:	6a 00                	push   $0x0
5949b8:	8b 45 c4             	mov    -0x3c(%ebp),%eax
5949bb:	e8 18 9d e8 ff       	call   0x41e6d8
5949c0:	8b 55 f8             	mov    -0x8(%ebp),%edx
5949c3:	8b 45 c4             	mov    -0x3c(%ebp),%eax
5949c6:	e8 41 14 00 00       	call   0x595e0c
5949cb:	6a 00                	push   $0x0
5949cd:	6a 00                	push   $0x0
5949cf:	8b 45 c4             	mov    -0x3c(%ebp),%eax
5949d2:	e8 01 9d e8 ff       	call   0x41e6d8
5949d7:	8d 85 e0 0a ff ff    	lea    -0xf520(%ebp),%eax
5949dd:	e8 7a 3f ff ff       	call   0x58895c
5949e2:	8b 45 f8             	mov    -0x8(%ebp),%eax
5949e5:	8b 00                	mov    (%eax),%eax
5949e7:	dd 80 70 03 00 00    	fldl   0x370(%eax)
5949ed:	d9 9d a4 0c ff ff    	fstps  -0xf35c(%ebp)
5949f3:	9b                   	fwait
5949f4:	8b 45 f8             	mov    -0x8(%ebp),%eax
5949f7:	8b 00                	mov    (%eax),%eax
5949f9:	dd 80 78 03 00 00    	fldl   0x378(%eax)
5949ff:	d9 9d a8 0c ff ff    	fstps  -0xf358(%ebp)
594a05:	9b                   	fwait
594a06:	8b 45 f8             	mov    -0x8(%ebp),%eax
594a09:	8b 00                	mov    (%eax),%eax
594a0b:	dd 80 80 03 00 00    	fldl   0x380(%eax)
594a11:	d9 9d ac 0c ff ff    	fstps  -0xf354(%ebp)
594a17:	9b                   	fwait
594a18:	8b 45 f8             	mov    -0x8(%ebp),%eax
594a1b:	8b 00                	mov    (%eax),%eax
594a1d:	dd 80 88 03 00 00    	fldl   0x388(%eax)
594a23:	d9 9d b0 0c ff ff    	fstps  -0xf350(%ebp)
594a29:	9b                   	fwait
594a2a:	8b 45 f8             	mov    -0x8(%ebp),%eax
594a2d:	8b 00                	mov    (%eax),%eax
594a2f:	0f b6 80 93 03 00 00 	movzbl 0x393(%eax),%eax
594a36:	89 85 b4 0c ff ff    	mov    %eax,-0xf34c(%ebp)
594a3c:	33 c0                	xor    %eax,%eax
594a3e:	89 85 b8 0c ff ff    	mov    %eax,-0xf348(%ebp)
594a44:	8b 45 f8             	mov    -0x8(%ebp),%eax
594a47:	8b 00                	mov    (%eax),%eax
594a49:	0f b6 80 90 03 00 00 	movzbl 0x390(%eax),%eax
594a50:	89 85 bc 0c ff ff    	mov    %eax,-0xf344(%ebp)
594a56:	8b 45 f8             	mov    -0x8(%ebp),%eax
594a59:	8b 00                	mov    (%eax),%eax
594a5b:	0f b6 80 91 03 00 00 	movzbl 0x391(%eax),%eax
594a62:	89 85 c0 0c ff ff    	mov    %eax,-0xf340(%ebp)
594a68:	8b 45 f8             	mov    -0x8(%ebp),%eax
594a6b:	8b 00                	mov    (%eax),%eax
594a6d:	0f b6 80 92 03 00 00 	movzbl 0x392(%eax),%eax
594a74:	89 85 c4 0c ff ff    	mov    %eax,-0xf33c(%ebp)
594a7a:	33 c0                	xor    %eax,%eax
594a7c:	89 85 c8 0c ff ff    	mov    %eax,-0xf338(%ebp)
594a82:	8b 45 f8             	mov    -0x8(%ebp),%eax
594a85:	8b 00                	mov    (%eax),%eax
594a87:	80 b8 99 03 00 00 00 	cmpb   $0x0,0x399(%eax)
594a8e:	74 2c                	je     0x594abc
594a90:	8b 45 f8             	mov    -0x8(%ebp),%eax
594a93:	8b 00                	mov    (%eax),%eax
594a95:	83 b8 74 01 00 00 00 	cmpl   $0x0,0x174(%eax)
594a9c:	74 1e                	je     0x594abc
594a9e:	8b 45 f8             	mov    -0x8(%ebp),%eax
594aa1:	8b 00                	mov    (%eax),%eax
594aa3:	8b 80 74 01 00 00    	mov    0x174(%eax),%eax
594aa9:	e8 06 38 06 00       	call   0x5f82b4
594aae:	84 c0                	test   %al,%al
594ab0:	75 0a                	jne    0x594abc
594ab2:	c7 85 a8 0c ff ff 00 	movl   $0x3f000000,-0xf358(%ebp)
594ab9:	00 00 3f
594abc:	c6 45 80 00          	movb   $0x0,-0x80(%ebp)
594ac0:	56                   	push   %esi
594ac1:	8d 7d 88             	lea    -0x78(%ebp),%edi
594ac4:	b9 0c 00 00 00       	mov    $0xc,%ecx
594ac9:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
594acb:	5e                   	pop    %esi
594acc:	6a 00                	push   $0x0
594ace:	6a 00                	push   $0x0
594ad0:	8b 45 c4             	mov    -0x3c(%ebp),%eax
594ad3:	e8 00 9c e8 ff       	call   0x41e6d8
594ad8:	8b 45 c4             	mov    -0x3c(%ebp),%eax
594adb:	89 85 e4 0a ff ff    	mov    %eax,-0xf51c(%ebp)
594ae1:	8d 85 e0 0a ff ff    	lea    -0xf520(%ebp),%eax
594ae7:	e8 80 c2 ff ff       	call   0x590d6c
594aec:	85 c0                	test   %eax,%eax
594aee:	74 10                	je     0x594b00
594af0:	8b 46 28             	mov    0x28(%esi),%eax
594af3:	c6 00 01             	movb   $0x1,(%eax)
594af6:	e8 f5 f7 e6 ff       	call   0x4042f0
594afb:	e9 50 08 00 00       	jmp    0x595350
594b00:	b8 00 00 08 00       	mov    $0x80000,%eax
594b05:	e8 a2 dc e6 ff       	call   0x4027ac
594b0a:	89 45 d4             	mov    %eax,-0x2c(%ebp)
594b0d:	33 c9                	xor    %ecx,%ecx
594b0f:	55                   	push   %ebp
594b10:	68 26 53 59 00       	push   $0x595326
594b15:	64 ff 31             	push   %fs:(%ecx)
594b18:	64 89 21             	mov    %esp,%fs:(%ecx)
594b1b:	8d 95 dc 0a ff ff    	lea    -0xf524(%ebp),%edx
594b21:	8d 85 ea 0a ff ff    	lea    -0xf516(%ebp),%eax
594b27:	e8 34 55 e7 ff       	call   0x40a060
594b2c:	ff b5 dc 0a ff ff    	push   -0xf524(%ebp)
594b32:	68 88 53 59 00       	push   $0x595388
594b37:	8d 95 d8 0a ff ff    	lea    -0xf528(%ebp),%edx
594b3d:	8d 85 2a 0b ff ff    	lea    -0xf4d6(%ebp),%eax
594b43:	e8 18 55 e7 ff       	call   0x40a060
594b48:	ff b5 d8 0a ff ff    	push   -0xf528(%ebp)
594b4e:	68 88 53 59 00       	push   $0x595388
594b53:	8d 95 d4 0a ff ff    	lea    -0xf52c(%ebp),%edx
594b59:	8d 85 6a 0b ff ff    	lea    -0xf496(%ebp),%eax
594b5f:	e8 fc 54 e7 ff       	call   0x40a060
594b64:	ff b5 d4 0a ff ff    	push   -0xf52c(%ebp)
594b6a:	8b 45 f8             	mov    -0x8(%ebp),%eax
594b6d:	8b 00                	mov    (%eax),%eax
594b6f:	05 94 03 00 00       	add    $0x394,%eax
594b74:	ba 05 00 00 00       	mov    $0x5,%edx
594b79:	e8 62 00 e7 ff       	call   0x404be0
594b7e:	8b 15 9c 71 6a 00    	mov    0x6a719c,%edx
594b84:	8b 12                	mov    (%edx),%edx
594b86:	8b 45 f8             	mov    -0x8(%ebp),%eax
594b89:	8b 00                	mov    (%eax),%eax
594b8b:	e8 2c 8b 03 00       	call   0x5cd6bc
594b90:	8b 15 00 71 6a 00    	mov    0x6a7100,%edx
594b96:	8b 12                	mov    (%edx),%edx
594b98:	8b 45 f8             	mov    -0x8(%ebp),%eax
594b9b:	8b 00                	mov    (%eax),%eax
594b9d:	e8 4a 8b 03 00       	call   0x5cd6ec
594ba2:	8b 45 f8             	mov    -0x8(%ebp),%eax
594ba5:	8b 00                	mov    (%eax),%eax
594ba7:	8b 80 a8 03 00 00    	mov    0x3a8(%eax),%eax
594bad:	85 c0                	test   %eax,%eax
594baf:	74 22                	je     0x594bd3
594bb1:	8b 55 f8             	mov    -0x8(%ebp),%edx
594bb4:	e8 13 dc e6 ff       	call   0x4027cc
594bb9:	8b 45 f8             	mov    -0x8(%ebp),%eax
594bbc:	8b 00                	mov    (%eax),%eax
594bbe:	33 d2                	xor    %edx,%edx
594bc0:	89 90 a8 03 00 00    	mov    %edx,0x3a8(%eax)
594bc6:	8b 45 f8             	mov    -0x8(%ebp),%eax
594bc9:	8b 00                	mov    (%eax),%eax
594bcb:	33 d2                	xor    %edx,%edx
594bcd:	89 90 ac 03 00 00    	mov    %edx,0x3ac(%eax)
594bd3:	8b 85 dc 0b ff ff    	mov    -0xf424(%ebp),%eax
594bd9:	83 e8 02             	sub    $0x2,%eax
594bdc:	8b 55 f8             	mov    -0x8(%ebp),%edx
594bdf:	8b 12                	mov    (%edx),%edx
594be1:	89 42 14             	mov    %eax,0x14(%edx)
594be4:	8b 85 d8 0b ff ff    	mov    -0xf428(%ebp),%eax
594bea:	83 e8 02             	sub    $0x2,%eax
594bed:	8b 55 f8             	mov    -0x8(%ebp),%edx
594bf0:	8b 12                	mov    (%edx),%edx
594bf2:	89 42 18             	mov    %eax,0x18(%edx)
594bf5:	80 7d 08 00          	cmpb   $0x0,0x8(%ebp)
594bf9:	0f 85 b9 06 00 00    	jne    0x5952b8