454dc7:	83 e0 f9             	and    $0xfffffff9,%eax
454dca:	03 c2                	add    %edx,%eax
454dcc:	2b f8                	sub    %eax,%edi
454dce:	03 f9                	add    %ecx,%edi
454dd0:	ff 4d ec             	decl   -0x14(%ebp)
454dd3:	75 dc                	jne    0x454db1
454dd5:	8b 4d f4             	mov    -0xc(%ebp),%ecx
454dd8:	8b c1                	mov    %ecx,%eax
454dda:	f7 d8                	neg    %eax
454ddc:	1b c0                	sbb    %eax,%eax
454dde:	25 00 00 10 00       	and    $0x100000,%eax
454de3:	05 ff ff 00 00       	add    $0xffff,%eax
454de8:	3b f8                	cmp    %eax,%edi
454dea:	0f 86 a6 fe ff ff    	jbe    0x454c96
454df0:	8b 45 08             	mov    0x8(%ebp),%eax
454df3:	c7 00 4c 00 00 00    	movl   $0x4c,(%eax)
454df9:	e9 1d 36 fc ff       	jmp    0x41841b
454dfe:	66 83 7e 02 7b       	cmpw   $0x7b,0x2(%esi)
454e03:	74 0e                	je     0x454e13
454e05:	8b 45 08             	mov    0x8(%ebp),%eax
454e08:	c7 00 51 00 00 00    	movl   $0x51,(%eax)
454e0e:	e9 08 36 fc ff       	jmp    0x41841b
454e13:	6a 7d                	push   $0x7d
454e15:	58                   	pop    %eax
454e16:	66 39 46 04          	cmp    %ax,0x4(%esi)
454e1a:	0f 84 43 fe ff ff    	je     0x454c63
454e20:	83 c6 04             	add    $0x4,%esi
454e23:	8b fb                	mov    %ebx,%edi
454e25:	6a 30                	push   $0x30
454e27:	5a                   	pop    %edx
454e28:	0f b7 06             	movzwl (%esi),%eax
454e2b:	66 3b c2             	cmp    %dx,%ax
454e2e:	72 3f                	jb     0x454e6f
454e30:	6a 37                	push   $0x37
454e32:	5a                   	pop    %edx
454e33:	66 3b c2             	cmp    %dx,%ax
454e36:	77 37                	ja     0x454e6f
454e38:	83 c6 02             	add    $0x2,%esi
454e3b:	0f b7 c0             	movzwl %ax,%eax
454e3e:	85 ff                	test   %edi,%edi
454e40:	75 05                	jne    0x454e47
454e42:	83 f8 30             	cmp    $0x30,%eax
454e45:	74 1f                	je     0x454e66
454e47:	83 c0 d0             	add    $0xffffffd0,%eax
454e4a:	8d 3c f8             	lea    (%eax,%edi,8),%edi
454e4d:	8b c1                	mov    %ecx,%eax
454e4f:	f7 d8                	neg    %eax
454e51:	1b c0                	sbb    %eax,%eax
454e53:	25 00 00 10 00       	and    $0x100000,%eax
454e58:	05 ff ff 00 00       	add    $0xffff,%eax
454e5d:	3b f8                	cmp    %eax,%edi
454e5f:	76 05                	jbe    0x454e66
454e61:	6a 30                	push   $0x30
454e63:	59                   	pop    %ecx
454e64:	eb 2f                	jmp    0x454e95
454e66:	0f b7 06             	movzwl (%esi),%eax
454e69:	66 3b 45 fc          	cmp    -0x4(%ebp),%ax
454e6d:	73 c4                	jae    0x454e33
454e6f:	6a 7d                	push   $0x7d
454e71:	58                   	pop    %eax
454e72:	66 39 06             	cmp    %ax,(%esi)
454e75:	0f 84 1b fe ff ff    	je     0x454c96
454e7b:	8b 45 08             	mov    0x8(%ebp),%eax
454e7e:	c7 00 50 00 00 00    	movl   $0x50,(%eax)
454e84:	e9 92 35 fc ff       	jmp    0x41841b
454e89:	66 3b c2             	cmp    %dx,%ax
454e8c:	0f 87 f6 fd ff ff    	ja     0x454c88
454e92:	83 c6 02             	add    $0x2,%esi
454e95:	0f b7 06             	movzwl (%esi),%eax
454e98:	66 3b c1             	cmp    %cx,%ax
454e9b:	73 ec                	jae    0x454e89
454e9d:	e9 e6 fd ff ff       	jmp    0x454c88
454ea2:	8b 45 08             	mov    0x8(%ebp),%eax
454ea5:	c7 00 25 00 00 00    	movl   $0x25,(%eax)
454eab:	e9 b3 35 fc ff       	jmp    0x418463
454eb0:	8b 45 e8             	mov    -0x18(%ebp),%eax
454eb3:	66 39 46 02          	cmp    %ax,0x2(%esi)
454eb7:	0f 85 5e 35 fc ff    	jne    0x41841b
454ebd:	8d 4e 04             	lea    0x4(%esi),%ecx
454ec0:	e8 9a 97 03 00       	call   0x48e65f
454ec5:	85 c0                	test   %eax,%eax
454ec7:	0f 85 4e 35 fc ff    	jne    0x41841b
454ecd:	8b 45 08             	mov    0x8(%ebp),%eax
454ed0:	c7 00 25 00 00 00    	movl   $0x25,(%eax)
454ed6:	e9 40 35 fc ff       	jmp    0x41841b
454edb:	0f b7 46 02          	movzwl 0x2(%esi),%eax
454edf:	8d 34 46             	lea    (%esi,%eax,2),%esi
454ee2:	66 39 1e             	cmp    %bx,(%esi)
454ee5:	74 f4                	je     0x454edb
454ee7:	eb 02                	jmp    0x454eeb
454ee9:	8b f0                	mov    %eax,%esi
454eeb:	0f b7 3e             	movzwl (%esi),%edi
454eee:	e9 04 02 00 00       	jmp    0x4550f7
454ef3:	8b 4d 0c             	mov    0xc(%ebp),%ecx
454ef6:	0f b7 46 02          	movzwl 0x2(%esi),%eax
454efa:	8b 49 14             	mov    0x14(%ecx),%ecx
454efd:	8d 1c 41             	lea    (%ecx,%eax,2),%ebx
454f00:	8b 45 0c             	mov    0xc(%ebp),%eax
454f03:	8b d3                	mov    %ebx,%edx
454f05:	89 55 f8             	mov    %edx,-0x8(%ebp)
454f08:	8b 48 10             	mov    0x10(%eax),%ecx
454f0b:	85 c9                	test   %ecx,%ecx
454f0d:	74 34                	je     0x454f43
454f0f:	3b 48 20             	cmp    0x20(%eax),%ecx
454f12:	73 23                	jae    0x454f37
454f14:	8b d6                	mov    %esi,%edx
454f16:	2b 50 14             	sub    0x14(%eax),%edx
454f19:	83 c2 02             	add    $0x2,%edx
454f1c:	d1 fa                	sar    $1,%edx
454f1e:	0f b7 01             	movzwl (%ecx),%eax
454f21:	3b c2                	cmp    %edx,%eax
454f23:	0f 84 86 36 fc ff    	je     0x4185af
454f29:	8b 45 0c             	mov    0xc(%ebp),%eax
454f2c:	83 c1 02             	add    $0x2,%ecx
454f2f:	3b 48 20             	cmp    0x20(%eax),%ecx
454f32:	72 ea                	jb     0x454f1e
454f34:	8b 55 f8             	mov    -0x8(%ebp),%edx
454f37:	33 c0                	xor    %eax,%eax
454f39:	66 39 43 02          	cmp    %ax,0x2(%ebx)
454f3d:	0f 84 6c 36 fc ff    	je     0x4185af
454f43:	6a 77                	push   $0x77
454f45:	59                   	pop    %ecx
454f46:	0f b7 42 02          	movzwl 0x2(%edx),%eax
454f4a:	8d 14 42             	lea    (%edx,%eax,2),%edx
454f4d:	66 39 0a             	cmp    %cx,(%edx)
454f50:	74 f4                	je     0x454f46
454f52:	3b f3                	cmp    %ebx,%esi
454f54:	72 08                	jb     0x454f5e
454f56:	3b f2                	cmp    %edx,%esi
454f58:	0f 86 96 01 00 00    	jbe    0x4550f4
454f5e:	8b 4d 10             	mov    0x10(%ebp),%ecx
454f61:	8b c1                	mov    %ecx,%eax
454f63:	85 c9                	test   %ecx,%ecx
454f65:	74 13                	je     0x454f7a
454f67:	39 58 04             	cmp    %ebx,0x4(%eax)
454f6a:	74 06                	je     0x454f72
454f6c:	8b 00                	mov    (%eax),%eax
454f6e:	85 c0                	test   %eax,%eax
454f70:	75 f5                	jne    0x454f67
454f72:	85 c0                	test   %eax,%eax
454f74:	0f 85 7a 01 00 00    	jne    0x4550f4
454f7a:	89 4d f0             	mov    %ecx,-0x10(%ebp)
454f7d:	89 5d f4             	mov    %ebx,-0xc(%ebp)
454f80:	8b 55 fc             	mov    -0x4(%ebp),%edx
454f83:	8d 45 f0             	lea    -0x10(%ebp),%eax
454f86:	50                   	push   %eax
454f87:	ff 75 0c             	push   0xc(%ebp)
454f8a:	8b cb                	mov    %ebx,%ecx
454f8c:	ff 75 08             	push   0x8(%ebp)
454f8f:	e8 ed 34 fc ff       	call   0x418481
454f94:	83 c4 0c             	add    $0xc,%esp
454f97:	6a 77                	push   $0x77
454f99:	85 c0                	test   %eax,%eax
454f9b:	0f 85 55 01 00 00    	jne    0x4550f6
454fa1:	0f b7 43 02          	movzwl 0x2(%ebx),%eax
454fa5:	8d 1c 43             	lea    (%ebx,%eax,2),%ebx
454fa8:	58                   	pop    %eax
454fa9:	66 39 03             	cmp    %ax,(%ebx)
454fac:	74 d2                	je     0x454f80
454fae:	e9 e0 35 fc ff       	jmp    0x418593
454fb3:	0f b7 46 02          	movzwl 0x2(%esi),%eax
454fb7:	8d 34 46             	lea    (%esi,%eax,2),%esi
454fba:	8b ce                	mov    %esi,%ecx
454fbc:	e9 de 35 fc ff       	jmp    0x41859f
454fc1:	0f b6 80 2b 51 45 00 	movzbl 0x45512b(%eax),%eax
454fc8:	ff 24 85 1f 51 45 00 	jmp    *0x45511f(,%eax,4)
454fcf:	66 39 51 02          	cmp    %dx,0x2(%ecx)
454fd3:	0f 87 ba 35 fc ff    	ja     0x418593
454fd9:	e9 19 01 00 00       	jmp    0x4550f7
454fde:	0f b7 46 02          	movzwl 0x2(%esi),%eax
454fe2:	66 3b c1             	cmp    %cx,%ax
454fe5:	74 14                	je     0x454ffb
454fe7:	6a 0f                	push   $0xf
454fe9:	59                   	pop    %ecx
454fea:	66 3b c1             	cmp    %cx,%ax
454fed:	eb 06                	jmp    0x454ff5
454fef:	6a 0f                	push   $0xf
454ff1:	5a                   	pop    %edx
454ff2:	66 3b c2             	cmp    %dx,%ax
454ff5:	0f 85 fc 00 00 00    	jne    0x4550f7
454ffb:	83 c6 04             	add    $0x4,%esi
454ffe:	e9 f4 00 00 00       	jmp    0x4550f7
455003:	0f b7 46 04          	movzwl 0x4(%esi),%eax
455007:	6a 10                	push   $0x10
455009:	5a                   	pop    %edx
45500a:	66 3b c2             	cmp    %dx,%ax
45500d:	74 ec                	je     0x454ffb
45500f:	eb de                	jmp    0x454fef
455011:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
455015:	0f 84 dc 00 00 00    	je     0x4550f7
45501b:	66 8b 46 02          	mov    0x2(%esi),%ax
45501f:	ba 00 fc 00 00       	mov    $0xfc00,%edx
455024:	66 23 c2             	and    %dx,%ax
455027:	ba 00 d8 00 00       	mov    $0xd800,%edx
45502c:	66 3b c2             	cmp    %dx,%ax
45502f:	eb 14                	jmp    0x455045
455031:	66 8b 46 04          	mov    0x4(%esi),%ax
455035:	b9 00 fc 00 00       	mov    $0xfc00,%ecx
45503a:	66 23 c1             	and    %cx,%ax
45503d:	b9 00 d8 00 00       	mov    $0xd800,%ecx
455042:	66 3b c1             	cmp    %cx,%ax
455045:	0f 85 ac 00 00 00    	jne    0x4550f7
45504b:	83 c6 02             	add    $0x2,%esi
45504e:	e9 a4 00 00 00       	jmp    0x4550f7
455053:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
455057:	0f 84 9a 00 00 00    	je     0x4550f7
45505d:	eb d2                	jmp    0x455031
45505f:	0f b7 46 02          	movzwl 0x2(%esi),%eax
455063:	8d 34 46             	lea    (%esi,%eax,2),%esi
455066:	e9 8c 00 00 00       	jmp    0x4550f7
45506b:	0f b7 46 02          	movzwl 0x2(%esi),%eax
45506f:	66 85 c0             	test   %ax,%ax
455072:	0f 84 37 35 fc ff    	je     0x4185af
455078:	b9 87 00 00 00       	mov    $0x87,%ecx
45507d:	66 3b f9             	cmp    %cx,%di
455080:	75 0c                	jne    0x45508e
455082:	8d 04 46             	lea    (%esi,%eax,2),%eax
455085:	66 39 18             	cmp    %bx,(%eax)
455088:	0f 85 5b fe ff ff    	jne    0x454ee9
45508e:	8b fa                	mov    %edx,%edi
455090:	85 ff                	test   %edi,%edi
455092:	75 1b                	jne    0x4550af
455094:	ff 75 10             	push   0x10(%ebp)
455097:	8b 55 fc             	mov    -0x4(%ebp),%edx
45509a:	8b ce                	mov    %esi,%ecx
45509c:	ff 75 0c             	push   0xc(%ebp)
45509f:	ff 75 08             	push   0x8(%ebp)
4550a2:	e8 da 33 fc ff       	call   0x418481
4550a7:	83 c4 0c             	add    $0xc,%esp
4550aa:	85 c0                	test   %eax,%eax
4550ac:	74 01                	je     0x4550af
4550ae:	47                   	inc    %edi
4550af:	0f b7 46 02          	movzwl 0x2(%esi),%eax
4550b3:	8d 34 46             	lea    (%esi,%eax,2),%esi
4550b6:	66 39 1e             	cmp    %bx,(%esi)
4550b9:	74 d5                	je     0x455090
4550bb:	85 ff                	test   %edi,%edi
4550bd:	0f 84 d0 34 fc ff    	je     0x418593
4550c3:	e9 23 fe ff ff       	jmp    0x454eeb
4550c8:	0f b7 46 02          	movzwl 0x2(%esi),%eax
4550cc:	8d 34 46             	lea    (%esi,%eax,2),%esi
4550cf:	66 39 1e             	cmp    %bx,(%esi)
4550d2:	74 f4                	je     0x4550c8
4550d4:	e9 12 fe ff ff       	jmp    0x454eeb
4550d9:	0f b6 87 50 57 4a 00 	movzbl 0x4a5750(%edi),%eax
4550e0:	8d 34 46             	lea    (%esi,%eax,2),%esi
4550e3:	0f b7 46 02          	movzwl 0x2(%esi),%eax
4550e7:	8d 34 46             	lea    (%esi,%eax,2),%esi
4550ea:	66 39 1e             	cmp    %bx,(%esi)
4550ed:	74 f4                	je     0x4550e3
4550ef:	e9 f7 fd ff ff       	jmp    0x454eeb
4550f4:	6a 77                	push   $0x77
4550f6:	5b                   	pop    %ebx
4550f7:	0f b7 c7             	movzwl %di,%eax
4550fa:	33 d2                	xor    %edx,%edx
4550fc:	42                   	inc    %edx
4550fd:	0f b6 80 50 57 4a 00 	movzbl 0x4a5750(%eax),%eax
455104:	8d 0c 46             	lea    (%esi,%eax,2),%ecx
455107:	e8 67 35 fc ff       	call   0x418673
45510c:	8b f0                	mov    %eax,%esi
45510e:	3b 75 fc             	cmp    -0x4(%ebp),%esi
455111:	0f 83 98 34 fc ff    	jae    0x4185af
455117:	e9 95 33 fc ff       	jmp    0x4184b1
45511c:	8d 49 00             	lea    0x0(%ecx),%ecx
45511f:	f7 50 45             	notl   0x45(%eax)
455122:	00 cf                	add    %cl,%bh
455124:	4f                   	dec    %edi
455125:	45                   	inc    %ebp
455126:	00 93 85 41 00 00    	add    %dl,0x4185(%ebx)
45512c:	00 02                	add    %al,(%edx)
45512e:	02 00                	add    (%eax),%al
455130:	00 01                	add    %al,(%ecx)
455132:	01 00                	add    %eax,(%eax)
455134:	02 00                	add    (%eax),%al
455136:	01 3d 80 00 00 00    	add    %edi,0x80
45513c:	7e 1b                	jle    0x455159
45513e:	3d 8c 00 00 00       	cmp    $0x8c,%eax
455143:	0f 8e 45 35 fc ff    	jle    0x41868e
455149:	3d 91 00 00 00       	cmp    $0x91,%eax
45514e:	0f 8f 3a 35 fc ff    	jg     0x41868e
455154:	e9 3c 35 fc ff       	jmp    0x418695
455159:	85 d2                	test   %edx,%edx
45515b:	0f 84 2d 35 fc ff    	je     0x41868e
455161:	0f b7 41 02          	movzwl 0x2(%ecx),%eax
455165:	8d 0c 41             	lea    (%ecx,%eax,2),%ecx
455168:	66 83 39 77          	cmpw   $0x77,(%ecx)
45516c:	74 f3                	je     0x455161
45516e:	0f b7 01             	movzwl (%ecx),%eax
455171:	e9 1f 35 fc ff       	jmp    0x418695
455176:	8b 46 10             	mov    0x10(%esi),%eax
455179:	8b 55 10             	mov    0x10(%ebp),%edx
45517c:	8d 14 50             	lea    (%eax,%edx,2),%edx
45517f:	3b 56 20             	cmp    0x20(%esi),%edx
455182:	73 2f                	jae    0x4551b3
455184:	8b 46 14             	mov    0x14(%esi),%eax
455187:	8d 79 02             	lea    0x2(%ecx),%edi
45518a:	89 7d f8             	mov    %edi,-0x8(%ebp)
45518d:	0f b7 3a             	movzwl (%edx),%edi
455190:	8d 04 78             	lea    (%eax,%edi,2),%eax
455193:	3b 45 f8             	cmp    -0x8(%ebp),%eax
455196:	74 0d                	je     0x4551a5
455198:	8b 46 14             	mov    0x14(%esi),%eax
45519b:	83 c2 02             	add    $0x2,%edx
45519e:	3b 56 20             	cmp    0x20(%esi),%edx
4551a1:	72 ea                	jb     0x45518d
4551a3:	eb 06                	jmp    0x4551ab
4551a5:	8d 04 3b             	lea    (%ebx,%edi,1),%eax
4551a8:	66 89 02             	mov    %ax,(%edx)
4551ab:	8b 7d fc             	mov    -0x4(%ebp),%edi
4551ae:	3b 56 20             	cmp    0x20(%esi),%edx
4551b1:	72 15                	jb     0x4551c8
4551b3:	0f b7 51 02          	movzwl 0x2(%ecx),%edx
4551b7:	8b 46 14             	mov    0x14(%esi),%eax
4551ba:	8d 04 50             	lea    (%eax,%edx,2),%eax
4551bd:	3b c7                	cmp    %edi,%eax
4551bf:	72 07                	jb     0x4551c8
4551c1:	8d 04 13             	lea    (%ebx,%edx,1),%eax
4551c4:	66 89 41 02          	mov    %ax,0x2(%ecx)
4551c8:	83 c1 04             	add    $0x4,%ecx
4551cb:	e9 e3 34 fc ff       	jmp    0x4186b3
4551d0:	0f b7 41 04          	movzwl 0x4(%ecx),%eax
4551d4:	66 3b 45 f8          	cmp    -0x8(%ebp),%ax
4551d8:	74 06                	je     0x4551e0
4551da:	66 3b 45 fc          	cmp    -0x4(%ebp),%ax
4551de:	75 03                	jne    0x4551e3
4551e0:	83 c1 04             	add    $0x4,%ecx
4551e3:	6a 10                	push   $0x10
4551e5:	5e                   	pop    %esi
4551e6:	e9 4b 35 fc ff       	jmp    0x418736
4551eb:	0f b7 41 02          	movzwl 0x2(%ecx),%eax
4551ef:	66 3b c6             	cmp    %si,%ax
4551f2:	74 0a                	je     0x4551fe
4551f4:	66 3b 45 fc          	cmp    -0x4(%ebp),%ax
4551f8:	0f 85 38 35 fc ff    	jne    0x418736
4551fe:	83 c1 04             	add    $0x4,%ecx
455201:	e9 30 35 fc ff       	jmp    0x418736
455206:	8b c2                	mov    %edx,%eax
455208:	2d 97 00 00 00       	sub    $0x97,%eax
45520d:	0f 84 6e 35 fc ff    	je     0x418781
455213:	48                   	dec    %eax
455214:	48                   	dec    %eax
455215:	0f 84 66 35 fc ff    	je     0x418781
45521b:	48                   	dec    %eax
45521c:	48                   	dec    %eax
45521d:	0f 85 13 35 fc ff    	jne    0x418736
455223:	e9 59 35 fc ff       	jmp    0x418781
455228:	0f b7 c7             	movzwl %di,%eax
45522b:	6a 07                	push   $0x7
45522d:	83 c0 df             	add    $0xffffffdf,%eax
455230:	59                   	pop    %ecx