451d73:	0f 85 5e ff ff ff    	jne    0x451cd7
451d79:	eb 95                	jmp    0x451d10
451d7b:	8b 5d 98             	mov    -0x68(%ebp),%ebx
451d7e:	8b 55 cc             	mov    -0x34(%ebp),%edx
451d81:	89 7d e8             	mov    %edi,-0x18(%ebp)
451d84:	e9 da 55 fc ff       	jmp    0x417363
451d89:	8d 4e 02             	lea    0x2(%esi),%ecx
451d8c:	e8 ce c8 03 00       	call   0x48e65f
451d91:	8b 55 cc             	mov    -0x34(%ebp),%edx
451d94:	85 c0                	test   %eax,%eax
451d96:	0f 85 e1 5a fc ff    	jne    0x41787d
451d9c:	e9 ee 55 fc ff       	jmp    0x41738f
451da1:	85 c0                	test   %eax,%eax
451da3:	0f 85 f6 55 fc ff    	jne    0x41739f
451da9:	8b 85 64 ff ff ff    	mov    -0x9c(%ebp),%eax
451daf:	ff 8d 64 ff ff ff    	decl   -0x9c(%ebp)
451db5:	85 c0                	test   %eax,%eax
451db7:	0f 8f c3 5a fc ff    	jg     0x417880
451dbd:	39 4d 2c             	cmp    %ecx,0x2c(%ebp)
451dc0:	75 16                	jne    0x451dd8
451dc2:	8b 45 28             	mov    0x28(%ebp),%eax
451dc5:	2b 70 18             	sub    0x18(%eax),%esi
451dc8:	8b 45 88             	mov    -0x78(%ebp),%eax
451dcb:	d1 fe                	sar    $1,%esi
451dcd:	66 2b 70 04          	sub    0x4(%eax),%si
451dd1:	66 89 70 06          	mov    %si,0x6(%eax)
451dd5:	8b 75 fc             	mov    -0x4(%ebp),%esi
451dd8:	33 c0                	xor    %eax,%eax
451dda:	89 45 88             	mov    %eax,-0x78(%ebp)
451ddd:	e9 9e 5a fc ff       	jmp    0x417880
451de2:	85 c9                	test   %ecx,%ecx
451de4:	0f 85 c1 55 fc ff    	jne    0x4173ab
451dea:	85 c0                	test   %eax,%eax
451dec:	0f 85 b9 55 fc ff    	jne    0x4173ab
451df2:	8b 45 f8             	mov    -0x8(%ebp),%eax
451df5:	6a 76                	push   $0x76
451df7:	5a                   	pop    %edx
451df8:	89 45 88             	mov    %eax,-0x78(%ebp)
451dfb:	66 89 10             	mov    %dx,(%eax)
451dfe:	83 c0 02             	add    $0x2,%eax
451e01:	ba ff 00 00 00       	mov    $0xff,%edx
451e06:	6a 02                	push   $0x2
451e08:	66 89 10             	mov    %dx,(%eax)
451e0b:	5a                   	pop    %edx
451e0c:	03 c2                	add    %edx,%eax
451e0e:	8b 55 28             	mov    0x28(%ebp),%edx
451e11:	2b 72 18             	sub    0x18(%edx),%esi
451e14:	d1 fe                	sar    $1,%esi
451e16:	33 d2                	xor    %edx,%edx
451e18:	66 89 50 02          	mov    %dx,0x2(%eax)
451e1c:	8d 50 04             	lea    0x4(%eax),%edx
451e1f:	66 89 30             	mov    %si,(%eax)
451e22:	8b 75 fc             	mov    -0x4(%ebp),%esi
451e25:	89 55 f8             	mov    %edx,-0x8(%ebp)
451e28:	e9 81 55 fc ff       	jmp    0x4173ae
451e2d:	6a 04                	push   $0x4
451e2f:	58                   	pop    %eax
451e30:	03 f0                	add    %eax,%esi
451e32:	89 75 fc             	mov    %esi,-0x4(%ebp)
451e35:	0f b7 06             	movzwl (%esi),%eax
451e38:	66 85 c0             	test   %ax,%ax
451e3b:	74 1a                	je     0x451e57
451e3d:	6a 29                	push   $0x29
451e3f:	5a                   	pop    %edx
451e40:	66 3b c2             	cmp    %dx,%ax
451e43:	74 0d                	je     0x451e52
451e45:	03 f3                	add    %ebx,%esi
451e47:	89 75 fc             	mov    %esi,-0x4(%ebp)
451e4a:	0f b7 06             	movzwl (%esi),%eax
451e4d:	66 85 c0             	test   %ax,%ax
451e50:	75 ee                	jne    0x451e40
451e52:	66 39 0e             	cmp    %cx,(%esi)
451e55:	75 23                	jne    0x451e7a
451e57:	8b 45 0c             	mov    0xc(%ebp),%eax
451e5a:	c7 00 12 00 00 00    	movl   $0x12,(%eax)
451e60:	e9 4d 28 00 00       	jmp    0x4546b2
451e65:	8b 45 fc             	mov    -0x4(%ebp),%eax
451e68:	8b 34 bd cc 85 4b 00 	mov    0x4b85cc(,%edi,4),%esi
451e6f:	83 c0 02             	add    $0x2,%eax
451e72:	6a 02                	push   $0x2
451e74:	5a                   	pop    %edx
451e75:	89 45 a0             	mov    %eax,-0x60(%ebp)
451e78:	2b f2                	sub    %edx,%esi
451e7a:	8b 5d f0             	mov    -0x10(%ebp),%ebx
451e7d:	e9 99 56 fc ff       	jmp    0x41751b
451e82:	8d 5e 02             	lea    0x2(%esi),%ebx
451e85:	0f b7 03             	movzwl (%ebx),%eax
451e88:	6a 3a                	push   $0x3a
451e8a:	5f                   	pop    %edi
451e8b:	89 5d 98             	mov    %ebx,-0x68(%ebp)
451e8e:	66 3b c7             	cmp    %di,%ax
451e91:	74 22                	je     0x451eb5
451e93:	bf ff 00 00 00       	mov    $0xff,%edi
451e98:	66 3b c7             	cmp    %di,%ax
451e9b:	0f 87 6d 5a fc ff    	ja     0x41790e
451ea1:	8b c8                	mov    %eax,%ecx
451ea3:	8b 45 28             	mov    0x28(%ebp),%eax
451ea6:	8b 40 0c             	mov    0xc(%eax),%eax
451ea9:	f6 04 01 02          	testb  $0x2,(%ecx,%eax,1)
451ead:	0f 84 04 02 00 00    	je     0x4520b7
451eb3:	33 c9                	xor    %ecx,%ecx
451eb5:	8b f3                	mov    %ebx,%esi
451eb7:	89 4d ec             	mov    %ecx,-0x14(%ebp)
451eba:	89 75 fc             	mov    %esi,-0x4(%ebp)
451ebd:	bf ff 00 00 00       	mov    $0xff,%edi
451ec2:	ba 00 78 4b 00       	mov    $0x4b7800,%edx
451ec7:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
451eca:	89 55 dc             	mov    %edx,-0x24(%ebp)
451ecd:	0f b7 06             	movzwl (%esi),%eax
451ed0:	89 4d f0             	mov    %ecx,-0x10(%ebp)
451ed3:	66 3b c7             	cmp    %di,%ax
451ed6:	77 22                	ja     0x451efa
451ed8:	8b 4d 28             	mov    0x28(%ebp),%ecx
451edb:	6a 02                	push   $0x2
451edd:	5a                   	pop    %edx
451ede:	8b 49 0c             	mov    0xc(%ecx),%ecx
451ee1:	0f b7 c0             	movzwl %ax,%eax
451ee4:	f6 04 08 02          	testb  $0x2,(%eax,%ecx,1)
451ee8:	74 0d                	je     0x451ef7
451eea:	03 f2                	add    %edx,%esi
451eec:	89 75 fc             	mov    %esi,-0x4(%ebp)
451eef:	0f b7 06             	movzwl (%esi),%eax
451ef2:	66 3b c7             	cmp    %di,%ax
451ef5:	76 ea                	jbe    0x451ee1
451ef7:	8b 55 dc             	mov    -0x24(%ebp),%edx
451efa:	8b c6                	mov    %esi,%eax
451efc:	2b c3                	sub    %ebx,%eax
451efe:	6a 3a                	push   $0x3a
451f00:	d1 f8                	sar    $1,%eax
451f02:	59                   	pop    %ecx
451f03:	89 45 c8             	mov    %eax,-0x38(%ebp)
451f06:	66 39 0e             	cmp    %cx,(%esi)
451f09:	75 42                	jne    0x451f4d
451f0b:	6a 02                	push   $0x2
451f0d:	59                   	pop    %ecx
451f0e:	03 f1                	add    %ecx,%esi
451f10:	89 75 fc             	mov    %esi,-0x4(%ebp)
451f13:	8b fe                	mov    %esi,%edi
451f15:	89 7d e4             	mov    %edi,-0x1c(%ebp)
451f18:	0f b7 06             	movzwl (%esi),%eax
451f1b:	66 85 c0             	test   %ax,%ax
451f1e:	74 15                	je     0x451f35
451f20:	6a 29                	push   $0x29
451f22:	5b                   	pop    %ebx
451f23:	66 3b c3             	cmp    %bx,%ax
451f26:	74 0d                	je     0x451f35
451f28:	03 f1                	add    %ecx,%esi
451f2a:	89 75 fc             	mov    %esi,-0x4(%ebp)
451f2d:	0f b7 06             	movzwl (%esi),%eax
451f30:	66 85 c0             	test   %ax,%ax
451f33:	75 ee                	jne    0x451f23
451f35:	8b ce                	mov    %esi,%ecx
451f37:	2b cf                	sub    %edi,%ecx
451f39:	d1 f9                	sar    $1,%ecx
451f3b:	89 4d ec             	mov    %ecx,-0x14(%ebp)
451f3e:	81 f9 ff ff 00 00    	cmp    $0xffff,%ecx
451f44:	0f 87 0f 26 00 00    	ja     0x454559
451f4a:	8b 45 c8             	mov    -0x38(%ebp),%eax
451f4d:	6a 29                	push   $0x29
451f4f:	59                   	pop    %ecx
451f50:	66 39 0e             	cmp    %cx,(%esi)
451f53:	0f 85 57 01 00 00    	jne    0x4520b0
451f59:	33 c9                	xor    %ecx,%ecx
451f5b:	bb 30 77 4b 00       	mov    $0x4b7730,%ebx
451f60:	89 4d e8             	mov    %ecx,-0x18(%ebp)
451f63:	8b 3b                	mov    (%ebx),%edi
451f65:	3b c7                	cmp    %edi,%eax
451f67:	75 17                	jne    0x451f80
451f69:	8b 4d 98             	mov    -0x68(%ebp),%ecx
451f6c:	50                   	push   %eax
451f6d:	e8 23 64 fc ff       	call   0x418395
451f72:	59                   	pop    %ecx
451f73:	85 c0                	test   %eax,%eax
451f75:	74 23                	je     0x451f9a
451f77:	8b 45 c8             	mov    -0x38(%ebp),%eax
451f7a:	8b 55 dc             	mov    -0x24(%ebp),%edx
451f7d:	8b 4d e8             	mov    -0x18(%ebp),%ecx
451f80:	42                   	inc    %edx
451f81:	83 c3 0c             	add    $0xc,%ebx
451f84:	03 d7                	add    %edi,%edx
451f86:	41                   	inc    %ecx
451f87:	89 55 dc             	mov    %edx,-0x24(%ebp)
451f8a:	89 4d e8             	mov    %ecx,-0x18(%ebp)
451f8d:	81 fb 9c 77 4b 00    	cmp    $0x4b779c,%ebx
451f93:	7c ce                	jl     0x451f63
451f95:	e9 0a 01 00 00       	jmp    0x4520a4
451f9a:	6b 45 e8 0c          	imul   $0xc,-0x18(%ebp),%eax
451f9e:	bf 9e 00 00 00       	mov    $0x9e,%edi
451fa3:	8b 88 34 77 4b 00    	mov    0x4b7734(%eax),%ecx
451fa9:	3b cf                	cmp    %edi,%ecx
451fab:	75 5f                	jne    0x45200c
451fad:	83 7d ec 00          	cmpl   $0x0,-0x14(%ebp)
451fb1:	0f 85 b0 25 00 00    	jne    0x454567
451fb7:	8b 5d 28             	mov    0x28(%ebp),%ebx
451fba:	8b 45 f4             	mov    -0xc(%ebp),%eax
451fbd:	8b 55 f8             	mov    -0x8(%ebp),%edx
451fc0:	8b 4b 24             	mov    0x24(%ebx),%ecx
451fc3:	89 43 6c             	mov    %eax,0x6c(%ebx)
451fc6:	85 c9                	test   %ecx,%ecx
451fc8:	74 1c                	je     0x451fe6
451fca:	6a 02                	push   $0x2
451fcc:	5e                   	pop    %esi
451fcd:	b8 a0 00 00 00       	mov    $0xa0,%eax
451fd2:	66 89 02             	mov    %ax,(%edx)
451fd5:	03 d6                	add    %esi,%edx
451fd7:	66 8b 41 04          	mov    0x4(%ecx),%ax
451fdb:	66 89 02             	mov    %ax,(%edx)
451fde:	03 d6                	add    %esi,%edx
451fe0:	8b 09                	mov    (%ecx),%ecx
451fe2:	85 c9                	test   %ecx,%ecx
451fe4:	75 e7                	jne    0x451fcd
451fe6:	33 c0                	xor    %eax,%eax
451fe8:	33 c9                	xor    %ecx,%ecx
451fea:	39 4b 5c             	cmp    %ecx,0x5c(%ebx)
451fed:	6a 02                	push   $0x2
451fef:	0f 9f c0             	setg   %al
451ff2:	03 c7                	add    %edi,%eax
451ff4:	66 89 02             	mov    %ax,(%edx)
451ff7:	0f b7 f0             	movzwl %ax,%esi
451ffa:	58                   	pop    %eax
451ffb:	03 d0                	add    %eax,%edx
451ffd:	83 7d d4 fe          	cmpl   $0xfffffffe,-0x2c(%ebp)
452001:	89 55 f8             	mov    %edx,-0x8(%ebp)
452004:	75 74                	jne    0x45207a
452006:	83 4d d4 ff          	orl    $0xffffffff,-0x2c(%ebp)
45200a:	eb 6e                	jmp    0x45207a
45200c:	8b 5d ec             	mov    -0x14(%ebp),%ebx
45200f:	85 db                	test   %ebx,%ebx
452011:	75 1d                	jne    0x452030
452013:	85 c9                	test   %ecx,%ecx
452015:	0f 88 5a 25 00 00    	js     0x454575
45201b:	0f b7 c1             	movzwl %cx,%eax
45201e:	8b 4d f8             	mov    -0x8(%ebp),%ecx
452021:	8b f0                	mov    %eax,%esi
452023:	6a 02                	push   $0x2
452025:	66 89 01             	mov    %ax,(%ecx)
452028:	58                   	pop    %eax
452029:	03 c8                	add    %eax,%ecx
45202b:	89 4d f8             	mov    %ecx,-0x8(%ebp)
45202e:	eb 47                	jmp    0x452077
452030:	33 c9                	xor    %ecx,%ecx
452032:	39 88 38 77 4b 00    	cmp    %ecx,0x4b7738(%eax)
452038:	0f 8c 29 25 00 00    	jl     0x454567
45203e:	0f b7 80 38 77 4b 00 	movzwl 0x4b7738(%eax),%eax
452045:	8b 7d f8             	mov    -0x8(%ebp),%edi
452048:	8b f0                	mov    %eax,%esi
45204a:	6a 02                	push   $0x2
45204c:	66 89 07             	mov    %ax,(%edi)
45204f:	58                   	pop    %eax
452050:	03 f8                	add    %eax,%edi
452052:	66 89 1f             	mov    %bx,(%edi)
452055:	03 f8                	add    %eax,%edi
452057:	8d 04 1b             	lea    (%ebx,%ebx,1),%eax
45205a:	50                   	push   %eax
45205b:	ff 75 e4             	push   -0x1c(%ebp)
45205e:	57                   	push   %edi
45205f:	e8 1c f0 fc ff       	call   0x421080
452064:	83 c4 0c             	add    $0xc,%esp
452067:	8d 3c 5f             	lea    (%edi,%ebx,2),%edi
45206a:	33 c0                	xor    %eax,%eax
45206c:	66 89 07             	mov    %ax,(%edi)
45206f:	6a 02                	push   $0x2
452071:	58                   	pop    %eax
452072:	03 f8                	add    %eax,%edi
452074:	89 7d f8             	mov    %edi,-0x8(%ebp)
452077:	8b 5d 28             	mov    0x28(%ebp),%ebx
45207a:	81 fe 96 00 00 00    	cmp    $0x96,%esi
452080:	7c 1f                	jl     0x4520a1
452082:	81 fe 99 00 00 00    	cmp    $0x99,%esi
452088:	7e 11                	jle    0x45209b
45208a:	81 fe 9b 00 00 00    	cmp    $0x9b,%esi
452090:	7f 0f                	jg     0x4520a1
452092:	81 4b 64 00 10 00 00 	orl    $0x1000,0x64(%ebx)
452099:	eb 06                	jmp    0x4520a1
45209b:	8b 45 f4             	mov    -0xc(%ebp),%eax
45209e:	89 43 70             	mov    %eax,0x70(%ebx)
4520a1:	8b 75 fc             	mov    -0x4(%ebp),%esi
4520a4:	6a 09                	push   $0x9
4520a6:	58                   	pop    %eax
4520a7:	39 45 e8             	cmp    %eax,-0x18(%ebp)
4520aa:	0f 8c ca fd ff ff    	jl     0x451e7a
4520b0:	6a 3c                	push   $0x3c
4520b2:	e9 c7 25 00 00       	jmp    0x45467e
4520b7:	33 c9                	xor    %ecx,%ecx
4520b9:	e9 50 58 fc ff       	jmp    0x41790e
4520be:	0f 84 52 05 00 00    	je     0x452616
4520c4:	83 f8 28             	cmp    $0x28,%eax
4520c7:	0f 8f 14 05 00 00    	jg     0x4525e1
4520cd:	0f 84 bf 00 00 00    	je     0x452192
4520d3:	83 e8 21             	sub    $0x21,%eax
4520d6:	74 2e                	je     0x452106
4520d8:	83 e8 05             	sub    $0x5,%eax
4520db:	74 0c                	je     0x4520e9
4520dd:	48                   	dec    %eax
4520de:	0f 84 3c 06 00 00    	je     0x452720
4520e4:	e9 db 5b fc ff       	jmp    0x417cc4
4520e9:	6a 29                	push   $0x29
4520eb:	58                   	pop    %eax
4520ec:	8b d8                	mov    %eax,%ebx
4520ee:	8b 45 f4             	mov    -0xc(%ebp),%eax
4520f1:	89 45 e8             	mov    %eax,-0x18(%ebp)
4520f4:	eb 08                	jmp    0x4520fe
4520f6:	89 4d e8             	mov    %ecx,-0x18(%ebp)
4520f9:	6a 29                	push   $0x29
4520fb:	58                   	pop    %eax
4520fc:	8b d8                	mov    %eax,%ebx
4520fe:	8b 55 0c             	mov    0xc(%ebp),%edx
452101:	e9 b4 16 00 00       	jmp    0x4537ba
452106:	03 f2                	add    %edx,%esi
452108:	6a 29                	push   $0x29
45210a:	58                   	pop    %eax
45210b:	89 75 fc             	mov    %esi,-0x4(%ebp)
45210e:	66 39 06             	cmp    %ax,(%esi)
452111:	75 71                	jne    0x452184
452113:	0f b7 46 02          	movzwl 0x2(%esi),%eax
452117:	6a 2a                	push   $0x2a
452119:	5a                   	pop    %edx
45211a:	66 3b c2             	cmp    %dx,%ax
45211d:	74 65                	je     0x452184
45211f:	6a 2b                	push   $0x2b
452121:	5a                   	pop    %edx
452122:	66 3b c2             	cmp    %dx,%ax
452125:	74 5d                	je     0x452184
452127:	6a 3f                	push   $0x3f
452129:	5a                   	pop    %edx
45212a:	66 3b c2             	cmp    %dx,%ax
45212d:	74 55                	je     0x452184
45212f:	6a 7b                	push   $0x7b
452131:	5a                   	pop    %edx
452132:	66 3b c2             	cmp    %dx,%ax
452135:	75 0e                	jne    0x452145
452137:	8d 4e 04             	lea    0x4(%esi),%ecx
45213a:	e8 20 c5 03 00       	call   0x48e65f
45213f:	85 c0                	test   %eax,%eax
452141:	75 41                	jne    0x452184
452143:	33 c9                	xor    %ecx,%ecx
452145:	8b 55 f8             	mov    -0x8(%ebp),%edx
452148:	b8 9d 00 00 00       	mov    $0x9d,%eax
45214d:	6a 02                	push   $0x2
45214f:	5b                   	pop    %ebx
452150:	66 89 02             	mov    %ax,(%edx)
452153:	03 d3                	add    %ebx,%edx
452155:	8b d9                	mov    %ecx,%ebx
452157:	eb 23                	jmp    0x45217c
452159:	66 89 0a             	mov    %cx,(%edx)
45215c:	6a 02                	push   $0x2
45215e:	58                   	pop    %eax
45215f:	03 d0                	add    %eax,%edx
452161:	8b 45 fc             	mov    -0x4(%ebp),%eax
452164:	2b 43 18             	sub    0x18(%ebx),%eax