4175c7:	8b d1                	mov    %ecx,%edx
4175c9:	c1 f8 05             	sar    $0x5,%eax
4175cc:	81 e2 1f 00 00 80    	and    $0x8000001f,%edx
4175d2:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4175d3:	79 05                	jns    0x4175da
4175d5:	4a                   	dec    %edx
4175d6:	83 ca e0             	or     $0xffffffe0,%edx
4175d9:	42                   	inc    %edx
4175da:	83 65 f4 00          	andl   $0x0,-0xc(%ebp)
4175de:	83 65 08 00          	andl   $0x0,0x8(%ebp)
4175e2:	83 cf ff             	or     $0xffffffff,%edi
4175e5:	8b ca                	mov    %edx,%ecx
4175e7:	d3 e7                	shl    %cl,%edi
4175e9:	c7 45 fc 20 00 00 00 	movl   $0x20,-0x4(%ebp)
4175f0:	29 55 fc             	sub    %edx,-0x4(%ebp)
4175f3:	f7 d7                	not    %edi
4175f5:	8b 5d 08             	mov    0x8(%ebp),%ebx
4175f8:	8d 5c 9d e0          	lea    -0x20(%ebp,%ebx,4),%ebx
4175fc:	8b 33                	mov    (%ebx),%esi
4175fe:	8b ce                	mov    %esi,%ecx
417600:	23 cf                	and    %edi,%ecx
417602:	89 4d f0             	mov    %ecx,-0x10(%ebp)
417605:	8b ca                	mov    %edx,%ecx
417607:	d3 ee                	shr    %cl,%esi
417609:	8b 4d fc             	mov    -0x4(%ebp),%ecx
41760c:	0b 75 f4             	or     -0xc(%ebp),%esi
41760f:	89 33                	mov    %esi,(%ebx)
417611:	8b 75 f0             	mov    -0x10(%ebp),%esi
417614:	d3 e6                	shl    %cl,%esi
417616:	ff 45 08             	incl   0x8(%ebp)
417619:	83 7d 08 03          	cmpl   $0x3,0x8(%ebp)
41761d:	89 75 f4             	mov    %esi,-0xc(%ebp)
417620:	7c d3                	jl     0x4175f5
417622:	8b f0                	mov    %eax,%esi
417624:	6a 02                	push   $0x2
417626:	c1 e6 02             	shl    $0x2,%esi
417629:	8d 4d e8             	lea    -0x18(%ebp),%ecx
41762c:	5a                   	pop    %edx
41762d:	2b ce                	sub    %esi,%ecx
41762f:	3b d0                	cmp    %eax,%edx
417631:	7c 08                	jl     0x41763b
417633:	8b 31                	mov    (%ecx),%esi
417635:	89 74 95 e0          	mov    %esi,-0x20(%ebp,%edx,4)
417639:	eb 05                	jmp    0x417640
41763b:	83 64 95 e0 00       	andl   $0x0,-0x20(%ebp,%edx,4)
417640:	4a                   	dec    %edx
417641:	83 e9 04             	sub    $0x4,%ecx
417644:	85 d2                	test   %edx,%edx
417646:	7d e7                	jge    0x41762f
417648:	8b 35 70 c2 42 00    	mov    0x42c270,%esi
41764e:	4e                   	dec    %esi
41764f:	8d 4e 01             	lea    0x1(%esi),%ecx
417652:	8b c1                	mov    %ecx,%eax
417654:	99                   	cltd
417655:	83 e2 1f             	and    $0x1f,%edx
417658:	03 c2                	add    %edx,%eax
41765a:	c1 f8 05             	sar    $0x5,%eax
41765d:	8b d1                	mov    %ecx,%edx
41765f:	81 e2 1f 00 00 80    	and    $0x8000001f,%edx
417665:	89 45 f4             	mov    %eax,-0xc(%ebp)
417668:	79 05                	jns    0x41766f
41766a:	4a                   	dec    %edx
41766b:	83 ca e0             	or     $0xffffffe0,%edx
41766e:	42                   	inc    %edx
41766f:	6a 1f                	push   $0x1f
417671:	59                   	pop    %ecx
417672:	2b ca                	sub    %edx,%ecx
417674:	33 d2                	xor    %edx,%edx
417676:	42                   	inc    %edx
417677:	d3 e2                	shl    %cl,%edx
417679:	8d 5c 85 e0          	lea    -0x20(%ebp,%eax,4),%ebx
41767d:	89 4d f0             	mov    %ecx,-0x10(%ebp)
417680:	85 13                	test   %edx,(%ebx)
417682:	0f 84 82 00 00 00    	je     0x41770a
417688:	83 ca ff             	or     $0xffffffff,%edx
41768b:	d3 e2                	shl    %cl,%edx
41768d:	f7 d2                	not    %edx
41768f:	85 54 85 e0          	test   %edx,-0x20(%ebp,%eax,4)
417693:	eb 05                	jmp    0x41769a
417695:	83 7c 85 e0 00       	cmpl   $0x0,-0x20(%ebp,%eax,4)
41769a:	75 08                	jne    0x4176a4
41769c:	40                   	inc    %eax
41769d:	83 f8 03             	cmp    $0x3,%eax
4176a0:	7c f3                	jl     0x417695
4176a2:	eb 66                	jmp    0x41770a
4176a4:	8b c6                	mov    %esi,%eax
4176a6:	99                   	cltd
4176a7:	6a 1f                	push   $0x1f
4176a9:	59                   	pop    %ecx
4176aa:	23 d1                	and    %ecx,%edx
4176ac:	03 c2                	add    %edx,%eax
4176ae:	c1 f8 05             	sar    $0x5,%eax
4176b1:	81 e6 1f 00 00 80    	and    $0x8000001f,%esi
4176b7:	79 05                	jns    0x4176be
4176b9:	4e                   	dec    %esi
4176ba:	83 ce e0             	or     $0xffffffe0,%esi
4176bd:	46                   	inc    %esi
4176be:	83 65 08 00          	andl   $0x0,0x8(%ebp)
4176c2:	33 d2                	xor    %edx,%edx
4176c4:	2b ce                	sub    %esi,%ecx
4176c6:	42                   	inc    %edx
4176c7:	d3 e2                	shl    %cl,%edx
4176c9:	8d 4c 85 e0          	lea    -0x20(%ebp,%eax,4),%ecx
4176cd:	8b 31                	mov    (%ecx),%esi
4176cf:	8d 3c 16             	lea    (%esi,%edx,1),%edi
4176d2:	3b fe                	cmp    %esi,%edi
4176d4:	72 04                	jb     0x4176da
4176d6:	3b fa                	cmp    %edx,%edi
4176d8:	73 07                	jae    0x4176e1
4176da:	c7 45 08 01 00 00 00 	movl   $0x1,0x8(%ebp)
4176e1:	89 39                	mov    %edi,(%ecx)
4176e3:	8b 4d 08             	mov    0x8(%ebp),%ecx
4176e6:	eb 1f                	jmp    0x417707
4176e8:	85 c9                	test   %ecx,%ecx
4176ea:	74 1e                	je     0x41770a
4176ec:	8d 4c 85 e0          	lea    -0x20(%ebp,%eax,4),%ecx
4176f0:	8b 11                	mov    (%ecx),%edx
4176f2:	8d 72 01             	lea    0x1(%edx),%esi
4176f5:	33 ff                	xor    %edi,%edi
4176f7:	3b f2                	cmp    %edx,%esi
4176f9:	72 05                	jb     0x417700
4176fb:	83 fe 01             	cmp    $0x1,%esi
4176fe:	73 03                	jae    0x417703
417700:	33 ff                	xor    %edi,%edi
417702:	47                   	inc    %edi
417703:	89 31                	mov    %esi,(%ecx)
417705:	8b cf                	mov    %edi,%ecx
417707:	48                   	dec    %eax
417708:	79 de                	jns    0x4176e8
41770a:	8b 4d f0             	mov    -0x10(%ebp),%ecx
41770d:	83 c8 ff             	or     $0xffffffff,%eax
417710:	d3 e0                	shl    %cl,%eax
417712:	21 03                	and    %eax,(%ebx)
417714:	8b 45 f4             	mov    -0xc(%ebp),%eax
417717:	40                   	inc    %eax
417718:	83 f8 03             	cmp    $0x3,%eax
41771b:	7d 0d                	jge    0x41772a
41771d:	6a 03                	push   $0x3
41771f:	59                   	pop    %ecx
417720:	8d 7c 85 e0          	lea    -0x20(%ebp,%eax,4),%edi
417724:	2b c8                	sub    %eax,%ecx
417726:	33 c0                	xor    %eax,%eax
417728:	f3 ab                	rep stos %eax,%es:(%edi)
41772a:	8b 0d 74 c2 42 00    	mov    0x42c274,%ecx
417730:	41                   	inc    %ecx
417731:	8b c1                	mov    %ecx,%eax
417733:	99                   	cltd
417734:	83 e2 1f             	and    $0x1f,%edx
417737:	03 c2                	add    %edx,%eax
417739:	8b d1                	mov    %ecx,%edx
41773b:	c1 f8 05             	sar    $0x5,%eax
41773e:	81 e2 1f 00 00 80    	and    $0x8000001f,%edx
417744:	79 05                	jns    0x41774b
417746:	4a                   	dec    %edx
417747:	83 ca e0             	or     $0xffffffe0,%edx
41774a:	42                   	inc    %edx
41774b:	83 65 f4 00          	andl   $0x0,-0xc(%ebp)
41774f:	83 65 08 00          	andl   $0x0,0x8(%ebp)
417753:	83 cf ff             	or     $0xffffffff,%edi
417756:	8b ca                	mov    %edx,%ecx
417758:	d3 e7                	shl    %cl,%edi
41775a:	c7 45 fc 20 00 00 00 	movl   $0x20,-0x4(%ebp)
417761:	29 55 fc             	sub    %edx,-0x4(%ebp)
417764:	f7 d7                	not    %edi
417766:	8b 5d 08             	mov    0x8(%ebp),%ebx
417769:	8d 5c 9d e0          	lea    -0x20(%ebp,%ebx,4),%ebx
41776d:	8b 33                	mov    (%ebx),%esi
41776f:	8b ce                	mov    %esi,%ecx
417771:	23 cf                	and    %edi,%ecx
417773:	89 4d f0             	mov    %ecx,-0x10(%ebp)
417776:	8b ca                	mov    %edx,%ecx
417778:	d3 ee                	shr    %cl,%esi
41777a:	8b 4d fc             	mov    -0x4(%ebp),%ecx
41777d:	0b 75 f4             	or     -0xc(%ebp),%esi
417780:	89 33                	mov    %esi,(%ebx)
417782:	8b 75 f0             	mov    -0x10(%ebp),%esi
417785:	d3 e6                	shl    %cl,%esi
417787:	ff 45 08             	incl   0x8(%ebp)
41778a:	83 7d 08 03          	cmpl   $0x3,0x8(%ebp)
41778e:	89 75 f4             	mov    %esi,-0xc(%ebp)
417791:	7c d3                	jl     0x417766
417793:	8b f0                	mov    %eax,%esi
417795:	6a 02                	push   $0x2
417797:	c1 e6 02             	shl    $0x2,%esi
41779a:	8d 4d e8             	lea    -0x18(%ebp),%ecx
41779d:	5a                   	pop    %edx
41779e:	2b ce                	sub    %esi,%ecx
4177a0:	3b d0                	cmp    %eax,%edx
4177a2:	7c 08                	jl     0x4177ac
4177a4:	8b 31                	mov    (%ecx),%esi
4177a6:	89 74 95 e0          	mov    %esi,-0x20(%ebp,%edx,4)
4177aa:	eb 05                	jmp    0x4177b1
4177ac:	83 64 95 e0 00       	andl   $0x0,-0x20(%ebp,%edx,4)
4177b1:	4a                   	dec    %edx
4177b2:	83 e9 04             	sub    $0x4,%ecx
4177b5:	85 d2                	test   %edx,%edx
4177b7:	7d e7                	jge    0x4177a0
4177b9:	6a 02                	push   $0x2
4177bb:	33 db                	xor    %ebx,%ebx
4177bd:	58                   	pop    %eax
4177be:	e9 5a 01 00 00       	jmp    0x41791d
4177c3:	3b 1d 68 c2 42 00    	cmp    0x42c268,%ebx
4177c9:	8b 0d 74 c2 42 00    	mov    0x42c274,%ecx
4177cf:	0f 8c ad 00 00 00    	jl     0x417882
4177d5:	33 c0                	xor    %eax,%eax
4177d7:	8d 7d e0             	lea    -0x20(%ebp),%edi
4177da:	ab                   	stos   %eax,%es:(%edi)
4177db:	ab                   	stos   %eax,%es:(%edi)
4177dc:	ab                   	stos   %eax,%es:(%edi)
4177dd:	81 4d e0 00 00 00 80 	orl    $0x80000000,-0x20(%ebp)
4177e4:	8b c1                	mov    %ecx,%eax
4177e6:	99                   	cltd
4177e7:	83 e2 1f             	and    $0x1f,%edx
4177ea:	03 c2                	add    %edx,%eax
4177ec:	8b d1                	mov    %ecx,%edx
4177ee:	c1 f8 05             	sar    $0x5,%eax
4177f1:	81 e2 1f 00 00 80    	and    $0x8000001f,%edx
4177f7:	79 05                	jns    0x4177fe
4177f9:	4a                   	dec    %edx
4177fa:	83 ca e0             	or     $0xffffffe0,%edx
4177fd:	42                   	inc    %edx
4177fe:	83 65 f4 00          	andl   $0x0,-0xc(%ebp)
417802:	83 65 08 00          	andl   $0x0,0x8(%ebp)
417806:	83 cf ff             	or     $0xffffffff,%edi
417809:	8b ca                	mov    %edx,%ecx
41780b:	d3 e7                	shl    %cl,%edi
41780d:	c7 45 fc 20 00 00 00 	movl   $0x20,-0x4(%ebp)
417814:	29 55 fc             	sub    %edx,-0x4(%ebp)
417817:	f7 d7                	not    %edi
417819:	8b 5d 08             	mov    0x8(%ebp),%ebx
41781c:	8d 5c 9d e0          	lea    -0x20(%ebp,%ebx,4),%ebx
417820:	8b 33                	mov    (%ebx),%esi
417822:	8b ce                	mov    %esi,%ecx
417824:	23 cf                	and    %edi,%ecx
417826:	89 4d f0             	mov    %ecx,-0x10(%ebp)
417829:	8b ca                	mov    %edx,%ecx
41782b:	d3 ee                	shr    %cl,%esi
41782d:	8b 4d fc             	mov    -0x4(%ebp),%ecx
417830:	0b 75 f4             	or     -0xc(%ebp),%esi
417833:	89 33                	mov    %esi,(%ebx)
417835:	8b 75 f0             	mov    -0x10(%ebp),%esi
417838:	d3 e6                	shl    %cl,%esi
41783a:	ff 45 08             	incl   0x8(%ebp)
41783d:	83 7d 08 03          	cmpl   $0x3,0x8(%ebp)
417841:	89 75 f4             	mov    %esi,-0xc(%ebp)
417844:	7c d3                	jl     0x417819
417846:	8b f0                	mov    %eax,%esi
417848:	6a 02                	push   $0x2
41784a:	c1 e6 02             	shl    $0x2,%esi
41784d:	8d 4d e8             	lea    -0x18(%ebp),%ecx
417850:	5a                   	pop    %edx
417851:	2b ce                	sub    %esi,%ecx
417853:	3b d0                	cmp    %eax,%edx
417855:	7c 08                	jl     0x41785f
417857:	8b 31                	mov    (%ecx),%esi
417859:	89 74 95 e0          	mov    %esi,-0x20(%ebp,%edx,4)
41785d:	eb 05                	jmp    0x417864
41785f:	83 64 95 e0 00       	andl   $0x0,-0x20(%ebp,%edx,4)
417864:	4a                   	dec    %edx
417865:	83 e9 04             	sub    $0x4,%ecx
417868:	85 d2                	test   %edx,%edx
41786a:	7d e7                	jge    0x417853
41786c:	a1 68 c2 42 00       	mov    0x42c268,%eax
417871:	8b 0d 7c c2 42 00    	mov    0x42c27c,%ecx
417877:	8d 1c 01             	lea    (%ecx,%eax,1),%ebx
41787a:	33 c0                	xor    %eax,%eax
41787c:	40                   	inc    %eax
41787d:	e9 9b 00 00 00       	jmp    0x41791d
417882:	a1 7c c2 42 00       	mov    0x42c27c,%eax
417887:	81 65 e0 ff ff ff 7f 	andl   $0x7fffffff,-0x20(%ebp)
41788e:	03 d8                	add    %eax,%ebx
417890:	8b c1                	mov    %ecx,%eax
417892:	99                   	cltd
417893:	83 e2 1f             	and    $0x1f,%edx
417896:	03 c2                	add    %edx,%eax
417898:	8b d1                	mov    %ecx,%edx
41789a:	c1 f8 05             	sar    $0x5,%eax
41789d:	81 e2 1f 00 00 80    	and    $0x8000001f,%edx
4178a3:	79 05                	jns    0x4178aa
4178a5:	4a                   	dec    %edx
4178a6:	83 ca e0             	or     $0xffffffe0,%edx
4178a9:	42                   	inc    %edx
4178aa:	83 65 f4 00          	andl   $0x0,-0xc(%ebp)
4178ae:	83 65 08 00          	andl   $0x0,0x8(%ebp)
4178b2:	83 ce ff             	or     $0xffffffff,%esi
4178b5:	8b ca                	mov    %edx,%ecx
4178b7:	d3 e6                	shl    %cl,%esi
4178b9:	c7 45 fc 20 00 00 00 	movl   $0x20,-0x4(%ebp)
4178c0:	29 55 fc             	sub    %edx,-0x4(%ebp)
4178c3:	f7 d6                	not    %esi
4178c5:	8b 4d 08             	mov    0x8(%ebp),%ecx
4178c8:	8b 7c 8d e0          	mov    -0x20(%ebp,%ecx,4),%edi
4178cc:	8b cf                	mov    %edi,%ecx
4178ce:	23 ce                	and    %esi,%ecx
4178d0:	89 4d f0             	mov    %ecx,-0x10(%ebp)
4178d3:	8b ca                	mov    %edx,%ecx
4178d5:	d3 ef                	shr    %cl,%edi
4178d7:	8b 4d 08             	mov    0x8(%ebp),%ecx
4178da:	0b 7d f4             	or     -0xc(%ebp),%edi
4178dd:	89 7c 8d e0          	mov    %edi,-0x20(%ebp,%ecx,4)
4178e1:	8b 7d f0             	mov    -0x10(%ebp),%edi
4178e4:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4178e7:	d3 e7                	shl    %cl,%edi
4178e9:	ff 45 08             	incl   0x8(%ebp)
4178ec:	83 7d 08 03          	cmpl   $0x3,0x8(%ebp)
4178f0:	89 7d f4             	mov    %edi,-0xc(%ebp)
4178f3:	7c d0                	jl     0x4178c5
4178f5:	8b f0                	mov    %eax,%esi
4178f7:	6a 02                	push   $0x2
4178f9:	c1 e6 02             	shl    $0x2,%esi
4178fc:	8d 4d e8             	lea    -0x18(%ebp),%ecx
4178ff:	5a                   	pop    %edx
417900:	2b ce                	sub    %esi,%ecx
417902:	3b d0                	cmp    %eax,%edx
417904:	7c 08                	jl     0x41790e
417906:	8b 31                	mov    (%ecx),%esi
417908:	89 74 95 e0          	mov    %esi,-0x20(%ebp,%edx,4)
41790c:	eb 05                	jmp    0x417913
41790e:	83 64 95 e0 00       	andl   $0x0,-0x20(%ebp,%edx,4)
417913:	4a                   	dec    %edx
417914:	83 e9 04             	sub    $0x4,%ecx
417917:	85 d2                	test   %edx,%edx
417919:	7d e7                	jge    0x417902
41791b:	33 c0                	xor    %eax,%eax
41791d:	5e                   	pop    %esi
41791e:	6a 1f                	push   $0x1f
417920:	59                   	pop    %ecx
417921:	2b 0d 74 c2 42 00    	sub    0x42c274,%ecx
417927:	d3 e3                	shl    %cl,%ebx
417929:	8b 4d ec             	mov    -0x14(%ebp),%ecx
41792c:	f7 d9                	neg    %ecx
41792e:	1b c9                	sbb    %ecx,%ecx
417930:	81 e1 00 00 00 80    	and    $0x80000000,%ecx
417936:	0b d9                	or     %ecx,%ebx
417938:	8b 0d 78 c2 42 00    	mov    0x42c278,%ecx
41793e:	0b 5d e0             	or     -0x20(%ebp),%ebx
417941:	83 f9 40             	cmp    $0x40,%ecx
417944:	75 0d                	jne    0x417953
417946:	8b 4d 0c             	mov    0xc(%ebp),%ecx
417949:	8b 55 e4             	mov    -0x1c(%ebp),%edx
41794c:	89 59 04             	mov    %ebx,0x4(%ecx)
41794f:	89 11                	mov    %edx,(%ecx)
417951:	eb 0a                	jmp    0x41795d
417953:	83 f9 20             	cmp    $0x20,%ecx
417956:	75 05                	jne    0x41795d
417958:	8b 4d 0c             	mov    0xc(%ebp),%ecx
41795b:	89 19                	mov    %ebx,(%ecx)
41795d:	5f                   	pop    %edi
41795e:	5b                   	pop    %ebx
41795f:	c9                   	leave