42d697:	85 db                	test   %ebx,%ebx
42d699:	74 03                	je     0x42d69e
42d69b:	8b 5b 04             	mov    0x4(%ebx),%ebx
42d69e:	83 3d 34 58 4a 00 00 	cmpl   $0x0,0x4a5834
42d6a5:	89 5d f4             	mov    %ebx,-0xc(%ebp)
42d6a8:	74 0f                	je     0x42d6b9
42d6aa:	85 db                	test   %ebx,%ebx
42d6ac:	75 0b                	jne    0x42d6b9
42d6ae:	6a 0f                	push   $0xf
42d6b0:	ff 15 34 71 4a 00    	call   *0x4a7134
42d6b6:	89 45 f4             	mov    %eax,-0xc(%ebp)
42d6b9:	8d 45 c4             	lea    -0x3c(%ebp),%eax
42d6bc:	50                   	push   %eax
42d6bd:	6a 18                	push   $0x18
42d6bf:	56                   	push   %esi
42d6c0:	ff 15 20 71 4a 00    	call   *0x4a7120
42d6c6:	8b 55 08             	mov    0x8(%ebp),%edx
42d6c9:	66 85 d2             	test   %dx,%dx
42d6cc:	75 0a                	jne    0x42d6d8
42d6ce:	8b 45 d6             	mov    -0x2a(%ebp),%eax
42d6d1:	0f af 45 d4          	imul   -0x2c(%ebp),%eax
42d6d5:	0f b7 d0             	movzwl %ax,%edx
42d6d8:	33 db                	xor    %ebx,%ebx
42d6da:	43                   	inc    %ebx
42d6db:	66 3b d3             	cmp    %bx,%dx
42d6de:	77 04                	ja     0x42d6e4
42d6e0:	8b cb                	mov    %ebx,%ecx
42d6e2:	eb 18                	jmp    0x42d6fc
42d6e4:	6a 04                	push   $0x4
42d6e6:	59                   	pop    %ecx
42d6e7:	89 4d f0             	mov    %ecx,-0x10(%ebp)
42d6ea:	66 3b d1             	cmp    %cx,%dx
42d6ed:	76 10                	jbe    0x42d6ff
42d6ef:	6a 08                	push   $0x8
42d6f1:	58                   	pop    %eax
42d6f2:	66 3b c2             	cmp    %dx,%ax
42d6f5:	1b c9                	sbb    %ecx,%ecx
42d6f7:	83 e1 10             	and    $0x10,%ecx
42d6fa:	03 c8                	add    %eax,%ecx
42d6fc:	89 4d f0             	mov    %ecx,-0x10(%ebp)
42d6ff:	8b 45 c8             	mov    -0x38(%ebp),%eax
42d702:	89 45 a0             	mov    %eax,-0x60(%ebp)
42d705:	8b 45 cc             	mov    -0x34(%ebp),%eax
42d708:	66 89 4d aa          	mov    %cx,-0x56(%ebp)
42d70c:	33 c9                	xor    %ecx,%ecx
42d70e:	89 45 a4             	mov    %eax,-0x5c(%ebp)
42d711:	8b 45 18             	mov    0x18(%ebp),%eax
42d714:	6a 28                	push   $0x28
42d716:	5e                   	pop    %esi
42d717:	89 4d b0             	mov    %ecx,-0x50(%ebp)
42d71a:	89 45 b4             	mov    %eax,-0x4c(%ebp)
42d71d:	8b 45 1c             	mov    0x1c(%ebp),%eax
42d720:	89 4d bc             	mov    %ecx,-0x44(%ebp)
42d723:	89 4d c0             	mov    %ecx,-0x40(%ebp)
42d726:	8d 4d 9c             	lea    -0x64(%ebp),%ecx
42d729:	89 75 9c             	mov    %esi,-0x64(%ebp)
42d72c:	66 89 5d a8          	mov    %bx,-0x58(%ebp)
42d730:	89 7d ac             	mov    %edi,-0x54(%ebp)
42d733:	89 45 b8             	mov    %eax,-0x48(%ebp)
42d736:	e8 37 02 00 00       	call   0x42d972
42d73b:	8b 4d 14             	mov    0x14(%ebp),%ecx
42d73e:	0f b7 c0             	movzwl %ax,%eax
42d741:	03 c6                	add    %esi,%eax
42d743:	50                   	push   %eax
42d744:	6a 40                	push   $0x40
42d746:	89 45 dc             	mov    %eax,-0x24(%ebp)
42d749:	89 01                	mov    %eax,(%ecx)
42d74b:	ff 15 58 72 4a 00    	call   *0x4a7258
42d751:	89 45 f8             	mov    %eax,-0x8(%ebp)
42d754:	85 c0                	test   %eax,%eax
42d756:	75 10                	jne    0x42d768
42d758:	53                   	push   %ebx
42d759:	b9 e0 55 4a 00       	mov    $0x4a55e0,%ecx
42d75e:	e8 16 05 02 00       	call   0x44dc79
42d763:	e9 c4 01 00 00       	jmp    0x42d92c
42d768:	6a 0a                	push   $0xa
42d76a:	59                   	pop    %ecx
42d76b:	8b f8                	mov    %eax,%edi
42d76d:	8d 75 9c             	lea    -0x64(%ebp),%esi
42d770:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
42d772:	0f b7 45 d6          	movzwl -0x2a(%ebp),%eax
42d776:	33 ff                	xor    %edi,%edi
42d778:	57                   	push   %edi
42d779:	50                   	push   %eax
42d77a:	0f b7 45 d4          	movzwl -0x2c(%ebp),%eax
42d77e:	50                   	push   %eax
42d77f:	6a 02                	push   $0x2
42d781:	6a 02                	push   $0x2
42d783:	ff 15 5c 71 4a 00    	call   *0x4a715c
42d789:	8b f0                	mov    %eax,%esi
42d78b:	57                   	push   %edi
42d78c:	89 75 e4             	mov    %esi,-0x1c(%ebp)
42d78f:	ff 15 74 71 4a 00    	call   *0x4a7174
42d795:	8b d8                	mov    %eax,%ebx
42d797:	85 f6                	test   %esi,%esi
42d799:	0f 84 6c 01 00 00    	je     0x42d90b
42d79f:	56                   	push   %esi
42d7a0:	85 db                	test   %ebx,%ebx
42d7a2:	0f 84 5d 01 00 00    	je     0x42d905
42d7a8:	53                   	push   %ebx
42d7a9:	89 7d fc             	mov    %edi,-0x4(%ebp)
42d7ac:	ff 15 68 71 4a 00    	call   *0x4a7168
42d7b2:	89 45 ec             	mov    %eax,-0x14(%ebp)
42d7b5:	8b 45 f4             	mov    -0xc(%ebp),%eax
42d7b8:	85 c0                	test   %eax,%eax
42d7ba:	74 13                	je     0x42d7cf
42d7bc:	57                   	push   %edi
42d7bd:	50                   	push   %eax
42d7be:	53                   	push   %ebx
42d7bf:	ff 15 6c 71 4a 00    	call   *0x4a716c
42d7c5:	53                   	push   %ebx
42d7c6:	89 45 fc             	mov    %eax,-0x4(%ebp)
42d7c9:	ff 15 70 71 4a 00    	call   *0x4a7170
42d7cf:	8b 75 f8             	mov    -0x8(%ebp),%esi
42d7d2:	0f b7 55 a4          	movzwl -0x5c(%ebp),%edx
42d7d6:	57                   	push   %edi
42d7d7:	56                   	push   %esi
42d7d8:	57                   	push   %edi
42d7d9:	52                   	push   %edx
42d7da:	57                   	push   %edi
42d7db:	ff 75 e8             	push   -0x18(%ebp)
42d7de:	53                   	push   %ebx
42d7df:	ff 15 e8 70 4a 00    	call   *0x4a70e8
42d7e5:	6a 0a                	push   $0xa
42d7e7:	59                   	pop    %ecx
42d7e8:	8d 7d 9c             	lea    -0x64(%ebp),%edi
42d7eb:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
42d7ed:	8b 75 b0             	mov    -0x50(%ebp),%esi
42d7f0:	85 f6                	test   %esi,%esi
42d7f2:	75 2a                	jne    0x42d81e
42d7f4:	8b 45 f0             	mov    -0x10(%ebp),%eax
42d7f7:	0f b7 c0             	movzwl %ax,%eax
42d7fa:	0f af 45 a0          	imul   -0x60(%ebp),%eax
42d7fe:	83 c0 1f             	add    $0x1f,%eax
42d801:	c1 e8 05             	shr    $0x5,%eax
42d804:	0f af 45 a4          	imul   -0x5c(%ebp),%eax
42d808:	8b f0                	mov    %eax,%esi
42d80a:	c1 e6 02             	shl    $0x2,%esi
42d80d:	83 7d e0 00          	cmpl   $0x0,-0x20(%ebp)
42d811:	89 75 b0             	mov    %esi,-0x50(%ebp)
42d814:	74 08                	je     0x42d81e
42d816:	6b f0 0c             	imul   $0xc,%eax,%esi
42d819:	d1 ee                	shr    $1,%esi
42d81b:	89 75 b0             	mov    %esi,-0x50(%ebp)
42d81e:	8d 4d 9c             	lea    -0x64(%ebp),%ecx
42d821:	e8 4c 01 00 00       	call   0x42d972
42d826:	8b 4d 14             	mov    0x14(%ebp),%ecx
42d829:	0f b7 c0             	movzwl %ax,%eax
42d82c:	03 c6                	add    %esi,%eax
42d82e:	03 45 9c             	add    -0x64(%ebp),%eax
42d831:	50                   	push   %eax
42d832:	6a 40                	push   $0x40
42d834:	89 01                	mov    %eax,(%ecx)
42d836:	ff 15 58 72 4a 00    	call   *0x4a7258
42d83c:	8b f0                	mov    %eax,%esi
42d83e:	85 f6                	test   %esi,%esi
42d840:	75 12                	jne    0x42d854
42d842:	6a 01                	push   $0x1
42d844:	b9 e0 55 4a 00       	mov    $0x4a55e0,%ecx
42d849:	e8 2b 04 02 00       	call   0x44dc79
42d84e:	8b 7d f8             	mov    -0x8(%ebp),%edi
42d851:	57                   	push   %edi
42d852:	eb 42                	jmp    0x42d896
42d854:	ff 75 dc             	push   -0x24(%ebp)
42d857:	8b 7d f8             	mov    -0x8(%ebp),%edi
42d85a:	57                   	push   %edi
42d85b:	56                   	push   %esi
42d85c:	e8 cc 37 06 00       	call   0x49102d
42d861:	83 c4 0c             	add    $0xc,%esp
42d864:	57                   	push   %edi
42d865:	ff 15 5c 72 4a 00    	call   *0x4a725c
42d86b:	8b ce                	mov    %esi,%ecx
42d86d:	e8 00 01 00 00       	call   0x42d972
42d872:	8b 7e 14             	mov    0x14(%esi),%edi
42d875:	6a 00                	push   $0x0
42d877:	0f b7 c0             	movzwl %ax,%eax
42d87a:	03 06                	add    (%esi),%eax
42d87c:	56                   	push   %esi
42d87d:	03 c6                	add    %esi,%eax
42d87f:	50                   	push   %eax
42d880:	0f b7 45 a4          	movzwl -0x5c(%ebp),%eax
42d884:	50                   	push   %eax
42d885:	6a 00                	push   $0x0
42d887:	ff 75 e8             	push   -0x18(%ebp)
42d88a:	53                   	push   %ebx
42d88b:	ff 15 e8 70 4a 00    	call   *0x4a70e8
42d891:	85 c0                	test   %eax,%eax
42d893:	75 39                	jne    0x42d8ce
42d895:	56                   	push   %esi
42d896:	ff 15 5c 72 4a 00    	call   *0x4a725c
42d89c:	8b 45 ec             	mov    -0x14(%ebp),%eax
42d89f:	85 c0                	test   %eax,%eax
42d8a1:	74 08                	je     0x42d8ab
42d8a3:	50                   	push   %eax
42d8a4:	53                   	push   %ebx
42d8a5:	ff 15 68 71 4a 00    	call   *0x4a7168
42d8ab:	8b 45 fc             	mov    -0x4(%ebp),%eax
42d8ae:	85 c0                	test   %eax,%eax
42d8b0:	74 0a                	je     0x42d8bc
42d8b2:	6a 00                	push   $0x0
42d8b4:	50                   	push   %eax
42d8b5:	53                   	push   %ebx
42d8b6:	ff 15 6c 71 4a 00    	call   *0x4a716c
42d8bc:	ff 75 e4             	push   -0x1c(%ebp)
42d8bf:	ff 15 60 71 4a 00    	call   *0x4a7160
42d8c5:	53                   	push   %ebx
42d8c6:	ff 15 80 71 4a 00    	call   *0x4a7180
42d8cc:	eb 5e                	jmp    0x42d92c
42d8ce:	8b 45 ec             	mov    -0x14(%ebp),%eax
42d8d1:	89 7e 14             	mov    %edi,0x14(%esi)
42d8d4:	85 c0                	test   %eax,%eax
42d8d6:	74 08                	je     0x42d8e0
42d8d8:	50                   	push   %eax
42d8d9:	53                   	push   %ebx
42d8da:	ff 15 68 71 4a 00    	call   *0x4a7168
42d8e0:	8b 45 fc             	mov    -0x4(%ebp),%eax
42d8e3:	85 c0                	test   %eax,%eax
42d8e5:	74 0a                	je     0x42d8f1
42d8e7:	6a 00                	push   $0x0
42d8e9:	50                   	push   %eax
42d8ea:	53                   	push   %ebx
42d8eb:	ff 15 6c 71 4a 00    	call   *0x4a716c
42d8f1:	ff 75 e4             	push   -0x1c(%ebp)
42d8f4:	ff 15 60 71 4a 00    	call   *0x4a7160
42d8fa:	53                   	push   %ebx
42d8fb:	ff 15 80 71 4a 00    	call   *0x4a7180
42d901:	8b c6                	mov    %esi,%eax
42d903:	eb 29                	jmp    0x42d92e
42d905:	ff 15 60 71 4a 00    	call   *0x4a7160
42d90b:	85 db                	test   %ebx,%ebx
42d90d:	74 07                	je     0x42d916
42d90f:	53                   	push   %ebx
42d910:	ff 15 60 71 4a 00    	call   *0x4a7160
42d916:	8b 7d f8             	mov    -0x8(%ebp),%edi
42d919:	57                   	push   %edi
42d91a:	ff 15 5c 72 4a 00    	call   *0x4a725c
42d920:	6a 01                	push   $0x1
42d922:	b9 e0 55 4a 00       	mov    $0x4a55e0,%ecx
42d927:	e8 7b 03 02 00       	call   0x44dca7
42d92c:	33 c0                	xor    %eax,%eax
42d92e:	5f                   	pop    %edi
42d92f:	5e                   	pop    %esi
42d930:	5b                   	pop    %ebx
42d931:	c9                   	leave
42d932:	c2 18 00             	ret    $0x18
42d935:	83 39 28             	cmpl   $0x28,(%ecx)
42d938:	72 11                	jb     0x42d94b
42d93a:	85 d2                	test   %edx,%edx
42d93c:	74 07                	je     0x42d945
42d93e:	8b 41 20             	mov    0x20(%ecx),%eax
42d941:	85 c0                	test   %eax,%eax
42d943:	75 2c                	jne    0x42d971
42d945:	0f b7 41 0e          	movzwl 0xe(%ecx),%eax
42d949:	eb 04                	jmp    0x42d94f
42d94b:	0f b7 41 0a          	movzwl 0xa(%ecx),%eax
42d94f:	0f b7 c0             	movzwl %ax,%eax
42d952:	83 e8 01             	sub    $0x1,%eax
42d955:	74 17                	je     0x42d96e
42d957:	83 e8 03             	sub    $0x3,%eax
42d95a:	74 0e                	je     0x42d96a
42d95c:	83 e8 04             	sub    $0x4,%eax
42d95f:	74 03                	je     0x42d964
42d961:	33 c0                	xor    %eax,%eax
42d963:	c3                   	ret
42d964:	b8 00 01 00 00       	mov    $0x100,%eax
42d969:	c3                   	ret
42d96a:	6a 10                	push   $0x10
42d96c:	58                   	pop    %eax
42d96d:	c3                   	ret
42d96e:	6a 02                	push   $0x2
42d970:	58                   	pop    %eax
42d971:	c3                   	ret
42d972:	83 39 28             	cmpl   $0x28,(%ecx)
42d975:	72 12                	jb     0x42d989
42d977:	83 79 10 03          	cmpl   $0x3,0x10(%ecx)
42d97b:	75 0c                	jne    0x42d989
42d97d:	83 39 6c             	cmpl   $0x6c,(%ecx)
42d980:	72 03                	jb     0x42d985
42d982:	33 c0                	xor    %eax,%eax
42d984:	c3                   	ret
42d985:	6a 0c                	push   $0xc
42d987:	58                   	pop    %eax
42d988:	c3                   	ret
42d989:	33 d2                	xor    %edx,%edx
42d98b:	42                   	inc    %edx
42d98c:	e8 a4 ff ff ff       	call   0x42d935
42d991:	83 39 28             	cmpl   $0x28,(%ecx)
42d994:	0f b7 c0             	movzwl %ax,%eax
42d997:	1b c9                	sbb    %ecx,%ecx
42d999:	83 c1 04             	add    $0x4,%ecx
42d99c:	0f b7 c9             	movzwl %cx,%ecx
42d99f:	0f af c1             	imul   %ecx,%eax
42d9a2:	c3                   	ret
42d9a3:	8b ff                	mov    %edi,%edi
42d9a5:	56                   	push   %esi
42d9a6:	57                   	push   %edi
42d9a7:	8b f2                	mov    %edx,%esi
42d9a9:	8b f9                	mov    %ecx,%edi
42d9ab:	e8 c2 ff ff ff       	call   0x42d972
42d9b0:	0f b7 c0             	movzwl %ax,%eax
42d9b3:	03 07                	add    (%edi),%eax
42d9b5:	3b f0                	cmp    %eax,%esi
42d9b7:	77 02                	ja     0x42d9bb
42d9b9:	8b f0                	mov    %eax,%esi
42d9bb:	8d 04 3e             	lea    (%esi,%edi,1),%eax
42d9be:	5f                   	pop    %edi
42d9bf:	5e                   	pop    %esi
42d9c0:	c3                   	ret
42d9c1:	83 39 28             	cmpl   $0x28,(%ecx)
42d9c4:	72 09                	jb     0x42d9cf
42d9c6:	8b 41 04             	mov    0x4(%ecx),%eax
42d9c9:	99                   	cltd
42d9ca:	33 c2                	xor    %edx,%eax
42d9cc:	2b c2                	sub    %edx,%eax
42d9ce:	c3                   	ret
42d9cf:	0f b7 41 04          	movzwl 0x4(%ecx),%eax
42d9d3:	c3                   	ret
42d9d4:	83 39 28             	cmpl   $0x28,(%ecx)
42d9d7:	72 09                	jb     0x42d9e2
42d9d9:	8b 41 08             	mov    0x8(%ecx),%eax
42d9dc:	99                   	cltd
42d9dd:	33 c2                	xor    %edx,%eax
42d9df:	2b c2                	sub    %edx,%eax
42d9e1:	c3                   	ret
42d9e2:	0f b7 41 06          	movzwl 0x6(%ecx),%eax
42d9e6:	c3                   	ret
42d9e7:	6a 20                	push   $0x20
42d9e9:	b8 8b 25 49 00       	mov    $0x49258b,%eax
42d9ee:	e8 e0 2a 06 00       	call   0x4904d3
42d9f3:	89 55 f0             	mov    %edx,-0x10(%ebp)
42d9f6:	8b f1                	mov    %ecx,%esi
42d9f8:	85 f6                	test   %esi,%esi
42d9fa:	0f 84 f2 00 00 00    	je     0x42daf2
42da00:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
42da04:	0f 84 e8 00 00 00    	je     0x42daf2
42da0a:	e8 63 ff ff ff       	call   0x42d972
42da0f:	0f b7 c0             	movzwl %ax,%eax
42da12:	33 db                	xor    %ebx,%ebx
42da14:	03 06                	add    (%esi),%eax
42da16:	33 ff                	xor    %edi,%edi
42da18:	21 5d e8             	and    %ebx,-0x18(%ebp)
42da1b:	03 c6                	add    %esi,%eax
42da1d:	89 45 ec             	mov    %eax,-0x14(%ebp)
42da20:	c7 45 e4 1c 14 40 00 	movl   $0x40141c,-0x1c(%ebp)
42da27:	21 7d fc             	and    %edi,-0x4(%ebp)
42da2a:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
42da2d:	ff 15 80 75 4a 00    	call   *0x4a7580
42da33:	ff 75 08             	push   0x8(%ebp)
42da36:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
42da39:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)