42a417:	66 8b 44 54 18       	mov    0x18(%esp,%edx,2),%ax
42a41c:	66 c1 c0 08          	rol    $0x8,%ax
42a420:	66 89 84 54 6c 0d 00 	mov    %ax,0xd6c(%esp,%edx,2)
42a427:	00
42a428:	42                   	inc    %edx
42a429:	3b d1                	cmp    %ecx,%edx
42a42b:	72 ea                	jb     0x42a417
42a42d:	8d 34 09             	lea    (%ecx,%ecx,1),%esi
42a430:	e9 0b 01 00 00       	jmp    0x42a540
42a435:	83 f8 01             	cmp    $0x1,%eax
42a438:	75 2a                	jne    0x42a464
42a43a:	ff 74 24 10          	push   0x10(%esp)
42a43e:	8d 84 24 70 0d 00 00 	lea    0xd70(%esp),%eax
42a445:	8b d1                	mov    %ecx,%edx
42a447:	50                   	push   %eax
42a448:	8d 4c 24 20          	lea    0x20(%esp),%ecx
42a44c:	e8 df a8 00 00       	call   0x434d30
42a451:	8b f0                	mov    %eax,%esi
42a453:	83 c4 08             	add    $0x8,%esp
42a456:	8d 84 24 6c 0d 00 00 	lea    0xd6c(%esp),%eax
42a45d:	2b f0                	sub    %eax,%esi
42a45f:	e9 dc 00 00 00       	jmp    0x42a540
42a464:	83 f8 06             	cmp    $0x6,%eax
42a467:	0f 84 9d 00 00 00    	je     0x42a50a
42a46d:	83 f8 05             	cmp    $0x5,%eax
42a470:	0f 84 97 00 00 00    	je     0x42a50d
42a476:	83 f8 09             	cmp    $0x9,%eax
42a479:	0f 85 87 00 00 00    	jne    0x42a506
42a47f:	8d b4 24 6c 0d 00 00 	lea    0xd6c(%esp),%esi
42a486:	8d 54 24 18          	lea    0x18(%esp),%edx
42a48a:	66 0f 1f 44 00 00    	nopw   0x0(%eax,%eax,1)
42a490:	0f b7 02             	movzwl (%edx),%eax
42a493:	8b d8                	mov    %eax,%ebx
42a495:	8b f8                	mov    %eax,%edi
42a497:	66 3b 44 24 14       	cmp    0x14(%esp),%ax
42a49c:	73 2d                	jae    0x42a4cb
42a49e:	bf ff 00 00 00       	mov    $0xff,%edi
42a4a3:	0f b6 c3             	movzbl %bl,%eax
42a4a6:	66 3b df             	cmp    %di,%bx
42a4a9:	bb 3f 00 00 00       	mov    $0x3f,%ebx
42a4ae:	0f 47 c3             	cmova  %ebx,%eax
42a4b1:	88 06                	mov    %al,(%esi)
42a4b3:	46                   	inc    %esi
42a4b4:	83 c2 02             	add    $0x2,%edx
42a4b7:	49                   	dec    %ecx
42a4b8:	85 c9                	test   %ecx,%ecx
42a4ba:	75 d4                	jne    0x42a490
42a4bc:	8b 5c 24 10          	mov    0x10(%esp),%ebx
42a4c0:	8d 84 24 6c 0d 00 00 	lea    0xd6c(%esp),%eax
42a4c7:	2b f0                	sub    %eax,%esi
42a4c9:	eb 75                	jmp    0x42a540
42a4cb:	8d 87 00 20 ff ff    	lea    -0xe000(%edi),%eax
42a4d1:	3d 00 20 00 00       	cmp    $0x2000,%eax
42a4d6:	72 c6                	jb     0x42a49e
42a4d8:	8d 87 00 28 ff ff    	lea    -0xd800(%edi),%eax
42a4de:	3d 00 04 00 00       	cmp    $0x400,%eax
42a4e3:	73 cf                	jae    0x42a4b4
42a4e5:	83 f9 02             	cmp    $0x2,%ecx
42a4e8:	72 ca                	jb     0x42a4b4
42a4ea:	0f b7 42 02          	movzwl 0x2(%edx),%eax
42a4ee:	2d 00 dc 00 00       	sub    $0xdc00,%eax
42a4f3:	3d 00 04 00 00       	cmp    $0x400,%eax
42a4f8:	73 ba                	jae    0x42a4b4
42a4fa:	c6 06 3f             	movb   $0x3f,(%esi)
42a4fd:	83 c2 04             	add    $0x4,%edx
42a500:	46                   	inc    %esi
42a501:	83 e9 02             	sub    $0x2,%ecx
42a504:	eb b2                	jmp    0x42a4b8
42a506:	33 f6                	xor    %esi,%esi
42a508:	eb 36                	jmp    0x42a540
42a50a:	83 f8 05             	cmp    $0x5,%eax
42a50d:	0f 95 c0             	setne  %al
42a510:	8d 54 24 18          	lea    0x18(%esp),%edx
42a514:	0f b6 c0             	movzbl %al,%eax
42a517:	50                   	push   %eax
42a518:	ff 74 24 14          	push   0x14(%esp)
42a51c:	ff 74 24 18          	push   0x18(%esp)
42a520:	51                   	push   %ecx
42a521:	8d 8c 24 7c 0d 00 00 	lea    0xd7c(%esp),%ecx
42a528:	e8 e3 75 00 00       	call   0x431b10
42a52d:	83 c4 10             	add    $0x10,%esp
42a530:	8b f0                	mov    %eax,%esi
42a532:	0f 1f 40 00          	nopl   0x0(%eax)
42a536:	66 66 0f 1f 84 00 00 	data16 nopw 0x0(%eax,%eax,1)
42a53d:	00 00 00
42a540:	56                   	push   %esi
42a541:	8d 84 24 70 0d 00 00 	lea    0xd70(%esp),%eax
42a548:	8b bc 24 18 28 00 00 	mov    0x2818(%esp),%edi
42a54f:	50                   	push   %eax
42a550:	8b 17                	mov    (%edi),%edx
42a552:	8b 72 04             	mov    0x4(%edx),%esi
42a555:	8b ce                	mov    %esi,%ecx
42a557:	ff 15 d4 e2 49 00    	call   *0x49e2d4
42a55d:	8b cf                	mov    %edi,%ecx
42a55f:	ff d6                	call   *%esi
42a561:	33 c9                	xor    %ecx,%ecx
42a563:	8d 41 02             	lea    0x2(%ecx),%eax
42a566:	c7 44 4c 18 3f 00 3e 	movl   $0x3e003f,0x18(%esp,%ecx,2)
42a56d:	00
42a56e:	89 84 24 18 28 00 00 	mov    %eax,0x2818(%esp)
42a575:	8b 13                	mov    (%ebx),%edx
42a577:	8d 4c 24 18          	lea    0x18(%esp),%ecx
42a57b:	83 ec 0c             	sub    $0xc,%esp
42a57e:	e8 7d f7 ff ff       	call   0x429d00
42a583:	8b 8c 24 24 28 00 00 	mov    0x2824(%esp),%ecx
42a58a:	83 c4 0c             	add    $0xc,%esp
42a58d:	85 c9                	test   %ecx,%ecx
42a58f:	0f 84 5d 01 00 00    	je     0x42a6f2
42a595:	8b 84 24 1c 28 00 00 	mov    0x281c(%esp),%eax
42a59c:	83 f8 02             	cmp    $0x2,%eax
42a59f:	75 0d                	jne    0x42a5ae
42a5a1:	8d 04 09             	lea    (%ecx,%ecx,1),%eax
42a5a4:	50                   	push   %eax
42a5a5:	8d 44 24 1c          	lea    0x1c(%esp),%eax
42a5a9:	e9 2b 01 00 00       	jmp    0x42a6d9
42a5ae:	83 f8 03             	cmp    $0x3,%eax
42a5b1:	75 2b                	jne    0x42a5de
42a5b3:	33 d2                	xor    %edx,%edx
42a5b5:	85 c9                	test   %ecx,%ecx
42a5b7:	74 1d                	je     0x42a5d6
42a5b9:	0f 1f 80 00 00 00 00 	nopl   0x0(%eax)
42a5c0:	66 8b 44 54 18       	mov    0x18(%esp,%edx,2),%ax
42a5c5:	66 c1 c0 08          	rol    $0x8,%ax
42a5c9:	66 89 84 54 6c 0d 00 	mov    %ax,0xd6c(%esp,%edx,2)
42a5d0:	00
42a5d1:	42                   	inc    %edx
42a5d2:	3b d1                	cmp    %ecx,%edx
42a5d4:	72 ea                	jb     0x42a5c0
42a5d6:	8d 34 09             	lea    (%ecx,%ecx,1),%esi
42a5d9:	e9 f3 00 00 00       	jmp    0x42a6d1
42a5de:	83 f8 01             	cmp    $0x1,%eax
42a5e1:	75 2a                	jne    0x42a60d
42a5e3:	ff 74 24 10          	push   0x10(%esp)
42a5e7:	8d 84 24 70 0d 00 00 	lea    0xd70(%esp),%eax
42a5ee:	8b d1                	mov    %ecx,%edx
42a5f0:	50                   	push   %eax
42a5f1:	8d 4c 24 20          	lea    0x20(%esp),%ecx
42a5f5:	e8 36 a7 00 00       	call   0x434d30
42a5fa:	8b f0                	mov    %eax,%esi
42a5fc:	83 c4 08             	add    $0x8,%esp
42a5ff:	8d 84 24 6c 0d 00 00 	lea    0xd6c(%esp),%eax
42a606:	2b f0                	sub    %eax,%esi
42a608:	e9 c4 00 00 00       	jmp    0x42a6d1
42a60d:	83 f8 06             	cmp    $0x6,%eax
42a610:	0f 84 93 00 00 00    	je     0x42a6a9
42a616:	83 f8 05             	cmp    $0x5,%eax
42a619:	0f 84 8d 00 00 00    	je     0x42a6ac
42a61f:	83 f8 09             	cmp    $0x9,%eax
42a622:	0f 85 7d 00 00 00    	jne    0x42a6a5
42a628:	8d b4 24 6c 0d 00 00 	lea    0xd6c(%esp),%esi
42a62f:	8d 54 24 18          	lea    0x18(%esp),%edx
42a633:	0f b7 02             	movzwl (%edx),%eax
42a636:	8b d8                	mov    %eax,%ebx
42a638:	8b f8                	mov    %eax,%edi
42a63a:	66 3b 44 24 14       	cmp    0x14(%esp),%ax
42a63f:	73 29                	jae    0x42a66a
42a641:	bf ff 00 00 00       	mov    $0xff,%edi
42a646:	0f b6 c3             	movzbl %bl,%eax
42a649:	66 3b df             	cmp    %di,%bx
42a64c:	bb 3f 00 00 00       	mov    $0x3f,%ebx
42a651:	0f 47 c3             	cmova  %ebx,%eax
42a654:	88 06                	mov    %al,(%esi)
42a656:	46                   	inc    %esi
42a657:	83 c2 02             	add    $0x2,%edx
42a65a:	49                   	dec    %ecx
42a65b:	85 c9                	test   %ecx,%ecx
42a65d:	75 d4                	jne    0x42a633
42a65f:	8d 84 24 6c 0d 00 00 	lea    0xd6c(%esp),%eax
42a666:	2b f0                	sub    %eax,%esi
42a668:	eb 67                	jmp    0x42a6d1
42a66a:	8d 87 00 20 ff ff    	lea    -0xe000(%edi),%eax
42a670:	3d 00 20 00 00       	cmp    $0x2000,%eax
42a675:	72 ca                	jb     0x42a641
42a677:	8d 87 00 28 ff ff    	lea    -0xd800(%edi),%eax
42a67d:	3d 00 04 00 00       	cmp    $0x400,%eax
42a682:	73 d3                	jae    0x42a657
42a684:	83 f9 02             	cmp    $0x2,%ecx
42a687:	72 ce                	jb     0x42a657
42a689:	0f b7 42 02          	movzwl 0x2(%edx),%eax
42a68d:	2d 00 dc 00 00       	sub    $0xdc00,%eax
42a692:	3d 00 04 00 00       	cmp    $0x400,%eax
42a697:	73 be                	jae    0x42a657
42a699:	c6 06 3f             	movb   $0x3f,(%esi)
42a69c:	83 c2 04             	add    $0x4,%edx
42a69f:	46                   	inc    %esi
42a6a0:	83 e9 02             	sub    $0x2,%ecx
42a6a3:	eb b6                	jmp    0x42a65b
42a6a5:	33 f6                	xor    %esi,%esi
42a6a7:	eb 28                	jmp    0x42a6d1
42a6a9:	83 f8 05             	cmp    $0x5,%eax
42a6ac:	0f 95 c0             	setne  %al
42a6af:	8d 54 24 18          	lea    0x18(%esp),%edx
42a6b3:	0f b6 c0             	movzbl %al,%eax
42a6b6:	50                   	push   %eax
42a6b7:	ff 74 24 14          	push   0x14(%esp)
42a6bb:	ff 74 24 18          	push   0x18(%esp)
42a6bf:	51                   	push   %ecx
42a6c0:	8d 8c 24 7c 0d 00 00 	lea    0xd7c(%esp),%ecx
42a6c7:	e8 44 74 00 00       	call   0x431b10
42a6cc:	83 c4 10             	add    $0x10,%esp
42a6cf:	8b f0                	mov    %eax,%esi
42a6d1:	56                   	push   %esi
42a6d2:	8d 84 24 70 0d 00 00 	lea    0xd70(%esp),%eax
42a6d9:	8b bc 24 18 28 00 00 	mov    0x2818(%esp),%edi
42a6e0:	50                   	push   %eax
42a6e1:	8b 17                	mov    (%edi),%edx
42a6e3:	8b 72 04             	mov    0x4(%edx),%esi
42a6e6:	8b ce                	mov    %esi,%ecx
42a6e8:	ff 15 d4 e2 49 00    	call   *0x49e2d4
42a6ee:	8b cf                	mov    %edi,%ecx
42a6f0:	ff d6                	call   *%esi
42a6f2:	8b 8c 24 24 28 00 00 	mov    0x2824(%esp),%ecx
42a6f9:	5f                   	pop    %edi
42a6fa:	5e                   	pop    %esi
42a6fb:	5b                   	pop    %ebx
42a6fc:	33 cc                	xor    %esp,%ecx
42a6fe:	e8 c7 f2 03 00       	call   0x4699ca
42a703:	8b e5                	mov    %ebp,%esp
42a705:	5d                   	pop    %ebp
42a706:	c2 10 00             	ret    $0x10
42a709:	cc                   	int3
42a70a:	cc                   	int3
42a70b:	cc                   	int3
42a70c:	cc                   	int3
42a70d:	cc                   	int3
42a70e:	cc                   	int3
42a70f:	cc                   	int3
42a710:	55                   	push   %ebp
42a711:	8b ec                	mov    %esp,%ebp
42a713:	56                   	push   %esi
42a714:	57                   	push   %edi
42a715:	8b 7d 08             	mov    0x8(%ebp),%edi
42a718:	8b f1                	mov    %ecx,%esi
42a71a:	83 c7 07             	add    $0x7,%edi
42a71d:	83 e7 f8             	and    $0xfffffff8,%edi
42a720:	8b 46 04             	mov    0x4(%esi),%eax
42a723:	8b 16                	mov    (%esi),%edx
42a725:	8d 0c 38             	lea    (%eax,%edi,1),%ecx
42a728:	3b 4a 04             	cmp    0x4(%edx),%ecx
42a72b:	77 0e                	ja     0x42a73b
42a72d:	83 c0 08             	add    $0x8,%eax
42a730:	89 4e 04             	mov    %ecx,0x4(%esi)
42a733:	5f                   	pop    %edi
42a734:	03 c2                	add    %edx,%eax
42a736:	5e                   	pop    %esi
42a737:	5d                   	pop    %ebp
42a738:	c2 04 00             	ret    $0x4
42a73b:	53                   	push   %ebx
42a73c:	b8 00 10 00 00       	mov    $0x1000,%eax
42a741:	8d 9f 00 04 00 00    	lea    0x400(%edi),%ebx
42a747:	3b d8                	cmp    %eax,%ebx
42a749:	0f 42 d8             	cmovb  %eax,%ebx
42a74c:	8d 43 08             	lea    0x8(%ebx),%eax
42a74f:	50                   	push   %eax
42a750:	e8 ac ef 04 00       	call   0x479701
42a755:	8b c8                	mov    %eax,%ecx
42a757:	83 c4 04             	add    $0x4,%esp
42a75a:	85 c9                	test   %ecx,%ecx
42a75c:	75 13                	jne    0x42a771
42a75e:	8b 46 08             	mov    0x8(%esi),%eax
42a761:	85 c0                	test   %eax,%eax
42a763:	74 03                	je     0x42a768
42a765:	c6 00 01             	movb   $0x1,(%eax)
42a768:	5b                   	pop    %ebx
42a769:	5f                   	pop    %edi
42a76a:	33 c0                	xor    %eax,%eax
42a76c:	5e                   	pop    %esi
42a76d:	5d                   	pop    %ebp
42a76e:	c2 04 00             	ret    $0x4
42a771:	8b 06                	mov    (%esi),%eax
42a773:	89 59 04             	mov    %ebx,0x4(%ecx)
42a776:	5b                   	pop    %ebx
42a777:	89 7e 04             	mov    %edi,0x4(%esi)
42a77a:	5f                   	pop    %edi
42a77b:	89 01                	mov    %eax,(%ecx)
42a77d:	8d 41 08             	lea    0x8(%ecx),%eax
42a780:	89 0e                	mov    %ecx,(%esi)
42a782:	5e                   	pop    %esi
42a783:	5d                   	pop    %ebp
42a784:	c2 04 00             	ret    $0x4
42a787:	cc                   	int3
42a788:	cc                   	int3
42a789:	cc                   	int3
42a78a:	cc                   	int3
42a78b:	cc                   	int3
42a78c:	cc                   	int3
42a78d:	cc                   	int3
42a78e:	cc                   	int3
42a78f:	cc                   	int3
42a790:	53                   	push   %ebx
42a791:	57                   	push   %edi
42a792:	8b f9                	mov    %ecx,%edi
42a794:	8b 1f                	mov    (%edi),%ebx
42a796:	8b 57 04             	mov    0x4(%edi),%edx
42a799:	8b 03                	mov    (%ebx),%eax
42a79b:	3b c2                	cmp    %edx,%eax
42a79d:	74 16                	je     0x42a7b5
42a79f:	56                   	push   %esi
42a7a0:	8b 30                	mov    (%eax),%esi
42a7a2:	50                   	push   %eax
42a7a3:	e8 da ee 04 00       	call   0x479682
42a7a8:	8b 57 04             	mov    0x4(%edi),%edx
42a7ab:	83 c4 04             	add    $0x4,%esp
42a7ae:	8b c6                	mov    %esi,%eax
42a7b0:	3b f2                	cmp    %edx,%esi
42a7b2:	75 ec                	jne    0x42a7a0
42a7b4:	5e                   	pop    %esi
42a7b5:	89 13                	mov    %edx,(%ebx)
42a7b7:	8b 47 08             	mov    0x8(%edi),%eax
42a7ba:	5f                   	pop    %edi
42a7bb:	89 43 04             	mov    %eax,0x4(%ebx)
42a7be:	5b                   	pop    %ebx
42a7bf:	c3                   	ret
42a7c0:	56                   	push   %esi
42a7c1:	57                   	push   %edi
42a7c2:	8d b9 10 20 00 00    	lea    0x2010(%ecx),%edi
42a7c8:	c7 81 20 20 00 00 00 	movl   $0x0,0x2020(%ecx)
42a7cf:	00 00 00
42a7d2:	8d 91 30 20 00 00    	lea    0x2030(%ecx),%edx
42a7d8:	89 0f                	mov    %ecx,(%edi)
42a7da:	8d b1 1c 20 00 00    	lea    0x201c(%ecx),%esi
42a7e0:	c7 47 04 00 00 00 00 	movl   $0x0,0x4(%edi)
42a7e7:	8d 81 08 10 00 00    	lea    0x1008(%ecx),%eax
42a7ed:	89 57 08             	mov    %edx,0x8(%edi)
42a7f0:	89 b9 28 20 00 00    	mov    %edi,0x2028(%ecx)
42a7f6:	89 06                	mov    %eax,(%esi)
42a7f8:	5f                   	pop    %edi
42a7f9:	89 56 08             	mov    %edx,0x8(%esi)
42a7fc:	c7 00 00 00 00 00    	movl   $0x0,(%eax)
42a802:	8b c1                	mov    %ecx,%eax
42a804:	89 b1 2c 20 00 00    	mov    %esi,0x202c(%ecx)
42a80a:	c6 02 00             	movb   $0x0,(%edx)
42a80d:	c7 01 00 00 00 00    	movl   $0x0,(%ecx)
42a813:	c7 81 0c 10 00 00 00 	movl   $0x1000,0x100c(%ecx)
42a81a:	10 00 00
42a81d:	c7 41 04 00 10 00 00 	movl   $0x1000,0x4(%ecx)
42a824:	5e                   	pop    %esi
42a825:	c3                   	ret
42a826:	cc                   	int3
42a827:	cc                   	int3
42a828:	cc                   	int3
42a829:	cc                   	int3
42a82a:	cc                   	int3
42a82b:	cc                   	int3
42a82c:	cc                   	int3
42a82d:	cc                   	int3
42a82e:	cc                   	int3
42a82f:	cc                   	int3
42a830:	56                   	push   %esi
42a831:	57                   	push   %edi