41241e:	83 eb 10             	sub    $0x10,%ebx
412421:	03 98 b4 16 00 00    	add    0x16b4(%eax),%ebx
412427:	89 98 b4 16 00 00    	mov    %ebx,0x16b4(%eax)
41242d:	eb 16                	jmp    0x412445
41242f:	8b 88 b4 16 00 00    	mov    0x16b4(%eax),%ecx
412435:	66 d3 e6             	shl    %cl,%si
412438:	66 09 b0 b0 16 00 00 	or     %si,0x16b0(%eax)
41243f:	01 98 b4 16 00 00    	add    %ebx,0x16b4(%eax)
412445:	8b 4c 24 04          	mov    0x4(%esp),%ecx
412449:	3b 88 98 16 00 00    	cmp    0x1698(%eax),%ecx
41244f:	0f 82 18 fc ff ff    	jb     0x41206d
412455:	0f b7 9a 02 04 00 00 	movzwl 0x402(%edx),%ebx
41245c:	b9 10 00 00 00       	mov    $0x10,%ecx
412461:	2b cb                	sub    %ebx,%ecx
412463:	8b b8 b4 16 00 00    	mov    0x16b4(%eax),%edi
412469:	3b cf                	cmp    %edi,%ecx
41246b:	7d 70                	jge    0x4124dd
41246d:	0f b7 b2 00 04 00 00 	movzwl 0x400(%edx),%esi
412474:	8b cf                	mov    %edi,%ecx
412476:	8b fe                	mov    %esi,%edi
412478:	66 d3 e7             	shl    %cl,%di
41247b:	66 09 b8 b0 16 00 00 	or     %di,0x16b0(%eax)
412482:	8b 48 14             	mov    0x14(%eax),%ecx
412485:	ff 40 14             	incl   0x14(%eax)
412488:	8b 78 08             	mov    0x8(%eax),%edi
41248b:	8d 0c 0f             	lea    (%edi,%ecx,1),%ecx
41248e:	51                   	push   %ecx
41248f:	8a 88 b0 16 00 00    	mov    0x16b0(%eax),%cl
412495:	80 e1 ff             	and    $0xff,%cl
412498:	5f                   	pop    %edi
412499:	88 0f                	mov    %cl,(%edi)
41249b:	8b 48 14             	mov    0x14(%eax),%ecx
41249e:	ff 40 14             	incl   0x14(%eax)
4124a1:	8b 78 08             	mov    0x8(%eax),%edi
4124a4:	8d 0c 0f             	lea    (%edi,%ecx,1),%ecx
4124a7:	51                   	push   %ecx
4124a8:	0f b7 88 b0 16 00 00 	movzwl 0x16b0(%eax),%ecx
4124af:	c1 f9 08             	sar    $0x8,%ecx
4124b2:	5f                   	pop    %edi
4124b3:	88 0f                	mov    %cl,(%edi)
4124b5:	b9 10 00 00 00       	mov    $0x10,%ecx
4124ba:	2b 88 b4 16 00 00    	sub    0x16b4(%eax),%ecx
4124c0:	0f b7 f6             	movzwl %si,%esi
4124c3:	d3 fe                	sar    %cl,%esi
4124c5:	66 89 b0 b0 16 00 00 	mov    %si,0x16b0(%eax)
4124cc:	83 eb 10             	sub    $0x10,%ebx
4124cf:	03 98 b4 16 00 00    	add    0x16b4(%eax),%ebx
4124d5:	89 98 b4 16 00 00    	mov    %ebx,0x16b4(%eax)
4124db:	eb 1d                	jmp    0x4124fa
4124dd:	66 8b b2 00 04 00 00 	mov    0x400(%edx),%si
4124e4:	8b 88 b4 16 00 00    	mov    0x16b4(%eax),%ecx
4124ea:	66 d3 e6             	shl    %cl,%si
4124ed:	66 09 b0 b0 16 00 00 	or     %si,0x16b0(%eax)
4124f4:	01 98 b4 16 00 00    	add    %ebx,0x16b4(%eax)
4124fa:	0f b7 92 02 04 00 00 	movzwl 0x402(%edx),%edx
412501:	89 90 ac 16 00 00    	mov    %edx,0x16ac(%eax)
412507:	83 c4 14             	add    $0x14,%esp
41250a:	5d                   	pop    %ebp
41250b:	5f                   	pop    %edi
41250c:	5e                   	pop    %esi
41250d:	5b                   	pop    %ebx
41250e:	c3                   	ret
41250f:	90                   	nop
412510:	53                   	push   %ebx
412511:	56                   	push   %esi
412512:	57                   	push   %edi
412513:	33 d2                	xor    %edx,%edx
412515:	33 f6                	xor    %esi,%esi
412517:	33 c9                	xor    %ecx,%ecx
412519:	8d 98 8c 00 00 00    	lea    0x8c(%eax),%ebx
41251f:	0f b7 3b             	movzwl (%ebx),%edi
412522:	03 cf                	add    %edi,%ecx
412524:	42                   	inc    %edx
412525:	83 c3 04             	add    $0x4,%ebx
412528:	83 fa 07             	cmp    $0x7,%edx
41252b:	7c f2                	jl     0x41251f
41252d:	8d 9c 90 8c 00 00 00 	lea    0x8c(%eax,%edx,4),%ebx
412534:	81 fa 80 00 00 00    	cmp    $0x80,%edx
41253a:	7d 11                	jge    0x41254d
41253c:	0f b7 3b             	movzwl (%ebx),%edi
41253f:	03 f7                	add    %edi,%esi
412541:	42                   	inc    %edx
412542:	83 c3 04             	add    $0x4,%ebx
412545:	81 fa 80 00 00 00    	cmp    $0x80,%edx
41254b:	7c ef                	jl     0x41253c
41254d:	8d 9c 90 8c 00 00 00 	lea    0x8c(%eax,%edx,4),%ebx
412554:	81 fa 00 01 00 00    	cmp    $0x100,%edx
41255a:	7d 11                	jge    0x41256d
41255c:	0f b7 3b             	movzwl (%ebx),%edi
41255f:	03 cf                	add    %edi,%ecx
412561:	42                   	inc    %edx
412562:	83 c3 04             	add    $0x4,%ebx
412565:	81 fa 00 01 00 00    	cmp    $0x100,%edx
41256b:	7c ef                	jl     0x41255c
41256d:	c1 ee 02             	shr    $0x2,%esi
412570:	3b ce                	cmp    %esi,%ecx
412572:	76 04                	jbe    0x412578
412574:	33 d2                	xor    %edx,%edx
412576:	eb 02                	jmp    0x41257a
412578:	b2 01                	mov    $0x1,%dl
41257a:	88 50 1c             	mov    %dl,0x1c(%eax)
41257d:	5f                   	pop    %edi
41257e:	5e                   	pop    %esi
41257f:	5b                   	pop    %ebx
412580:	c3                   	ret
412581:	90                   	nop
412582:	90                   	nop
412583:	90                   	nop
412584:	53                   	push   %ebx
412585:	33 c9                	xor    %ecx,%ecx
412587:	8b d8                	mov    %eax,%ebx
412589:	4a                   	dec    %edx
41258a:	83 e3 01             	and    $0x1,%ebx
41258d:	0b cb                	or     %ebx,%ecx
41258f:	d1 e8                	shr    $1,%eax
412591:	03 c9                	add    %ecx,%ecx
412593:	85 d2                	test   %edx,%edx
412595:	7f f0                	jg     0x412587
412597:	8b c1                	mov    %ecx,%eax
412599:	d1 e8                	shr    $1,%eax
41259b:	5b                   	pop    %ebx
41259c:	c3                   	ret
41259d:	90                   	nop
41259e:	90                   	nop
41259f:	90                   	nop
4125a0:	53                   	push   %ebx
4125a1:	83 b8 b4 16 00 00 10 	cmpl   $0x10,0x16b4(%eax)
4125a8:	75 3e                	jne    0x4125e8
4125aa:	8b 50 14             	mov    0x14(%eax),%edx
4125ad:	ff 40 14             	incl   0x14(%eax)
4125b0:	8b 48 08             	mov    0x8(%eax),%ecx
4125b3:	8a 98 b0 16 00 00    	mov    0x16b0(%eax),%bl
4125b9:	80 e3 ff             	and    $0xff,%bl
4125bc:	88 1c 11             	mov    %bl,(%ecx,%edx,1)
4125bf:	8b 50 14             	mov    0x14(%eax),%edx
4125c2:	ff 40 14             	incl   0x14(%eax)
4125c5:	0f b7 98 b0 16 00 00 	movzwl 0x16b0(%eax),%ebx
4125cc:	8b 48 08             	mov    0x8(%eax),%ecx
4125cf:	c1 fb 08             	sar    $0x8,%ebx
4125d2:	88 1c 11             	mov    %bl,(%ecx,%edx,1)
4125d5:	33 d2                	xor    %edx,%edx
4125d7:	66 c7 80 b0 16 00 00 	movw   $0x0,0x16b0(%eax)
4125de:	00 00
4125e0:	89 90 b4 16 00 00    	mov    %edx,0x16b4(%eax)
4125e6:	5b                   	pop    %ebx
4125e7:	c3                   	ret
4125e8:	83 b8 b4 16 00 00 08 	cmpl   $0x8,0x16b4(%eax)
4125ef:	7c 21                	jl     0x412612
4125f1:	8b 48 14             	mov    0x14(%eax),%ecx
4125f4:	ff 40 14             	incl   0x14(%eax)
4125f7:	8b 50 08             	mov    0x8(%eax),%edx
4125fa:	8a 98 b0 16 00 00    	mov    0x16b0(%eax),%bl
412600:	88 1c 0a             	mov    %bl,(%edx,%ecx,1)
412603:	66 c1 a8 b0 16 00 00 	shrw   $0x8,0x16b0(%eax)
41260a:	08
41260b:	83 a8 b4 16 00 00 08 	subl   $0x8,0x16b4(%eax)
412612:	5b                   	pop    %ebx
412613:	c3                   	ret
412614:	53                   	push   %ebx
412615:	83 b8 b4 16 00 00 08 	cmpl   $0x8,0x16b4(%eax)
41261c:	7e 2d                	jle    0x41264b
41261e:	8b 50 14             	mov    0x14(%eax),%edx
412621:	ff 40 14             	incl   0x14(%eax)
412624:	8b 48 08             	mov    0x8(%eax),%ecx
412627:	8a 98 b0 16 00 00    	mov    0x16b0(%eax),%bl
41262d:	80 e3 ff             	and    $0xff,%bl
412630:	88 1c 11             	mov    %bl,(%ecx,%edx,1)
412633:	8b 50 14             	mov    0x14(%eax),%edx
412636:	ff 40 14             	incl   0x14(%eax)
412639:	8b 48 08             	mov    0x8(%eax),%ecx
41263c:	0f b7 98 b0 16 00 00 	movzwl 0x16b0(%eax),%ebx
412643:	c1 fb 08             	sar    $0x8,%ebx
412646:	88 1c 11             	mov    %bl,(%ecx,%edx,1)
412649:	eb 1b                	jmp    0x412666
41264b:	83 b8 b4 16 00 00 00 	cmpl   $0x0,0x16b4(%eax)
412652:	7e 12                	jle    0x412666
412654:	8b 50 14             	mov    0x14(%eax),%edx
412657:	ff 40 14             	incl   0x14(%eax)
41265a:	8b 48 08             	mov    0x8(%eax),%ecx
41265d:	8a 98 b0 16 00 00    	mov    0x16b0(%eax),%bl
412663:	88 1c 11             	mov    %bl,(%ecx,%edx,1)
412666:	66 c7 80 b0 16 00 00 	movw   $0x0,0x16b0(%eax)
41266d:	00 00
41266f:	33 d2                	xor    %edx,%edx
412671:	89 90 b4 16 00 00    	mov    %edx,0x16b4(%eax)
412677:	5b                   	pop    %ebx
412678:	c3                   	ret
412679:	90                   	nop
41267a:	90                   	nop
41267b:	90                   	nop
41267c:	55                   	push   %ebp
41267d:	8b ec                	mov    %esp,%ebp
41267f:	53                   	push   %ebx
412680:	56                   	push   %esi
412681:	57                   	push   %edi
412682:	8b f9                	mov    %ecx,%edi
412684:	8b f2                	mov    %edx,%esi
412686:	8b d8                	mov    %eax,%ebx
412688:	8b c3                	mov    %ebx,%eax
41268a:	e8 85 ff ff ff       	call   0x412614
41268f:	c7 83 ac 16 00 00 08 	movl   $0x8,0x16ac(%ebx)
412696:	00 00 00
412699:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
41269d:	74 69                	je     0x412708
41269f:	8b 53 14             	mov    0x14(%ebx),%edx
4126a2:	8b c7                	mov    %edi,%eax
4126a4:	ff 43 14             	incl   0x14(%ebx)
4126a7:	8b 4b 08             	mov    0x8(%ebx),%ecx
4126aa:	8d 14 11             	lea    (%ecx,%edx,1),%edx
4126ad:	8b c8                	mov    %eax,%ecx
4126af:	52                   	push   %edx
4126b0:	80 e1 ff             	and    $0xff,%cl
4126b3:	5a                   	pop    %edx
4126b4:	f6 d0                	not    %al
4126b6:	88 0a                	mov    %cl,(%edx)
4126b8:	24 ff                	and    $0xff,%al
4126ba:	8b 4b 14             	mov    0x14(%ebx),%ecx
4126bd:	ff 43 14             	incl   0x14(%ebx)
4126c0:	8b 53 08             	mov    0x8(%ebx),%edx
4126c3:	8d 0c 0a             	lea    (%edx,%ecx,1),%ecx
4126c6:	0f b7 d7             	movzwl %di,%edx
4126c9:	51                   	push   %ecx
4126ca:	59                   	pop    %ecx
4126cb:	c1 fa 08             	sar    $0x8,%edx
4126ce:	88 11                	mov    %dl,(%ecx)
4126d0:	8b 53 14             	mov    0x14(%ebx),%edx
4126d3:	ff 43 14             	incl   0x14(%ebx)
4126d6:	8b 4b 08             	mov    0x8(%ebx),%ecx
4126d9:	8d 14 11             	lea    (%ecx,%edx,1),%edx
4126dc:	52                   	push   %edx
4126dd:	59                   	pop    %ecx
4126de:	88 01                	mov    %al,(%ecx)
4126e0:	8b cf                	mov    %edi,%ecx
4126e2:	66 f7 d1             	not    %cx
4126e5:	0f b7 c9             	movzwl %cx,%ecx
4126e8:	8b 43 14             	mov    0x14(%ebx),%eax
4126eb:	ff 43 14             	incl   0x14(%ebx)
4126ee:	8b 53 08             	mov    0x8(%ebx),%edx
4126f1:	c1 f9 08             	sar    $0x8,%ecx
4126f4:	88 0c 02             	mov    %cl,(%edx,%eax,1)
4126f7:	eb 0f                	jmp    0x412708
4126f9:	8b 43 14             	mov    0x14(%ebx),%eax
4126fc:	ff 43 14             	incl   0x14(%ebx)
4126ff:	8b 53 08             	mov    0x8(%ebx),%edx
412702:	8a 0e                	mov    (%esi),%cl
412704:	88 0c 02             	mov    %cl,(%edx,%eax,1)
412707:	46                   	inc    %esi
412708:	8b c7                	mov    %edi,%eax
41270a:	83 c7 ff             	add    $0xffffffff,%edi
41270d:	85 c0                	test   %eax,%eax
41270f:	75 e8                	jne    0x4126f9
412711:	5f                   	pop    %edi
412712:	5e                   	pop    %esi
412713:	5b                   	pop    %ebx
412714:	5d                   	pop    %ebp
412715:	c2 04 00             	ret    $0x4
412718:	85 c0                	test   %eax,%eax
41271a:	74 06                	je     0x412722
41271c:	83 78 1c 00          	cmpl   $0x0,0x1c(%eax)
412720:	75 06                	jne    0x412728
412722:	b8 fe ff ff ff       	mov    $0xfffffffe,%eax
412727:	c3                   	ret
412728:	33 d2                	xor    %edx,%edx
41272a:	33 c9                	xor    %ecx,%ecx
41272c:	89 50 14             	mov    %edx,0x14(%eax)
41272f:	89 50 08             	mov    %edx,0x8(%eax)
412732:	89 48 18             	mov    %ecx,0x18(%eax)
412735:	8b 48 1c             	mov    0x1c(%eax),%ecx
412738:	83 79 0c 00          	cmpl   $0x0,0xc(%ecx)
41273c:	74 07                	je     0x412745
41273e:	b9 07 00 00 00       	mov    $0x7,%ecx
412743:	eb 02                	jmp    0x412747
412745:	33 c9                	xor    %ecx,%ecx
412747:	8b 50 1c             	mov    0x1c(%eax),%edx
41274a:	89 0a                	mov    %ecx,(%edx)
41274c:	8b 52 14             	mov    0x14(%edx),%edx
41274f:	33 c9                	xor    %ecx,%ecx
412751:	92                   	xchg   %eax,%edx
412752:	e8 bd 0e 00 00       	call   0x413614
412757:	33 c0                	xor    %eax,%eax
412759:	c3                   	ret
41275a:	90                   	nop
41275b:	90                   	nop
41275c:	53                   	push   %ebx
41275d:	8b d8                	mov    %eax,%ebx
41275f:	85 db                	test   %ebx,%ebx
412761:	74 0c                	je     0x41276f
412763:	83 7b 1c 00          	cmpl   $0x0,0x1c(%ebx)
412767:	74 06                	je     0x41276f
412769:	83 7b 24 00          	cmpl   $0x0,0x24(%ebx)
41276d:	75 07                	jne    0x412776
41276f:	b8 fe ff ff ff       	mov    $0xfffffffe,%eax
412774:	5b                   	pop    %ebx
412775:	c3                   	ret
412776:	8b 53 1c             	mov    0x1c(%ebx),%edx
412779:	8b 42 14             	mov    0x14(%edx),%eax
41277c:	85 c0                	test   %eax,%eax
41277e:	74 07                	je     0x412787
412780:	8b d3                	mov    %ebx,%edx
412782:	e8 61 1c 00 00       	call   0x4143e8
412787:	8b 53 1c             	mov    0x1c(%ebx),%edx
41278a:	8b 43 28             	mov    0x28(%ebx),%eax
41278d:	ff 53 24             	call   *0x24(%ebx)
412790:	33 c9                	xor    %ecx,%ecx
412792:	33 c0                	xor    %eax,%eax
412794:	89 4b 1c             	mov    %ecx,0x1c(%ebx)
412797:	5b                   	pop    %ebx
412798:	c3                   	ret
412799:	90                   	nop
41279a:	90                   	nop
41279b:	90                   	nop
41279c:	55                   	push   %ebp
41279d:	8b ec                	mov    %esp,%ebp
41279f:	51                   	push   %ecx
4127a0:	53                   	push   %ebx
4127a1:	56                   	push   %esi
4127a2:	57                   	push   %edi
4127a3:	89 4d fc             	mov    %ecx,-0x4(%ebp)
4127a6:	8b f2                	mov    %edx,%esi
4127a8:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
4127ac:	8b d8                	mov    %eax,%ebx
4127ae:	74 13                	je     0x4127c3
4127b0:	8b 45 fc             	mov    -0x4(%ebp),%eax
4127b3:	8a 10                	mov    (%eax),%dl
4127b5:	3a 15 e4 6f 42 00    	cmp    0x426fe4,%dl
4127bb:	75 06                	jne    0x4127c3
4127bd:	83 7d 08 38          	cmpl   $0x38,0x8(%ebp)
4127c1:	74 0a                	je     0x4127cd
4127c3:	b8 fa ff ff ff       	mov    $0xfffffffa,%eax
4127c8:	e9 d3 00 00 00       	jmp    0x4128a0
4127cd:	85 db                	test   %ebx,%ebx
4127cf:	75 0a                	jne    0x4127db
4127d1:	b8 fe ff ff ff       	mov    $0xfffffffe,%eax
4127d6:	e9 c5 00 00 00       	jmp    0x4128a0
4127db:	33 d2                	xor    %edx,%edx
4127dd:	89 53 18             	mov    %edx,0x18(%ebx)
4127e0:	83 7b 20 00          	cmpl   $0x0,0x20(%ebx)
4127e4:	75 0c                	jne    0x4127f2
4127e6:	c7 43 20 b8 f3 40 00 	movl   $0x40f3b8,0x20(%ebx)
4127ed:	33 c9                	xor    %ecx,%ecx
4127ef:	89 4b 28             	mov    %ecx,0x28(%ebx)
4127f2:	83 7b 24 00          	cmpl   $0x0,0x24(%ebx)
4127f6:	75 07                	jne    0x4127ff
4127f8:	c7 43 24 c4 f3 40 00 	movl   $0x40f3c4,0x24(%ebx)
4127ff:	b9 18 00 00 00       	mov    $0x18,%ecx
412804:	ba 01 00 00 00       	mov    $0x1,%edx
412809:	8b 43 28             	mov    0x28(%ebx),%eax
41280c:	ff 53 20             	call   *0x20(%ebx)
41280f:	89 43 1c             	mov    %eax,0x1c(%ebx)
412812:	85 c0                	test   %eax,%eax