427e77:	8b 4d d8             	mov    -0x28(%ebp),%ecx
427e7a:	d1 6d dc             	shrl   $1,-0x24(%ebp)
427e7d:	c1 e0 1f             	shl    $0x1f,%eax
427e80:	d1 ef                	shr    $1,%edi
427e82:	0b f8                	or     %eax,%edi
427e84:	8b 45 d4             	mov    -0x2c(%ebp),%eax
427e87:	c1 e1 1f             	shl    $0x1f,%ecx
427e8a:	d1 e8                	shr    $1,%eax
427e8c:	0b c1                	or     %ecx,%eax
427e8e:	4e                   	dec    %esi
427e8f:	89 7d d8             	mov    %edi,-0x28(%ebp)
427e92:	89 45 d4             	mov    %eax,-0x2c(%ebp)
427e95:	75 d1                	jne    0x427e68
427e97:	39 75 b0             	cmp    %esi,-0x50(%ebp)
427e9a:	74 05                	je     0x427ea1
427e9c:	66 83 4d d4 01       	orw    $0x1,-0x2c(%ebp)
427ea1:	b8 00 80 00 00       	mov    $0x8000,%eax
427ea6:	8b c8                	mov    %eax,%ecx
427ea8:	66 39 4d d4          	cmp    %cx,-0x2c(%ebp)
427eac:	77 11                	ja     0x427ebf
427eae:	8b 4d d4             	mov    -0x2c(%ebp),%ecx
427eb1:	81 e1 ff ff 01 00    	and    $0x1ffff,%ecx
427eb7:	81 f9 00 80 01 00    	cmp    $0x18000,%ecx
427ebd:	75 34                	jne    0x427ef3
427ebf:	83 7d d6 ff          	cmpl   $0xffffffff,-0x2a(%ebp)
427ec3:	75 2b                	jne    0x427ef0
427ec5:	83 65 d6 00          	andl   $0x0,-0x2a(%ebp)
427ec9:	83 7d da ff          	cmpl   $0xffffffff,-0x26(%ebp)
427ecd:	75 1c                	jne    0x427eeb
427ecf:	83 65 da 00          	andl   $0x0,-0x26(%ebp)
427ed3:	b9 ff ff 00 00       	mov    $0xffff,%ecx
427ed8:	66 39 4d de          	cmp    %cx,-0x22(%ebp)
427edc:	75 07                	jne    0x427ee5
427ede:	66 89 45 de          	mov    %ax,-0x22(%ebp)
427ee2:	42                   	inc    %edx
427ee3:	eb 0e                	jmp    0x427ef3
427ee5:	66 ff 45 de          	incw   -0x22(%ebp)
427ee9:	eb 08                	jmp    0x427ef3
427eeb:	ff 45 da             	incl   -0x26(%ebp)
427eee:	eb 03                	jmp    0x427ef3
427ef0:	ff 45 d6             	incl   -0x2a(%ebp)
427ef3:	b8 ff 7f 00 00       	mov    $0x7fff,%eax
427ef8:	66 3b d0             	cmp    %ax,%dx
427efb:	72 23                	jb     0x427f20
427efd:	33 c0                	xor    %eax,%eax
427eff:	33 c9                	xor    %ecx,%ecx
427f01:	66 39 45 90          	cmp    %ax,-0x70(%ebp)
427f05:	89 45 c8             	mov    %eax,-0x38(%ebp)
427f08:	0f 94 c1             	sete   %cl
427f0b:	89 45 c4             	mov    %eax,-0x3c(%ebp)
427f0e:	49                   	dec    %ecx
427f0f:	81 e1 00 00 00 80    	and    $0x80000000,%ecx
427f15:	81 c1 00 80 ff 7f    	add    $0x7fff8000,%ecx
427f1b:	89 4d cc             	mov    %ecx,-0x34(%ebp)
427f1e:	eb 3b                	jmp    0x427f5b
427f20:	66 8b 45 d6          	mov    -0x2a(%ebp),%ax
427f24:	0b 55 90             	or     -0x70(%ebp),%edx
427f27:	66 89 45 c4          	mov    %ax,-0x3c(%ebp)
427f2b:	8b 45 d8             	mov    -0x28(%ebp),%eax
427f2e:	89 45 c6             	mov    %eax,-0x3a(%ebp)
427f31:	8b 45 dc             	mov    -0x24(%ebp),%eax
427f34:	89 45 ca             	mov    %eax,-0x36(%ebp)
427f37:	66 89 55 ce          	mov    %dx,-0x32(%ebp)
427f3b:	eb 1e                	jmp    0x427f5b
427f3d:	33 c0                	xor    %eax,%eax
427f3f:	66 85 f6             	test   %si,%si
427f42:	0f 94 c0             	sete   %al
427f45:	83 65 c8 00          	andl   $0x0,-0x38(%ebp)
427f49:	48                   	dec    %eax
427f4a:	25 00 00 00 80       	and    $0x80000000,%eax
427f4f:	05 00 80 ff 7f       	add    $0x7fff8000,%eax
427f54:	83 65 c4 00          	andl   $0x0,-0x3c(%ebp)
427f58:	89 45 cc             	mov    %eax,-0x34(%ebp)
427f5b:	83 7d ac 00          	cmpl   $0x0,-0x54(%ebp)
427f5f:	0f 85 3c fd ff ff    	jne    0x427ca1
427f65:	8b 45 cc             	mov    -0x34(%ebp),%eax
427f68:	0f b7 4d c4          	movzwl -0x3c(%ebp),%ecx
427f6c:	8b 75 c6             	mov    -0x3a(%ebp),%esi
427f6f:	8b 55 ca             	mov    -0x36(%ebp),%edx
427f72:	c1 e8 10             	shr    $0x10,%eax
427f75:	eb 2f                	jmp    0x427fa6
427f77:	c7 45 94 04 00 00 00 	movl   $0x4,-0x6c(%ebp)
427f7e:	eb 1e                	jmp    0x427f9e
427f80:	33 f6                	xor    %esi,%esi
427f82:	b8 ff 7f 00 00       	mov    $0x7fff,%eax
427f87:	ba 00 00 00 80       	mov    $0x80000000,%edx
427f8c:	33 c9                	xor    %ecx,%ecx
427f8e:	c7 45 94 02 00 00 00 	movl   $0x2,-0x6c(%ebp)
427f95:	eb 0f                	jmp    0x427fa6
427f97:	c7 45 94 01 00 00 00 	movl   $0x1,-0x6c(%ebp)
427f9e:	33 c9                	xor    %ecx,%ecx
427fa0:	33 c0                	xor    %eax,%eax
427fa2:	33 d2                	xor    %edx,%edx
427fa4:	33 f6                	xor    %esi,%esi
427fa6:	8b 7d 88             	mov    -0x78(%ebp),%edi
427fa9:	0b 45 8c             	or     -0x74(%ebp),%eax
427fac:	66 89 0f             	mov    %cx,(%edi)
427faf:	66 89 47 0a          	mov    %ax,0xa(%edi)
427fb3:	8b 45 94             	mov    -0x6c(%ebp),%eax
427fb6:	89 77 02             	mov    %esi,0x2(%edi)
427fb9:	89 57 06             	mov    %edx,0x6(%edi)
427fbc:	8b 4d fc             	mov    -0x4(%ebp),%ecx
427fbf:	5f                   	pop    %edi
427fc0:	5e                   	pop    %esi
427fc1:	33 cd                	xor    %ebp,%ecx
427fc3:	5b                   	pop    %ebx
427fc4:	e8 05 62 ff ff       	call   0x41e1ce
427fc9:	c9                   	leave
427fca:	c3                   	ret
427fcb:	90                   	nop
427fcc:	9e                   	sahf
427fcd:	79 42                	jns    0x428011
427fcf:	00 f2                	add    %dh,%dl
427fd1:	79 42                	jns    0x428015
427fd3:	00 48 7a             	add    %cl,0x7a(%eax)
427fd6:	42                   	inc    %edx
427fd7:	00 7b 7a             	add    %bh,0x7a(%ebx)
427fda:	42                   	inc    %edx
427fdb:	00 c0                	add    %al,%al
427fdd:	7a 42                	jp     0x428021
427fdf:	00 f8                	add    %bh,%al
427fe1:	7a 42                	jp     0x428025
427fe3:	00 0c 7b             	add    %cl,(%ebx,%edi,2)
427fe6:	42                   	inc    %edx
427fe7:	00 67 7b             	add    %ah,0x7b(%edi)
427fea:	42                   	inc    %edx
427feb:	00 52 7b             	add    %dl,0x7b(%edx)
427fee:	42                   	inc    %edx
427fef:	00 d1                	add    %dl,%cl
427ff1:	7b 42                	jnp    0x428035
427ff3:	00 c6                	add    %al,%dh
427ff5:	7b 42                	jnp    0x428039
427ff7:	00 75 7b             	add    %dh,0x7b(%ebp)
427ffa:	42                   	inc    %edx
427ffb:	00 8b ff 55 8b ec    	add    %cl,-0x1374aa01(%ebx)
428001:	83 ec 74             	sub    $0x74,%esp
428004:	a1 98 f2 42 00       	mov    0x42f298,%eax
428009:	33 c5                	xor    %ebp,%eax
42800b:	89 45 fc             	mov    %eax,-0x4(%ebp)
42800e:	53                   	push   %ebx
42800f:	8b 5d 1c             	mov    0x1c(%ebp),%ebx
428012:	56                   	push   %esi
428013:	57                   	push   %edi
428014:	8d 75 08             	lea    0x8(%ebp),%esi
428017:	8d 7d f0             	lea    -0x10(%ebp),%edi
42801a:	a5                   	movsl  %ds:(%esi),%es:(%edi)
42801b:	a5                   	movsl  %ds:(%esi),%es:(%edi)
42801c:	66 a5                	movsw  %ds:(%esi),%es:(%edi)
42801e:	8b 55 f8             	mov    -0x8(%ebp),%edx
428021:	8b ca                	mov    %edx,%ecx
428023:	b8 00 80 00 00       	mov    $0x8000,%eax
428028:	23 c8                	and    %eax,%ecx
42802a:	81 e2 ff 7f 00 00    	and    $0x7fff,%edx
428030:	89 5d a0             	mov    %ebx,-0x60(%ebp)
428033:	c6 45 d0 cc          	movb   $0xcc,-0x30(%ebp)
428037:	c6 45 d1 cc          	movb   $0xcc,-0x2f(%ebp)
42803b:	c6 45 d2 cc          	movb   $0xcc,-0x2e(%ebp)
42803f:	c6 45 d3 cc          	movb   $0xcc,-0x2d(%ebp)
428043:	c6 45 d4 cc          	movb   $0xcc,-0x2c(%ebp)
428047:	c6 45 d5 cc          	movb   $0xcc,-0x2b(%ebp)
42804b:	c6 45 d6 cc          	movb   $0xcc,-0x2a(%ebp)
42804f:	c6 45 d7 cc          	movb   $0xcc,-0x29(%ebp)
428053:	c6 45 d8 cc          	movb   $0xcc,-0x28(%ebp)
428057:	c6 45 d9 cc          	movb   $0xcc,-0x27(%ebp)
42805b:	c6 45 da fb          	movb   $0xfb,-0x26(%ebp)
42805f:	c6 45 db 3f          	movb   $0x3f,-0x25(%ebp)
428063:	c7 45 8c 01 00 00 00 	movl   $0x1,-0x74(%ebp)
42806a:	89 4d 90             	mov    %ecx,-0x70(%ebp)
42806d:	66 85 c9             	test   %cx,%cx
428070:	74 06                	je     0x428078
428072:	c6 43 02 2d          	movb   $0x2d,0x2(%ebx)
428076:	eb 04                	jmp    0x42807c
428078:	c6 43 02 20          	movb   $0x20,0x2(%ebx)
42807c:	8b 75 f4             	mov    -0xc(%ebp),%esi
42807f:	8b 7d f0             	mov    -0x10(%ebp),%edi
428082:	66 85 d2             	test   %dx,%dx
428085:	75 2f                	jne    0x4280b6
428087:	85 f6                	test   %esi,%esi
428089:	75 2b                	jne    0x4280b6
42808b:	85 ff                	test   %edi,%edi
42808d:	75 27                	jne    0x4280b6
42808f:	33 d2                	xor    %edx,%edx
428091:	66 3b c8             	cmp    %ax,%cx
428094:	0f 95 c0             	setne  %al
428097:	fe c8                	dec    %al
428099:	24 0d                	and    $0xd,%al
42809b:	04 20                	add    $0x20,%al
42809d:	66 89 13             	mov    %dx,(%ebx)
4280a0:	88 43 02             	mov    %al,0x2(%ebx)
4280a3:	c6 43 03 01          	movb   $0x1,0x3(%ebx)
4280a7:	c6 43 04 30          	movb   $0x30,0x4(%ebx)
4280ab:	88 53 05             	mov    %dl,0x5(%ebx)
4280ae:	33 c0                	xor    %eax,%eax
4280b0:	40                   	inc    %eax
4280b1:	e9 1e 08 00 00       	jmp    0x4288d4
4280b6:	b8 ff 7f 00 00       	mov    $0x7fff,%eax
4280bb:	66 3b d0             	cmp    %ax,%dx
4280be:	0f 85 9f 00 00 00    	jne    0x428163
4280c4:	33 c0                	xor    %eax,%eax
4280c6:	40                   	inc    %eax
4280c7:	66 89 03             	mov    %ax,(%ebx)
4280ca:	b8 00 00 00 80       	mov    $0x80000000,%eax
4280cf:	3b f0                	cmp    %eax,%esi
4280d1:	75 04                	jne    0x4280d7
4280d3:	85 ff                	test   %edi,%edi
4280d5:	74 0f                	je     0x4280e6
4280d7:	f7 c6 00 00 00 40    	test   $0x40000000,%esi
4280dd:	75 07                	jne    0x4280e6
4280df:	68 cc cb 42 00       	push   $0x42cbcc
4280e4:	eb 51                	jmp    0x428137
4280e6:	66 85 c9             	test   %cx,%cx
4280e9:	74 13                	je     0x4280fe
4280eb:	81 fe 00 00 00 c0    	cmp    $0xc0000000,%esi
4280f1:	75 0b                	jne    0x4280fe
4280f3:	85 ff                	test   %edi,%edi
4280f5:	75 3b                	jne    0x428132
4280f7:	68 c4 cb 42 00       	push   $0x42cbc4
4280fc:	eb 0d                	jmp    0x42810b
4280fe:	3b f0                	cmp    %eax,%esi
428100:	75 30                	jne    0x428132
428102:	85 ff                	test   %edi,%edi
428104:	75 2c                	jne    0x428132
428106:	68 bc cb 42 00       	push   $0x42cbbc
42810b:	8d 43 04             	lea    0x4(%ebx),%eax
42810e:	6a 16                	push   $0x16
428110:	50                   	push   %eax
428111:	e8 47 a3 ff ff       	call   0x42245d
428116:	83 c4 0c             	add    $0xc,%esp
428119:	33 f6                	xor    %esi,%esi
42811b:	85 c0                	test   %eax,%eax
42811d:	74 0d                	je     0x42812c
42811f:	56                   	push   %esi
428120:	56                   	push   %esi
428121:	56                   	push   %esi
428122:	56                   	push   %esi
428123:	56                   	push   %esi
428124:	e8 a2 79 ff ff       	call   0x41facb
428129:	83 c4 14             	add    $0x14,%esp
42812c:	c6 43 03 05          	movb   $0x5,0x3(%ebx)
428130:	eb 2a                	jmp    0x42815c
428132:	68 b4 cb 42 00       	push   $0x42cbb4
428137:	8d 43 04             	lea    0x4(%ebx),%eax
42813a:	6a 16                	push   $0x16
42813c:	50                   	push   %eax
42813d:	e8 1b a3 ff ff       	call   0x42245d
428142:	83 c4 0c             	add    $0xc,%esp
428145:	33 f6                	xor    %esi,%esi
428147:	85 c0                	test   %eax,%eax
428149:	74 0d                	je     0x428158
42814b:	56                   	push   %esi
42814c:	56                   	push   %esi
42814d:	56                   	push   %esi
42814e:	56                   	push   %esi
42814f:	56                   	push   %esi
428150:	e8 76 79 ff ff       	call   0x41facb
428155:	83 c4 14             	add    $0x14,%esp
428158:	c6 43 03 06          	movb   $0x6,0x3(%ebx)
42815c:	33 c0                	xor    %eax,%eax
42815e:	e9 71 07 00 00       	jmp    0x4288d4
428163:	0f b7 ca             	movzwl %dx,%ecx
428166:	8b d9                	mov    %ecx,%ebx
428168:	69 c9 10 4d 00 00    	imul   $0x4d10,%ecx,%ecx
42816e:	c1 eb 08             	shr    $0x8,%ebx
428171:	8b c6                	mov    %esi,%eax
428173:	c1 e8 18             	shr    $0x18,%eax
428176:	8d 04 43             	lea    (%ebx,%eax,2),%eax
428179:	6b c0 4d             	imul   $0x4d,%eax,%eax
42817c:	8d 84 08 0c ed bc ec 	lea    -0x134312f4(%eax,%ecx,1),%eax
428183:	c1 f8 10             	sar    $0x10,%eax
428186:	0f b7 c0             	movzwl %ax,%eax
428189:	33 c9                	xor    %ecx,%ecx
42818b:	0f bf d8             	movswl %ax,%ebx
42818e:	66 89 4d e0          	mov    %cx,-0x20(%ebp)
428192:	b9 a0 02 43 00       	mov    $0x4302a0,%ecx
428197:	f7 db                	neg    %ebx
428199:	83 e9 60             	sub    $0x60,%ecx
42819c:	89 45 b4             	mov    %eax,-0x4c(%ebp)
42819f:	66 89 55 ea          	mov    %dx,-0x16(%ebp)
4281a3:	89 75 e6             	mov    %esi,-0x1a(%ebp)
4281a6:	89 7d e2             	mov    %edi,-0x1e(%ebp)
4281a9:	89 4d 9c             	mov    %ecx,-0x64(%ebp)
4281ac:	85 db                	test   %ebx,%ebx
4281ae:	0f 84 9c 02 00 00    	je     0x428450
4281b4:	7d 0d                	jge    0x4281c3
4281b6:	b8 00 04 43 00       	mov    $0x430400,%eax
4281bb:	f7 db                	neg    %ebx
4281bd:	83 e8 60             	sub    $0x60,%eax
4281c0:	89 45 9c             	mov    %eax,-0x64(%ebp)
4281c3:	85 db                	test   %ebx,%ebx
4281c5:	0f 84 85 02 00 00    	je     0x428450
4281cb:	83 45 9c 54          	addl   $0x54,-0x64(%ebp)
4281cf:	8b cb                	mov    %ebx,%ecx
4281d1:	83 e1 07             	and    $0x7,%ecx
4281d4:	c1 fb 03             	sar    $0x3,%ebx
4281d7:	85 c9                	test   %ecx,%ecx
4281d9:	0f 84 67 02 00 00    	je     0x428446
4281df:	6b c9 0c             	imul   $0xc,%ecx,%ecx
4281e2:	03 4d 9c             	add    -0x64(%ebp),%ecx
4281e5:	8b c1                	mov    %ecx,%eax
4281e7:	89 4d bc             	mov    %ecx,-0x44(%ebp)
4281ea:	b9 00 80 00 00       	mov    $0x8000,%ecx
4281ef:	66 39 08             	cmp    %cx,(%eax)
4281f2:	72 11                	jb     0x428205
4281f4:	8b f0                	mov    %eax,%esi
4281f6:	8d 7d c4             	lea    -0x3c(%ebp),%edi
4281f9:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4281fa:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4281fb:	8d 45 c4             	lea    -0x3c(%ebp),%eax
4281fe:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4281ff:	ff 4d c6             	decl   -0x3a(%ebp)
428202:	89 45 bc             	mov    %eax,-0x44(%ebp)
428205:	0f b7 50 0a          	movzwl 0xa(%eax),%edx
428209:	33 c9                	xor    %ecx,%ecx
42820b:	89 4d ac             	mov    %ecx,-0x54(%ebp)
42820e:	89 4d f0             	mov    %ecx,-0x10(%ebp)
428211:	89 4d f4             	mov    %ecx,-0xc(%ebp)
428214:	89 4d f8             	mov    %ecx,-0x8(%ebp)
428217:	8b 4d ea             	mov    -0x16(%ebp),%ecx
42821a:	8b f2                	mov    %edx,%esi
42821c:	33 f1                	xor    %ecx,%esi
42821e:	81 e6 00 80 00 00    	and    $0x8000,%esi
428224:	89 75 b8             	mov    %esi,-0x48(%ebp)
428227:	be ff 7f 00 00       	mov    $0x7fff,%esi
42822c:	23 ce                	and    %esi,%ecx
42822e:	23 d6                	and    %esi,%edx
428230:	8d 34 0a             	lea    (%edx,%ecx,1),%esi
428233:	0f b7 fe             	movzwl %si,%edi
428236:	be ff 7f 00 00       	mov    $0x7fff,%esi
42823b:	66 3b ce             	cmp    %si,%cx
42823e:	0f 83 ac 02 00 00    	jae    0x4284f0
428244:	66 3b d6             	cmp    %si,%dx
428247:	0f 83 a3 02 00 00    	jae    0x4284f0
42824d:	be fd bf 00 00       	mov    $0xbffd,%esi
428252:	66 3b fe             	cmp    %si,%di
428255:	0f 87 95 02 00 00    	ja     0x4284f0
42825b:	be bf 3f 00 00       	mov    $0x3fbf,%esi
428260:	66 3b fe             	cmp    %si,%di
428263:	77 10                	ja     0x428275
428265:	33 f6                	xor    %esi,%esi
428267:	89 75 e8             	mov    %esi,-0x18(%ebp)
42826a:	89 75 e4             	mov    %esi,-0x1c(%ebp)
42826d:	89 75 e0             	mov    %esi,-0x20(%ebp)
428270:	e9 d3 01 00 00       	jmp    0x428448
428275:	33 f6                	xor    %esi,%esi
428277:	66 3b ce             	cmp    %si,%cx
42827a:	75 1f                	jne    0x42829b
42827c:	47                   	inc    %edi
42827d:	f7 45 e8 ff ff ff 7f 	testl  $0x7fffffff,-0x18(%ebp)
428284:	75 15                	jne    0x42829b
428286:	39 75 e4             	cmp    %esi,-0x1c(%ebp)