42479c:	c7 00 09 00 00 00    	movl   $0x9,(%eax)
4247a2:	e9 99 00 00 00       	jmp    0x424840
4247a7:	85 f6                	test   %esi,%esi
4247a9:	0f 88 81 00 00 00    	js     0x424830
4247af:	3b 35 8c 51 4c 00    	cmp    0x4c518c,%esi
4247b5:	73 79                	jae    0x424830
4247b7:	8b c6                	mov    %esi,%eax
4247b9:	c1 f8 05             	sar    $0x5,%eax
4247bc:	89 45 0c             	mov    %eax,0xc(%ebp)
4247bf:	8b de                	mov    %esi,%ebx
4247c1:	83 e3 1f             	and    $0x1f,%ebx
4247c4:	c1 e3 06             	shl    $0x6,%ebx
4247c7:	8b 04 85 e0 49 4c 00 	mov    0x4c49e0(,%eax,4),%eax
4247ce:	0f be 44 18 04       	movsbl 0x4(%eax,%ebx,1),%eax
4247d3:	83 e0 01             	and    $0x1,%eax
4247d6:	74 58                	je     0x424830
4247d8:	56                   	push   %esi
4247d9:	e8 68 8c 00 00       	call   0x42d446
4247de:	59                   	pop    %ecx
4247df:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
4247e3:	8b 45 0c             	mov    0xc(%ebp),%eax
4247e6:	8b 04 85 e0 49 4c 00 	mov    0x4c49e0(,%eax,4),%eax
4247ed:	f6 44 18 04 01       	testb  $0x1,0x4(%eax,%ebx,1)
4247f2:	74 0d                	je     0x424801
4247f4:	57                   	push   %edi
4247f5:	56                   	push   %esi
4247f6:	e8 4e 00 00 00       	call   0x424849
4247fb:	59                   	pop    %ecx
4247fc:	59                   	pop    %ecx
4247fd:	8b f8                	mov    %eax,%edi
4247ff:	eb 0e                	jmp    0x42480f
424801:	e8 62 45 00 00       	call   0x428d68
424806:	c7 00 09 00 00 00    	movl   $0x9,(%eax)
42480c:	83 cf ff             	or     $0xffffffff,%edi
42480f:	89 7d e4             	mov    %edi,-0x1c(%ebp)
424812:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
424819:	e8 0a 00 00 00       	call   0x424828
42481e:	8b c7                	mov    %edi,%eax
424820:	eb 21                	jmp    0x424843
424822:	8b 75 08             	mov    0x8(%ebp),%esi
424825:	8b 7d e4             	mov    -0x1c(%ebp),%edi
424828:	56                   	push   %esi
424829:	e8 be 8f 00 00       	call   0x42d7ec
42482e:	59                   	pop    %ecx
42482f:	c3                   	ret
424830:	e8 33 45 00 00       	call   0x428d68
424835:	c7 00 09 00 00 00    	movl   $0x9,(%eax)
42483b:	e8 b6 47 00 00       	call   0x428ff6
424840:	83 c8 ff             	or     $0xffffffff,%eax
424843:	e8 3d 43 00 00       	call   0x428b85
424848:	c3                   	ret
424849:	55                   	push   %ebp
42484a:	8b ec                	mov    %esp,%ebp
42484c:	53                   	push   %ebx
42484d:	56                   	push   %esi
42484e:	8b 75 08             	mov    0x8(%ebp),%esi
424851:	8b de                	mov    %esi,%ebx
424853:	c1 fb 05             	sar    $0x5,%ebx
424856:	83 e6 1f             	and    $0x1f,%esi
424859:	c1 e6 06             	shl    $0x6,%esi
42485c:	57                   	push   %edi
42485d:	8b 3c 9d e0 49 4c 00 	mov    0x4c49e0(,%ebx,4),%edi
424864:	8a 4c 37 04          	mov    0x4(%edi,%esi,1),%cl
424868:	0f b6 c1             	movzbl %cl,%eax
42486b:	25 80 00 00 00       	and    $0x80,%eax
424870:	89 45 08             	mov    %eax,0x8(%ebp)
424873:	8a 44 37 24          	mov    0x24(%edi,%esi,1),%al
424877:	02 c0                	add    %al,%al
424879:	0f be d0             	movsbl %al,%edx
42487c:	8b 45 0c             	mov    0xc(%ebp),%eax
42487f:	d1 fa                	sar    $1,%edx
424881:	3d 00 40 00 00       	cmp    $0x4000,%eax
424886:	74 59                	je     0x4248e1
424888:	3d 00 80 00 00       	cmp    $0x8000,%eax
42488d:	74 49                	je     0x4248d8
42488f:	3d 00 00 01 00       	cmp    $0x10000,%eax
424894:	74 2a                	je     0x4248c0
424896:	3d 00 00 02 00       	cmp    $0x20000,%eax
42489b:	74 23                	je     0x4248c0
42489d:	3d 00 00 04 00       	cmp    $0x40000,%eax
4248a2:	75 50                	jne    0x4248f4
4248a4:	80 c9 80             	or     $0x80,%cl
4248a7:	88 4c 37 04          	mov    %cl,0x4(%edi,%esi,1)
4248ab:	8b 0c 9d e0 49 4c 00 	mov    0x4c49e0(,%ebx,4),%ecx
4248b2:	8a 44 31 24          	mov    0x24(%ecx,%esi,1),%al
4248b6:	24 81                	and    $0x81,%al
4248b8:	0c 01                	or     $0x1,%al
4248ba:	88 44 31 24          	mov    %al,0x24(%ecx,%esi,1)
4248be:	eb 34                	jmp    0x4248f4
4248c0:	80 c9 80             	or     $0x80,%cl
4248c3:	88 4c 37 04          	mov    %cl,0x4(%edi,%esi,1)
4248c7:	8b 0c 9d e0 49 4c 00 	mov    0x4c49e0(,%ebx,4),%ecx
4248ce:	8a 44 31 24          	mov    0x24(%ecx,%esi,1),%al
4248d2:	24 82                	and    $0x82,%al
4248d4:	0c 02                	or     $0x2,%al
4248d6:	eb e2                	jmp    0x4248ba
4248d8:	80 e1 7f             	and    $0x7f,%cl
4248db:	88 4c 37 04          	mov    %cl,0x4(%edi,%esi,1)
4248df:	eb 13                	jmp    0x4248f4
4248e1:	80 c9 80             	or     $0x80,%cl
4248e4:	88 4c 37 04          	mov    %cl,0x4(%edi,%esi,1)
4248e8:	8b 04 9d e0 49 4c 00 	mov    0x4c49e0(,%ebx,4),%eax
4248ef:	80 64 30 24 80       	andb   $0x80,0x24(%eax,%esi,1)
4248f4:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
4248f8:	5f                   	pop    %edi
4248f9:	5e                   	pop    %esi
4248fa:	5b                   	pop    %ebx
4248fb:	75 07                	jne    0x424904
4248fd:	b8 00 80 00 00       	mov    $0x8000,%eax
424902:	5d                   	pop    %ebp
424903:	c3                   	ret
424904:	f7 da                	neg    %edx
424906:	1b d2                	sbb    %edx,%edx
424908:	81 e2 00 c0 00 00    	and    $0xc000,%edx
42490e:	8d 82 00 40 00 00    	lea    0x4000(%edx),%eax
424914:	5d                   	pop    %ebp
424915:	c3                   	ret
424916:	55                   	push   %ebp
424917:	8b ec                	mov    %esp,%ebp
424919:	8b 45 08             	mov    0x8(%ebp),%eax
42491c:	85 c0                	test   %eax,%eax
42491e:	75 15                	jne    0x424935
424920:	e8 43 44 00 00       	call   0x428d68
424925:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
42492b:	e8 c6 46 00 00       	call   0x428ff6
424930:	83 c8 ff             	or     $0xffffffff,%eax
424933:	5d                   	pop    %ebp
424934:	c3                   	ret
424935:	8b 40 10             	mov    0x10(%eax),%eax
424938:	5d                   	pop    %ebp
424939:	c3                   	ret
42493a:	55                   	push   %ebp
42493b:	8b ec                	mov    %esp,%ebp
42493d:	51                   	push   %ecx
42493e:	51                   	push   %ecx
42493f:	8b 4d 0c             	mov    0xc(%ebp),%ecx
424942:	53                   	push   %ebx
424943:	56                   	push   %esi
424944:	57                   	push   %edi
424945:	85 c9                	test   %ecx,%ecx
424947:	74 1e                	je     0x424967
424949:	8b 5d 10             	mov    0x10(%ebp),%ebx
42494c:	85 db                	test   %ebx,%ebx
42494e:	74 17                	je     0x424967
424950:	8b 75 14             	mov    0x14(%ebp),%esi
424953:	85 f6                	test   %esi,%esi
424955:	75 19                	jne    0x424970
424957:	e8 0c 44 00 00       	call   0x428d68
42495c:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
424962:	e8 8f 46 00 00       	call   0x428ff6
424967:	33 c0                	xor    %eax,%eax
424969:	5f                   	pop    %edi
42496a:	5e                   	pop    %esi
42496b:	5b                   	pop    %ebx
42496c:	8b e5                	mov    %ebp,%esp
42496e:	5d                   	pop    %ebp
42496f:	c3                   	ret
424970:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
424974:	74 e1                	je     0x424957
424976:	83 c8 ff             	or     $0xffffffff,%eax
424979:	33 d2                	xor    %edx,%edx
42497b:	f7 f1                	div    %ecx
42497d:	3b d8                	cmp    %eax,%ebx
42497f:	77 d6                	ja     0x424957
424981:	8b f9                	mov    %ecx,%edi
424983:	0f af fb             	imul   %ebx,%edi
424986:	f7 46 0c 0c 01 00 00 	testl  $0x10c,0xc(%esi)
42498d:	8b df                	mov    %edi,%ebx
42498f:	74 05                	je     0x424996
424991:	8b 4e 18             	mov    0x18(%esi),%ecx
424994:	eb 05                	jmp    0x42499b
424996:	b9 00 10 00 00       	mov    $0x1000,%ecx
42499b:	89 4d fc             	mov    %ecx,-0x4(%ebp)
42499e:	85 ff                	test   %edi,%edi
4249a0:	0f 84 d3 00 00 00    	je     0x424a79
4249a6:	8b 56 0c             	mov    0xc(%esi),%edx
4249a9:	81 e2 08 01 00 00    	and    $0x108,%edx
4249af:	74 36                	je     0x4249e7
4249b1:	8b 46 04             	mov    0x4(%esi),%eax
4249b4:	89 45 f8             	mov    %eax,-0x8(%ebp)
4249b7:	85 c0                	test   %eax,%eax
4249b9:	74 2c                	je     0x4249e7
4249bb:	0f 88 c0 00 00 00    	js     0x424a81
4249c1:	3b d8                	cmp    %eax,%ebx
4249c3:	73 05                	jae    0x4249ca
4249c5:	8b c3                	mov    %ebx,%eax
4249c7:	89 5d f8             	mov    %ebx,-0x8(%ebp)
4249ca:	50                   	push   %eax
4249cb:	ff 75 08             	push   0x8(%ebp)
4249ce:	ff 36                	push   (%esi)
4249d0:	e8 ab c6 ff ff       	call   0x421080
4249d5:	8b 45 f8             	mov    -0x8(%ebp),%eax
4249d8:	83 c4 0c             	add    $0xc,%esp
4249db:	29 46 04             	sub    %eax,0x4(%esi)
4249de:	2b d8                	sub    %eax,%ebx
4249e0:	01 06                	add    %eax,(%esi)
4249e2:	01 45 08             	add    %eax,0x8(%ebp)
4249e5:	eb 5d                	jmp    0x424a44
4249e7:	3b d9                	cmp    %ecx,%ebx
4249e9:	72 5e                	jb     0x424a49
4249eb:	85 d2                	test   %edx,%edx
4249ed:	74 12                	je     0x424a01
4249ef:	56                   	push   %esi
4249f0:	e8 78 02 00 00       	call   0x424c6d
4249f5:	59                   	pop    %ecx
4249f6:	85 c0                	test   %eax,%eax
4249f8:	0f 85 87 00 00 00    	jne    0x424a85
4249fe:	8b 4d fc             	mov    -0x4(%ebp),%ecx
424a01:	8b c3                	mov    %ebx,%eax
424a03:	85 c9                	test   %ecx,%ecx
424a05:	74 0d                	je     0x424a14
424a07:	33 d2                	xor    %edx,%edx
424a09:	f7 f1                	div    %ecx
424a0b:	8b c3                	mov    %ebx,%eax
424a0d:	2b c2                	sub    %edx,%eax
424a0f:	89 45 f8             	mov    %eax,-0x8(%ebp)
424a12:	eb 03                	jmp    0x424a17
424a14:	89 5d f8             	mov    %ebx,-0x8(%ebp)
424a17:	50                   	push   %eax
424a18:	ff 75 08             	push   0x8(%ebp)
424a1b:	56                   	push   %esi
424a1c:	e8 f5 fe ff ff       	call   0x424916
424a21:	59                   	pop    %ecx
424a22:	50                   	push   %eax
424a23:	e8 9e 90 00 00       	call   0x42dac6
424a28:	83 c4 0c             	add    $0xc,%esp
424a2b:	83 f8 ff             	cmp    $0xffffffff,%eax
424a2e:	74 51                	je     0x424a81
424a30:	8b 4d f8             	mov    -0x8(%ebp),%ecx
424a33:	8b d1                	mov    %ecx,%edx
424a35:	3b c1                	cmp    %ecx,%eax
424a37:	77 02                	ja     0x424a3b
424a39:	8b d0                	mov    %eax,%edx
424a3b:	01 55 08             	add    %edx,0x8(%ebp)
424a3e:	2b da                	sub    %edx,%ebx
424a40:	3b c1                	cmp    %ecx,%eax
424a42:	72 3d                	jb     0x424a81
424a44:	8b 4d fc             	mov    -0x4(%ebp),%ecx
424a47:	eb 28                	jmp    0x424a71
424a49:	8b 45 08             	mov    0x8(%ebp),%eax
424a4c:	56                   	push   %esi
424a4d:	0f be 00             	movsbl (%eax),%eax
424a50:	50                   	push   %eax
424a51:	e8 08 66 00 00       	call   0x42b05e
424a56:	59                   	pop    %ecx
424a57:	59                   	pop    %ecx
424a58:	83 f8 ff             	cmp    $0xffffffff,%eax
424a5b:	74 28                	je     0x424a85
424a5d:	ff 45 08             	incl   0x8(%ebp)
424a60:	4b                   	dec    %ebx
424a61:	8b 4e 18             	mov    0x18(%esi),%ecx
424a64:	89 4d fc             	mov    %ecx,-0x4(%ebp)
424a67:	85 c9                	test   %ecx,%ecx
424a69:	7f 06                	jg     0x424a71
424a6b:	33 c9                	xor    %ecx,%ecx
424a6d:	41                   	inc    %ecx
424a6e:	89 4d fc             	mov    %ecx,-0x4(%ebp)
424a71:	85 db                	test   %ebx,%ebx
424a73:	0f 85 2d ff ff ff    	jne    0x4249a6
424a79:	8b 45 10             	mov    0x10(%ebp),%eax
424a7c:	e9 e8 fe ff ff       	jmp    0x424969
424a81:	83 4e 0c 20          	orl    $0x20,0xc(%esi)
424a85:	2b fb                	sub    %ebx,%edi
424a87:	33 d2                	xor    %edx,%edx
424a89:	8b c7                	mov    %edi,%eax
424a8b:	f7 75 0c             	divl   0xc(%ebp)
424a8e:	e9 d6 fe ff ff       	jmp    0x424969
424a93:	6a 0c                	push   $0xc
424a95:	68 f0 bb 4b 00       	push   $0x4bbbf0
424a9a:	e8 a1 40 00 00       	call   0x428b40
424a9f:	83 65 e4 00          	andl   $0x0,-0x1c(%ebp)
424aa3:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
424aa7:	74 24                	je     0x424acd
424aa9:	83 7d 10 00          	cmpl   $0x0,0x10(%ebp)
424aad:	74 1e                	je     0x424acd
424aaf:	33 c0                	xor    %eax,%eax
424ab1:	8b 75 14             	mov    0x14(%ebp),%esi
424ab4:	85 f6                	test   %esi,%esi
424ab6:	0f 95 c0             	setne  %al
424ab9:	85 c0                	test   %eax,%eax
424abb:	75 18                	jne    0x424ad5
424abd:	e8 a6 42 00 00       	call   0x428d68
424ac2:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
424ac8:	e8 29 45 00 00       	call   0x428ff6
424acd:	33 c0                	xor    %eax,%eax
424acf:	e8 b1 40 00 00       	call   0x428b85
424ad4:	c3                   	ret
424ad5:	56                   	push   %esi
424ad6:	e8 73 23 00 00       	call   0x426e4e
424adb:	59                   	pop    %ecx
424adc:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
424ae0:	56                   	push   %esi
424ae1:	ff 75 10             	push   0x10(%ebp)
424ae4:	ff 75 0c             	push   0xc(%ebp)
424ae7:	ff 75 08             	push   0x8(%ebp)
424aea:	e8 4b fe ff ff       	call   0x42493a
424aef:	83 c4 10             	add    $0x10,%esp
424af2:	8b f8                	mov    %eax,%edi
424af4:	89 7d e4             	mov    %edi,-0x1c(%ebp)
424af7:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
424afe:	e8 0a 00 00 00       	call   0x424b0d
424b03:	8b c7                	mov    %edi,%eax
424b05:	eb c8                	jmp    0x424acf
424b07:	8b 75 14             	mov    0x14(%ebp),%esi
424b0a:	8b 7d e4             	mov    -0x1c(%ebp),%edi
424b0d:	56                   	push   %esi
424b0e:	e8 aa 23 00 00       	call   0x426ebd
424b13:	59                   	pop    %ecx
424b14:	c3                   	ret
424b15:	6a 0c                	push   $0xc
424b17:	68 10 bc 4b 00       	push   $0x4bbc10
424b1c:	e8 1f 40 00 00       	call   0x428b40
424b21:	33 db                	xor    %ebx,%ebx
424b23:	89 5d e4             	mov    %ebx,-0x1c(%ebp)
424b26:	33 c0                	xor    %eax,%eax
424b28:	8b 7d 08             	mov    0x8(%ebp),%edi
424b2b:	85 ff                	test   %edi,%edi
424b2d:	0f 95 c0             	setne  %al
424b30:	85 c0                	test   %eax,%eax
424b32:	75 18                	jne    0x424b4c
424b34:	e8 2f 42 00 00       	call   0x428d68
424b39:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
424b3f:	e8 b2 44 00 00       	call   0x428ff6
424b44:	83 c8 ff             	or     $0xffffffff,%eax
424b47:	e9 c7 00 00 00       	jmp    0x424c13
424b4c:	33 c0                	xor    %eax,%eax
424b4e:	39 45 0c             	cmp    %eax,0xc(%ebp)
424b51:	0f 95 c0             	setne  %al
424b54:	85 c0                	test   %eax,%eax
424b56:	74 dc                	je     0x424b34
424b58:	89 7d 08             	mov    %edi,0x8(%ebp)
424b5b:	57                   	push   %edi
424b5c:	e8 ed 22 00 00       	call   0x426e4e
424b61:	59                   	pop    %ecx
424b62:	21 5d fc             	and    %ebx,-0x4(%ebp)
424b65:	f6 47 0c 40          	testb  $0x40,0xc(%edi)
424b69:	75 71                	jne    0x424bdc
424b6b:	57                   	push   %edi
424b6c:	e8 a5 fd ff ff       	call   0x424916
424b71:	59                   	pop    %ecx
424b72:	8b d0                	mov    %eax,%edx
424b74:	83 fa ff             	cmp    $0xffffffff,%edx
424b77:	74 19                	je     0x424b92
424b79:	83 fa fe             	cmp    $0xfffffffe,%edx
424b7c:	74 14                	je     0x424b92
424b7e:	8b ca                	mov    %edx,%ecx
424b80:	c1 f9 05             	sar    $0x5,%ecx
424b83:	83 e0 1f             	and    $0x1f,%eax
424b86:	c1 e0 06             	shl    $0x6,%eax
424b89:	03 04 8d e0 49 4c 00 	add    0x4c49e0(,%ecx,4),%eax