416638:	c1 e8 10             	shr    $0x10,%eax
41663b:	aa                   	stos   %al,%es:(%edi)
41663c:	03 7d f0             	add    -0x10(%ebp),%edi
41663f:	2b 4d ec             	sub    -0x14(%ebp),%ecx
416642:	7f de                	jg     0x416622
416644:	5b                   	pop    %ebx
416645:	5f                   	pop    %edi
416646:	5e                   	pop    %esi
416647:	5e                   	pop    %esi
416648:	5b                   	pop    %ebx
416649:	8b e5                	mov    %ebp,%esp
41664b:	5d                   	pop    %ebp
41664c:	c2 08 00             	ret    $0x8
41664f:	90                   	nop
416650:	55                   	push   %ebp
416651:	8b ec                	mov    %esp,%ebp
416653:	83 c4 e4             	add    $0xffffffe4,%esp
416656:	53                   	push   %ebx
416657:	56                   	push   %esi
416658:	57                   	push   %edi
416659:	89 4d f8             	mov    %ecx,-0x8(%ebp)
41665c:	89 45 fc             	mov    %eax,-0x4(%ebp)
41665f:	8b 75 fc             	mov    -0x4(%ebp),%esi
416662:	8b 76 30             	mov    0x30(%esi),%esi
416665:	8b ce                	mov    %esi,%ecx
416667:	33 c0                	xor    %eax,%eax
416669:	8a c2                	mov    %dl,%al
41666b:	8b 1c 85 0c 86 42 00 	mov    0x42860c(,%eax,4),%ebx
416672:	d3 eb                	shr    %cl,%ebx
416674:	8b 4d fc             	mov    -0x4(%ebp),%ecx
416677:	8b ce                	mov    %esi,%ecx
416679:	8b 04 85 44 86 42 00 	mov    0x428644(,%eax,4),%eax
416680:	d3 e8                	shr    %cl,%eax
416682:	89 45 e4             	mov    %eax,-0x1c(%ebp)
416685:	8b 45 fc             	mov    -0x4(%ebp),%eax
416688:	e8 67 f3 ff ff       	call   0x4159f4
41668d:	0f b6 80 70 04 00 00 	movzbl 0x470(%eax),%eax
416694:	89 45 e8             	mov    %eax,-0x18(%ebp)
416697:	8b 45 e8             	mov    -0x18(%ebp),%eax
41669a:	8b 04 85 6c 86 42 00 	mov    0x42866c(,%eax,4),%eax
4166a1:	89 45 f0             	mov    %eax,-0x10(%ebp)
4166a4:	8b 45 e8             	mov    -0x18(%ebp),%eax
4166a7:	8b 04 85 8c 86 42 00 	mov    0x42868c(,%eax,4),%eax
4166ae:	89 45 ec             	mov    %eax,-0x14(%ebp)
4166b1:	8b 45 e8             	mov    -0x18(%ebp),%eax
4166b4:	8b 34 85 ac 86 42 00 	mov    0x4286ac(,%eax,4),%esi
4166bb:	8b 45 ec             	mov    -0x14(%ebp),%eax
4166be:	8b ce                	mov    %esi,%ecx
4166c0:	8b d3                	mov    %ebx,%edx
4166c2:	d3 e2                	shl    %cl,%edx
4166c4:	c1 ea 03             	shr    $0x3,%edx
4166c7:	03 55 0c             	add    0xc(%ebp),%edx
4166ca:	89 55 f4             	mov    %edx,-0xc(%ebp)
4166cd:	8b c8                	mov    %eax,%ecx
4166cf:	8b 55 f8             	mov    -0x8(%ebp),%edx
4166d2:	0f b6 12             	movzbl (%edx),%edx
4166d5:	d3 ea                	shr    %cl,%edx
4166d7:	22 55 f0             	and    -0x10(%ebp),%dl
4166da:	8b ce                	mov    %esi,%ecx
4166dc:	8b fb                	mov    %ebx,%edi
4166de:	d3 e7                	shl    %cl,%edi
4166e0:	83 e7 07             	and    $0x7,%edi
4166e3:	8b 4d ec             	mov    -0x14(%ebp),%ecx
4166e6:	2b cf                	sub    %edi,%ecx
4166e8:	d2 e2                	shl    %cl,%dl
4166ea:	8b 4d f4             	mov    -0xc(%ebp),%ecx
4166ed:	08 11                	or     %dl,(%ecx)
4166ef:	03 5d e4             	add    -0x1c(%ebp),%ebx
4166f2:	2b 45 e8             	sub    -0x18(%ebp),%eax
4166f5:	85 c0                	test   %eax,%eax
4166f7:	7d c5                	jge    0x4166be
4166f9:	ff 45 f8             	incl   -0x8(%ebp)
4166fc:	8b 45 fc             	mov    -0x4(%ebp),%eax
4166ff:	3b 58 28             	cmp    0x28(%eax),%ebx
416702:	7c b7                	jl     0x4166bb
416704:	5f                   	pop    %edi
416705:	5e                   	pop    %esi
416706:	5b                   	pop    %ebx
416707:	8b e5                	mov    %ebp,%esp
416709:	5d                   	pop    %ebp
41670a:	c2 08 00             	ret    $0x8
41670d:	8d 40 00             	lea    0x0(%eax),%eax
416710:	55                   	push   %ebp
416711:	8b ec                	mov    %esp,%ebp
416713:	83 c4 f4             	add    $0xfffffff4,%esp
416716:	53                   	push   %ebx
416717:	56                   	push   %esi
416718:	57                   	push   %edi
416719:	8b d9                	mov    %ecx,%ebx
41671b:	89 45 fc             	mov    %eax,-0x4(%ebp)
41671e:	8b 4d fc             	mov    -0x4(%ebp),%ecx
416721:	8b 49 30             	mov    0x30(%ecx),%ecx
416724:	33 c0                	xor    %eax,%eax
416726:	8a c2                	mov    %dl,%al
416728:	8b 34 85 0c 86 42 00 	mov    0x42860c(,%eax,4),%esi
41672f:	d3 ee                	shr    %cl,%esi
416731:	8b 4d fc             	mov    -0x4(%ebp),%ecx
416734:	8b 49 30             	mov    0x30(%ecx),%ecx
416737:	8b 04 85 44 86 42 00 	mov    0x428644(,%eax,4),%eax
41673e:	d3 e8                	shr    %cl,%eax
416740:	89 45 f4             	mov    %eax,-0xc(%ebp)
416743:	ba 06 00 00 00       	mov    $0x6,%edx
416748:	8b c6                	mov    %esi,%eax
41674a:	d1 e8                	shr    $1,%eax
41674c:	03 45 0c             	add    0xc(%ebp),%eax
41674f:	89 45 f8             	mov    %eax,-0x8(%ebp)
416752:	8b ca                	mov    %edx,%ecx
416754:	33 c0                	xor    %eax,%eax
416756:	8a 03                	mov    (%ebx),%al
416758:	d3 e8                	shr    %cl,%eax
41675a:	24 03                	and    $0x3,%al
41675c:	8b ce                	mov    %esi,%ecx
41675e:	c1 e1 02             	shl    $0x2,%ecx
416761:	81 e1 07 00 00 80    	and    $0x80000007,%ecx
416767:	79 05                	jns    0x41676e
416769:	49                   	dec    %ecx
41676a:	83 c9 f8             	or     $0xfffffff8,%ecx
41676d:	41                   	inc    %ecx
41676e:	51                   	push   %ecx
41676f:	b9 04 00 00 00       	mov    $0x4,%ecx
416774:	5f                   	pop    %edi
416775:	2b cf                	sub    %edi,%ecx
416777:	d2 e0                	shl    %cl,%al
416779:	8b 4d f8             	mov    -0x8(%ebp),%ecx
41677c:	08 01                	or     %al,(%ecx)
41677e:	03 75 f4             	add    -0xc(%ebp),%esi
416781:	83 ea 02             	sub    $0x2,%edx
416784:	85 d2                	test   %edx,%edx
416786:	7d c0                	jge    0x416748
416788:	43                   	inc    %ebx
416789:	8b 45 fc             	mov    -0x4(%ebp),%eax
41678c:	3b 70 28             	cmp    0x28(%eax),%esi
41678f:	7c b2                	jl     0x416743
416791:	5f                   	pop    %edi
416792:	5e                   	pop    %esi
416793:	5b                   	pop    %ebx
416794:	8b e5                	mov    %ebp,%esp
416796:	5d                   	pop    %ebp
416797:	c2 08 00             	ret    $0x8
41679a:	8b c0                	mov    %eax,%eax
41679c:	55                   	push   %ebp
41679d:	8b ec                	mov    %esp,%ebp
41679f:	83 c4 f4             	add    $0xfffffff4,%esp
4167a2:	53                   	push   %ebx
4167a3:	56                   	push   %esi
4167a4:	57                   	push   %edi
4167a5:	8b d9                	mov    %ecx,%ebx
4167a7:	89 45 fc             	mov    %eax,-0x4(%ebp)
4167aa:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4167ad:	8b 49 30             	mov    0x30(%ecx),%ecx
4167b0:	33 c0                	xor    %eax,%eax
4167b2:	8a c2                	mov    %dl,%al
4167b4:	8b 34 85 0c 86 42 00 	mov    0x42860c(,%eax,4),%esi
4167bb:	d3 ee                	shr    %cl,%esi
4167bd:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4167c0:	8b 49 30             	mov    0x30(%ecx),%ecx
4167c3:	8b 04 85 44 86 42 00 	mov    0x428644(,%eax,4),%eax
4167ca:	d3 e8                	shr    %cl,%eax
4167cc:	89 45 f8             	mov    %eax,-0x8(%ebp)
4167cf:	ba 06 00 00 00       	mov    $0x6,%edx
4167d4:	8b c6                	mov    %esi,%eax
4167d6:	d1 f8                	sar    $1,%eax
4167d8:	79 03                	jns    0x4167dd
4167da:	83 d0 00             	adc    $0x0,%eax
4167dd:	03 45 0c             	add    0xc(%ebp),%eax
4167e0:	89 45 f4             	mov    %eax,-0xc(%ebp)
4167e3:	8b ca                	mov    %edx,%ecx
4167e5:	33 c0                	xor    %eax,%eax
4167e7:	8a 03                	mov    (%ebx),%al
4167e9:	d3 e8                	shr    %cl,%eax
4167eb:	c1 e0 02             	shl    $0x2,%eax
4167ee:	24 0f                	and    $0xf,%al
4167f0:	8b ce                	mov    %esi,%ecx
4167f2:	c1 e1 02             	shl    $0x2,%ecx
4167f5:	81 e1 07 00 00 80    	and    $0x80000007,%ecx
4167fb:	79 05                	jns    0x416802
4167fd:	49                   	dec    %ecx
4167fe:	83 c9 f8             	or     $0xfffffff8,%ecx
416801:	41                   	inc    %ecx
416802:	51                   	push   %ecx
416803:	b9 04 00 00 00       	mov    $0x4,%ecx
416808:	5f                   	pop    %edi
416809:	2b cf                	sub    %edi,%ecx
41680b:	d2 e0                	shl    %cl,%al
41680d:	8b 4d f4             	mov    -0xc(%ebp),%ecx
416810:	08 01                	or     %al,(%ecx)
416812:	03 75 f8             	add    -0x8(%ebp),%esi
416815:	83 ea 02             	sub    $0x2,%edx
416818:	85 d2                	test   %edx,%edx
41681a:	7d b8                	jge    0x4167d4
41681c:	43                   	inc    %ebx
41681d:	8b 45 fc             	mov    -0x4(%ebp),%eax
416820:	3b 70 28             	cmp    0x28(%eax),%esi
416823:	7c aa                	jl     0x4167cf
416825:	5f                   	pop    %edi
416826:	5e                   	pop    %esi
416827:	5b                   	pop    %ebx
416828:	8b e5                	mov    %ebp,%esp
41682a:	5d                   	pop    %ebp
41682b:	c2 08 00             	ret    $0x8
41682e:	8b c0                	mov    %eax,%eax
416830:	55                   	push   %ebp
416831:	8b ec                	mov    %esp,%ebp
416833:	53                   	push   %ebx
416834:	56                   	push   %esi
416835:	57                   	push   %edi
416836:	8b f1                	mov    %ecx,%esi
416838:	8b 48 30             	mov    0x30(%eax),%ecx
41683b:	33 db                	xor    %ebx,%ebx
41683d:	8a da                	mov    %dl,%bl
41683f:	8b 1c 9d 0c 86 42 00 	mov    0x42860c(,%ebx,4),%ebx
416846:	d3 eb                	shr    %cl,%ebx
416848:	8b 4d 0c             	mov    0xc(%ebp),%ecx
41684b:	03 cb                	add    %ebx,%ecx
41684d:	89 4d 0c             	mov    %ecx,0xc(%ebp)
416850:	8b 48 30             	mov    0x30(%eax),%ecx
416853:	81 e2 ff 00 00 00    	and    $0xff,%edx
416859:	8b 14 95 44 86 42 00 	mov    0x428644(,%edx,4),%edx
416860:	d3 ea                	shr    %cl,%edx
416862:	8a 0e                	mov    (%esi),%cl
416864:	8b 7d 0c             	mov    0xc(%ebp),%edi
416867:	88 0f                	mov    %cl,(%edi)
416869:	83 c6 02             	add    $0x2,%esi
41686c:	01 55 0c             	add    %edx,0xc(%ebp)
41686f:	03 da                	add    %edx,%ebx
416871:	3b 58 28             	cmp    0x28(%eax),%ebx
416874:	7c ec                	jl     0x416862
416876:	5f                   	pop    %edi
416877:	5e                   	pop    %esi
416878:	5b                   	pop    %ebx
416879:	5d                   	pop    %ebp
41687a:	c2 08 00             	ret    $0x8
41687d:	8d 40 00             	lea    0x0(%eax),%eax
416880:	55                   	push   %ebp
416881:	8b ec                	mov    %esp,%ebp
416883:	83 c4 f4             	add    $0xfffffff4,%esp
416886:	53                   	push   %ebx
416887:	56                   	push   %esi
416888:	57                   	push   %edi
416889:	8b d9                	mov    %ecx,%ebx
41688b:	8b 48 30             	mov    0x30(%eax),%ecx
41688e:	8b f2                	mov    %edx,%esi
416890:	81 e6 ff 00 00 00    	and    $0xff,%esi
416896:	8b 34 b5 0c 86 42 00 	mov    0x42860c(,%esi,4),%esi
41689d:	d3 ee                	shr    %cl,%esi
41689f:	8d 0c 76             	lea    (%esi,%esi,2),%ecx
4168a2:	03 4d 0c             	add    0xc(%ebp),%ecx
4168a5:	89 4d 0c             	mov    %ecx,0xc(%ebp)
4168a8:	8b 4d 08             	mov    0x8(%ebp),%ecx
4168ab:	03 ce                	add    %esi,%ecx
4168ad:	89 4d 08             	mov    %ecx,0x8(%ebp)
4168b0:	8b 48 30             	mov    0x30(%eax),%ecx
4168b3:	8b fa                	mov    %edx,%edi
4168b5:	81 e7 ff 00 00 00    	and    $0xff,%edi
4168bb:	8b 3c bd 44 86 42 00 	mov    0x428644(,%edi,4),%edi
4168c2:	d3 ef                	shr    %cl,%edi
4168c4:	8d 0c 7f             	lea    (%edi,%edi,2),%ecx
4168c7:	83 e9 02             	sub    $0x2,%ecx
4168ca:	89 4d fc             	mov    %ecx,-0x4(%ebp)
4168cd:	8b 48 30             	mov    0x30(%eax),%ecx
4168d0:	8b fa                	mov    %edx,%edi
4168d2:	81 e7 ff 00 00 00    	and    $0xff,%edi
4168d8:	8b 3c bd 44 86 42 00 	mov    0x428644(,%edi,4),%edi
4168df:	d3 ef                	shr    %cl,%edi
4168e1:	89 7d f8             	mov    %edi,-0x8(%ebp)
4168e4:	8b 48 30             	mov    0x30(%eax),%ecx
4168e7:	81 e2 ff 00 00 00    	and    $0xff,%edx
4168ed:	8b 14 95 44 86 42 00 	mov    0x428644(,%edx,4),%edx
4168f4:	d3 ea                	shr    %cl,%edx
4168f6:	89 55 f4             	mov    %edx,-0xc(%ebp)
4168f9:	8b d3                	mov    %ebx,%edx
4168fb:	8b ca                	mov    %edx,%ecx
4168fd:	83 c1 03             	add    $0x3,%ecx
416900:	8a 09                	mov    (%ecx),%cl
416902:	8b 7d 08             	mov    0x8(%ebp),%edi
416905:	88 0f                	mov    %cl,(%edi)
416907:	8b ca                	mov    %edx,%ecx
416909:	83 c1 02             	add    $0x2,%ecx
41690c:	0f b6 09             	movzbl (%ecx),%ecx
41690f:	8b 78 20             	mov    0x20(%eax),%edi
416912:	8a 4c 0f 32          	mov    0x32(%edi,%ecx,1),%cl
416916:	8b 7d 0c             	mov    0xc(%ebp),%edi
416919:	88 0f                	mov    %cl,(%edi)
41691b:	ff 45 0c             	incl   0xc(%ebp)
41691e:	42                   	inc    %edx
41691f:	0f b6 12             	movzbl (%edx),%edx
416922:	8b 48 20             	mov    0x20(%eax),%ecx
416925:	8a 54 11 32          	mov    0x32(%ecx,%edx,1),%dl
416929:	8b 4d 0c             	mov    0xc(%ebp),%ecx
41692c:	88 11                	mov    %dl,(%ecx)
41692e:	ff 45 0c             	incl   0xc(%ebp)
416931:	33 d2                	xor    %edx,%edx
416933:	8a 13                	mov    (%ebx),%dl
416935:	8b 48 20             	mov    0x20(%eax),%ecx
416938:	8a 54 11 32          	mov    0x32(%ecx,%edx,1),%dl
41693c:	8b 4d 0c             	mov    0xc(%ebp),%ecx
41693f:	88 11                	mov    %dl,(%ecx)
416941:	83 c3 04             	add    $0x4,%ebx
416944:	8b 55 fc             	mov    -0x4(%ebp),%edx
416947:	01 55 0c             	add    %edx,0xc(%ebp)
41694a:	8b 55 f8             	mov    -0x8(%ebp),%edx
41694d:	01 55 08             	add    %edx,0x8(%ebp)
416950:	03 75 f4             	add    -0xc(%ebp),%esi
416953:	3b 70 28             	cmp    0x28(%eax),%esi
416956:	7c a1                	jl     0x4168f9
416958:	5f                   	pop    %edi
416959:	5e                   	pop    %esi
41695a:	5b                   	pop    %ebx
41695b:	8b e5                	mov    %ebp,%esp
41695d:	5d                   	pop    %ebp
41695e:	c2 08 00             	ret    $0x8
416961:	8d 40 00             	lea    0x0(%eax),%eax
416964:	55                   	push   %ebp
416965:	8b ec                	mov    %esp,%ebp
416967:	83 c4 f4             	add    $0xfffffff4,%esp
41696a:	53                   	push   %ebx
41696b:	56                   	push   %esi
41696c:	57                   	push   %edi
41696d:	8b d9                	mov    %ecx,%ebx
41696f:	8b 48 30             	mov    0x30(%eax),%ecx
416972:	8b f2                	mov    %edx,%esi
416974:	81 e6 ff 00 00 00    	and    $0xff,%esi
41697a:	8b 34 b5 0c 86 42 00 	mov    0x42860c(,%esi,4),%esi
416981:	d3 ee                	shr    %cl,%esi
416983:	8d 0c 76             	lea    (%esi,%esi,2),%ecx
416986:	03 4d 0c             	add    0xc(%ebp),%ecx
416989:	89 4d 0c             	mov    %ecx,0xc(%ebp)
41698c:	8b 4d 08             	mov    0x8(%ebp),%ecx
41698f:	03 ce                	add    %esi,%ecx
416991:	89 4d 08             	mov    %ecx,0x8(%ebp)
416994:	8b 48 30             	mov    0x30(%eax),%ecx
416997:	8b fa                	mov    %edx,%edi
416999:	81 e7 ff 00 00 00    	and    $0xff,%edi
41699f:	8b 3c bd 44 86 42 00 	mov    0x428644(,%edi,4),%edi
4169a6:	d3 ef                	shr    %cl,%edi
4169a8:	8d 0c 7f             	lea    (%edi,%edi,2),%ecx
4169ab:	83 e9 02             	sub    $0x2,%ecx
4169ae:	89 4d fc             	mov    %ecx,-0x4(%ebp)
4169b1:	8b 48 30             	mov    0x30(%eax),%ecx
4169b4:	8b fa                	mov    %edx,%edi
4169b6:	81 e7 ff 00 00 00    	and    $0xff,%edi
4169bc:	8b 3c bd 44 86 42 00 	mov    0x428644(,%edi,4),%edi
4169c3:	d3 ef                	shr    %cl,%edi
4169c5:	89 7d f8             	mov    %edi,-0x8(%ebp)
4169c8:	8b 48 30             	mov    0x30(%eax),%ecx
4169cb:	81 e2 ff 00 00 00    	and    $0xff,%edx
4169d1:	8b 14 95 44 86 42 00 	mov    0x428644(,%edx,4),%edx
4169d8:	d3 ea                	shr    %cl,%edx
4169da:	89 55 f4             	mov    %edx,-0xc(%ebp)
4169dd:	8b d3                	mov    %ebx,%edx