586616:	8b 44 24 34          	mov    0x34(%esp),%eax
58661a:	89 44 24 2c          	mov    %eax,0x2c(%esp)
58661e:	8b c5                	mov    %ebp,%eax
586620:	e8 93 8d ff ff       	call   0x57f3b8
586625:	8b 44 24 04          	mov    0x4(%esp),%eax
586629:	e8 8a 8d ff ff       	call   0x57f3b8
58662e:	8b c3                	mov    %ebx,%eax
586630:	e8 5b d8 ff ff       	call   0x583e90
586635:	8d 4c 24 20          	lea    0x20(%esp),%ecx
586639:	8d 54 24 58          	lea    0x58(%esp),%edx
58663d:	33 c0                	xor    %eax,%eax
58663f:	e8 8c fd ff ff       	call   0x5863d0
586644:	f6 04 24 01          	testb  $0x1,(%esp)
586648:	75 24                	jne    0x58666e
58664a:	8d 44 24 70          	lea    0x70(%esp),%eax
58664e:	8b d7                	mov    %edi,%edx
586650:	e8 43 f8 ff ff       	call   0x585e98
586655:	8d 44 24 58          	lea    0x58(%esp),%eax
586659:	50                   	push   %eax
58665a:	e8 0d 55 ff ff       	call   0x57bb6c
58665f:	8b d0                	mov    %eax,%edx
586661:	8d 4c 24 74          	lea    0x74(%esp),%ecx
586665:	8b c6                	mov    %esi,%eax
586667:	e8 b4 f8 ff ff       	call   0x585f20
58666c:	eb 0d                	jmp    0x58667b
58666e:	8b fe                	mov    %esi,%edi
586670:	8d 74 24 58          	lea    0x58(%esp),%esi
586674:	b9 06 00 00 00       	mov    $0x6,%ecx
586679:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
58667b:	b8 01 00 00 00       	mov    $0x1,%eax
586680:	81 c4 88 00 00 00    	add    $0x88,%esp
586686:	5d                   	pop    %ebp
586687:	5f                   	pop    %edi
586688:	5e                   	pop    %esi
586689:	5b                   	pop    %ebx
58668a:	c3                   	ret
58668b:	00 00                	add    %al,(%eax)
58668d:	00 48 42             	add    %cl,0x42(%eax)
586690:	55                   	push   %ebp
586691:	8b ec                	mov    %esp,%ebp
586693:	83 c4 9c             	add    $0xffffff9c,%esp
586696:	53                   	push   %ebx
586697:	56                   	push   %esi
586698:	57                   	push   %edi
586699:	8b d9                	mov    %ecx,%ebx
58669b:	8b fa                	mov    %edx,%edi
58669d:	8b f0                	mov    %eax,%esi
58669f:	33 c9                	xor    %ecx,%ecx
5866a1:	8b d7                	mov    %edi,%edx
5866a3:	8b c6                	mov    %esi,%eax
5866a5:	e8 02 fe ff ff       	call   0x5864ac
5866aa:	85 c0                	test   %eax,%eax
5866ac:	75 26                	jne    0x5866d4
5866ae:	33 c0                	xor    %eax,%eax
5866b0:	89 43 10             	mov    %eax,0x10(%ebx)
5866b3:	89 43 14             	mov    %eax,0x14(%ebx)
5866b6:	8b 43 10             	mov    0x10(%ebx),%eax
5866b9:	89 43 08             	mov    %eax,0x8(%ebx)
5866bc:	8b 43 14             	mov    0x14(%ebx),%eax
5866bf:	89 43 0c             	mov    %eax,0xc(%ebx)
5866c2:	8b 43 08             	mov    0x8(%ebx),%eax
5866c5:	89 03                	mov    %eax,(%ebx)
5866c7:	8b 43 0c             	mov    0xc(%ebx),%eax
5866ca:	89 43 04             	mov    %eax,0x4(%ebx)
5866cd:	33 c0                	xor    %eax,%eax
5866cf:	e9 1d 01 00 00       	jmp    0x5867f1
5866d4:	8b c6                	mov    %esi,%eax
5866d6:	e8 e9 5f ff ff       	call   0x57c6c4
5866db:	89 45 f0             	mov    %eax,-0x10(%ebp)
5866de:	8d 45 ec             	lea    -0x14(%ebp),%eax
5866e1:	50                   	push   %eax
5866e2:	8d 4d f8             	lea    -0x8(%ebp),%ecx
5866e5:	8d 55 fc             	lea    -0x4(%ebp),%edx
5866e8:	8b 45 f0             	mov    -0x10(%ebp),%eax
5866eb:	e8 08 5f ff ff       	call   0x57c5f8
5866f0:	85 c0                	test   %eax,%eax
5866f2:	75 26                	jne    0x58671a
5866f4:	33 c0                	xor    %eax,%eax
5866f6:	89 43 10             	mov    %eax,0x10(%ebx)
5866f9:	89 43 14             	mov    %eax,0x14(%ebx)
5866fc:	8b 43 10             	mov    0x10(%ebx),%eax
5866ff:	89 43 08             	mov    %eax,0x8(%ebx)
586702:	8b 43 14             	mov    0x14(%ebx),%eax
586705:	89 43 0c             	mov    %eax,0xc(%ebx)
586708:	8b 43 08             	mov    0x8(%ebx),%eax
58670b:	89 03                	mov    %eax,(%ebx)
58670d:	8b 43 0c             	mov    0xc(%ebx),%eax
586710:	89 43 04             	mov    %eax,0x4(%ebx)
586713:	33 c0                	xor    %eax,%eax
586715:	e9 d7 00 00 00       	jmp    0x5867f1
58671a:	8b 45 ec             	mov    -0x14(%ebp),%eax
58671d:	c1 e0 03             	shl    $0x3,%eax
586720:	83 c8 02             	or     $0x2,%eax
586723:	89 45 e8             	mov    %eax,-0x18(%ebp)
586726:	33 c0                	xor    %eax,%eax
586728:	e8 1b db ff ff       	call   0x584248
58672d:	89 45 e4             	mov    %eax,-0x1c(%ebp)
586730:	68 18 00 0a 00       	push   $0xa0018
586735:	57                   	push   %edi
586736:	68 00 01 00 00       	push   $0x100
58673b:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
58673e:	8b 55 e8             	mov    -0x18(%ebp),%edx
586741:	8b c6                	mov    %esi,%eax
586743:	e8 d8 1e 00 00       	call   0x588620
586748:	89 45 f4             	mov    %eax,-0xc(%ebp)
58674b:	6a 01                	push   $0x1
58674d:	8d 4d cc             	lea    -0x34(%ebp),%ecx
586750:	8b 55 f8             	mov    -0x8(%ebp),%edx
586753:	8b 45 f4             	mov    -0xc(%ebp),%eax
586756:	e8 51 e0 ff ff       	call   0x5847ac
58675b:	33 c0                	xor    %eax,%eax
58675d:	89 45 dc             	mov    %eax,-0x24(%ebp)
586760:	89 45 e0             	mov    %eax,-0x20(%ebp)
586763:	8b 45 dc             	mov    -0x24(%ebp),%eax
586766:	89 45 d4             	mov    %eax,-0x2c(%ebp)
586769:	8b 45 e0             	mov    -0x20(%ebp),%eax
58676c:	89 45 d8             	mov    %eax,-0x28(%ebp)
58676f:	dd 45 cc             	fldl   -0x34(%ebp)
586772:	d8 1d fc 67 58 00    	fcomps 0x5867fc
586778:	df e0                	fnstsw %ax
58677a:	9e                   	sahf
58677b:	76 0c                	jbe    0x586789
58677d:	33 c0                	xor    %eax,%eax
58677f:	89 45 cc             	mov    %eax,-0x34(%ebp)
586782:	c7 45 d0 00 00 49 40 	movl   $0x40490000,-0x30(%ebp)
586789:	8b 45 e4             	mov    -0x1c(%ebp),%eax
58678c:	e8 ff d6 ff ff       	call   0x583e90
586791:	8b 45 f4             	mov    -0xc(%ebp),%eax
586794:	e8 1f 8c ff ff       	call   0x57f3b8
586799:	8d 4d cc             	lea    -0x34(%ebp),%ecx
58679c:	8d 55 b4             	lea    -0x4c(%ebp),%edx
58679f:	33 c0                	xor    %eax,%eax
5867a1:	e8 2a fc ff ff       	call   0x5863d0
5867a6:	83 ff 03             	cmp    $0x3,%edi
5867a9:	75 0e                	jne    0x5867b9
5867ab:	8d 75 b4             	lea    -0x4c(%ebp),%esi
5867ae:	8b fb                	mov    %ebx,%edi
5867b0:	b9 06 00 00 00       	mov    $0x6,%ecx
5867b5:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
5867b7:	eb 33                	jmp    0x5867ec
5867b9:	f6 45 08 01          	testb  $0x1,0x8(%ebp)
5867bd:	75 21                	jne    0x5867e0
5867bf:	8d 45 9c             	lea    -0x64(%ebp),%eax
5867c2:	8b d6                	mov    %esi,%edx
5867c4:	e8 cf f6 ff ff       	call   0x585e98
5867c9:	8d 45 b4             	lea    -0x4c(%ebp),%eax
5867cc:	50                   	push   %eax
5867cd:	e8 9a 53 ff ff       	call   0x57bb6c
5867d2:	8b d0                	mov    %eax,%edx
5867d4:	8d 4d 9c             	lea    -0x64(%ebp),%ecx
5867d7:	8b c3                	mov    %ebx,%eax
5867d9:	e8 42 f7 ff ff       	call   0x585f20
5867de:	eb 0c                	jmp    0x5867ec
5867e0:	8d 75 b4             	lea    -0x4c(%ebp),%esi
5867e3:	8b fb                	mov    %ebx,%edi
5867e5:	b9 06 00 00 00       	mov    $0x6,%ecx
5867ea:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
5867ec:	b8 01 00 00 00       	mov    $0x1,%eax
5867f1:	5f                   	pop    %edi
5867f2:	5e                   	pop    %esi
5867f3:	5b                   	pop    %ebx
5867f4:	8b e5                	mov    %ebp,%esp
5867f6:	5d                   	pop    %ebp
5867f7:	c2 04 00             	ret    $0x4
5867fa:	00 00                	add    %al,(%eax)
5867fc:	00 00                	add    %al,(%eax)
5867fe:	48                   	dec    %eax
5867ff:	42                   	inc    %edx
586800:	55                   	push   %ebp
586801:	8b ec                	mov    %esp,%ebp
586803:	83 c4 88             	add    $0xffffff88,%esp
586806:	53                   	push   %ebx
586807:	56                   	push   %esi
586808:	57                   	push   %edi
586809:	8b f1                	mov    %ecx,%esi
58680b:	8b da                	mov    %edx,%ebx
58680d:	8b f8                	mov    %eax,%edi
58680f:	8b c3                	mov    %ebx,%eax
586811:	e8 06 f7 ff ff       	call   0x585f1c
586816:	3d 00 00 00 04       	cmp    $0x4000000,%eax
58681b:	72 1a                	jb     0x586837
58681d:	85 f6                	test   %esi,%esi
58681f:	74 05                	je     0x586826
586821:	83 fe 02             	cmp    $0x2,%esi
586824:	75 11                	jne    0x586837
586826:	8b 4d 08             	mov    0x8(%ebp),%ecx
586829:	8b d3                	mov    %ebx,%edx
58682b:	8b c7                	mov    %edi,%eax
58682d:	e8 66 f7 ff ff       	call   0x585f98
586832:	e9 f8 00 00 00       	jmp    0x58692f
586837:	ba 74 70 6b 62       	mov    $0x626b7074,%edx
58683c:	8b c3                	mov    %ebx,%eax
58683e:	e8 b1 bd ff ff       	call   0x5825f4
586843:	85 c0                	test   %eax,%eax
586845:	0f 84 a6 00 00 00    	je     0x5868f1
58684b:	83 fe 01             	cmp    $0x1,%esi
58684e:	0f 85 9d 00 00 00    	jne    0x5868f1
586854:	8d 45 e8             	lea    -0x18(%ebp),%eax
586857:	8b d3                	mov    %ebx,%edx
586859:	e8 4e f6 ff ff       	call   0x585eac
58685e:	8d 45 a0             	lea    -0x60(%ebp),%eax
586861:	8b d3                	mov    %ebx,%edx
586863:	e8 30 f6 ff ff       	call   0x585e98
586868:	8d 45 e8             	lea    -0x18(%ebp),%eax
58686b:	50                   	push   %eax
58686c:	e8 fb 52 ff ff       	call   0x57bb6c
586871:	8b c8                	mov    %eax,%ecx
586873:	8d 55 a0             	lea    -0x60(%ebp),%edx
586876:	8d 45 d0             	lea    -0x30(%ebp),%eax
586879:	e8 a2 f6 ff ff       	call   0x585f20
58687e:	8d 4d d0             	lea    -0x30(%ebp),%ecx
586881:	8d 55 88             	lea    -0x78(%ebp),%edx
586884:	33 c0                	xor    %eax,%eax
586886:	e8 c5 f9 ff ff       	call   0x586250
58688b:	33 c0                	xor    %eax,%eax
58688d:	89 45 98             	mov    %eax,-0x68(%ebp)
586890:	89 45 9c             	mov    %eax,-0x64(%ebp)
586893:	8b 45 98             	mov    -0x68(%ebp),%eax
586896:	89 45 90             	mov    %eax,-0x70(%ebp)
586899:	8b 45 9c             	mov    -0x64(%ebp),%eax
58689c:	89 45 94             	mov    %eax,-0x6c(%ebp)
58689f:	dd 45 88             	fldl   -0x78(%ebp)
5868a2:	d8 1d 38 69 58 00    	fcomps 0x586938
5868a8:	df e0                	fnstsw %ax
5868aa:	9e                   	sahf
5868ab:	76 0c                	jbe    0x5868b9
5868ad:	33 c0                	xor    %eax,%eax
5868af:	89 45 88             	mov    %eax,-0x78(%ebp)
5868b2:	c7 45 8c 00 00 49 40 	movl   $0x40490000,-0x74(%ebp)
5868b9:	8d 4d 88             	lea    -0x78(%ebp),%ecx
5868bc:	8d 55 b8             	lea    -0x48(%ebp),%edx
5868bf:	33 c0                	xor    %eax,%eax
5868c1:	e8 0a fb ff ff       	call   0x5863d0
5868c6:	f6 45 08 01          	testb  $0x1,0x8(%ebp)
5868ca:	75 17                	jne    0x5868e3
5868cc:	8d 45 b8             	lea    -0x48(%ebp),%eax
5868cf:	50                   	push   %eax
5868d0:	e8 97 52 ff ff       	call   0x57bb6c
5868d5:	8b d0                	mov    %eax,%edx
5868d7:	8d 4d a0             	lea    -0x60(%ebp),%ecx
5868da:	8b c7                	mov    %edi,%eax
5868dc:	e8 3f f6 ff ff       	call   0x585f20
5868e1:	eb 0e                	jmp    0x5868f1
5868e3:	56                   	push   %esi
5868e4:	57                   	push   %edi
5868e5:	8d 75 b8             	lea    -0x48(%ebp),%esi
5868e8:	b9 06 00 00 00       	mov    $0x6,%ecx
5868ed:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
5868ef:	5f                   	pop    %edi
5868f0:	5e                   	pop    %esi
5868f1:	83 fe 01             	cmp    $0x1,%esi
5868f4:	75 2a                	jne    0x586920
5868f6:	8b c3                	mov    %ebx,%eax
5868f8:	e8 ef 65 ff ff       	call   0x57ceec
5868fd:	3d 72 74 72 70       	cmp    $0x70727472,%eax
586902:	75 1c                	jne    0x586920
586904:	8b c3                	mov    %ebx,%eax
586906:	e8 b9 5d ff ff       	call   0x57c6c4
58690b:	3d 4b 59 4d 43       	cmp    $0x434d594b,%eax
586910:	75 0e                	jne    0x586920
586912:	8b 4d 08             	mov    0x8(%ebp),%ecx
586915:	8b d3                	mov    %ebx,%edx
586917:	8b c7                	mov    %edi,%eax
586919:	e8 f2 fb ff ff       	call   0x586510
58691e:	eb 0f                	jmp    0x58692f
586920:	8b 45 08             	mov    0x8(%ebp),%eax
586923:	50                   	push   %eax
586924:	8b cf                	mov    %edi,%ecx
586926:	8b d6                	mov    %esi,%edx
586928:	8b c3                	mov    %ebx,%eax
58692a:	e8 61 fd ff ff       	call   0x586690
58692f:	5f                   	pop    %edi
586930:	5e                   	pop    %esi
586931:	5b                   	pop    %ebx
586932:	8b e5                	mov    %ebp,%esp
586934:	5d                   	pop    %ebp
586935:	c2 04 00             	ret    $0x4
586938:	00 00                	add    %al,(%eax)
58693a:	48                   	dec    %eax
58693b:	42                   	inc    %edx
58693c:	55                   	push   %ebp
58693d:	8b ec                	mov    %esp,%ebp
58693f:	81 c4 80 fe ff ff    	add    $0xfffffe80,%esp
586945:	53                   	push   %ebx
586946:	56                   	push   %esi
586947:	57                   	push   %edi
586948:	8b 5d 18             	mov    0x18(%ebp),%ebx
58694b:	8b 75 20             	mov    0x20(%ebp),%esi
58694e:	ff 72 04             	push   0x4(%edx)
586951:	ff 32                	push   (%edx)
586953:	ff 72 0c             	push   0xc(%edx)
586956:	ff 72 08             	push   0x8(%edx)
586959:	ff 72 14             	push   0x14(%edx)
58695c:	ff 72 10             	push   0x10(%edx)
58695f:	8d 45 e8             	lea    -0x18(%ebp),%eax
586962:	e8 6d 4e ff ff       	call   0x57b7d4
586967:	8d 4d e8             	lea    -0x18(%ebp),%ecx
58696a:	8d 45 d0             	lea    -0x30(%ebp),%eax
58696d:	8b d6                	mov    %esi,%edx
58696f:	e8 e8 56 ff ff       	call   0x57c05c
586974:	ff 73 04             	push   0x4(%ebx)
586977:	ff 33                	push   (%ebx)
586979:	ff 73 0c             	push   0xc(%ebx)
58697c:	ff 73 08             	push   0x8(%ebx)
58697f:	ff 73 14             	push   0x14(%ebx)
586982:	ff 73 10             	push   0x10(%ebx)
586985:	8d 45 b8             	lea    -0x48(%ebp),%eax
586988:	e8 47 4e ff ff       	call   0x57b7d4
58698d:	8d 4d b8             	lea    -0x48(%ebp),%ecx
586990:	8d 45 a0             	lea    -0x60(%ebp),%eax
586993:	8b 55 10             	mov    0x10(%ebp),%edx
586996:	e8 c1 56 ff ff       	call   0x57c05c
58699b:	dd 45 d0             	fldl   -0x30(%ebp)
58699e:	dc 75 a0             	fdivl  -0x60(%ebp)
5869a1:	83 c4 f8             	add    $0xfffffff8,%esp
5869a4:	dd 1c 24             	fstpl  (%esp)
5869a7:	9b                   	fwait
5869a8:	6a 00                	push   $0x0
5869aa:	6a 00                	push   $0x0
5869ac:	6a 00                	push   $0x0
5869ae:	6a 00                	push   $0x0
5869b0:	8d 85 58 ff ff ff    	lea    -0xa8(%ebp),%eax
5869b6:	e8 19 4e ff ff       	call   0x57b7d4
5869bb:	6a 00                	push   $0x0
5869bd:	6a 00                	push   $0x0
5869bf:	dd 45 d8             	fldl   -0x28(%ebp)
5869c2:	dc 75 a8             	fdivl  -0x58(%ebp)
5869c5:	83 c4 f8             	add    $0xfffffff8,%esp
5869c8:	dd 1c 24             	fstpl  (%esp)
5869cb:	9b                   	fwait
5869cc:	6a 00                	push   $0x0
5869ce:	6a 00                	push   $0x0
5869d0:	8d 85 70 ff ff ff    	lea    -0x90(%ebp),%eax
5869d6:	e8 f9 4d ff ff       	call   0x57b7d4
5869db:	6a 00                	push   $0x0
5869dd:	6a 00                	push   $0x0
5869df:	6a 00                	push   $0x0
5869e1:	6a 00                	push   $0x0
5869e3:	dd 45 e0             	fldl   -0x20(%ebp)
5869e6:	dc 75 b0             	fdivl  -0x50(%ebp)
5869e9:	83 c4 f8             	add    $0xfffffff8,%esp
5869ec:	dd 1c 24             	fstpl  (%esp)
5869ef:	9b                   	fwait
5869f0:	8d 45 88             	lea    -0x78(%ebp),%eax
5869f3:	e8 dc 4d ff ff       	call   0x57b7d4
5869f8:	8d bd 10 ff ff ff    	lea    -0xf0(%ebp),%edi
5869fe:	b9 12 00 00 00       	mov    $0x12,%ecx
586a03:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
586a05:	8d 95 c8 fe ff ff    	lea    -0x138(%ebp),%edx
586a0b:	8d 85 10 ff ff ff    	lea    -0xf0(%ebp),%eax