5c9610:	50                   	push   %eax
5c9611:	83 ec 0c             	sub    $0xc,%esp
5c9614:	c7 45 dc 0f 00 00 00 	movl   $0xf,-0x24(%ebp)
5c961b:	8b c4                	mov    %esp,%eax
5c961d:	c6 45 c8 00          	movb   $0x0,-0x38(%ebp)
5c9621:	c7 45 bc 00 00 00 00 	movl   $0x0,-0x44(%ebp)
5c9628:	c7 45 c0 00 00 00 00 	movl   $0x0,-0x40(%ebp)
5c962f:	6a 0e                	push   $0xe
5c9631:	c7 45 c4 00 00 00 00 	movl   $0x0,-0x3c(%ebp)
5c9638:	c7 00 00 00 00 00    	movl   $0x0,(%eax)
5c963e:	c7 40 04 00 00 00 00 	movl   $0x0,0x4(%eax)
5c9645:	c7 40 08 00 00 00 00 	movl   $0x0,0x8(%eax)
5c964c:	e8 6f c6 e7 ff       	call   0x445cc0
5c9651:	83 c4 14             	add    $0x14,%esp
5c9654:	6a 03                	push   $0x3
5c9656:	e8 95 42 e9 ff       	call   0x45d8f0
5c965b:	50                   	push   %eax
5c965c:	83 ec 18             	sub    $0x18,%esp
5c965f:	8d 45 c8             	lea    -0x38(%ebp),%eax
5c9662:	8b cc                	mov    %esp,%ecx
5c9664:	50                   	push   %eax
5c9665:	e8 36 37 e7 ff       	call   0x43cda0
5c966a:	8d 85 5c ff ff ff    	lea    -0xa4(%ebp),%eax
5c9670:	50                   	push   %eax
5c9671:	e8 6a c6 e8 ff       	call   0x455ce0
5c9676:	83 c4 24             	add    $0x24,%esp
5c9679:	c7 45 f8 00 00 00 00 	movl   $0x0,-0x8(%ebp)
5c9680:	8d 45 e4             	lea    -0x1c(%ebp),%eax
5c9683:	c7 45 e4 00 00 00 00 	movl   $0x0,-0x1c(%ebp)
5c968a:	c7 45 e8 00 00 00 00 	movl   $0x0,-0x18(%ebp)
5c9691:	c7 45 ec 00 00 00 00 	movl   $0x0,-0x14(%ebp)
5c9698:	50                   	push   %eax
5c9699:	8d 45 f8             	lea    -0x8(%ebp),%eax
5c969c:	50                   	push   %eax
5c969d:	83 ec 18             	sub    $0x18,%esp
5c96a0:	8d 85 5c ff ff ff    	lea    -0xa4(%ebp),%eax
5c96a6:	8b cc                	mov    %esp,%ecx
5c96a8:	50                   	push   %eax
5c96a9:	e8 f2 36 e7 ff       	call   0x43cda0
5c96ae:	e8 ed cc e7 ff       	call   0x4463a0
5c96b3:	8b 4d e8             	mov    -0x18(%ebp),%ecx
5c96b6:	b8 ab aa aa 2a       	mov    $0x2aaaaaab,%eax
5c96bb:	8b 75 e4             	mov    -0x1c(%ebp),%esi
5c96be:	83 c4 20             	add    $0x20,%esp
5c96c1:	2b ce                	sub    %esi,%ecx
5c96c3:	33 db                	xor    %ebx,%ebx
5c96c5:	f7 e9                	imul   %ecx
5c96c7:	d1 fa                	sar    $1,%edx
5c96c9:	8b c2                	mov    %edx,%eax
5c96cb:	c1 e8 1f             	shr    $0x1f,%eax
5c96ce:	03 c2                	add    %edx,%eax
5c96d0:	0f 84 9c 01 00 00    	je     0x5c9872
5c96d6:	33 ff                	xor    %edi,%edi
5c96d8:	0f 1f 84 00 00 00 00 	nopl   0x0(%eax,%eax,1)
5c96df:	00
5c96e0:	8b 44 3e 04          	mov    0x4(%esi,%edi,1),%eax
5c96e4:	8b 0c 3e             	mov    (%esi,%edi,1),%ecx
5c96e7:	2b c1                	sub    %ecx,%eax
5c96e9:	83 e8 48             	sub    $0x48,%eax
5c96ec:	c7 45 84 00 00 00 00 	movl   $0x0,-0x7c(%ebp)
5c96f3:	c7 45 88 0f 00 00 00 	movl   $0xf,-0x78(%ebp)
5c96fa:	c6 85 74 ff ff ff 00 	movb   $0x0,-0x8c(%ebp)
5c9701:	c7 45 9c 00 00 00 00 	movl   $0x0,-0x64(%ebp)
5c9708:	c7 45 a0 0f 00 00 00 	movl   $0xf,-0x60(%ebp)
5c970f:	c6 45 8c 00          	movb   $0x0,-0x74(%ebp)
5c9713:	c7 45 b4 00 00 00 00 	movl   $0x0,-0x4c(%ebp)
5c971a:	c7 45 b8 0f 00 00 00 	movl   $0xf,-0x48(%ebp)
5c9721:	c6 45 a4 00          	movb   $0x0,-0x5c(%ebp)
5c9725:	83 f8 18             	cmp    $0x18,%eax
5c9728:	0f 83 23 01 00 00    	jae    0x5c9851
5c972e:	8d 85 74 ff ff ff    	lea    -0x8c(%ebp),%eax
5c9734:	3b c1                	cmp    %ecx,%eax
5c9736:	74 1c                	je     0x5c9754
5c9738:	83 79 14 10          	cmpl   $0x10,0x14(%ecx)
5c973c:	8b c1                	mov    %ecx,%eax
5c973e:	72 02                	jb     0x5c9742
5c9740:	8b 01                	mov    (%ecx),%eax
5c9742:	ff 71 10             	push   0x10(%ecx)
5c9745:	8d 8d 74 ff ff ff    	lea    -0x8c(%ebp),%ecx
5c974b:	50                   	push   %eax
5c974c:	e8 ef ba e7 ff       	call   0x445240
5c9751:	8b 75 e4             	mov    -0x1c(%ebp),%esi
5c9754:	8b 04 3e             	mov    (%esi,%edi,1),%eax
5c9757:	8d 4d 8c             	lea    -0x74(%ebp),%ecx
5c975a:	83 c0 18             	add    $0x18,%eax
5c975d:	3b c8                	cmp    %eax,%ecx
5c975f:	74 19                	je     0x5c977a
5c9761:	83 78 14 10          	cmpl   $0x10,0x14(%eax)
5c9765:	8b c8                	mov    %eax,%ecx
5c9767:	72 02                	jb     0x5c976b
5c9769:	8b 08                	mov    (%eax),%ecx
5c976b:	ff 70 10             	push   0x10(%eax)
5c976e:	51                   	push   %ecx
5c976f:	8d 4d 8c             	lea    -0x74(%ebp),%ecx
5c9772:	e8 c9 ba e7 ff       	call   0x445240
5c9777:	8b 75 e4             	mov    -0x1c(%ebp),%esi
5c977a:	8b 04 3e             	mov    (%esi,%edi,1),%eax
5c977d:	8d 4d a4             	lea    -0x5c(%ebp),%ecx
5c9780:	83 c0 30             	add    $0x30,%eax
5c9783:	3b c8                	cmp    %eax,%ecx
5c9785:	74 16                	je     0x5c979d
5c9787:	83 78 14 10          	cmpl   $0x10,0x14(%eax)
5c978b:	8b c8                	mov    %eax,%ecx
5c978d:	72 02                	jb     0x5c9791
5c978f:	8b 08                	mov    (%eax),%ecx
5c9791:	ff 70 10             	push   0x10(%eax)
5c9794:	51                   	push   %ecx
5c9795:	8d 4d a4             	lea    -0x5c(%ebp),%ecx
5c9798:	e8 a3 ba e7 ff       	call   0x445240
5c979d:	8b 8d 08 ff ff ff    	mov    -0xf8(%ebp),%ecx
5c97a3:	8d 85 74 ff ff ff    	lea    -0x8c(%ebp),%eax
5c97a9:	50                   	push   %eax
5c97aa:	e8 b1 99 fe ff       	call   0x5b3160
5c97af:	8b 55 b8             	mov    -0x48(%ebp),%edx
5c97b2:	83 fa 10             	cmp    $0x10,%edx
5c97b5:	72 2c                	jb     0x5c97e3
5c97b7:	8b 4d a4             	mov    -0x5c(%ebp),%ecx
5c97ba:	42                   	inc    %edx
5c97bb:	8b c1                	mov    %ecx,%eax
5c97bd:	81 fa 00 10 00 00    	cmp    $0x1000,%edx
5c97c3:	72 14                	jb     0x5c97d9
5c97c5:	8b 49 fc             	mov    -0x4(%ecx),%ecx
5c97c8:	83 c2 23             	add    $0x23,%edx
5c97cb:	2b c1                	sub    %ecx,%eax
5c97cd:	83 c0 fc             	add    $0xfffffffc,%eax
5c97d0:	83 f8 1f             	cmp    $0x1f,%eax
5c97d3:	0f 87 92 03 00 00    	ja     0x5c9b6b
5c97d9:	52                   	push   %edx
5c97da:	51                   	push   %ecx
5c97db:	e8 92 78 01 00       	call   0x5e1072
5c97e0:	83 c4 08             	add    $0x8,%esp
5c97e3:	8b 55 a0             	mov    -0x60(%ebp),%edx
5c97e6:	83 fa 10             	cmp    $0x10,%edx
5c97e9:	72 2c                	jb     0x5c9817
5c97eb:	8b 4d 8c             	mov    -0x74(%ebp),%ecx
5c97ee:	42                   	inc    %edx
5c97ef:	8b c1                	mov    %ecx,%eax
5c97f1:	81 fa 00 10 00 00    	cmp    $0x1000,%edx
5c97f7:	72 14                	jb     0x5c980d
5c97f9:	8b 49 fc             	mov    -0x4(%ecx),%ecx
5c97fc:	83 c2 23             	add    $0x23,%edx
5c97ff:	2b c1                	sub    %ecx,%eax
5c9801:	83 c0 fc             	add    $0xfffffffc,%eax
5c9804:	83 f8 1f             	cmp    $0x1f,%eax
5c9807:	0f 87 5e 03 00 00    	ja     0x5c9b6b
5c980d:	52                   	push   %edx
5c980e:	51                   	push   %ecx
5c980f:	e8 5e 78 01 00       	call   0x5e1072
5c9814:	83 c4 08             	add    $0x8,%esp
5c9817:	8b 55 88             	mov    -0x78(%ebp),%edx
5c981a:	83 fa 10             	cmp    $0x10,%edx
5c981d:	72 2f                	jb     0x5c984e
5c981f:	8b 8d 74 ff ff ff    	mov    -0x8c(%ebp),%ecx
5c9825:	42                   	inc    %edx
5c9826:	8b c1                	mov    %ecx,%eax
5c9828:	81 fa 00 10 00 00    	cmp    $0x1000,%edx
5c982e:	72 14                	jb     0x5c9844
5c9830:	8b 49 fc             	mov    -0x4(%ecx),%ecx
5c9833:	83 c2 23             	add    $0x23,%edx
5c9836:	2b c1                	sub    %ecx,%eax
5c9838:	83 c0 fc             	add    $0xfffffffc,%eax
5c983b:	83 f8 1f             	cmp    $0x1f,%eax
5c983e:	0f 87 27 03 00 00    	ja     0x5c9b6b
5c9844:	52                   	push   %edx
5c9845:	51                   	push   %ecx
5c9846:	e8 27 78 01 00       	call   0x5e1072
5c984b:	83 c4 08             	add    $0x8,%esp
5c984e:	8b 75 e4             	mov    -0x1c(%ebp),%esi
5c9851:	8b 4d e8             	mov    -0x18(%ebp),%ecx
5c9854:	b8 ab aa aa 2a       	mov    $0x2aaaaaab,%eax
5c9859:	2b ce                	sub    %esi,%ecx
5c985b:	43                   	inc    %ebx
5c985c:	f7 e9                	imul   %ecx
5c985e:	83 c7 0c             	add    $0xc,%edi
5c9861:	d1 fa                	sar    $1,%edx
5c9863:	8b c2                	mov    %edx,%eax
5c9865:	c1 e8 1f             	shr    $0x1f,%eax
5c9868:	03 c2                	add    %edx,%eax
5c986a:	3b d8                	cmp    %eax,%ebx
5c986c:	0f 82 6e fe ff ff    	jb     0x5c96e0
5c9872:	8b 75 f8             	mov    -0x8(%ebp),%esi
5c9875:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
5c9878:	e8 93 b3 e7 ff       	call   0x444c10
5c987d:	8b 95 70 ff ff ff    	mov    -0x90(%ebp),%edx
5c9883:	83 fa 10             	cmp    $0x10,%edx
5c9886:	72 2f                	jb     0x5c98b7
5c9888:	8b 8d 5c ff ff ff    	mov    -0xa4(%ebp),%ecx
5c988e:	42                   	inc    %edx
5c988f:	8b c1                	mov    %ecx,%eax
5c9891:	81 fa 00 10 00 00    	cmp    $0x1000,%edx
5c9897:	72 14                	jb     0x5c98ad
5c9899:	8b 49 fc             	mov    -0x4(%ecx),%ecx
5c989c:	83 c2 23             	add    $0x23,%edx
5c989f:	2b c1                	sub    %ecx,%eax
5c98a1:	83 c0 fc             	add    $0xfffffffc,%eax
5c98a4:	83 f8 1f             	cmp    $0x1f,%eax
5c98a7:	0f 87 be 02 00 00    	ja     0x5c9b6b
5c98ad:	52                   	push   %edx
5c98ae:	51                   	push   %ecx
5c98af:	e8 be 77 01 00       	call   0x5e1072
5c98b4:	83 c4 08             	add    $0x8,%esp
5c98b7:	8b 55 dc             	mov    -0x24(%ebp),%edx
5c98ba:	c7 85 6c ff ff ff 00 	movl   $0x0,-0x94(%ebp)
5c98c1:	00 00 00
5c98c4:	c7 85 70 ff ff ff 0f 	movl   $0xf,-0x90(%ebp)
5c98cb:	00 00 00
5c98ce:	c6 85 5c ff ff ff 00 	movb   $0x0,-0xa4(%ebp)
5c98d5:	83 fa 10             	cmp    $0x10,%edx
5c98d8:	72 2c                	jb     0x5c9906
5c98da:	8b 4d c8             	mov    -0x38(%ebp),%ecx
5c98dd:	42                   	inc    %edx
5c98de:	8b c1                	mov    %ecx,%eax
5c98e0:	81 fa 00 10 00 00    	cmp    $0x1000,%edx
5c98e6:	72 14                	jb     0x5c98fc
5c98e8:	8b 49 fc             	mov    -0x4(%ecx),%ecx
5c98eb:	83 c2 23             	add    $0x23,%edx
5c98ee:	2b c1                	sub    %ecx,%eax
5c98f0:	83 c0 fc             	add    $0xfffffffc,%eax
5c98f3:	83 f8 1f             	cmp    $0x1f,%eax
5c98f6:	0f 87 6f 02 00 00    	ja     0x5c9b6b
5c98fc:	52                   	push   %edx
5c98fd:	51                   	push   %ecx
5c98fe:	e8 6f 77 01 00       	call   0x5e1072
5c9903:	83 c4 08             	add    $0x8,%esp
5c9906:	8d 4d bc             	lea    -0x44(%ebp),%ecx
5c9909:	c7 45 d8 00 00 00 00 	movl   $0x0,-0x28(%ebp)
5c9910:	c7 45 dc 0f 00 00 00 	movl   $0xf,-0x24(%ebp)
5c9917:	c6 45 c8 00          	movb   $0x0,-0x38(%ebp)
5c991b:	e8 f0 b2 e7 ff       	call   0x444c10
5c9920:	8b c6                	mov    %esi,%eax
5c9922:	5f                   	pop    %edi
5c9923:	5e                   	pop    %esi
5c9924:	5b                   	pop    %ebx
5c9925:	8b 4d fc             	mov    -0x4(%ebp),%ecx
5c9928:	33 cd                	xor    %ebp,%ecx
5c992a:	e8 ab 7b 01 00       	call   0x5e14da
5c992f:	8b e5                	mov    %ebp,%esp
5c9931:	5d                   	pop    %ebp
5c9932:	c3                   	ret
5c9933:	83 ec 18             	sub    $0x18,%esp
5c9936:	c7 85 10 ff ff ff 00 	movl   $0x0,-0xf0(%ebp)
5c993d:	00 00 00
5c9940:	8b cc                	mov    %esp,%ecx
5c9942:	c7 45 f4 00 00 00 00 	movl   $0x0,-0xc(%ebp)
5c9949:	c7 45 e0 00 00 00 00 	movl   $0x0,-0x20(%ebp)
5c9950:	bb 01 00 00 00       	mov    $0x1,%ebx
5c9955:	c7 45 f0 00 00 00 00 	movl   $0x0,-0x10(%ebp)
5c995c:	6a 15                	push   $0x15
5c995e:	68 30 dd 68 00       	push   $0x68dd30
5c9963:	c7 41 10 00 00 00 00 	movl   $0x0,0x10(%ecx)
5c996a:	c7 41 14 0f 00 00 00 	movl   $0xf,0x14(%ecx)
5c9971:	c6 01 00             	movb   $0x0,(%ecx)
5c9974:	e8 c7 b8 e7 ff       	call   0x445240
5c9979:	8d 4d f0             	lea    -0x10(%ebp),%ecx
5c997c:	e8 9f ab fe ff       	call   0x5b4520
5c9981:	6a 0e                	push   $0xe
5c9983:	68 b0 e7 6c 00       	push   $0x6ce7b0
5c9988:	8d 4d c8             	lea    -0x38(%ebp),%ecx
5c998b:	c7 45 d8 00 00 00 00 	movl   $0x0,-0x28(%ebp)
5c9992:	c7 45 dc 0f 00 00 00 	movl   $0xf,-0x24(%ebp)
5c9999:	c6 45 c8 00          	movb   $0x0,-0x38(%ebp)
5c999d:	e8 9e b8 e7 ff       	call   0x445240
5c99a2:	6a 11                	push   $0x11
5c99a4:	68 d4 e7 6c 00       	push   $0x6ce7d4
5c99a9:	8d 4d c8             	lea    -0x38(%ebp),%ecx
5c99ac:	e8 0f b7 e7 ff       	call   0x4450c0
5c99b1:	8d 45 e0             	lea    -0x20(%ebp),%eax
5c99b4:	50                   	push   %eax
5c99b5:	8d 45 f4             	lea    -0xc(%ebp),%eax
5c99b8:	50                   	push   %eax
5c99b9:	8d 85 10 ff ff ff    	lea    -0xf0(%ebp),%eax
5c99bf:	50                   	push   %eax
5c99c0:	83 ec 18             	sub    $0x18,%esp
5c99c3:	8d 45 c8             	lea    -0x38(%ebp),%eax
5c99c6:	8b cc                	mov    %esp,%ecx
5c99c8:	50                   	push   %eax
5c99c9:	e8 d2 33 e7 ff       	call   0x43cda0
5c99ce:	8d 4d f0             	lea    -0x10(%ebp),%ecx
5c99d1:	e8 ba b2 fe ff       	call   0x5b4c90
5c99d6:	85 c0                	test   %eax,%eax
5c99d8:	74 0a                	je     0x5c99e4
5c99da:	bb 02 00 00 00       	mov    $0x2,%ebx
5c99df:	e9 3c 01 00 00       	jmp    0x5c9b20
5c99e4:	8b 4d f4             	mov    -0xc(%ebp),%ecx
5c99e7:	85 c9                	test   %ecx,%ecx
5c99e9:	75 08                	jne    0x5c99f3
5c99eb:	8d 59 03             	lea    0x3(%ecx),%ebx
5c99ee:	e9 1f 01 00 00       	jmp    0x5c9b12
5c99f3:	c7 85 24 ff ff ff 00 	movl   $0x0,-0xdc(%ebp)
5c99fa:	00 00 00
5c99fd:	8b f3                	mov    %ebx,%esi
5c99ff:	c7 85 28 ff ff ff 0f 	movl   $0xf,-0xd8(%ebp)
5c9a06:	00 00 00
5c9a09:	c6 85 14 ff ff ff 00 	movb   $0x0,-0xec(%ebp)
5c9a10:	c7 85 3c ff ff ff 00 	movl   $0x0,-0xc4(%ebp)
5c9a17:	00 00 00
5c9a1a:	c7 85 40 ff ff ff 0f 	movl   $0xf,-0xc0(%ebp)
5c9a21:	00 00 00
5c9a24:	c6 85 2c ff ff ff 00 	movb   $0x0,-0xd4(%ebp)
5c9a2b:	c7 85 54 ff ff ff 00 	movl   $0x0,-0xac(%ebp)
5c9a32:	00 00 00
5c9a35:	c7 85 58 ff ff ff 0f 	movl   $0xf,-0xa8(%ebp)
5c9a3c:	00 00 00
5c9a3f:	c6 85 44 ff ff ff 00 	movb   $0x0,-0xbc(%ebp)
5c9a46:	83 f9 01             	cmp    $0x1,%ecx
5c9a49:	0f 8c b8 00 00 00    	jl     0x5c9b07
5c9a4f:	8b bd 10 ff ff ff    	mov    -0xf0(%ebp),%edi
5c9a55:	8b c6                	mov    %esi,%eax
5c9a57:	0f af 45 e0          	imul   -0x20(%ebp),%eax
5c9a5b:	8b 14 87             	mov    (%edi,%eax,4),%edx
5c9a5e:	8b 5c 87 04          	mov    0x4(%edi,%eax,4),%ebx
5c9a62:	8b 44 87 08          	mov    0x8(%edi,%eax,4),%eax
5c9a66:	89 45 f8             	mov    %eax,-0x8(%ebp)
5c9a69:	85 d2                	test   %edx,%edx
5c9a6b:	0f 84 88 00 00 00    	je     0x5c9af9
5c9a71:	85 db                	test   %ebx,%ebx
5c9a73:	0f 84 80 00 00 00    	je     0x5c9af9
5c9a79:	8b ca                	mov    %edx,%ecx
5c9a7b:	8d 79 01             	lea    0x1(%ecx),%edi
5c9a7e:	66 90                	xchg   %ax,%ax
5c9a80:	8a 01                	mov    (%ecx),%al
5c9a82:	41                   	inc    %ecx
5c9a83:	84 c0                	test   %al,%al
5c9a85:	75 f9                	jne    0x5c9a80
5c9a87:	2b cf                	sub    %edi,%ecx
5c9a89:	51                   	push   %ecx
5c9a8a:	52                   	push   %edx
5c9a8b:	8d 8d 14 ff ff ff    	lea    -0xec(%ebp),%ecx
5c9a91:	e8 aa b7 e7 ff       	call   0x445240
5c9a96:	8b cb                	mov    %ebx,%ecx
5c9a98:	8d 51 01             	lea    0x1(%ecx),%edx
5c9a9b:	0f 1f 44 00 00       	nopl   0x0(%eax,%eax,1)
5c9aa0:	8a 01                	mov    (%ecx),%al
5c9aa2:	41                   	inc    %ecx
5c9aa3:	84 c0                	test   %al,%al
5c9aa5:	75 f9                	jne    0x5c9aa0
5c9aa7:	2b ca                	sub    %edx,%ecx
5c9aa9:	51                   	push   %ecx
5c9aaa:	53                   	push   %ebx
5c9aab:	8d 8d 2c ff ff ff    	lea    -0xd4(%ebp),%ecx
5c9ab1:	e8 8a b7 e7 ff       	call   0x445240
5c9ab6:	8b 45 f8             	mov    -0x8(%ebp),%eax
5c9ab9:	ba 65 aa 68 00       	mov    $0x68aa65,%edx
5c9abe:	85 c0                	test   %eax,%eax
5c9ac0:	0f 45 d0             	cmovne %eax,%edx
5c9ac3:	8b ca                	mov    %edx,%ecx
5c9ac5:	8d 79 01             	lea    0x1(%ecx),%edi
5c9ac8:	8a 01                	mov    (%ecx),%al
5c9aca:	41                   	inc    %ecx
5c9acb:	84 c0                	test   %al,%al