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
4149bd:	cc                   	int3
4149be:	cc                   	int3
4149bf:	cc                   	int3
4149c0:	55                   	push   %ebp
4149c1:	8b ec                	mov    %esp,%ebp
4149c3:	81 ec 50 01 00 00    	sub    $0x150,%esp
4149c9:	53                   	push   %ebx
4149ca:	8b da                	mov    %edx,%ebx
4149cc:	8b c1                	mov    %ecx,%eax
4149ce:	89 5d d0             	mov    %ebx,-0x30(%ebp)
4149d1:	89 45 f8             	mov    %eax,-0x8(%ebp)
4149d4:	56                   	push   %esi
4149d5:	57                   	push   %edi
4149d6:	85 db                	test   %ebx,%ebx
4149d8:	0f 84 21 38 03 00    	je     0x4481ff
4149de:	8b 75 10             	mov    0x10(%ebp),%esi
4149e1:	c7 45 c4 00 00 00 00 	movl   $0x0,-0x3c(%ebp)
4149e8:	c7 45 c8 00 00 00 00 	movl   $0x0,-0x38(%ebp)
4149ef:	8b 06                	mov    (%esi),%eax
4149f1:	8b 4e 50             	mov    0x50(%esi),%ecx
4149f4:	89 4d dc             	mov    %ecx,-0x24(%ebp)
4149f7:	3b 46 04             	cmp    0x4(%esi),%eax
4149fa:	0f 83 58 b7 03 00    	jae    0x450158
414a00:	8b 55 f8             	mov    -0x8(%ebp),%edx
414a03:	40                   	inc    %eax
414a04:	89 06                	mov    %eax,(%esi)
414a06:	8b 45 18             	mov    0x18(%ebp),%eax
414a09:	3b 46 08             	cmp    0x8(%esi),%eax
414a0c:	0f 83 e1 09 00 00    	jae    0x4153f3
414a12:	83 be 9c 00 00 00 02 	cmpl   $0x2,0x9c(%esi)
414a19:	0f 84 11 38 03 00    	je     0x448230
414a1f:	0f b7 0b             	movzwl (%ebx),%ecx
414a22:	8b f9                	mov    %ecx,%edi
414a24:	c7 45 cc 00 00 00 00 	movl   $0x0,-0x34(%ebp)
414a2b:	c7 45 d4 00 00 00 00 	movl   $0x0,-0x2c(%ebp)
414a32:	81 ff a1 00 00 00    	cmp    $0xa1,%edi
414a38:	0f 87 ab 09 00 00    	ja     0x4153e9
414a3e:	0f b6 87 4c 55 41 00 	movzbl 0x41554c(%edi),%eax
414a45:	ff 24 85 00 54 41 00 	jmp    *0x415400(,%eax,4)
414a4c:	0f b7 43 02          	movzwl 0x2(%ebx),%eax
414a50:	8b fb                	mov    %ebx,%edi
414a52:	03 c0                	add    %eax,%eax
414a54:	b9 88 00 00 00       	mov    $0x88,%ecx
414a59:	2b f8                	sub    %eax,%edi
414a5b:	89 7d e0             	mov    %edi,-0x20(%ebp)
414a5e:	0f b7 07             	movzwl (%edi),%eax
414a61:	66 3b c1             	cmp    %cx,%ax
414a64:	0f 83 5a 44 03 00    	jae    0x448ec4
414a6a:	b9 81 00 00 00       	mov    $0x81,%ecx
414a6f:	66 3b c1             	cmp    %cx,%ax
414a72:	0f 84 4c 44 03 00    	je     0x448ec4
414a78:	33 c9                	xor    %ecx,%ecx
414a7a:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
414a7d:	83 f8 7d             	cmp    $0x7d,%eax
414a80:	72 11                	jb     0x414a93
414a82:	c7 45 ec 80 00 00 00 	movl   $0x80,-0x14(%ebp)
414a89:	66 3b 45 ec          	cmp    -0x14(%ebp),%ax
414a8d:	0f 86 0c 9a 03 00    	jbe    0x44e49f
414a93:	c7 45 ec 82 00 00 00 	movl   $0x82,-0x14(%ebp)
414a9a:	66 3b 45 ec          	cmp    -0x14(%ebp),%ax
414a9e:	0f 84 fb 99 03 00    	je     0x44e49f
414aa4:	c7 45 ec 85 00 00 00 	movl   $0x85,-0x14(%ebp)
414aab:	66 3b 45 ec          	cmp    -0x14(%ebp),%ax
414aaf:	0f 84 5b 03 00 00    	je     0x414e10
414ab5:	c7 45 ec 8a 00 00 00 	movl   $0x8a,-0x14(%ebp)
414abc:	66 3b 45 ec          	cmp    -0x14(%ebp),%ax
414ac0:	0f 84 4a 03 00 00    	je     0x414e10
414ac6:	c7 45 ec 86 00 00 00 	movl   $0x86,-0x14(%ebp)
414acd:	66 3b 45 ec          	cmp    -0x14(%ebp),%ax
414ad1:	0f 84 39 03 00 00    	je     0x414e10
414ad7:	c7 45 ec 8b 00 00 00 	movl   $0x8b,-0x14(%ebp)
414ade:	66 3b 45 ec          	cmp    -0x14(%ebp),%ax
414ae2:	0f 84 28 03 00 00    	je     0x414e10
414ae8:	0f b7 03             	movzwl (%ebx),%eax
414aeb:	83 f8 78             	cmp    $0x78,%eax
414aee:	0f 85 42 44 03 00    	jne    0x448f36
414af4:	b8 81 00 00 00       	mov    $0x81,%eax
414af9:	66 39 07             	cmp    %ax,(%edi)
414afc:	0f 84 43 99 03 00    	je     0x44e445
414b02:	83 c3 04             	add    $0x4,%ebx
414b05:	89 5d d0             	mov    %ebx,-0x30(%ebp)
414b08:	e9 12 ff ff ff       	jmp    0x414a1f
414b0d:	8b 55 f8             	mov    -0x8(%ebp),%edx
414b10:	8b 5d 08             	mov    0x8(%ebp),%ebx
414b13:	3b d3                	cmp    %ebx,%edx
414b15:	0f 84 f7 b5 03 00    	je     0x450112
414b1b:	8b 45 0c             	mov    0xc(%ebp),%eax
414b1e:	89 96 84 00 00 00    	mov    %edx,0x84(%esi)
414b24:	89 86 90 00 00 00    	mov    %eax,0x90(%esi)
414b2a:	89 9e 80 00 00 00    	mov    %ebx,0x80(%esi)
414b30:	85 ff                	test   %edi,%edi
414b32:	0f 85 a7 08 00 00    	jne    0x4153df
414b38:	b8 01 00 00 00       	mov    $0x1,%eax
414b3d:	5f                   	pop    %edi
414b3e:	5e                   	pop    %esi
414b3f:	5b                   	pop    %ebx
414b40:	8b e5                	mov    %ebp,%esp
414b42:	5d                   	pop    %ebp
414b43:	c3                   	ret
414b44:	81 ff 88 00 00 00    	cmp    $0x88,%edi
414b4a:	0f 83 ac 97 03 00    	jae    0x44e2fc
414b50:	81 ff 81 00 00 00    	cmp    $0x81,%edi
414b56:	0f 84 a0 97 03 00    	je     0x44e2fc
414b5c:	83 7e 70 00          	cmpl   $0x0,0x70(%esi)
414b60:	0f 85 9c 07 00 00    	jne    0x415302
414b66:	0f b7 43 02          	movzwl 0x2(%ebx),%eax
414b6a:	66 83 3c 43 77       	cmpw   $0x77,(%ebx,%eax,2)
414b6f:	0f 84 8d 07 00 00    	je     0x415302
414b75:	0f b7 03             	movzwl (%ebx),%eax
414b78:	0f b6 80 50 57 4a 00 	movzbl 0x4a5750(%eax),%eax
414b7f:	8d 1c 43             	lea    (%ebx,%eax,2),%ebx
414b82:	89 5d d0             	mov    %ebx,-0x30(%ebp)
414b85:	8b 55 f8             	mov    -0x8(%ebp),%edx
414b88:	8b 46 50             	mov    0x50(%esi),%eax
414b8b:	89 45 dc             	mov    %eax,-0x24(%ebp)
414b8e:	8b 06                	mov    (%esi),%eax
414b90:	3b 46 04             	cmp    0x4(%esi),%eax
414b93:	0f 82 6a fe ff ff    	jb     0x414a03
414b99:	e9 ba b5 03 00       	jmp    0x450158
414b9e:	8b 7e 7c             	mov    0x7c(%esi),%edi
414ba1:	8b 45 f8             	mov    -0x8(%ebp),%eax
414ba4:	89 7d d8             	mov    %edi,-0x28(%ebp)
414ba7:	3b c7                	cmp    %edi,%eax
414ba9:	0f 83 10 99 03 00    	jae    0x44e4bf
414baf:	0f b7 08             	movzwl (%eax),%ecx
414bb2:	83 c0 02             	add    $0x2,%eax
414bb5:	83 7d dc 00          	cmpl   $0x0,-0x24(%ebp)
414bb9:	89 45 f8             	mov    %eax,-0x8(%ebp)
414bbc:	74 12                	je     0x414bd0
414bbe:	8b c1                	mov    %ecx,%eax
414bc0:	25 00 fc 00 00       	and    $0xfc00,%eax
414bc5:	3d 00 d8 00 00       	cmp    $0xd800,%eax
414bca:	0f 84 2f 52 03 00    	je     0x449dff
414bd0:	8b c1                	mov    %ecx,%eax
414bd2:	99                   	cltd
414bd3:	83 e2 7f             	and    $0x7f,%edx
414bd6:	03 c2                	add    %edx,%eax
414bd8:	c1 f8 07             	sar    $0x7,%eax
414bdb:	0f b6 80 40 3b 4b 00 	movzbl 0x4b3b40(%eax),%eax
414be2:	c1 e0 07             	shl    $0x7,%eax
414be5:	81 e1 7f 00 00 80    	and    $0x8000007f,%ecx
414beb:	79 05                	jns    0x414bf2
414bed:	49                   	dec    %ecx
414bee:	83 c9 80             	or     $0xffffff80,%ecx
414bf1:	41                   	inc    %ecx
414bf2:	03 c1                	add    %ecx,%eax
414bf4:	0f b7 04 45 40 58 4a 	movzwl 0x4a5840(,%eax,2),%eax
414bfb:	00
414bfc:	0f b6 04 c5 52 2f 4a 	movzbl 0x4a2f52(,%eax,8),%eax
414c03:	00
414c04:	89 45 ec             	mov    %eax,-0x14(%ebp)
414c07:	8b 45 f8             	mov    -0x8(%ebp),%eax
414c0a:	3b c7                	cmp    %edi,%eax
414c0c:	73 7f                	jae    0x414c8d
414c0e:	8b 5d d8             	mov    -0x28(%ebp),%ebx
414c11:	8b f0                	mov    %eax,%esi
414c13:	83 7d dc 00          	cmpl   $0x0,-0x24(%ebp)
414c17:	bf 01 00 00 00       	mov    $0x1,%edi
414c1c:	0f b7 0e             	movzwl (%esi),%ecx
414c1f:	74 12                	je     0x414c33
414c21:	8b c1                	mov    %ecx,%eax
414c23:	25 00 fc 00 00       	and    $0xfc00,%eax
414c28:	3d 00 d8 00 00       	cmp    $0xd800,%eax
414c2d:	0f 84 f1 51 03 00    	je     0x449e24
414c33:	8b c1                	mov    %ecx,%eax
414c35:	99                   	cltd
414c36:	83 e2 7f             	and    $0x7f,%edx
414c39:	03 c2                	add    %edx,%eax
414c3b:	c1 f8 07             	sar    $0x7,%eax
414c3e:	0f b6 80 40 3b 4b 00 	movzbl 0x4b3b40(%eax),%eax
414c45:	c1 e0 07             	shl    $0x7,%eax
414c48:	81 e1 7f 00 00 80    	and    $0x8000007f,%ecx
414c4e:	79 05                	jns    0x414c55
414c50:	49                   	dec    %ecx
414c51:	83 c9 80             	or     $0xffffff80,%ecx