4297ba:	8d 4d f8             	lea    -0x8(%ebp),%ecx
4297bd:	3b c1                	cmp    %ecx,%eax
4297bf:	72 db                	jb     0x42979c
4297c1:	6a 00                	push   $0x0
4297c3:	6a 00                	push   $0x0
4297c5:	68 55 0d 00 00       	push   $0xd55
4297ca:	8d 8d f8 eb ff ff    	lea    -0x1408(%ebp),%ecx
4297d0:	51                   	push   %ecx
4297d1:	8d 8d 50 f9 ff ff    	lea    -0x6b0(%ebp),%ecx
4297d7:	2b c1                	sub    %ecx,%eax
4297d9:	d1 f8                	sar    $1,%eax
4297db:	50                   	push   %eax
4297dc:	8b c1                	mov    %ecx,%eax
4297de:	50                   	push   %eax
4297df:	6a 00                	push   $0x0
4297e1:	68 e9 fd 00 00       	push   $0xfde9
4297e6:	e8 ff 95 ff ff       	call   0x422dea
4297eb:	8b 75 08             	mov    0x8(%ebp),%esi
4297ee:	83 c4 20             	add    $0x20,%esp
4297f1:	89 85 e8 eb ff ff    	mov    %eax,-0x1418(%ebp)
4297f7:	85 c0                	test   %eax,%eax
4297f9:	74 51                	je     0x42984c
4297fb:	33 db                	xor    %ebx,%ebx
4297fd:	85 c0                	test   %eax,%eax
4297ff:	74 35                	je     0x429836
429801:	6a 00                	push   $0x0
429803:	8d 8d ec eb ff ff    	lea    -0x1414(%ebp),%ecx
429809:	2b c3                	sub    %ebx,%eax
42980b:	51                   	push   %ecx
42980c:	50                   	push   %eax
42980d:	8d 85 f8 eb ff ff    	lea    -0x1408(%ebp),%eax
429813:	03 c3                	add    %ebx,%eax
429815:	50                   	push   %eax
429816:	ff b5 f0 eb ff ff    	push   -0x1410(%ebp)
42981c:	ff 15 e0 10 43 00    	call   *0x4310e0
429822:	85 c0                	test   %eax,%eax
429824:	74 26                	je     0x42984c
429826:	03 9d ec eb ff ff    	add    -0x1414(%ebp),%ebx
42982c:	8b 85 e8 eb ff ff    	mov    -0x1418(%ebp),%eax
429832:	3b d8                	cmp    %eax,%ebx
429834:	72 cb                	jb     0x429801
429836:	8b c7                	mov    %edi,%eax
429838:	2b 45 10             	sub    0x10(%ebp),%eax
42983b:	89 46 04             	mov    %eax,0x4(%esi)
42983e:	3b bd f4 eb ff ff    	cmp    -0x140c(%ebp),%edi
429844:	0f 82 46 ff ff ff    	jb     0x429790
42984a:	eb 08                	jmp    0x429854
42984c:	ff 15 08 11 43 00    	call   *0x431108
429852:	89 06                	mov    %eax,(%esi)
429854:	8b 4d fc             	mov    -0x4(%ebp),%ecx
429857:	8b c6                	mov    %esi,%eax
429859:	5f                   	pop    %edi
42985a:	5e                   	pop    %esi
42985b:	33 cd                	xor    %ebp,%ecx
42985d:	5b                   	pop    %ebx
42985e:	e8 44 04 fe ff       	call   0x409ca7
429863:	c9                   	leave
429864:	c3                   	ret
429865:	8b ff                	mov    %edi,%edi
429867:	55                   	push   %ebp
429868:	8b ec                	mov    %esp,%ebp
42986a:	83 ec 28             	sub    $0x28,%esp
42986d:	8d 4d d8             	lea    -0x28(%ebp),%ecx
429870:	56                   	push   %esi
429871:	6a 00                	push   $0x0
429873:	e8 6a 38 fe ff       	call   0x40d0e2
429878:	8d 45 d8             	lea    -0x28(%ebp),%eax
42987b:	50                   	push   %eax
42987c:	ff 75 10             	push   0x10(%ebp)
42987f:	ff 75 0c             	push   0xc(%ebp)
429882:	ff 75 08             	push   0x8(%ebp)
429885:	e8 12 00 00 00       	call   0x42989c
42988a:	83 c4 10             	add    $0x10,%esp
42988d:	8d 4d d8             	lea    -0x28(%ebp),%ecx
429890:	8b f0                	mov    %eax,%esi
429892:	e8 93 38 fe ff       	call   0x40d12a
429897:	8b c6                	mov    %esi,%eax
429899:	5e                   	pop    %esi
42989a:	c9                   	leave
42989b:	c3                   	ret
42989c:	6a 14                	push   $0x14
42989e:	68 60 b1 43 00       	push   $0x43b160
4298a3:	e8 28 0c fe ff       	call   0x40a4d0
4298a8:	8b 7d 08             	mov    0x8(%ebp),%edi
4298ab:	83 ff fe             	cmp    $0xfffffffe,%edi
4298ae:	75 1e                	jne    0x4298ce
4298b0:	8b 45 14             	mov    0x14(%ebp),%eax
4298b3:	c6 40 24 01          	movb   $0x1,0x24(%eax)
4298b7:	83 60 20 00          	andl   $0x0,0x20(%eax)
4298bb:	c6 40 1c 01          	movb   $0x1,0x1c(%eax)
4298bf:	c7 40 18 09 00 00 00 	movl   $0x9,0x18(%eax)
4298c6:	83 c8 ff             	or     $0xffffffff,%eax
4298c9:	e9 c1 00 00 00       	jmp    0x42998f
4298ce:	85 ff                	test   %edi,%edi
4298d0:	78 0f                	js     0x4298e1
4298d2:	3b 3d 00 fa 43 00    	cmp    0x43fa00,%edi
4298d8:	73 07                	jae    0x4298e1
4298da:	33 c0                	xor    %eax,%eax
4298dc:	40                   	inc    %eax
4298dd:	33 f6                	xor    %esi,%esi
4298df:	eb 04                	jmp    0x4298e5
4298e1:	33 f6                	xor    %esi,%esi
4298e3:	8b c6                	mov    %esi,%eax
4298e5:	85 c0                	test   %eax,%eax
4298e7:	75 25                	jne    0x42990e
4298e9:	8b 45 14             	mov    0x14(%ebp),%eax
4298ec:	c6 40 24 01          	movb   $0x1,0x24(%eax)
4298f0:	89 70 20             	mov    %esi,0x20(%eax)
4298f3:	c6 40 1c 01          	movb   $0x1,0x1c(%eax)
4298f7:	c7 40 18 09 00 00 00 	movl   $0x9,0x18(%eax)
4298fe:	50                   	push   %eax
4298ff:	56                   	push   %esi
429900:	56                   	push   %esi
429901:	56                   	push   %esi
429902:	56                   	push   %esi
429903:	56                   	push   %esi
429904:	e8 68 3a fe ff       	call   0x40d371
429909:	83 c4 18             	add    $0x18,%esp
42990c:	eb b8                	jmp    0x4298c6
42990e:	8b cf                	mov    %edi,%ecx
429910:	c1 f9 06             	sar    $0x6,%ecx
429913:	89 4d e0             	mov    %ecx,-0x20(%ebp)
429916:	8b c7                	mov    %edi,%eax
429918:	83 e0 3f             	and    $0x3f,%eax
42991b:	6b d0 38             	imul   $0x38,%eax,%edx
42991e:	89 55 dc             	mov    %edx,-0x24(%ebp)
429921:	8b 04 8d 00 f8 43 00 	mov    0x43f800(,%ecx,4),%eax
429928:	f6 44 10 28 01       	testb  $0x1,0x28(%eax,%edx,1)
42992d:	74 ba                	je     0x4298e9
42992f:	57                   	push   %edi
429930:	e8 eb 6f ff ff       	call   0x420920
429935:	59                   	pop    %ecx
429936:	83 cb ff             	or     $0xffffffff,%ebx
429939:	89 5d e4             	mov    %ebx,-0x1c(%ebp)
42993c:	89 75 fc             	mov    %esi,-0x4(%ebp)
42993f:	8b 45 e0             	mov    -0x20(%ebp),%eax
429942:	8b 04 85 00 f8 43 00 	mov    0x43f800(,%eax,4),%eax
429949:	8b 4d dc             	mov    -0x24(%ebp),%ecx
42994c:	f6 44 01 28 01       	testb  $0x1,0x28(%ecx,%eax,1)
429951:	75 17                	jne    0x42996a
429953:	8b 45 14             	mov    0x14(%ebp),%eax
429956:	c6 40 1c 01          	movb   $0x1,0x1c(%eax)
42995a:	c7 40 18 09 00 00 00 	movl   $0x9,0x18(%eax)
429961:	c6 40 24 01          	movb   $0x1,0x24(%eax)
429965:	89 70 20             	mov    %esi,0x20(%eax)
429968:	eb 17                	jmp    0x429981
42996a:	ff 75 14             	push   0x14(%ebp)
42996d:	ff 75 10             	push   0x10(%ebp)
429970:	ff 75 0c             	push   0xc(%ebp)
429973:	57                   	push   %edi
429974:	e8 34 00 00 00       	call   0x4299ad
429979:	83 c4 10             	add    $0x10,%esp
42997c:	8b d8                	mov    %eax,%ebx
42997e:	89 5d e4             	mov    %ebx,-0x1c(%ebp)
429981:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
429988:	e8 18 00 00 00       	call   0x4299a5
42998d:	8b c3                	mov    %ebx,%eax
42998f:	8b 4d f0             	mov    -0x10(%ebp),%ecx
429992:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
429999:	59                   	pop    %ecx
42999a:	5f                   	pop    %edi
42999b:	5e                   	pop    %esi
42999c:	5b                   	pop    %ebx
42999d:	c9                   	leave
42999e:	c3                   	ret
42999f:	8b 7d 08             	mov    0x8(%ebp),%edi
4299a2:	8b 5d e4             	mov    -0x1c(%ebp),%ebx
4299a5:	57                   	push   %edi
4299a6:	e8 2a 70 ff ff       	call   0x4209d5
4299ab:	59                   	pop    %ecx
4299ac:	c3                   	ret
4299ad:	8b ff                	mov    %edi,%edi
4299af:	55                   	push   %ebp
4299b0:	8b ec                	mov    %esp,%ebp
4299b2:	83 ec 30             	sub    $0x30,%esp
4299b5:	8b 55 10             	mov    0x10(%ebp),%edx
4299b8:	8b 4d 08             	mov    0x8(%ebp),%ecx
4299bb:	8b 45 0c             	mov    0xc(%ebp),%eax
4299be:	89 4d f0             	mov    %ecx,-0x10(%ebp)
4299c1:	89 45 f8             	mov    %eax,-0x8(%ebp)
4299c4:	89 55 f4             	mov    %edx,-0xc(%ebp)
4299c7:	53                   	push   %ebx
4299c8:	8b 5d 14             	mov    0x14(%ebp),%ebx
4299cb:	56                   	push   %esi
4299cc:	57                   	push   %edi
4299cd:	85 d2                	test   %edx,%edx
4299cf:	0f 84 ed 01 00 00    	je     0x429bc2
4299d5:	85 c0                	test   %eax,%eax
4299d7:	75 2a                	jne    0x429a03
4299d9:	33 c0                	xor    %eax,%eax
4299db:	c6 43 24 01          	movb   $0x1,0x24(%ebx)
4299df:	53                   	push   %ebx
4299e0:	50                   	push   %eax
4299e1:	50                   	push   %eax
4299e2:	50                   	push   %eax
4299e3:	89 43 20             	mov    %eax,0x20(%ebx)
4299e6:	50                   	push   %eax
4299e7:	c6 43 1c 01          	movb   $0x1,0x1c(%ebx)
4299eb:	50                   	push   %eax
4299ec:	c7 43 18 16 00 00 00 	movl   $0x16,0x18(%ebx)
4299f3:	e8 79 39 fe ff       	call   0x40d371
4299f8:	83 c4 18             	add    $0x18,%esp
4299fb:	83 c8 ff             	or     $0xffffffff,%eax
4299fe:	e9 c1 01 00 00       	jmp    0x429bc4
429a03:	8b c1                	mov    %ecx,%eax
429a05:	8b f1                	mov    %ecx,%esi
429a07:	83 e0 3f             	and    $0x3f,%eax
429a0a:	c1 fe 06             	sar    $0x6,%esi
429a0d:	6b f8 38             	imul   $0x38,%eax,%edi
429a10:	89 75 ec             	mov    %esi,-0x14(%ebp)
429a13:	8b 04 b5 00 f8 43 00 	mov    0x43f800(,%esi,4),%eax
429a1a:	89 7d e8             	mov    %edi,-0x18(%ebp)
429a1d:	8a 44 07 29          	mov    0x29(%edi,%eax,1),%al
429a21:	88 45 ff             	mov    %al,-0x1(%ebp)
429a24:	3c 02                	cmp    $0x2,%al
429a26:	74 04                	je     0x429a2c
429a28:	3c 01                	cmp    $0x1,%al
429a2a:	75 08                	jne    0x429a34
429a2c:	8b c2                	mov    %edx,%eax
429a2e:	f7 d0                	not    %eax
429a30:	a8 01                	test   $0x1,%al
429a32:	74 a5                	je     0x4299d9
429a34:	8b 55 ec             	mov    -0x14(%ebp),%edx
429a37:	33 f6                	xor    %esi,%esi
429a39:	8b 04 95 00 f8 43 00 	mov    0x43f800(,%edx,4),%eax
429a40:	f6 44 07 28 20       	testb  $0x20,0x28(%edi,%eax,1)
429a45:	74 11                	je     0x429a58
429a47:	53                   	push   %ebx
429a48:	6a 02                	push   $0x2
429a4a:	56                   	push   %esi
429a4b:	56                   	push   %esi
429a4c:	51                   	push   %ecx
429a4d:	e8 e8 7f ff ff       	call   0x421a3a
429a52:	8b 4d f0             	mov    -0x10(%ebp),%ecx
429a55:	83 c4 14             	add    $0x14,%esp
429a58:	53                   	push   %ebx
429a59:	8b fe                	mov    %esi,%edi
429a5b:	51                   	push   %ecx
429a5c:	89 7d dc             	mov    %edi,-0x24(%ebp)
429a5f:	e8 8e fa ff ff       	call   0x4294f2
429a64:	59                   	pop    %ecx
429a65:	59                   	pop    %ecx
429a66:	84 c0                	test   %al,%al
429a68:	74 47                	je     0x429ab1
429a6a:	0f be 45 ff          	movsbl -0x1(%ebp),%eax
429a6e:	2b c6                	sub    %esi,%eax
429a70:	74 27                	je     0x429a99
429a72:	83 e8 01             	sub    $0x1,%eax
429a75:	74 09                	je     0x429a80
429a77:	83 e8 01             	sub    $0x1,%eax
429a7a:	0f 85 da 00 00 00    	jne    0x429b5a
429a80:	ff 75 f4             	push   -0xc(%ebp)
429a83:	8d 45 d0             	lea    -0x30(%ebp),%eax
429a86:	ff 75 f8             	push   -0x8(%ebp)
429a89:	50                   	push   %eax
429a8a:	e8 fb f9 ff ff       	call   0x42948a
429a8f:	83 c4 0c             	add    $0xc,%esp
429a92:	8b f0                	mov    %eax,%esi
429a94:	e9 af 00 00 00       	jmp    0x429b48
429a99:	53                   	push   %ebx
429a9a:	ff 75 f4             	push   -0xc(%ebp)
429a9d:	8d 45 d0             	lea    -0x30(%ebp),%eax
429aa0:	ff 75 f8             	push   -0x8(%ebp)
429aa3:	ff 75 f0             	push   -0x10(%ebp)
429aa6:	50                   	push   %eax
429aa7:	e8 17 f6 ff ff       	call   0x4290c3
429aac:	83 c4 14             	add    $0x14,%esp
429aaf:	eb e1                	jmp    0x429a92
429ab1:	8b 55 ec             	mov    -0x14(%ebp),%edx
429ab4:	8b 4d e8             	mov    -0x18(%ebp),%ecx
429ab7:	8b 04 95 00 f8 43 00 	mov    0x43f800(,%edx,4),%eax
429abe:	80 7c 08 28 00       	cmpb   $0x0,0x28(%eax,%ecx,1)
429ac3:	7d 55                	jge    0x429b1a
429ac5:	0f be 45 ff          	movsbl -0x1(%ebp),%eax
429ac9:	2b c6                	sub    %esi,%eax
429acb:	74 39                	je     0x429b06
429acd:	83 e8 01             	sub    $0x1,%eax
429ad0:	74 20                	je     0x429af2
429ad2:	83 e8 01             	sub    $0x1,%eax
429ad5:	0f 85 85 00 00 00    	jne    0x429b60
429adb:	ff 75 f4             	push   -0xc(%ebp)
429ade:	8d 45 d0             	lea    -0x30(%ebp),%eax
429ae1:	ff 75 f8             	push   -0x8(%ebp)
429ae4:	ff 75 f0             	push   -0x10(%ebp)
429ae7:	50                   	push   %eax
429ae8:	e8 5d fb ff ff       	call   0x42964a
429aed:	83 c4 10             	add    $0x10,%esp
429af0:	eb a0                	jmp    0x429a92
429af2:	ff 75 f4             	push   -0xc(%ebp)
429af5:	8d 45 d0             	lea    -0x30(%ebp),%eax
429af8:	ff 75 f8             	push   -0x8(%ebp)
429afb:	ff 75 f0             	push   -0x10(%ebp)
429afe:	50                   	push   %eax
429aff:	e8 2f fc ff ff       	call   0x429733
429b04:	eb e7                	jmp    0x429aed
429b06:	ff 75 f4             	push   -0xc(%ebp)
429b09:	8d 45 d0             	lea    -0x30(%ebp),%eax
429b0c:	ff 75 f8             	push   -0x8(%ebp)
429b0f:	ff 75 f0             	push   -0x10(%ebp)
429b12:	50                   	push   %eax
429b13:	e8 57 fa ff ff       	call   0x42956f
429b18:	eb d3                	jmp    0x429aed
429b1a:	8b 4c 08 18          	mov    0x18(%eax,%ecx,1),%ecx
429b1e:	8d 7d d0             	lea    -0x30(%ebp),%edi
429b21:	33 c0                	xor    %eax,%eax
429b23:	ab                   	stos   %eax,%es:(%edi)
429b24:	56                   	push   %esi
429b25:	ab                   	stos   %eax,%es:(%edi)
429b26:	ab                   	stos   %eax,%es:(%edi)
429b27:	8d 45 d4             	lea    -0x2c(%ebp),%eax
429b2a:	50                   	push   %eax
429b2b:	ff 75 f4             	push   -0xc(%ebp)
429b2e:	ff 75 f8             	push   -0x8(%ebp)
429b31:	51                   	push   %ecx
429b32:	ff 15 e0 10 43 00    	call   *0x4310e0
429b38:	85 c0                	test   %eax,%eax
429b3a:	75 09                	jne    0x429b45
429b3c:	ff 15 08 11 43 00    	call   *0x431108
429b42:	89 45 d0             	mov    %eax,-0x30(%ebp)
429b45:	8d 75 d0             	lea    -0x30(%ebp),%esi
429b48:	8d 7d dc             	lea    -0x24(%ebp),%edi
429b4b:	a5                   	movsl  %ds:(%esi),%es:(%edi)
429b4c:	a5                   	movsl  %ds:(%esi),%es:(%edi)
429b4d:	a5                   	movsl  %ds:(%esi),%es:(%edi)
429b4e:	8b 45 e0             	mov    -0x20(%ebp),%eax
429b51:	85 c0                	test   %eax,%eax
429b53:	75 68                	jne    0x429bbd
429b55:	8b 7d dc             	mov    -0x24(%ebp),%edi
429b58:	33 f6                	xor    %esi,%esi
429b5a:	8b 55 ec             	mov    -0x14(%ebp),%edx
429b5d:	8b 4d e8             	mov    -0x18(%ebp),%ecx
429b60:	85 ff                	test   %edi,%edi
429b62:	74 2c                	je     0x429b90
429b64:	6a 05                	push   $0x5
429b66:	58                   	pop    %eax
429b67:	3b f8                	cmp    %eax,%edi
429b69:	75 17                	jne    0x429b82
429b6b:	c6 43 1c 01          	movb   $0x1,0x1c(%ebx)
429b6f:	c7 43 18 09 00 00 00 	movl   $0x9,0x18(%ebx)
429b76:	c6 43 24 01          	movb   $0x1,0x24(%ebx)
429b7a:	89 43 20             	mov    %eax,0x20(%ebx)
429b7d:	e9 79 fe ff ff       	jmp    0x4299fb
429b82:	53                   	push   %ebx
429b83:	57                   	push   %edi
429b84:	e8 b1 2a ff ff       	call   0x41c63a
429b89:	59                   	pop    %ecx
429b8a:	59                   	pop    %ecx
429b8b:	e9 6b fe ff ff       	jmp    0x4299fb
429b90:	8b 04 95 00 f8 43 00 	mov    0x43f800(,%edx,4),%eax
429b97:	f6 44 08 28 40       	testb  $0x40,0x28(%eax,%ecx,1)