414443:	c7 45 b4 00 00 00 00 	movl   $0x0,-0x4c(%ebp)
41444a:	c7 45 b0 00 00 00 00 	movl   $0x0,-0x50(%ebp)
414451:	c7 45 a8 00 00 00 00 	movl   $0x0,-0x58(%ebp)
414458:	f7 c6 00 10 00 00    	test   $0x1000,%esi
41445e:	0f 85 e9 04 00 00    	jne    0x41494d
414464:	33 c0                	xor    %eax,%eax
414466:	89 85 70 ff ff ff    	mov    %eax,-0x90(%ebp)
41446c:	8b 45 f4             	mov    -0xc(%ebp),%eax
41446f:	89 85 3c ff ff ff    	mov    %eax,-0xc4(%ebp)
414475:	8d 90 00 01 00 00    	lea    0x100(%eax),%edx
41447b:	05 40 03 00 00       	add    $0x340,%eax
414480:	89 85 44 ff ff ff    	mov    %eax,-0xbc(%ebp)
414486:	8b c1                	mov    %ecx,%eax
414488:	89 95 40 ff ff ff    	mov    %edx,-0xc0(%ebp)
41448e:	25 00 00 80 01       	and    $0x1800000,%eax
414493:	0f 85 90 35 03 00    	jne    0x447a29
414499:	f7 c3 00 00 80 01    	test   $0x1800000,%ebx
41449f:	0f 85 a9 35 03 00    	jne    0x447a4e
4144a5:	c7 85 6c ff ff ff 01 	movl   $0x1,-0x94(%ebp)
4144ac:	00 00 00
4144af:	f7 c1 00 00 70 00    	test   $0x700000,%ecx
4144b5:	0f 85 9c 04 00 00    	jne    0x414957
4144bb:	81 e3 00 00 70 00    	and    $0x700000,%ebx
4144c1:	0f 85 9a 35 03 00    	jne    0x447a61
4144c7:	c7 85 18 ff ff ff 02 	movl   $0x2,-0xe8(%ebp)
4144ce:	00 00 00
4144d1:	83 7d 8c 00          	cmpl   $0x0,-0x74(%ebp)
4144d5:	0f 85 19 36 03 00    	jne    0x447af4
4144db:	b8 56 55 55 55       	mov    $0x55555556,%eax
4144e0:	f7 6d 1c             	imull  0x1c(%ebp)
4144e3:	8b c2                	mov    %edx,%eax
4144e5:	c1 e8 1f             	shr    $0x1f,%eax
4144e8:	03 c2                	add    %edx,%eax
4144ea:	8d 1c 40             	lea    (%eax,%eax,2),%ebx
4144ed:	b8 56 55 55 55       	mov    $0x55555556,%eax
4144f2:	8d 0c 1b             	lea    (%ebx,%ebx,1),%ecx
4144f5:	f7 e9                	imul   %ecx
4144f7:	8b c2                	mov    %edx,%eax
4144f9:	c1 e8 1f             	shr    $0x1f,%eax
4144fc:	03 c2                	add    %edx,%eax
4144fe:	89 45 e4             	mov    %eax,-0x1c(%ebp)
414501:	0f b7 47 20          	movzwl 0x20(%edi),%eax
414505:	66 85 c0             	test   %ax,%ax
414508:	0f 85 fc 35 03 00    	jne    0x447b0a
41450e:	8b 75 18             	mov    0x18(%ebp),%esi
414511:	89 b5 0c ff ff ff    	mov    %esi,-0xf4(%ebp)
414517:	8d 0c 1b             	lea    (%ebx,%ebx,1),%ecx
41451a:	89 9d 10 ff ff ff    	mov    %ebx,-0xf0(%ebp)
414520:	b8 56 55 55 55       	mov    $0x55555556,%eax
414525:	c7 45 94 00 00 00 00 	movl   $0x0,-0x6c(%ebp)
41452c:	f7 e9                	imul   %ecx
41452e:	8b c2                	mov    %edx,%eax
414530:	c1 e8 1f             	shr    $0x1f,%eax
414533:	03 c2                	add    %edx,%eax
414535:	89 85 14 ff ff ff    	mov    %eax,-0xec(%ebp)
41453b:	85 f6                	test   %esi,%esi
41453d:	74 37                	je     0x414576
41453f:	0f b7 47 1e          	movzwl 0x1e(%edi),%eax
414543:	8d 0c 9e             	lea    (%esi,%ebx,4),%ecx
414546:	c1 e0 02             	shl    $0x2,%eax
414549:	8b d1                	mov    %ecx,%edx
41454b:	2b d0                	sub    %eax,%edx
41454d:	8d 46 08             	lea    0x8(%esi),%eax
414550:	3b d0                	cmp    %eax,%edx
414552:	0f 82 06 04 00 00    	jb     0x41495e
414558:	83 e9 04             	sub    $0x4,%ecx
41455b:	3b ca                	cmp    %edx,%ecx
41455d:	0f 83 1d 02 00 00    	jae    0x414780
414563:	c7 46 04 ff ff ff ff 	movl   $0xffffffff,0x4(%esi)
41456a:	8b 85 0c ff ff ff    	mov    -0xf4(%ebp),%eax
414570:	c7 00 ff ff ff ff    	movl   $0xffffffff,(%eax)
414576:	83 7d e0 00          	cmpl   $0x0,-0x20(%ebp)
41457a:	0f 85 6a 02 00 00    	jne    0x4147ea
414580:	8b 47 0c             	mov    0xc(%edi),%eax
414583:	a8 10                	test   $0x10,%al
414585:	0f 85 40 02 00 00    	jne    0x4147cb
41458b:	83 7d dc 00          	cmpl   $0x0,-0x24(%ebp)
41458f:	0f 85 55 02 00 00    	jne    0x4147ea
414595:	8b 45 c4             	mov    -0x3c(%ebp),%eax
414598:	85 c0                	test   %eax,%eax
41459a:	0f 84 4a 02 00 00    	je     0x4147ea
4145a0:	f6 40 04 01          	testb  $0x1,0x4(%eax)
4145a4:	8b 95 40 ff ff ff    	mov    -0xc0(%ebp),%edx
4145aa:	8b 4d f8             	mov    -0x8(%ebp),%ecx
4145ad:	0f 85 ba 01 00 00    	jne    0x41476d
4145b3:	8b 47 0c             	mov    0xc(%edi),%eax
4145b6:	a8 40                	test   $0x40,%al
4145b8:	0f 85 3a 02 00 00    	jne    0x4147f8
4145be:	8b 8d 18 ff ff ff    	mov    -0xe8(%ebp),%ecx
4145c4:	8b 85 7c ff ff ff    	mov    -0x84(%ebp),%eax
4145ca:	8b 55 fc             	mov    -0x4(%ebp),%edx
4145cd:	8d 49 00             	lea    0x0(%ecx),%ecx
4145d0:	83 7d cc 00          	cmpl   $0x0,-0x34(%ebp)
4145d4:	8b 5d 10             	mov    0x10(%ebp),%ebx
4145d7:	0f 85 4d 36 03 00    	jne    0x447c2a
4145dd:	8b c3                	mov    %ebx,%eax
4145df:	8b 77 08             	mov    0x8(%edi),%esi
4145e2:	0b 75 14             	or     0x14(%ebp),%esi
4145e5:	81 e6 00 00 00 04    	and    $0x4000000,%esi
4145eb:	0f 85 7e 03 00 00    	jne    0x41496f
4145f1:	39 75 d4             	cmp    %esi,-0x2c(%ebp)
4145f4:	0f 85 9e 01 00 00    	jne    0x414798
4145fa:	39 75 dc             	cmp    %esi,-0x24(%ebp)
4145fd:	0f 85 86 37 03 00    	jne    0x447d89
414603:	8b 55 fc             	mov    -0x4(%ebp),%edx
414606:	39 75 c8             	cmp    %esi,-0x38(%ebp)
414609:	0f 85 19 01 00 00    	jne    0x414728
41460f:	89 5d 10             	mov    %ebx,0x10(%ebp)
414612:	85 f6                	test   %esi,%esi
414614:	75 2e                	jne    0x414644
414616:	39 75 8c             	cmp    %esi,-0x74(%ebp)
414619:	75 29                	jne    0x414644
41461b:	8b 4d c4             	mov    -0x3c(%ebp),%ecx
41461e:	85 c9                	test   %ecx,%ecx
414620:	74 15                	je     0x414637
414622:	f6 41 04 02          	testb  $0x2,0x4(%ecx)
414626:	74 0f                	je     0x414637
414628:	8b c3                	mov    %ebx,%eax
41462a:	2b c2                	sub    %edx,%eax
41462c:	d1 f8                	sar    $1,%eax
41462e:	3b 41 28             	cmp    0x28(%ecx),%eax
414631:	0f 82 3d 02 00 00    	jb     0x414874
414637:	83 bd fc fe ff ff 00 	cmpl   $0x0,-0x104(%ebp)
41463e:	0f 85 db 01 00 00    	jne    0x41481f
414644:	8b 4d fc             	mov    -0x4(%ebp),%ecx
414647:	8d 85 00 ff ff ff    	lea    -0x100(%ebp),%eax
41464d:	6a 00                	push   $0x0
41464f:	6a 00                	push   $0x0
414651:	50                   	push   %eax
414652:	6a 02                	push   $0x2
414654:	89 55 80             	mov    %edx,-0x80(%ebp)
414657:	89 55 88             	mov    %edx,-0x78(%ebp)
41465a:	52                   	push   %edx
41465b:	8b 95 74 ff ff ff    	mov    -0x8c(%ebp),%edx
414661:	c7 85 00 ff ff ff 00 	movl   $0x0,-0x100(%ebp)
414668:	00 00 00
41466b:	c7 45 9c 00 00 00 00 	movl   $0x0,-0x64(%ebp)
414672:	c7 45 90 00 00 00 00 	movl   $0x0,-0x70(%ebp)
414679:	c7 85 28 ff ff ff 00 	movl   $0x0,-0xd8(%ebp)
414680:	00 00 00
414683:	e8 38 03 00 00       	call   0x4149c0
414688:	8b 4d fc             	mov    -0x4(%ebp),%ecx
41468b:	83 c4 14             	add    $0x14,%esp
41468e:	83 bd 68 ff ff ff 00 	cmpl   $0x0,-0x98(%ebp)
414695:	8b f0                	mov    %eax,%esi
414697:	0f 85 e6 38 03 00    	jne    0x447f83
41469d:	85 f6                	test   %esi,%esi
41469f:	0f 8e f9 38 03 00    	jle    0x447f9e
4146a5:	83 fe 01             	cmp    $0x1,%esi
4146a8:	0f 85 3b 3a 03 00    	jne    0x4480e9
4146ae:	83 7d d0 00          	cmpl   $0x0,-0x30(%ebp)
4146b2:	8b 5d e4             	mov    -0x1c(%ebp),%ebx
4146b5:	0f 85 80 3a 03 00    	jne    0x44813b
4146bb:	f7 45 94 00 00 01 00 	testl  $0x10000,-0x6c(%ebp)
4146c2:	8b 75 90             	mov    -0x70(%ebp),%esi
4146c5:	0f 85 b6 3a 03 00    	jne    0x448181
4146cb:	8b c6                	mov    %esi,%eax
4146cd:	99                   	cltd
4146ce:	2b c2                	sub    %edx,%eax
4146d0:	8b c8                	mov    %eax,%ecx
4146d2:	d1 f9                	sar    $1,%ecx
4146d4:	0f b7 7f 1e          	movzwl 0x1e(%edi),%edi
4146d8:	8b c6                	mov    %esi,%eax
4146da:	8b 5d 18             	mov    0x18(%ebp),%ebx
4146dd:	99                   	cltd
4146de:	2b c2                	sub    %edx,%eax
4146e0:	d1 f8                	sar    $1,%eax
4146e2:	3b c7                	cmp    %edi,%eax
4146e4:	0f 8e a6 3a 03 00    	jle    0x448190
4146ea:	83 7d 1c 02          	cmpl   $0x2,0x1c(%ebp)
4146ee:	0f 8c ae 02 00 00    	jl     0x4149a2
4146f4:	8b 45 80             	mov    -0x80(%ebp),%eax
4146f7:	2b 85 78 ff ff ff    	sub    -0x88(%ebp),%eax
4146fd:	d1 f8                	sar    $1,%eax
4146ff:	89 03                	mov    %eax,(%ebx)
414701:	8b 45 84             	mov    -0x7c(%ebp),%eax
414704:	2b 85 78 ff ff ff    	sub    -0x88(%ebp),%eax
41470a:	d1 f8                	sar    $1,%eax
41470c:	89 43 04             	mov    %eax,0x4(%ebx)
41470f:	8b 45 f0             	mov    -0x10(%ebp),%eax
414712:	85 c0                	test   %eax,%eax
414714:	74 09                	je     0x41471f
414716:	f6 00 20             	testb  $0x20,(%eax)
414719:	0f 85 bc 3a 03 00    	jne    0x4481db
41471f:	8b c1                	mov    %ecx,%eax
414721:	5f                   	pop    %edi
414722:	5e                   	pop    %esi
414723:	5b                   	pop    %ebx
414724:	8b e5                	mov    %ebp,%esp
414726:	5d                   	pop    %ebp
414727:	c3                   	ret
414728:	3b d0                	cmp    %eax,%edx
41472a:	0f 83 df fe ff ff    	jae    0x41460f
414730:	0f b7 12             	movzwl (%edx),%edx
414733:	81 fa ff 00 00 00    	cmp    $0xff,%edx
414739:	0f 87 26 02 00 00    	ja     0x414965
41473f:	8b ca                	mov    %edx,%ecx
414741:	b8 01 00 00 00       	mov    $0x1,%eax
414746:	83 e1 07             	and    $0x7,%ecx
414749:	c1 ea 03             	shr    $0x3,%edx
41474c:	d3 e0                	shl    %cl,%eax
41474e:	8b 4d c8             	mov    -0x38(%ebp),%ecx
414751:	84 04 0a             	test   %al,(%edx,%ecx,1)
414754:	8b 55 fc             	mov    -0x4(%ebp),%edx
414757:	0f 85 b2 fe ff ff    	jne    0x41460f
41475d:	83 c2 02             	add    $0x2,%edx
414760:	89 55 fc             	mov    %edx,-0x4(%ebp)
414763:	3b 55 10             	cmp    0x10(%ebp),%edx
414766:	72 c8                	jb     0x414730
414768:	e9 a2 fe ff ff       	jmp    0x41460f
41476d:	83 c0 08             	add    $0x8,%eax
414770:	89 45 c8             	mov    %eax,-0x38(%ebp)
414773:	e9 3b fe ff ff       	jmp    0x4145b3
414778:	eb 06                	jmp    0x414780
41477a:	8d 9b 00 00 00 00    	lea    0x0(%ebx),%ebx
414780:	c7 01 ff ff ff ff    	movl   $0xffffffff,(%ecx)
414786:	83 e9 04             	sub    $0x4,%ecx
414789:	3b ca                	cmp    %edx,%ecx
41478b:	73 f3                	jae    0x414780
41478d:	8b b5 0c ff ff ff    	mov    -0xf4(%ebp),%esi
414793:	e9 cb fd ff ff       	jmp    0x414563
414798:	8b 8d f4 fe ff ff    	mov    -0x10c(%ebp),%ecx
41479e:	8b 55 fc             	mov    -0x4(%ebp),%edx
4147a1:	66 3b 4d ec          	cmp    -0x14(%ebp),%cx
4147a5:	0f 85 b0 35 03 00    	jne    0x447d5b
4147ab:	3b d0                	cmp    %eax,%edx
4147ad:	0f 83 5c fe ff ff    	jae    0x41460f
4147b3:	66 39 0a             	cmp    %cx,(%edx)
4147b6:	0f 84 53 fe ff ff    	je     0x41460f
4147bc:	83 c2 02             	add    $0x2,%edx
4147bf:	89 55 fc             	mov    %edx,-0x4(%ebp)
4147c2:	3b d0                	cmp    %eax,%edx
4147c4:	72 ed                	jb     0x4147b3
4147c6:	e9 44 fe ff ff       	jmp    0x41460f
4147cb:	0f b7 77 18          	movzwl 0x18(%edi),%esi
4147cf:	0f b7 de             	movzwl %si,%ebx
4147d2:	c7 45 d4 01 00 00 00 	movl   $0x1,-0x2c(%ebp)
4147d9:	89 75 ec             	mov    %esi,-0x14(%ebp)
4147dc:	89 9d f4 fe ff ff    	mov    %ebx,-0x10c(%ebp)
4147e2:	a8 20                	test   $0x20,%al
4147e4:	0f 85 6f 33 03 00    	jne    0x447b59
4147ea:	8b 95 40 ff ff ff    	mov    -0xc0(%ebp),%edx
4147f0:	8b 4d f8             	mov    -0x8(%ebp),%ecx
4147f3:	e9 bb fd ff ff       	jmp    0x4145b3
4147f8:	0f b7 77 1a          	movzwl 0x1a(%edi),%esi
4147fc:	0f b7 de             	movzwl %si,%ebx
4147ff:	c7 85 fc fe ff ff 01 	movl   $0x1,-0x104(%ebp)
414806:	00 00 00
414809:	89 75 e8             	mov    %esi,-0x18(%ebp)
41480c:	89 9d ec fe ff ff    	mov    %ebx,-0x114(%ebp)
414812:	84 c0                	test   %al,%al
414814:	0f 89 a4 fd ff ff    	jns    0x4145be
41481a:	e9 a7 33 03 00       	jmp    0x447bc6
41481f:	8b c3                	mov    %ebx,%eax
414821:	2b c2                	sub    %edx,%eax
414823:	83 e0 fe             	and    $0xfffffffe,%eax
414826:	3d d0 07 00 00       	cmp    $0x7d0,%eax
41482b:	0f 8d 13 fe ff ff    	jge    0x414644
414831:	83 7d d4 00          	cmpl   $0x0,-0x2c(%ebp)
414835:	0f 84 3c 01 00 00    	je     0x414977
41483b:	b8 01 00 00 00       	mov    $0x1,%eax
414840:	8d 0c 42             	lea    (%edx,%eax,2),%ecx
414843:	3b 8d e8 fe ff ff    	cmp    -0x118(%ebp),%ecx
414849:	0f 86 f5 fd ff ff    	jbe    0x414644
41484f:	8b b5 ec fe ff ff    	mov    -0x114(%ebp),%esi
414855:	8b 45 e8             	mov    -0x18(%ebp),%eax
414858:	66 3b f0             	cmp    %ax,%si
41485b:	0f 85 f1 36 03 00    	jne    0x447f52
414861:	3b cb                	cmp    %ebx,%ecx
414863:	73 0f                	jae    0x414874
414865:	66 8b 01             	mov    (%ecx),%ax
414868:	83 c1 02             	add    $0x2,%ecx
41486b:	66 3b c6             	cmp    %si,%ax
41486e:	74 42                	je     0x4148b2
414870:	3b cb                	cmp    %ebx,%ecx
414872:	72 f1                	jb     0x414865
414874:	33 f6                	xor    %esi,%esi
414876:	83 7d d0 00          	cmpl   $0x0,-0x30(%ebp)
41487a:	0f 85 fe 00 00 00    	jne    0x41497e
414880:	85 f6                	test   %esi,%esi
414882:	0f 85 0a 01 00 00    	jne    0x414992
414888:	8b b5 f8 fe ff ff    	mov    -0x108(%ebp),%esi
41488e:	85 f6                	test   %esi,%esi
414890:	0f 85 64 38 03 00    	jne    0x4480fa
414896:	83 c8 ff             	or     $0xffffffff,%eax
414899:	8b 4d f0             	mov    -0x10(%ebp),%ecx
41489c:	85 c9                	test   %ecx,%ecx
41489e:	0f 84 7d fe ff ff    	je     0x414721
4148a4:	f6 01 20             	testb  $0x20,(%ecx)
4148a7:	0f 84 74 fe ff ff    	je     0x414721
4148ad:	e9 7c 38 03 00       	jmp    0x44812e
4148b2:	83 e9 02             	sub    $0x2,%ecx
4148b5:	3b cb                	cmp    %ebx,%ecx
4148b7:	73 bb                	jae    0x414874
4148b9:	89 8d e8 fe ff ff    	mov    %ecx,-0x118(%ebp)
4148bf:	e9 80 fd ff ff       	jmp    0x414644
4148c4:	b8 fd ff ff ff       	mov    $0xfffffffd,%eax
4148c9:	e9 53 fe ff ff       	jmp    0x414721
4148ce:	b8 f1 ff ff ff       	mov    $0xfffffff1,%eax
4148d3:	e9 49 fe ff ff       	jmp    0x414721
4148d8:	b8 e0 ff ff ff       	mov    $0xffffffe0,%eax
4148dd:	e9 3f fe ff ff       	jmp    0x414721
4148e2:	b8 e4 ff ff ff       	mov    $0xffffffe4,%eax
4148e7:	e9 35 fe ff ff       	jmp    0x414721
4148ec:	33 c0                	xor    %eax,%eax
4148ee:	e9 55 f9 ff ff       	jmp    0x414248
4148f3:	b8 02 00 00 00       	mov    $0x2,%eax
4148f8:	e9 6e f9 ff ff       	jmp    0x41426b
4148fd:	b8 01 00 00 00       	mov    $0x1,%eax
414902:	e9 64 f9 ff ff       	jmp    0x41426b
414907:	b8 01 00 00 00       	mov    $0x1,%eax
41490c:	e9 a1 fa ff ff       	jmp    0x4143b2
414911:	b8 01 00 00 00       	mov    $0x1,%eax
414916:	e9 ab fa ff ff       	jmp    0x4143c6
41491b:	b8 01 00 00 00       	mov    $0x1,%eax
414920:	e9 b5 fa ff ff       	jmp    0x4143da
414925:	b8 01 00 00 00       	mov    $0x1,%eax
41492a:	e9 c5 fa ff ff       	jmp    0x4143f4
41492f:	b8 01 00 00 00       	mov    $0x1,%eax
414934:	e9 cf fa ff ff       	jmp    0x414408
414939:	b8 01 00 00 00       	mov    $0x1,%eax
41493e:	e9 d9 fa ff ff       	jmp    0x41441c
414943:	b8 01 00 00 00       	mov    $0x1,%eax
414948:	e9 e3 fa ff ff       	jmp    0x414430
41494d:	b8 01 00 00 00       	mov    $0x1,%eax
414952:	e9 0f fb ff ff       	jmp    0x414466
414957:	8b d9                	mov    %ecx,%ebx
414959:	e9 5d fb ff ff       	jmp    0x4144bb
41495e:	8b d0                	mov    %eax,%edx
414960:	e9 f3 fb ff ff       	jmp    0x414558
414965:	ba ff 00 00 00       	mov    $0xff,%edx
41496a:	e9 d0 fd ff ff       	jmp    0x41473f
41496f:	8b 55 fc             	mov    -0x4(%ebp),%edx
414972:	e9 98 fc ff ff       	jmp    0x41460f
414977:	33 c0                	xor    %eax,%eax
414979:	e9 c2 fe ff ff       	jmp    0x414840
41497e:	ff b5 0c ff ff ff    	push   -0xf4(%ebp)
414984:	ff 15 48 57 4a 00    	call   *0x4a5748
41498a:	83 c4 04             	add    $0x4,%esp
41498d:	e9 ee fe ff ff       	jmp    0x414880
414992:	83 fe f4             	cmp    $0xfffffff4,%esi
414995:	0f 84 ed fe ff ff    	je     0x414888
41499b:	8b c6                	mov    %esi,%eax
41499d:	e9 7f fd ff ff       	jmp    0x414721
4149a2:	33 c9                	xor    %ecx,%ecx
4149a4:	e9 66 fd ff ff       	jmp    0x41470f
4149a9:	b8 e8 ff ff ff       	mov    $0xffffffe8,%eax
4149ae:	e9 6e fd ff ff       	jmp    0x414721
4149b3:	b8 fe ff ff ff       	mov    $0xfffffffe,%eax
4149b8:	e9 64 fd ff ff       	jmp    0x414721