5a863f:	e8 0c ec f3 ff       	call   0x4e7250
5a8644:	83 c4 04             	add    $0x4,%esp
5a8647:	50                   	push   %eax
5a8648:	e8 e3 04 f5 ff       	call   0x4f8b30
5a864d:	56                   	push   %esi
5a864e:	e8 8d f6 ff ff       	call   0x5a7ce0
5a8653:	83 c4 14             	add    $0x14,%esp
5a8656:	5e                   	pop    %esi
5a8657:	c3                   	ret
5a8658:	cc                   	int3
5a8659:	cc                   	int3
5a865a:	cc                   	int3
5a865b:	cc                   	int3
5a865c:	cc                   	int3
5a865d:	cc                   	int3
5a865e:	cc                   	int3
5a865f:	cc                   	int3
5a8660:	b8 24 00 00 00       	mov    $0x24,%eax
5a8665:	e8 46 91 02 00       	call   0x5d17b0
5a866a:	a1 c0 14 69 00       	mov    0x6914c0,%eax
5a866f:	33 c4                	xor    %esp,%eax
5a8671:	89 44 24 20          	mov    %eax,0x20(%esp)
5a8675:	8b 44 24 28          	mov    0x28(%esp),%eax
5a8679:	53                   	push   %ebx
5a867a:	55                   	push   %ebp
5a867b:	56                   	push   %esi
5a867c:	89 44 24 14          	mov    %eax,0x14(%esp)
5a8680:	8d 44 24 1c          	lea    0x1c(%esp),%eax
5a8684:	57                   	push   %edi
5a8685:	50                   	push   %eax
5a8686:	ff 15 04 22 60 00    	call   *0x602204
5a868c:	8d 44 24 10          	lea    0x10(%esp),%eax
5a8690:	50                   	push   %eax
5a8691:	8d 44 24 24          	lea    0x24(%esp),%eax
5a8695:	50                   	push   %eax
5a8696:	ff 15 08 22 60 00    	call   *0x602208
5a869c:	8b 5c 24 10          	mov    0x10(%esp),%ebx
5a86a0:	ba bd 42 7a e5       	mov    $0xe57a42bd,%edx
5a86a5:	8b 4c 24 14          	mov    0x14(%esp),%ecx
5a86a9:	81 c3 00 80 c1 2a    	add    $0x2ac18000,%ebx
5a86af:	8b c3                	mov    %ebx,%eax
5a86b1:	89 5c 24 1c          	mov    %ebx,0x1c(%esp)
5a86b5:	81 d1 21 4e 62 fe    	adc    $0xfe624e21,%ecx
5a86bb:	bd d5 94 bf d6       	mov    $0xd6bf94d5,%ebp
5a86c0:	f7 e2                	mul    %edx
5a86c2:	89 4c 24 10          	mov    %ecx,0x10(%esp)
5a86c6:	89 44 24 20          	mov    %eax,0x20(%esp)
5a86ca:	8b f2                	mov    %edx,%esi
5a86cc:	8b c3                	mov    %ebx,%eax
5a86ce:	f7 e5                	mul    %ebp
5a86d0:	8b f8                	mov    %eax,%edi
5a86d2:	8b ea                	mov    %edx,%ebp
5a86d4:	8b c1                	mov    %ecx,%eax
5a86d6:	b9 bd 42 7a e5       	mov    $0xe57a42bd,%ecx
5a86db:	f7 e1                	mul    %ecx
5a86dd:	8b c8                	mov    %eax,%ecx
5a86df:	8b da                	mov    %edx,%ebx
5a86e1:	8b 44 24 10          	mov    0x10(%esp),%eax
5a86e5:	ba d5 94 bf d6       	mov    $0xd6bf94d5,%edx
5a86ea:	f7 e2                	mul    %edx
5a86ec:	03 ce                	add    %esi,%ecx
5a86ee:	8b 74 24 18          	mov    0x18(%esp),%esi
5a86f2:	89 44 24 10          	mov    %eax,0x10(%esp)
5a86f6:	83 d3 00             	adc    $0x0,%ebx
5a86f9:	03 f9                	add    %ecx,%edi
5a86fb:	8b 4c 24 10          	mov    0x10(%esp),%ecx
5a86ff:	83 d5 00             	adc    $0x0,%ebp
5a8702:	89 7c 24 20          	mov    %edi,0x20(%esp)
5a8706:	33 c0                	xor    %eax,%eax
5a8708:	03 dd                	add    %ebp,%ebx
5a870a:	5f                   	pop    %edi
5a870b:	13 c0                	adc    %eax,%eax
5a870d:	03 cb                	add    %ebx,%ecx
5a870f:	13 d0                	adc    %eax,%edx
5a8711:	0f ac d1 17          	shrd   $0x17,%edx,%ecx
5a8715:	69 c1 80 96 98 00    	imul   $0x989680,%ecx,%eax
5a871b:	89 0e                	mov    %ecx,(%esi)
5a871d:	8b 4c 24 18          	mov    0x18(%esp),%ecx
5a8721:	2b c8                	sub    %eax,%ecx
5a8723:	b8 67 66 66 66       	mov    $0x66666667,%eax
5a8728:	f7 e9                	imul   %ecx
5a872a:	8b 4c 24 2c          	mov    0x2c(%esp),%ecx
5a872e:	c1 fa 02             	sar    $0x2,%edx
5a8731:	8b c2                	mov    %edx,%eax
5a8733:	c1 e8 1f             	shr    $0x1f,%eax
5a8736:	03 c2                	add    %edx,%eax
5a8738:	89 46 04             	mov    %eax,0x4(%esi)
5a873b:	5e                   	pop    %esi
5a873c:	5d                   	pop    %ebp
5a873d:	5b                   	pop    %ebx
5a873e:	33 cc                	xor    %esp,%ecx
5a8740:	e8 e1 92 02 00       	call   0x5d1a26
5a8745:	83 c4 24             	add    $0x24,%esp
5a8748:	c3                   	ret
5a8749:	cc                   	int3
5a874a:	cc                   	int3
5a874b:	cc                   	int3
5a874c:	cc                   	int3
5a874d:	cc                   	int3
5a874e:	cc                   	int3
5a874f:	cc                   	int3
5a8750:	b8 08 00 00 00       	mov    $0x8,%eax
5a8755:	e8 56 90 02 00       	call   0x5d17b0
5a875a:	8b 54 24 0c          	mov    0xc(%esp),%edx
5a875e:	56                   	push   %esi
5a875f:	57                   	push   %edi
5a8760:	8b 7a 04             	mov    0x4(%edx),%edi
5a8763:	8b 32                	mov    (%edx),%esi
5a8765:	83 ff 02             	cmp    $0x2,%edi
5a8768:	72 36                	jb     0x5a87a0
5a876a:	0f b6 0e             	movzbl (%esi),%ecx
5a876d:	0f b6 46 01          	movzbl 0x1(%esi),%eax
5a8771:	83 c6 02             	add    $0x2,%esi
5a8774:	c1 e1 08             	shl    $0x8,%ecx
5a8777:	0b c8                	or     %eax,%ecx
5a8779:	8d 47 fe             	lea    -0x2(%edi),%eax
5a877c:	3b c1                	cmp    %ecx,%eax
5a877e:	72 20                	jb     0x5a87a0
5a8780:	8d 3c 0e             	lea    (%esi,%ecx,1),%edi
5a8783:	2b c1                	sub    %ecx,%eax
5a8785:	75 19                	jne    0x5a87a0
5a8787:	89 42 04             	mov    %eax,0x4(%edx)
5a878a:	8b 44 24 18          	mov    0x18(%esp),%eax
5a878e:	89 3a                	mov    %edi,(%edx)
5a8790:	5f                   	pop    %edi
5a8791:	89 30                	mov    %esi,(%eax)
5a8793:	89 48 04             	mov    %ecx,0x4(%eax)
5a8796:	b8 01 00 00 00       	mov    $0x1,%eax
5a879b:	5e                   	pop    %esi
5a879c:	83 c4 08             	add    $0x8,%esp
5a879f:	c3                   	ret
5a87a0:	5f                   	pop    %edi
5a87a1:	33 c0                	xor    %eax,%eax
5a87a3:	5e                   	pop    %esi
5a87a4:	83 c4 08             	add    $0x8,%esp
5a87a7:	c3                   	ret
5a87a8:	cc                   	int3
5a87a9:	cc                   	int3
5a87aa:	cc                   	int3
5a87ab:	cc                   	int3
5a87ac:	cc                   	int3
5a87ad:	cc                   	int3
5a87ae:	cc                   	int3
5a87af:	cc                   	int3
5a87b0:	8b 54 24 04          	mov    0x4(%esp),%edx
5a87b4:	83 7a 04 00          	cmpl   $0x0,0x4(%edx)
5a87b8:	74 16                	je     0x5a87d0
5a87ba:	8b 02                	mov    (%edx),%eax
5a87bc:	0f b6 08             	movzbl (%eax),%ecx
5a87bf:	8b 44 24 08          	mov    0x8(%esp),%eax
5a87c3:	89 08                	mov    %ecx,(%eax)
5a87c5:	b8 01 00 00 00       	mov    $0x1,%eax
5a87ca:	ff 02                	incl   (%edx)
5a87cc:	ff 4a 04             	decl   0x4(%edx)
5a87cf:	c3                   	ret
5a87d0:	33 c0                	xor    %eax,%eax
5a87d2:	c3                   	ret
5a87d3:	cc                   	int3
5a87d4:	cc                   	int3
5a87d5:	cc                   	int3
5a87d6:	cc                   	int3
5a87d7:	cc                   	int3
5a87d8:	cc                   	int3
5a87d9:	cc                   	int3
5a87da:	cc                   	int3
5a87db:	cc                   	int3
5a87dc:	cc                   	int3
5a87dd:	cc                   	int3
5a87de:	cc                   	int3
5a87df:	cc                   	int3
5a87e0:	57                   	push   %edi
5a87e1:	8b 7c 24 08          	mov    0x8(%esp),%edi
5a87e5:	83 7f 04 03          	cmpl   $0x3,0x4(%edi)
5a87e9:	72 35                	jb     0x5a8820
5a87eb:	8b 07                	mov    (%edi),%eax
5a87ed:	56                   	push   %esi
5a87ee:	8b 74 24 10          	mov    0x10(%esp),%esi
5a87f2:	0f b6 10             	movzbl (%eax),%edx
5a87f5:	c1 e2 10             	shl    $0x10,%edx
5a87f8:	89 16                	mov    %edx,(%esi)
5a87fa:	8b 07                	mov    (%edi),%eax
5a87fc:	0f b6 48 01          	movzbl 0x1(%eax),%ecx
5a8800:	c1 e1 08             	shl    $0x8,%ecx
5a8803:	0b ca                	or     %edx,%ecx
5a8805:	89 0e                	mov    %ecx,(%esi)
5a8807:	8b 07                	mov    (%edi),%eax
5a8809:	0f b6 40 02          	movzbl 0x2(%eax),%eax
5a880d:	0b c1                	or     %ecx,%eax
5a880f:	89 06                	mov    %eax,(%esi)
5a8811:	b8 01 00 00 00       	mov    $0x1,%eax
5a8816:	83 07 03             	addl   $0x3,(%edi)
5a8819:	83 47 04 fd          	addl   $0xfffffffd,0x4(%edi)
5a881d:	5e                   	pop    %esi
5a881e:	5f                   	pop    %edi
5a881f:	c3                   	ret
5a8820:	33 c0                	xor    %eax,%eax
5a8822:	5f                   	pop    %edi
5a8823:	c3                   	ret
5a8824:	cc                   	int3
5a8825:	cc                   	int3
5a8826:	cc                   	int3
5a8827:	cc                   	int3
5a8828:	cc                   	int3
5a8829:	cc                   	int3
5a882a:	cc                   	int3
5a882b:	cc                   	int3
5a882c:	cc                   	int3
5a882d:	cc                   	int3
5a882e:	cc                   	int3
5a882f:	cc                   	int3
5a8830:	57                   	push   %edi
5a8831:	8b 7c 24 08          	mov    0x8(%esp),%edi
5a8835:	83 7f 04 04          	cmpl   $0x4,0x4(%edi)
5a8839:	72 42                	jb     0x5a887d
5a883b:	8b 07                	mov    (%edi),%eax
5a883d:	56                   	push   %esi
5a883e:	8b 74 24 10          	mov    0x10(%esp),%esi
5a8842:	0f b6 08             	movzbl (%eax),%ecx
5a8845:	c1 e1 18             	shl    $0x18,%ecx
5a8848:	89 0e                	mov    %ecx,(%esi)
5a884a:	8b 07                	mov    (%edi),%eax
5a884c:	0f b6 50 01          	movzbl 0x1(%eax),%edx
5a8850:	c1 e2 10             	shl    $0x10,%edx
5a8853:	0b d1                	or     %ecx,%edx
5a8855:	89 16                	mov    %edx,(%esi)
5a8857:	8b 07                	mov    (%edi),%eax
5a8859:	0f b6 48 02          	movzbl 0x2(%eax),%ecx
5a885d:	c1 e1 08             	shl    $0x8,%ecx
5a8860:	0b ca                	or     %edx,%ecx
5a8862:	89 0e                	mov    %ecx,(%esi)
5a8864:	8b 07                	mov    (%edi),%eax
5a8866:	0f b6 40 03          	movzbl 0x3(%eax),%eax
5a886a:	0b c1                	or     %ecx,%eax
5a886c:	89 06                	mov    %eax,(%esi)
5a886e:	b8 01 00 00 00       	mov    $0x1,%eax
5a8873:	83 07 04             	addl   $0x4,(%edi)
5a8876:	83 47 04 fc          	addl   $0xfffffffc,0x4(%edi)
5a887a:	5e                   	pop    %esi
5a887b:	5f                   	pop    %edi
5a887c:	c3                   	ret
5a887d:	33 c0                	xor    %eax,%eax
5a887f:	5f                   	pop    %edi
5a8880:	c3                   	ret
5a8881:	cc                   	int3
5a8882:	cc                   	int3
5a8883:	cc                   	int3
5a8884:	cc                   	int3
5a8885:	cc                   	int3
5a8886:	cc                   	int3
5a8887:	cc                   	int3
5a8888:	cc                   	int3
5a8889:	cc                   	int3
5a888a:	cc                   	int3
5a888b:	cc                   	int3
5a888c:	cc                   	int3
5a888d:	cc                   	int3
5a888e:	cc                   	int3
5a888f:	cc                   	int3
5a8890:	53                   	push   %ebx
5a8891:	56                   	push   %esi
5a8892:	57                   	push   %edi
5a8893:	8b 7c 24 14          	mov    0x14(%esp),%edi
5a8897:	68 a4 01 00 00       	push   $0x1a4
5a889c:	68 f8 47 66 00       	push   $0x6647f8
5a88a1:	ff 37                	push   (%edi)
5a88a3:	e8 d8 7e f3 ff       	call   0x4e0780
5a88a8:	8b 5c 24 24          	mov    0x24(%esp),%ebx
5a88ac:	83 c4 0c             	add    $0xc,%esp
5a88af:	8b 44 24 10          	mov    0x10(%esp),%eax
5a88b3:	c7 07 00 00 00 00    	movl   $0x0,(%edi)
5a88b9:	c7 03 00 00 00 00    	movl   $0x0,(%ebx)
5a88bf:	8b 70 04             	mov    0x4(%eax),%esi
5a88c2:	85 f6                	test   %esi,%esi
5a88c4:	74 21                	je     0x5a88e7
5a88c6:	68 ad 01 00 00       	push   $0x1ad
5a88cb:	68 f8 47 66 00       	push   $0x6647f8
5a88d0:	56                   	push   %esi
5a88d1:	ff 30                	push   (%eax)
5a88d3:	e8 98 97 f3 ff       	call   0x4e2070
5a88d8:	83 c4 10             	add    $0x10,%esp
5a88db:	89 07                	mov    %eax,(%edi)
5a88dd:	85 c0                	test   %eax,%eax
5a88df:	75 04                	jne    0x5a88e5
5a88e1:	5f                   	pop    %edi
5a88e2:	5e                   	pop    %esi
5a88e3:	5b                   	pop    %ebx
5a88e4:	c3                   	ret
5a88e5:	89 33                	mov    %esi,(%ebx)
5a88e7:	5f                   	pop    %edi
5a88e8:	5e                   	pop    %esi
5a88e9:	b8 01 00 00 00       	mov    $0x1,%eax
5a88ee:	5b                   	pop    %ebx
5a88ef:	c3                   	ret
5a88f0:	8b 4c 24 04          	mov    0x4(%esp),%ecx
5a88f4:	81 39 00 03 00 00    	cmpl   $0x300,(%ecx)
5a88fa:	7e 0f                	jle    0x5a890b
5a88fc:	8b 41 7c             	mov    0x7c(%ecx),%eax
5a88ff:	8b 80 10 02 00 00    	mov    0x210(%eax),%eax
5a8905:	f6 40 14 04          	testb  $0x4,0x14(%eax)
5a8909:	75 0f                	jne    0x5a891a
5a890b:	8b 41 7c             	mov    0x7c(%ecx),%eax
5a890e:	8b 80 10 02 00 00    	mov    0x210(%eax),%eax
5a8914:	f6 40 14 50          	testb  $0x50,0x14(%eax)
5a8918:	74 03                	je     0x5a891d
5a891a:	33 c0                	xor    %eax,%eax
5a891c:	c3                   	ret
5a891d:	b8 01 00 00 00       	mov    $0x1,%eax
5a8922:	c3                   	ret
5a8923:	cc                   	int3
5a8924:	cc                   	int3
5a8925:	cc                   	int3
5a8926:	cc                   	int3
5a8927:	cc                   	int3
5a8928:	cc                   	int3
5a8929:	cc                   	int3
5a892a:	cc                   	int3
5a892b:	cc                   	int3
5a892c:	cc                   	int3
5a892d:	cc                   	int3
5a892e:	cc                   	int3
5a892f:	cc                   	int3
5a8930:	8b 4c 24 04          	mov    0x4(%esp),%ecx
5a8934:	8b 41 40             	mov    0x40(%ecx),%eax
5a8937:	83 c0 f4             	add    $0xfffffff4,%eax
5a893a:	83 f8 24             	cmp    $0x24,%eax
5a893d:	0f 87 25 01 00 00    	ja     0x5a8a68
5a8943:	0f b6 80 b8 8a 5a 00 	movzbl 0x5a8ab8(%eax),%eax
5a894a:	ff 24 85 8c 8a 5a 00 	jmp    *0x5a8a8c(,%eax,4)
5a8951:	8b 41 04             	mov    0x4(%ecx),%eax
5a8954:	b9 20 73 5a 00       	mov    $0x5a7320,%ecx
5a8959:	8b 40 64             	mov    0x64(%eax),%eax
5a895c:	f6 40 30 08          	testb  $0x8,0x30(%eax)
5a8960:	b8 80 4f 59 00       	mov    $0x594f80,%eax
5a8965:	0f 44 c8             	cmove  %eax,%ecx
5a8968:	8b 44 24 0c          	mov    0xc(%esp),%eax
5a896c:	89 08                	mov    %ecx,(%eax)
5a896e:	8b 44 24 10          	mov    0x10(%esp),%eax
5a8972:	c7 00 01 01 00 00    	movl   $0x101,(%eax)
5a8978:	b8 01 00 00 00       	mov    $0x1,%eax
5a897d:	c3                   	ret
5a897e:	8b 44 24 0c          	mov    0xc(%esp),%eax
5a8982:	c7 00 70 a8 5a 00    	movl   $0x5aa870,(%eax)
5a8988:	8b 44 24 10          	mov    0x10(%esp),%eax
5a898c:	c7 00 01 00 00 00    	movl   $0x1,(%eax)
5a8992:	b8 01 00 00 00       	mov    $0x1,%eax
5a8997:	c3                   	ret
5a8998:	8b 44 24 0c          	mov    0xc(%esp),%eax
5a899c:	c7 00 30 af 5a 00    	movl   $0x5aaf30,(%eax)
5a89a2:	8b 44 24 10          	mov    0x10(%esp),%eax
5a89a6:	c7 00 05 00 00 00    	movl   $0x5,(%eax)