41260f:	8b 01                	mov    (%ecx),%eax
412611:	85 c0                	test   %eax,%eax
412613:	74 07                	je     0x41261c
412615:	50                   	push   %eax
412616:	e8 c7 78 00 00       	call   0x419ee2
41261b:	59                   	pop    %ecx
41261c:	c3                   	ret
41261d:	8b 44 24 04          	mov    0x4(%esp),%eax
412621:	56                   	push   %esi
412622:	8b f1                	mov    %ecx,%esi
412624:	01 46 04             	add    %eax,0x4(%esi)
412627:	8b 4e 04             	mov    0x4(%esi),%ecx
41262a:	3b 4e 08             	cmp    0x8(%esi),%ecx
41262d:	76 62                	jbe    0x412691
41262f:	8b 46 0c             	mov    0xc(%esi),%eax
412632:	53                   	push   %ebx
412633:	55                   	push   %ebp
412634:	57                   	push   %edi
412635:	bd 74 2a 43 00       	mov    $0x432a74,%ebp
41263a:	85 c0                	test   %eax,%eax
41263c:	74 1a                	je     0x412658
41263e:	3b c8                	cmp    %eax,%ecx
412640:	76 16                	jbe    0x412658
412642:	50                   	push   %eax
412643:	68 f0 a3 42 00       	push   $0x42a3f0
412648:	55                   	push   %ebp
412649:	e8 0f 3f ff ff       	call   0x40655d
41264e:	83 c4 0c             	add    $0xc,%esp
412651:	8b cd                	mov    %ebp,%ecx
412653:	e8 b0 3e ff ff       	call   0x406508
412658:	8b 46 08             	mov    0x8(%esi),%eax
41265b:	8b 7e 04             	mov    0x4(%esi),%edi
41265e:	8b c8                	mov    %eax,%ecx
412660:	c1 e9 02             	shr    $0x2,%ecx
412663:	8d 44 01 20          	lea    0x20(%ecx,%eax,1),%eax
412667:	3b f8                	cmp    %eax,%edi
412669:	77 02                	ja     0x41266d
41266b:	8b f8                	mov    %eax,%edi
41266d:	8b c7                	mov    %edi,%eax
41266f:	c1 e0 02             	shl    $0x2,%eax
412672:	50                   	push   %eax
412673:	ff 36                	push   (%esi)
412675:	e8 f6 78 00 00       	call   0x419f70
41267a:	8b d8                	mov    %eax,%ebx
41267c:	59                   	pop    %ecx
41267d:	59                   	pop    %ecx
41267e:	85 db                	test   %ebx,%ebx
412680:	75 07                	jne    0x412689
412682:	8b cd                	mov    %ebp,%ecx
412684:	e8 7f 3e ff ff       	call   0x406508
412689:	89 7e 08             	mov    %edi,0x8(%esi)
41268c:	5f                   	pop    %edi
41268d:	5d                   	pop    %ebp
41268e:	89 1e                	mov    %ebx,(%esi)
412690:	5b                   	pop    %ebx
412691:	5e                   	pop    %esi
412692:	c2 04 00             	ret    $0x4
412695:	8b 44 24 04          	mov    0x4(%esp),%eax
412699:	56                   	push   %esi
41269a:	8b f1                	mov    %ecx,%esi
41269c:	01 46 04             	add    %eax,0x4(%esi)
41269f:	8b 4e 04             	mov    0x4(%esi),%ecx
4126a2:	3b 4e 08             	cmp    0x8(%esi),%ecx
4126a5:	76 64                	jbe    0x41270b
4126a7:	8b 46 0c             	mov    0xc(%esi),%eax
4126aa:	53                   	push   %ebx
4126ab:	55                   	push   %ebp
4126ac:	57                   	push   %edi
4126ad:	bd 74 2a 43 00       	mov    $0x432a74,%ebp
4126b2:	85 c0                	test   %eax,%eax
4126b4:	74 1a                	je     0x4126d0
4126b6:	3b c8                	cmp    %eax,%ecx
4126b8:	76 16                	jbe    0x4126d0
4126ba:	50                   	push   %eax
4126bb:	68 f0 a3 42 00       	push   $0x42a3f0
4126c0:	55                   	push   %ebp
4126c1:	e8 97 3e ff ff       	call   0x40655d
4126c6:	83 c4 0c             	add    $0xc,%esp
4126c9:	8b cd                	mov    %ebp,%ecx
4126cb:	e8 38 3e ff ff       	call   0x406508
4126d0:	8b 46 08             	mov    0x8(%esi),%eax
4126d3:	8b c8                	mov    %eax,%ecx
4126d5:	c1 e9 02             	shr    $0x2,%ecx
4126d8:	8d 44 01 20          	lea    0x20(%ecx,%eax,1),%eax
4126dc:	8b 4e 04             	mov    0x4(%esi),%ecx
4126df:	8b d9                	mov    %ecx,%ebx
4126e1:	3b c8                	cmp    %eax,%ecx
4126e3:	77 02                	ja     0x4126e7
4126e5:	8b d8                	mov    %eax,%ebx
4126e7:	8b c3                	mov    %ebx,%eax
4126e9:	c1 e0 04             	shl    $0x4,%eax
4126ec:	50                   	push   %eax
4126ed:	ff 36                	push   (%esi)
4126ef:	e8 7c 78 00 00       	call   0x419f70
4126f4:	8b f8                	mov    %eax,%edi
4126f6:	59                   	pop    %ecx
4126f7:	59                   	pop    %ecx
4126f8:	85 ff                	test   %edi,%edi
4126fa:	75 07                	jne    0x412703
4126fc:	8b cd                	mov    %ebp,%ecx
4126fe:	e8 05 3e ff ff       	call   0x406508
412703:	89 3e                	mov    %edi,(%esi)
412705:	5f                   	pop    %edi
412706:	5d                   	pop    %ebp
412707:	89 5e 08             	mov    %ebx,0x8(%esi)
41270a:	5b                   	pop    %ebx
41270b:	5e                   	pop    %esi
41270c:	c2 04 00             	ret    $0x4
41270f:	8b 41 0c             	mov    0xc(%ecx),%eax
412712:	53                   	push   %ebx
412713:	8b 59 04             	mov    0x4(%ecx),%ebx
412716:	8b 09                	mov    (%ecx),%ecx
412718:	8d 14 08             	lea    (%eax,%ecx,1),%edx
41271b:	0f b6 02             	movzbl (%edx),%eax
41271e:	0f b6 4a 01          	movzbl 0x1(%edx),%ecx
412722:	c1 e0 08             	shl    $0x8,%eax
412725:	0b c1                	or     %ecx,%eax
412727:	0f b6 4a 02          	movzbl 0x2(%edx),%ecx
41272b:	c1 e0 08             	shl    $0x8,%eax
41272e:	0b c1                	or     %ecx,%eax
412730:	0f b6 4a 03          	movzbl 0x3(%edx),%ecx
412734:	0f b6 52 04          	movzbl 0x4(%edx),%edx
412738:	c1 e0 08             	shl    $0x8,%eax
41273b:	0b c1                	or     %ecx,%eax
41273d:	8b cb                	mov    %ebx,%ecx
41273f:	d3 e0                	shl    %cl,%eax
412741:	6a 08                	push   $0x8
412743:	59                   	pop    %ecx
412744:	2a cb                	sub    %bl,%cl
412746:	d3 ea                	shr    %cl,%edx
412748:	5b                   	pop    %ebx
412749:	0b c2                	or     %edx,%eax
41274b:	c3                   	ret
41274c:	56                   	push   %esi
41274d:	8b f1                	mov    %ecx,%esi
41274f:	0f b7 06             	movzwl (%esi),%eax
412752:	8a 4e 02             	mov    0x2(%esi),%cl
412755:	0f b7 d0             	movzwl %ax,%edx
412758:	d3 ea                	shr    %cl,%edx
41275a:	2b c2                	sub    %edx,%eax
41275c:	66 89 06             	mov    %ax,(%esi)
41275f:	33 c0                	xor    %eax,%eax
412761:	85 d2                	test   %edx,%edx
412763:	0f 94 c0             	sete   %al
412766:	5e                   	pop    %esi
412767:	03 c2                	add    %edx,%eax
412769:	c3                   	ret
41276a:	8b c1                	mov    %ecx,%eax
41276c:	8a 48 02             	mov    0x2(%eax),%cl
41276f:	80 f9 07             	cmp    $0x7,%cl
412772:	73 14                	jae    0x412788
412774:	fe 48 03             	decb   0x3(%eax)
412777:	75 0f                	jne    0x412788
412779:	66 d1 20             	shlw   $1,(%eax)
41277c:	b2 03                	mov    $0x3,%dl
41277e:	d2 e2                	shl    %cl,%dl
412780:	fe c1                	inc    %cl
412782:	88 48 02             	mov    %cl,0x2(%eax)
412785:	88 50 03             	mov    %dl,0x3(%eax)
412788:	c3                   	ret
412789:	56                   	push   %esi
41278a:	8b f1                	mov    %ecx,%esi
41278c:	6a 00                	push   $0x0
41278e:	8d 4e 04             	lea    0x4(%esi),%ecx
412791:	e8 08 6f ff ff       	call   0x40969e
412796:	83 a6 d4 4a 00 00 00 	andl   $0x0,0x4ad4(%esi)
41279d:	8b c6                	mov    %esi,%eax
41279f:	5e                   	pop    %esi
4127a0:	c3                   	ret
4127a1:	56                   	push   %esi
4127a2:	8b f1                	mov    %ecx,%esi
4127a4:	8b 86 d4 4a 00 00    	mov    0x4ad4(%esi),%eax
4127aa:	85 c0                	test   %eax,%eax
4127ac:	74 07                	je     0x4127b5
4127ae:	50                   	push   %eax
4127af:	e8 2e 77 00 00       	call   0x419ee2
4127b4:	59                   	pop    %ecx
4127b5:	8d 4e 04             	lea    0x4(%esi),%ecx
4127b8:	5e                   	pop    %esi
4127b9:	e9 16 6f ff ff       	jmp    0x4096d4
4127be:	56                   	push   %esi
4127bf:	8b f1                	mov    %ecx,%esi
4127c1:	81 7e 04 e2 7f 00 00 	cmpl   $0x7fe2,0x4(%esi)
4127c8:	7e 05                	jle    0x4127cf
4127ca:	e8 40 f8 ff ff       	call   0x41200f
4127cf:	8b 4e 04             	mov    0x4(%esi),%ecx
4127d2:	8b 46 10             	mov    0x10(%esi),%eax
4127d5:	0f b6 04 08          	movzbl (%eax,%ecx,1),%eax
4127d9:	41                   	inc    %ecx
4127da:	89 4e 04             	mov    %ecx,0x4(%esi)
4127dd:	5e                   	pop    %esi
4127de:	c3                   	ret
4127df:	8b 44 24 04          	mov    0x4(%esp),%eax
4127e3:	56                   	push   %esi
4127e4:	8b f1                	mov    %ecx,%esi
4127e6:	83 66 04 00          	andl   $0x0,0x4(%esi)
4127ea:	83 26 00             	andl   $0x0,(%esi)
4127ed:	83 4e 08 ff          	orl    $0xffffffff,0x8(%esi)
4127f1:	57                   	push   %edi
4127f2:	6a 04                	push   $0x4
4127f4:	89 46 18             	mov    %eax,0x18(%esi)
4127f7:	5f                   	pop    %edi
4127f8:	8b 4e 18             	mov    0x18(%esi),%ecx
4127fb:	e8 be ff ff ff       	call   0x4127be
412800:	8b 4e 04             	mov    0x4(%esi),%ecx
412803:	c1 e1 08             	shl    $0x8,%ecx
412806:	0b c8                	or     %eax,%ecx
412808:	4f                   	dec    %edi
412809:	89 4e 04             	mov    %ecx,0x4(%esi)
41280c:	75 ea                	jne    0x4127f8
41280e:	5f                   	pop    %edi
41280f:	5e                   	pop    %esi
412810:	c2 04 00             	ret    $0x4
412813:	55                   	push   %ebp
412814:	8b ec                	mov    %esp,%ebp
412816:	8b 81 b0 00 00 00    	mov    0xb0(%ecx),%eax
41281c:	83 ec 10             	sub    $0x10,%esp
41281f:	3b 81 b4 00 00 00    	cmp    0xb4(%ecx),%eax
412825:	74 03                	je     0x41282a
412827:	c6 00 00             	movb   $0x0,(%eax)
41282a:	53                   	push   %ebx
41282b:	56                   	push   %esi
41282c:	8d 45 f0             	lea    -0x10(%ebp),%eax
41282f:	57                   	push   %edi
412830:	89 45 f8             	mov    %eax,-0x8(%ebp)
412833:	89 45 f4             	mov    %eax,-0xc(%ebp)
412836:	8d 79 04             	lea    0x4(%ecx),%edi
412839:	8d 91 b8 00 00 00    	lea    0xb8(%ecx),%edx
41283f:	c7 45 fc 26 00 00 00 	movl   $0x26,-0x4(%ebp)
412846:	be ff ff 00 00       	mov    $0xffff,%esi
41284b:	eb 28                	jmp    0x412875
41284d:	8b 02                	mov    (%edx),%eax
41284f:	8b 18                	mov    (%eax),%ebx
412851:	89 1a                	mov    %ebx,(%edx)
412853:	8d 5d f0             	lea    -0x10(%ebp),%ebx
412856:	89 58 08             	mov    %ebx,0x8(%eax)
412859:	8b 5d f4             	mov    -0xc(%ebp),%ebx
41285c:	89 58 04             	mov    %ebx,0x4(%eax)
41285f:	8b 5d f4             	mov    -0xc(%ebp),%ebx
412862:	89 43 08             	mov    %eax,0x8(%ebx)
412865:	8b de                	mov    %esi,%ebx
412867:	89 45 f4             	mov    %eax,-0xc(%ebp)
41286a:	66 89 18             	mov    %bx,(%eax)
41286d:	66 0f b6 1f          	movzbw (%edi),%bx
412871:	66 89 58 02          	mov    %bx,0x2(%eax)
412875:	83 3a 00             	cmpl   $0x0,(%edx)
412878:	75 d3                	jne    0x41284d
41287a:	83 c2 04             	add    $0x4,%edx
41287d:	47                   	inc    %edi
41287e:	ff 4d fc             	decl   -0x4(%ebp)
412881:	75 f2                	jne    0x412875
412883:	8b 55 f4             	mov    -0xc(%ebp),%edx
412886:	8d 45 f0             	lea    -0x10(%ebp),%eax
412889:	3b d0                	cmp    %eax,%edx
41288b:	0f 84 d0 00 00 00    	je     0x412961
412891:	eb 2c                	jmp    0x4128bf
412893:	0f b7 78 02          	movzwl 0x2(%eax),%edi
412897:	0f b7 5a 02          	movzwl 0x2(%edx),%ebx
41289b:	03 fb                	add    %ebx,%edi
41289d:	81 ff 00 00 01 00    	cmp    $0x10000,%edi
4128a3:	7d 2a                	jge    0x4128cf
4128a5:	8b 78 08             	mov    0x8(%eax),%edi
4128a8:	8b 58 04             	mov    0x4(%eax),%ebx
4128ab:	89 5f 04             	mov    %ebx,0x4(%edi)
4128ae:	8b 78 04             	mov    0x4(%eax),%edi
4128b1:	8b 58 08             	mov    0x8(%eax),%ebx
4128b4:	89 5f 08             	mov    %ebx,0x8(%edi)
4128b7:	66 8b 40 02          	mov    0x2(%eax),%ax
4128bb:	66 01 42 02          	add    %ax,0x2(%edx)
4128bf:	0f b7 42 02          	movzwl 0x2(%edx),%eax
4128c3:	6b c0 0c             	imul   $0xc,%eax,%eax
4128c6:	8b fe                	mov    %esi,%edi
4128c8:	03 c2                	add    %edx,%eax
4128ca:	66 39 38             	cmp    %di,(%eax)
4128cd:	74 c4                	je     0x412893
4128cf:	8b 52 04             	mov    0x4(%edx),%edx
4128d2:	8d 45 f0             	lea    -0x10(%ebp),%eax
4128d5:	3b d0                	cmp    %eax,%edx
4128d7:	75 e6                	jne    0x4128bf
4128d9:	e9 80 00 00 00       	jmp    0x41295e
4128de:	8d 42 04             	lea    0x4(%edx),%eax
4128e1:	8b 18                	mov    (%eax),%ebx
4128e3:	83 c2 08             	add    $0x8,%edx
4128e6:	8b 3a                	mov    (%edx),%edi
4128e8:	89 5f 04             	mov    %ebx,0x4(%edi)
4128eb:	8b 00                	mov    (%eax),%eax
4128ed:	8b 12                	mov    (%edx),%edx
4128ef:	89 50 08             	mov    %edx,0x8(%eax)
4128f2:	0f b7 46 02          	movzwl 0x2(%esi),%eax
4128f6:	3d 80 00 00 00       	cmp    $0x80,%eax
4128fb:	7e 28                	jle    0x412925
4128fd:	8d 90 7f ff ff ff    	lea    -0x81(%eax),%edx
412903:	c1 ea 07             	shr    $0x7,%edx
412906:	42                   	inc    %edx
412907:	8b fa                	mov    %edx,%edi
412909:	6b ff 80             	imul   $0xffffff80,%edi,%edi
41290c:	03 c7                	add    %edi,%eax
41290e:	8b b9 4c 01 00 00    	mov    0x14c(%ecx),%edi
412914:	89 3e                	mov    %edi,(%esi)
412916:	89 b1 4c 01 00 00    	mov    %esi,0x14c(%ecx)
41291c:	81 c6 00 06 00 00    	add    $0x600,%esi
412922:	4a                   	dec    %edx
412923:	75 e9                	jne    0x41290e
412925:	0f b6 7c 01 29       	movzbl 0x29(%ecx,%eax,1),%edi
41292a:	0f b6 54 39 04       	movzbl 0x4(%ecx,%edi,1),%edx
41292f:	3b d0                	cmp    %eax,%edx
412931:	74 1e                	je     0x412951
412933:	0f b6 5c 39 03       	movzbl 0x3(%ecx,%edi,1),%ebx
412938:	4f                   	dec    %edi
412939:	8b d0                	mov    %eax,%edx
41293b:	2b d3                	sub    %ebx,%edx
41293d:	2b c2                	sub    %edx,%eax
41293f:	6b c0 0c             	imul   $0xc,%eax,%eax
412942:	8d 94 91 b4 00 00 00 	lea    0xb4(%ecx,%edx,4),%edx
412949:	8b 1a                	mov    (%edx),%ebx
41294b:	03 c6                	add    %esi,%eax
41294d:	89 18                	mov    %ebx,(%eax)
41294f:	89 02                	mov    %eax,(%edx)
412951:	8d 84 b9 b8 00 00 00 	lea    0xb8(%ecx,%edi,4),%eax
412958:	8b 10                	mov    (%eax),%edx
41295a:	89 16                	mov    %edx,(%esi)
41295c:	89 30                	mov    %esi,(%eax)
41295e:	8b 55 f4             	mov    -0xc(%ebp),%edx
412961:	8d 45 f0             	lea    -0x10(%ebp),%eax
412964:	8b f2                	mov    %edx,%esi
412966:	3b d0                	cmp    %eax,%edx
412968:	0f 85 70 ff ff ff    	jne    0x4128de
41296e:	5f                   	pop    %edi
41296f:	5e                   	pop    %esi
412970:	5b                   	pop    %ebx
412971:	c9                   	leave
412972:	c3                   	ret
412973:	56                   	push   %esi
412974:	8b f1                	mov    %ecx,%esi
412976:	80 be aa 00 00 00 00 	cmpb   $0x0,0xaa(%esi)
41297d:	57                   	push   %edi
41297e:	8b 7c 24 0c          	mov    0xc(%esp),%edi
412982:	75 1f                	jne    0x4129a3
412984:	c6 86 aa 00 00 00 ff 	movb   $0xff,0xaa(%esi)
41298b:	e8 83 fe ff ff       	call   0x412813
412990:	8d 8c be b8 00 00 00 	lea    0xb8(%esi,%edi,4),%ecx
412997:	8b 01                	mov    (%ecx),%eax
412999:	85 c0                	test   %eax,%eax
41299b:	74 06                	je     0x4129a3
41299d:	8b 10                	mov    (%eax),%edx
41299f:	89 11                	mov    %edx,(%ecx)
4129a1:	eb 32                	jmp    0x4129d5
4129a3:	8b cf                	mov    %edi,%ecx
4129a5:	8d 84 be b8 00 00 00 	lea    0xb8(%esi,%edi,4),%eax
4129ac:	41                   	inc    %ecx