4214c6:	8b 7d fc             	mov    -0x4(%ebp),%edi
4214c9:	89 75 0c             	mov    %esi,0xc(%ebp)
4214cc:	53                   	push   %ebx
4214cd:	6a 00                	push   $0x0
4214cf:	57                   	push   %edi
4214d0:	52                   	push   %edx
4214d1:	51                   	push   %ecx
4214d2:	e8 b9 73 00 00       	call   0x428890
4214d7:	89 4d 10             	mov    %ecx,0x10(%ebp)
4214da:	8b c8                	mov    %eax,%ecx
4214dc:	8b 45 10             	mov    0x10(%ebp),%eax
4214df:	89 5d fc             	mov    %ebx,-0x4(%ebp)
4214e2:	83 f8 09             	cmp    $0x9,%eax
4214e5:	76 05                	jbe    0x4214ec
4214e7:	83 c0 57             	add    $0x57,%eax
4214ea:	eb 03                	jmp    0x4214ef
4214ec:	83 c0 30             	add    $0x30,%eax
4214ef:	66 89 06             	mov    %ax,(%esi)
4214f2:	83 c6 02             	add    $0x2,%esi
4214f5:	85 d2                	test   %edx,%edx
4214f7:	77 d4                	ja     0x4214cd
4214f9:	72 04                	jb     0x4214ff
4214fb:	85 c9                	test   %ecx,%ecx
4214fd:	75 ce                	jne    0x4214cd
4214ff:	8b 7d 0c             	mov    0xc(%ebp),%edi
421502:	33 c0                	xor    %eax,%eax
421504:	66 89 06             	mov    %ax,(%esi)
421507:	83 ee 02             	sub    $0x2,%esi
42150a:	5b                   	pop    %ebx
42150b:	0f b7 0e             	movzwl (%esi),%ecx
42150e:	66 8b 07             	mov    (%edi),%ax
421511:	66 89 06             	mov    %ax,(%esi)
421514:	66 89 0f             	mov    %cx,(%edi)
421517:	83 ee 02             	sub    $0x2,%esi
42151a:	83 c7 02             	add    $0x2,%edi
42151d:	3b fe                	cmp    %esi,%edi
42151f:	72 ea                	jb     0x42150b
421521:	5f                   	pop    %edi
421522:	5e                   	pop    %esi
421523:	c9                   	leave
421524:	c2 0c 00             	ret    $0xc
421527:	55                   	push   %ebp
421528:	8b ec                	mov    %esp,%ebp
42152a:	8b 55 14             	mov    0x14(%ebp),%edx
42152d:	33 c0                	xor    %eax,%eax
42152f:	83 fa 0a             	cmp    $0xa,%edx
421532:	75 0f                	jne    0x421543
421534:	39 45 0c             	cmp    %eax,0xc(%ebp)
421537:	7f 0a                	jg     0x421543
421539:	7c 05                	jl     0x421540
42153b:	39 45 08             	cmp    %eax,0x8(%ebp)
42153e:	73 03                	jae    0x421543
421540:	33 c0                	xor    %eax,%eax
421542:	40                   	inc    %eax
421543:	8b 4d 10             	mov    0x10(%ebp),%ecx
421546:	50                   	push   %eax
421547:	ff 75 0c             	push   0xc(%ebp)
42154a:	ff 75 08             	push   0x8(%ebp)
42154d:	e8 4c ff ff ff       	call   0x42149e
421552:	8b 45 10             	mov    0x10(%ebp),%eax
421555:	5d                   	pop    %ebp
421556:	c3                   	ret
421557:	55                   	push   %ebp
421558:	8b ec                	mov    %esp,%ebp
42155a:	83 7d 10 0a          	cmpl   $0xa,0x10(%ebp)
42155e:	8b 45 08             	mov    0x8(%ebp),%eax
421561:	56                   	push   %esi
421562:	75 0a                	jne    0x42156e
421564:	85 c0                	test   %eax,%eax
421566:	79 06                	jns    0x42156e
421568:	6a 01                	push   $0x1
42156a:	6a 0a                	push   $0xa
42156c:	eb 05                	jmp    0x421573
42156e:	6a 00                	push   $0x0
421570:	ff 75 10             	push   0x10(%ebp)
421573:	8b 75 0c             	mov    0xc(%ebp),%esi
421576:	56                   	push   %esi
421577:	50                   	push   %eax
421578:	e8 05 00 00 00       	call   0x421582
42157d:	8b c6                	mov    %esi,%eax
42157f:	5e                   	pop    %esi
421580:	5d                   	pop    %ebp
421581:	c3                   	ret
421582:	55                   	push   %ebp
421583:	8b ec                	mov    %esp,%ebp
421585:	83 7d 14 00          	cmpl   $0x0,0x14(%ebp)
421589:	8b 4d 08             	mov    0x8(%ebp),%ecx
42158c:	53                   	push   %ebx
42158d:	56                   	push   %esi
42158e:	8b 75 0c             	mov    0xc(%ebp),%esi
421591:	57                   	push   %edi
421592:	74 0b                	je     0x42159f
421594:	6a 2d                	push   $0x2d
421596:	58                   	pop    %eax
421597:	66 89 06             	mov    %ax,(%esi)
42159a:	83 c6 02             	add    $0x2,%esi
42159d:	f7 d9                	neg    %ecx
42159f:	6a 02                	push   $0x2
4215a1:	8b fe                	mov    %esi,%edi
4215a3:	5b                   	pop    %ebx
4215a4:	8b c1                	mov    %ecx,%eax
4215a6:	33 d2                	xor    %edx,%edx
4215a8:	f7 75 10             	divl   0x10(%ebp)
4215ab:	8b c8                	mov    %eax,%ecx
4215ad:	8d 42 57             	lea    0x57(%edx),%eax
4215b0:	83 fa 09             	cmp    $0x9,%edx
4215b3:	77 03                	ja     0x4215b8
4215b5:	8d 42 30             	lea    0x30(%edx),%eax
4215b8:	66 89 06             	mov    %ax,(%esi)
4215bb:	03 f3                	add    %ebx,%esi
4215bd:	85 c9                	test   %ecx,%ecx
4215bf:	75 e3                	jne    0x4215a4
4215c1:	33 c0                	xor    %eax,%eax
4215c3:	66 89 06             	mov    %ax,(%esi)
4215c6:	2b f3                	sub    %ebx,%esi
4215c8:	0f b7 0e             	movzwl (%esi),%ecx
4215cb:	66 8b 07             	mov    (%edi),%ax
4215ce:	66 89 06             	mov    %ax,(%esi)
4215d1:	66 89 0f             	mov    %cx,(%edi)
4215d4:	2b f3                	sub    %ebx,%esi
4215d6:	03 fb                	add    %ebx,%edi
4215d8:	3b fe                	cmp    %esi,%edi
4215da:	72 ec                	jb     0x4215c8
4215dc:	5f                   	pop    %edi
4215dd:	5e                   	pop    %esi
4215de:	5b                   	pop    %ebx
4215df:	5d                   	pop    %ebp
4215e0:	c2 10 00             	ret    $0x10
4215e3:	55                   	push   %ebp
4215e4:	8b ec                	mov    %esp,%ebp
4215e6:	8b 55 0c             	mov    0xc(%ebp),%edx
4215e9:	56                   	push   %esi
4215ea:	8b 75 08             	mov    0x8(%ebp),%esi
4215ed:	57                   	push   %edi
4215ee:	0f b7 3a             	movzwl (%edx),%edi
4215f1:	0f b7 0e             	movzwl (%esi),%ecx
4215f4:	2b cf                	sub    %edi,%ecx
4215f6:	75 15                	jne    0x42160d
4215f8:	2b f2                	sub    %edx,%esi
4215fa:	66 85 ff             	test   %di,%di
4215fd:	74 0e                	je     0x42160d
4215ff:	83 c2 02             	add    $0x2,%edx
421602:	0f b7 3a             	movzwl (%edx),%edi
421605:	0f b7 0c 16          	movzwl (%esi,%edx,1),%ecx
421609:	2b cf                	sub    %edi,%ecx
42160b:	74 ed                	je     0x4215fa
42160d:	5f                   	pop    %edi
42160e:	5e                   	pop    %esi
42160f:	85 c9                	test   %ecx,%ecx
421611:	79 05                	jns    0x421618
421613:	83 c9 ff             	or     $0xffffffff,%ecx
421616:	eb 05                	jmp    0x42161d
421618:	7e 03                	jle    0x42161d
42161a:	33 c9                	xor    %ecx,%ecx
42161c:	41                   	inc    %ecx
42161d:	8b c1                	mov    %ecx,%eax
42161f:	5d                   	pop    %ebp
421620:	c3                   	ret
421621:	55                   	push   %ebp
421622:	8b ec                	mov    %esp,%ebp
421624:	5d                   	pop    %ebp
421625:	e9 14 00 00 00       	jmp    0x42163e
42162a:	55                   	push   %ebp
42162b:	8b ec                	mov    %esp,%ebp
42162d:	6a 0a                	push   $0xa
42162f:	6a 00                	push   $0x0
421631:	ff 75 08             	push   0x8(%ebp)
421634:	e8 ae 77 00 00       	call   0x428de7
421639:	83 c4 0c             	add    $0xc,%esp
42163c:	5d                   	pop    %ebp
42163d:	c3                   	ret
42163e:	55                   	push   %ebp
42163f:	8b ec                	mov    %esp,%ebp
421641:	6a 0a                	push   $0xa
421643:	6a 00                	push   $0x0
421645:	ff 75 08             	push   0x8(%ebp)
421648:	e8 b4 74 00 00       	call   0x428b01
42164d:	83 c4 0c             	add    $0xc,%esp
421650:	5d                   	pop    %ebp
421651:	c3                   	ret
421652:	55                   	push   %ebp
421653:	8b ec                	mov    %esp,%ebp
421655:	83 ec 10             	sub    $0x10,%esp
421658:	ff 75 0c             	push   0xc(%ebp)
42165b:	8d 4d f0             	lea    -0x10(%ebp),%ecx
42165e:	e8 bc f8 ff ff       	call   0x420f1f
421663:	8b 45 f0             	mov    -0x10(%ebp),%eax
421666:	0f b6 4d 08          	movzbl 0x8(%ebp),%ecx
42166a:	8b 80 90 00 00 00    	mov    0x90(%eax),%eax
421670:	0f b7 04 48          	movzwl (%eax,%ecx,2),%eax
421674:	25 00 80 00 00       	and    $0x8000,%eax
421679:	80 7d fc 00          	cmpb   $0x0,-0x4(%ebp)
42167d:	74 07                	je     0x421686
42167f:	8b 4d f8             	mov    -0x8(%ebp),%ecx
421682:	83 61 70 fd          	andl   $0xfffffffd,0x70(%ecx)
421686:	c9                   	leave
421687:	c3                   	ret
421688:	55                   	push   %ebp
421689:	8b ec                	mov    %esp,%ebp
42168b:	6a 00                	push   $0x0
42168d:	ff 75 08             	push   0x8(%ebp)
421690:	e8 bd ff ff ff       	call   0x421652
421695:	59                   	pop    %ecx
421696:	59                   	pop    %ecx
421697:	5d                   	pop    %ebp
421698:	c3                   	ret
421699:	55                   	push   %ebp
42169a:	8b ec                	mov    %esp,%ebp
42169c:	68 07 01 00 00       	push   $0x107
4216a1:	ff 75 08             	push   0x8(%ebp)
4216a4:	e8 68 77 00 00       	call   0x428e11
4216a9:	59                   	pop    %ecx
4216aa:	59                   	pop    %ecx
4216ab:	5d                   	pop    %ebp
4216ac:	c3                   	ret
4216ad:	55                   	push   %ebp
4216ae:	8b ec                	mov    %esp,%ebp
4216b0:	b8 80 00 00 00       	mov    $0x80,%eax
4216b5:	66 39 45 08          	cmp    %ax,0x8(%ebp)
4216b9:	1b c0                	sbb    %eax,%eax
4216bb:	f7 d8                	neg    %eax
4216bd:	5d                   	pop    %ebp
4216be:	c3                   	ret
4216bf:	55                   	push   %ebp
4216c0:	8b ec                	mov    %esp,%ebp
4216c2:	6a 04                	push   $0x4
4216c4:	ff 75 08             	push   0x8(%ebp)
4216c7:	e8 45 77 00 00       	call   0x428e11
4216cc:	59                   	pop    %ecx
4216cd:	59                   	pop    %ecx
4216ce:	5d                   	pop    %ebp
4216cf:	c3                   	ret
4216d0:	55                   	push   %ebp
4216d1:	8b ec                	mov    %esp,%ebp
4216d3:	6a 08                	push   $0x8
4216d5:	ff 75 08             	push   0x8(%ebp)
4216d8:	e8 34 77 00 00       	call   0x428e11
4216dd:	59                   	pop    %ecx
4216de:	59                   	pop    %ecx
4216df:	5d                   	pop    %ebp
4216e0:	c3                   	ret
4216e1:	55                   	push   %ebp
4216e2:	8b ec                	mov    %esp,%ebp
4216e4:	68 80 00 00 00       	push   $0x80
4216e9:	ff 75 08             	push   0x8(%ebp)
4216ec:	e8 20 77 00 00       	call   0x428e11
4216f1:	59                   	pop    %ecx
4216f2:	59                   	pop    %ecx
4216f3:	5d                   	pop    %ebp
4216f4:	c3                   	ret
4216f5:	55                   	push   %ebp
4216f6:	8b ec                	mov    %esp,%ebp
4216f8:	8b 45 10             	mov    0x10(%ebp),%eax
4216fb:	85 c0                	test   %eax,%eax
4216fd:	75 02                	jne    0x421701
4216ff:	5d                   	pop    %ebp
421700:	c3                   	ret
421701:	8b 4d 0c             	mov    0xc(%ebp),%ecx
421704:	8b 55 08             	mov    0x8(%ebp),%edx
421707:	56                   	push   %esi
421708:	48                   	dec    %eax
421709:	74 15                	je     0x421720
42170b:	0f b7 32             	movzwl (%edx),%esi
42170e:	66 85 f6             	test   %si,%si
421711:	74 0d                	je     0x421720
421713:	66 3b 31             	cmp    (%ecx),%si
421716:	75 08                	jne    0x421720
421718:	83 c2 02             	add    $0x2,%edx
42171b:	83 c1 02             	add    $0x2,%ecx
42171e:	eb e8                	jmp    0x421708
421720:	0f b7 02             	movzwl (%edx),%eax
421723:	0f b7 09             	movzwl (%ecx),%ecx
421726:	2b c1                	sub    %ecx,%eax
421728:	5e                   	pop    %esi
421729:	5d                   	pop    %ebp
42172a:	c3                   	ret
42172b:	55                   	push   %ebp
42172c:	8b ec                	mov    %esp,%ebp
42172e:	83 ec 20             	sub    $0x20,%esp
421731:	53                   	push   %ebx
421732:	57                   	push   %edi
421733:	33 db                	xor    %ebx,%ebx
421735:	6a 07                	push   $0x7
421737:	33 c0                	xor    %eax,%eax
421739:	59                   	pop    %ecx
42173a:	8d 7d e4             	lea    -0x1c(%ebp),%edi
42173d:	89 5d e0             	mov    %ebx,-0x20(%ebp)
421740:	f3 ab                	rep stos %eax,%es:(%edi)
421742:	39 45 0c             	cmp    %eax,0xc(%ebp)
421745:	75 15                	jne    0x42175c
421747:	e8 c2 64 00 00       	call   0x427c0e
42174c:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
421752:	e8 b9 56 00 00       	call   0x426e10
421757:	83 c8 ff             	or     $0xffffffff,%eax
42175a:	eb 6c                	jmp    0x4217c8
42175c:	8b 45 08             	mov    0x8(%ebp),%eax
42175f:	85 c0                	test   %eax,%eax
421761:	74 e4                	je     0x421747
421763:	56                   	push   %esi
421764:	89 45 e8             	mov    %eax,-0x18(%ebp)
421767:	89 45 e0             	mov    %eax,-0x20(%ebp)
42176a:	8d 45 10             	lea    0x10(%ebp),%eax
42176d:	50                   	push   %eax
42176e:	53                   	push   %ebx
42176f:	ff 75 0c             	push   0xc(%ebp)
421772:	8d 45 e0             	lea    -0x20(%ebp),%eax
421775:	50                   	push   %eax
421776:	c7 45 ec 42 00 00 00 	movl   $0x42,-0x14(%ebp)
42177d:	c7 45 e4 ff ff ff 7f 	movl   $0x7fffffff,-0x1c(%ebp)
421784:	e8 27 78 00 00       	call   0x428fb0
421789:	83 c4 10             	add    $0x10,%esp
42178c:	ff 4d e4             	decl   -0x1c(%ebp)
42178f:	8b f0                	mov    %eax,%esi
421791:	78 0e                	js     0x4217a1
421793:	8b 4d e0             	mov    -0x20(%ebp),%ecx
421796:	88 19                	mov    %bl,(%ecx)
421798:	8b 4d e0             	mov    -0x20(%ebp),%ecx
42179b:	41                   	inc    %ecx
42179c:	89 4d e0             	mov    %ecx,-0x20(%ebp)
42179f:	eb 0f                	jmp    0x4217b0
4217a1:	8d 45 e0             	lea    -0x20(%ebp),%eax
4217a4:	50                   	push   %eax
4217a5:	53                   	push   %ebx
4217a6:	e8 b8 76 00 00       	call   0x428e63
4217ab:	59                   	pop    %ecx
4217ac:	59                   	pop    %ecx
4217ad:	8b 4d e0             	mov    -0x20(%ebp),%ecx
4217b0:	ff 4d e4             	decl   -0x1c(%ebp)
4217b3:	78 04                	js     0x4217b9
4217b5:	88 19                	mov    %bl,(%ecx)
4217b7:	eb 0c                	jmp    0x4217c5
4217b9:	8d 45 e0             	lea    -0x20(%ebp),%eax
4217bc:	50                   	push   %eax
4217bd:	53                   	push   %ebx
4217be:	e8 a0 76 00 00       	call   0x428e63
4217c3:	59                   	pop    %ecx
4217c4:	59                   	pop    %ecx
4217c5:	8b c6                	mov    %esi,%eax
4217c7:	5e                   	pop    %esi
4217c8:	5f                   	pop    %edi
4217c9:	5b                   	pop    %ebx
4217ca:	c9                   	leave
4217cb:	c3                   	ret
4217cc:	cc                   	int3
4217cd:	cc                   	int3
4217ce:	cc                   	int3
4217cf:	cc                   	int3
4217d0:	8b 4c 24 04          	mov    0x4(%esp),%ecx
4217d4:	f7 c1 03 00 00 00    	test   $0x3,%ecx
4217da:	74 24                	je     0x421800