5adee8:	83 c0 07             	add    $0x7,%eax
5adeeb:	c1 f8 03             	sar    $0x3,%eax
5adeee:	48                   	dec    %eax
5adeef:	8b d8                	mov    %eax,%ebx
5adef1:	85 db                	test   %ebx,%ebx
5adef3:	7c 22                	jl     0x5adf17
5adef5:	43                   	inc    %ebx
5adef6:	33 c0                	xor    %eax,%eax
5adef8:	8a 06                	mov    (%esi),%al
5adefa:	8d 04 40             	lea    (%eax,%eax,2),%eax
5adefd:	8d 14 c5 58 28 6b 00 	lea    0x6b2858(,%eax,8),%edx
5adf04:	b9 18 00 00 00       	mov    $0x18,%ecx
5adf09:	8b c7                	mov    %edi,%eax
5adf0b:	e8 b0 9f e5 ff       	call   0x407ec0
5adf10:	46                   	inc    %esi
5adf11:	83 c7 18             	add    $0x18,%edi
5adf14:	4b                   	dec    %ebx
5adf15:	75 df                	jne    0x5adef6
5adf17:	8b c5                	mov    %ebp,%eax
5adf19:	83 e0 07             	and    $0x7,%eax
5adf1c:	85 c0                	test   %eax,%eax
5adf1e:	74 18                	je     0x5adf38
5adf20:	8d 0c 40             	lea    (%eax,%eax,2),%ecx
5adf23:	33 c0                	xor    %eax,%eax
5adf25:	8a 06                	mov    (%esi),%al
5adf27:	8d 04 40             	lea    (%eax,%eax,2),%eax
5adf2a:	8d 14 c5 58 28 6b 00 	lea    0x6b2858(,%eax,8),%edx
5adf31:	8b c7                	mov    %edi,%eax
5adf33:	e8 88 9f e5 ff       	call   0x407ec0
5adf38:	5d                   	pop    %ebp
5adf39:	5f                   	pop    %edi
5adf3a:	5e                   	pop    %esi
5adf3b:	5b                   	pop    %ebx
5adf3c:	c3                   	ret
5adf3d:	8d 40 00             	lea    0x0(%eax),%eax
5adf40:	53                   	push   %ebx
5adf41:	56                   	push   %esi
5adf42:	57                   	push   %edi
5adf43:	83 c4 e4             	add    $0xffffffe4,%esp
5adf46:	89 4c 24 08          	mov    %ecx,0x8(%esp)
5adf4a:	89 54 24 04          	mov    %edx,0x4(%esp)
5adf4e:	89 04 24             	mov    %eax,(%esp)
5adf51:	8b 44 24 04          	mov    0x4(%esp),%eax
5adf55:	8b 00                	mov    (%eax),%eax
5adf57:	ba 01 00 00 00       	mov    $0x1,%edx
5adf5c:	8b 08                	mov    (%eax),%ecx
5adf5e:	ff 51 40             	call   *0x40(%ecx)
5adf61:	8b 44 24 04          	mov    0x4(%esp),%eax
5adf65:	8b 00                	mov    (%eax),%eax
5adf67:	ba 01 00 00 00       	mov    $0x1,%edx
5adf6c:	8b 08                	mov    (%eax),%ecx
5adf6e:	ff 51 34             	call   *0x34(%ecx)
5adf71:	8b 44 24 04          	mov    0x4(%esp),%eax
5adf75:	8b 00                	mov    (%eax),%eax
5adf77:	b2 06                	mov    $0x6,%dl
5adf79:	e8 2a 08 e8 ff       	call   0x42e7a8
5adf7e:	8b 04 24             	mov    (%esp),%eax
5adf81:	8b 00                	mov    (%eax),%eax
5adf83:	8b 10                	mov    (%eax),%edx
5adf85:	ff 52 2c             	call   *0x2c(%edx)
5adf88:	8b d0                	mov    %eax,%edx
5adf8a:	8b 44 24 04          	mov    0x4(%esp),%eax
5adf8e:	8b 00                	mov    (%eax),%eax
5adf90:	8b 08                	mov    (%eax),%ecx
5adf92:	ff 51 40             	call   *0x40(%ecx)
5adf95:	8b 04 24             	mov    (%esp),%eax
5adf98:	8b 00                	mov    (%eax),%eax
5adf9a:	8b 10                	mov    (%eax),%edx
5adf9c:	ff 52 20             	call   *0x20(%edx)
5adf9f:	8b d0                	mov    %eax,%edx
5adfa1:	8b 44 24 04          	mov    0x4(%esp),%eax
5adfa5:	8b 00                	mov    (%eax),%eax
5adfa7:	8b 08                	mov    (%eax),%ecx
5adfa9:	ff 51 34             	call   *0x34(%ecx)
5adfac:	8b 04 24             	mov    (%esp),%eax
5adfaf:	8b 00                	mov    (%eax),%eax
5adfb1:	8b 10                	mov    (%eax),%edx
5adfb3:	ff 52 2c             	call   *0x2c(%edx)
5adfb6:	85 c0                	test   %eax,%eax
5adfb8:	79 03                	jns    0x5adfbd
5adfba:	83 c0 07             	add    $0x7,%eax
5adfbd:	c1 f8 03             	sar    $0x3,%eax
5adfc0:	48                   	dec    %eax
5adfc1:	89 44 24 10          	mov    %eax,0x10(%esp)
5adfc5:	8b 04 24             	mov    (%esp),%eax
5adfc8:	8b 00                	mov    (%eax),%eax
5adfca:	8b 10                	mov    (%eax),%edx
5adfcc:	ff 52 20             	call   *0x20(%edx)
5adfcf:	89 44 24 18          	mov    %eax,0x18(%esp)
5adfd3:	db 44 24 18          	fildl  0x18(%esp)
5adfd7:	d8 05 cc e0 5a 00    	fadds  0x5ae0cc
5adfdd:	d8 3d d0 e0 5a 00    	fdivrs 0x5ae0d0
5adfe3:	8b 44 24 08          	mov    0x8(%esp),%eax
5adfe7:	dd 58 18             	fstpl  0x18(%eax)
5adfea:	9b                   	fwait
5adfeb:	8b 04 24             	mov    (%esp),%eax
5adfee:	8b 00                	mov    (%eax),%eax
5adff0:	8b 10                	mov    (%eax),%edx
5adff2:	ff 52 20             	call   *0x20(%edx)
5adff5:	48                   	dec    %eax
5adff6:	85 c0                	test   %eax,%eax
5adff8:	0f 8c c5 00 00 00    	jl     0x5ae0c3
5adffe:	40                   	inc    %eax
5adfff:	89 44 24 14          	mov    %eax,0x14(%esp)
5ae003:	c7 44 24 0c 00 00 00 	movl   $0x0,0xc(%esp)
5ae00a:	00
5ae00b:	8b 04 24             	mov    (%esp),%eax
5ae00e:	8b 00                	mov    (%eax),%eax
5ae010:	8b 54 24 0c          	mov    0xc(%esp),%edx
5ae014:	e8 ef f8 e7 ff       	call   0x42d908
5ae019:	8b f0                	mov    %eax,%esi
5ae01b:	8b 44 24 04          	mov    0x4(%esp),%eax
5ae01f:	8b 00                	mov    (%eax),%eax
5ae021:	8b 54 24 0c          	mov    0xc(%esp),%edx
5ae025:	e8 de f8 e7 ff       	call   0x42d908
5ae02a:	8b f8                	mov    %eax,%edi
5ae02c:	8b 5c 24 10          	mov    0x10(%esp),%ebx
5ae030:	85 db                	test   %ebx,%ebx
5ae032:	7c 22                	jl     0x5ae056
5ae034:	43                   	inc    %ebx
5ae035:	33 c0                	xor    %eax,%eax
5ae037:	8a 06                	mov    (%esi),%al
5ae039:	8d 04 40             	lea    (%eax,%eax,2),%eax
5ae03c:	8d 14 c5 58 28 6b 00 	lea    0x6b2858(,%eax,8),%edx
5ae043:	b9 18 00 00 00       	mov    $0x18,%ecx
5ae048:	8b c7                	mov    %edi,%eax
5ae04a:	e8 71 9e e5 ff       	call   0x407ec0
5ae04f:	46                   	inc    %esi
5ae050:	83 c7 18             	add    $0x18,%edi
5ae053:	4b                   	dec    %ebx
5ae054:	75 df                	jne    0x5ae035
5ae056:	8b 04 24             	mov    (%esp),%eax
5ae059:	8b 00                	mov    (%eax),%eax
5ae05b:	8b 10                	mov    (%eax),%edx
5ae05d:	ff 52 2c             	call   *0x2c(%edx)
5ae060:	83 e0 07             	and    $0x7,%eax
5ae063:	85 c0                	test   %eax,%eax
5ae065:	74 18                	je     0x5ae07f
5ae067:	8d 0c 40             	lea    (%eax,%eax,2),%ecx
5ae06a:	33 c0                	xor    %eax,%eax
5ae06c:	8a 06                	mov    (%esi),%al
5ae06e:	8d 04 40             	lea    (%eax,%eax,2),%eax
5ae071:	8d 14 c5 58 28 6b 00 	lea    0x6b2858(,%eax,8),%edx
5ae078:	8b c7                	mov    %edi,%eax
5ae07a:	e8 41 9e e5 ff       	call   0x407ec0
5ae07f:	8b 44 24 08          	mov    0x8(%esp),%eax
5ae083:	66 83 78 02 00       	cmpw   $0x0,0x2(%eax)
5ae088:	74 2b                	je     0x5ae0b5
5ae08a:	8b 44 24 0c          	mov    0xc(%esp),%eax
5ae08e:	40                   	inc    %eax
5ae08f:	89 44 24 18          	mov    %eax,0x18(%esp)
5ae093:	db 44 24 18          	fildl  0x18(%esp)
5ae097:	8b 44 24 08          	mov    0x8(%esp),%eax
5ae09b:	dc 48 18             	fmull  0x18(%eax)
5ae09e:	e8 29 4c e5 ff       	call   0x402ccc
5ae0a3:	8b c8                	mov    %eax,%ecx
5ae0a5:	8b 5c 24 08          	mov    0x8(%esp),%ebx
5ae0a9:	8b 54 24 08          	mov    0x8(%esp),%edx
5ae0ad:	8b 52 08             	mov    0x8(%edx),%edx
5ae0b0:	8b 43 04             	mov    0x4(%ebx),%eax
5ae0b3:	ff 13                	call   *(%ebx)
5ae0b5:	ff 44 24 0c          	incl   0xc(%esp)
5ae0b9:	ff 4c 24 14          	decl   0x14(%esp)
5ae0bd:	0f 85 48 ff ff ff    	jne    0x5ae00b
5ae0c3:	83 c4 1c             	add    $0x1c,%esp
5ae0c6:	5f                   	pop    %edi
5ae0c7:	5e                   	pop    %esi
5ae0c8:	5b                   	pop    %ebx
5ae0c9:	c3                   	ret
5ae0ca:	00 00                	add    %al,(%eax)
5ae0cc:	00 00                	add    %al,(%eax)
5ae0ce:	00 3f                	add    %bh,(%edi)
5ae0d0:	00 00                	add    %al,(%eax)
5ae0d2:	c8 42 55 8b          	enter  $0x5542,$0x8b
5ae0d6:	ec                   	in     (%dx),%al
5ae0d7:	83 c4 dc             	add    $0xffffffdc,%esp
5ae0da:	53                   	push   %ebx
5ae0db:	56                   	push   %esi
5ae0dc:	89 4d f4             	mov    %ecx,-0xc(%ebp)
5ae0df:	89 55 f8             	mov    %edx,-0x8(%ebp)
5ae0e2:	89 45 fc             	mov    %eax,-0x4(%ebp)
5ae0e5:	8b 5d 14             	mov    0x14(%ebp),%ebx
5ae0e8:	8b 45 fc             	mov    -0x4(%ebp),%eax
5ae0eb:	8b 10                	mov    (%eax),%edx
5ae0ed:	ff 52 10             	call   *0x10(%edx)
5ae0f0:	3c 05                	cmp    $0x5,%al
5ae0f2:	0f 85 f4 00 00 00    	jne    0x5ae1ec
5ae0f8:	8b 45 fc             	mov    -0x4(%ebp),%eax
5ae0fb:	8b 10                	mov    (%eax),%edx
5ae0fd:	ff 52 0c             	call   *0xc(%edx)
5ae100:	8b d0                	mov    %eax,%edx
5ae102:	8b 45 18             	mov    0x18(%ebp),%eax
5ae105:	e8 12 b3 ff ff       	call   0x5a941c
5ae10a:	89 45 18             	mov    %eax,0x18(%ebp)
5ae10d:	ff 4d 18             	decl   0x18(%ebp)
5ae110:	8b 45 fc             	mov    -0x4(%ebp),%eax
5ae113:	8b 10                	mov    (%eax),%edx
5ae115:	ff 52 08             	call   *0x8(%edx)
5ae118:	8b d0                	mov    %eax,%edx
5ae11a:	8b c3                	mov    %ebx,%eax
5ae11c:	e8 fb b2 ff ff       	call   0x5a941c
5ae121:	8b d8                	mov    %eax,%ebx
5ae123:	4b                   	dec    %ebx
5ae124:	8b c3                	mov    %ebx,%eax
5ae126:	2b 45 f4             	sub    -0xc(%ebp),%eax
5ae129:	89 45 dc             	mov    %eax,-0x24(%ebp)
5ae12c:	db 45 dc             	fildl  -0x24(%ebp)
5ae12f:	d8 05 f4 e1 5a 00    	fadds  0x5ae1f4
5ae135:	d8 3d f8 e1 5a 00    	fdivrs 0x5ae1f8
5ae13b:	dd 5d e8             	fstpl  -0x18(%ebp)
5ae13e:	9b                   	fwait
5ae13f:	8b 45 f4             	mov    -0xc(%ebp),%eax
5ae142:	2b d8                	sub    %eax,%ebx
5ae144:	0f 8c a2 00 00 00    	jl     0x5ae1ec
5ae14a:	43                   	inc    %ebx
5ae14b:	89 5d e4             	mov    %ebx,-0x1c(%ebp)
5ae14e:	89 45 f0             	mov    %eax,-0x10(%ebp)
5ae151:	8b 55 f0             	mov    -0x10(%ebp),%edx
5ae154:	8b 45 fc             	mov    -0x4(%ebp),%eax
5ae157:	8b 08                	mov    (%eax),%ecx
5ae159:	ff 11                	call   *(%ecx)
5ae15b:	8b d8                	mov    %eax,%ebx
5ae15d:	8b 45 f8             	mov    -0x8(%ebp),%eax
5ae160:	8d 04 40             	lea    (%eax,%eax,2),%eax
5ae163:	03 d8                	add    %eax,%ebx
5ae165:	8b 45 f8             	mov    -0x8(%ebp),%eax
5ae168:	8b 55 18             	mov    0x18(%ebp),%edx
5ae16b:	2b d0                	sub    %eax,%edx
5ae16d:	7c 4a                	jl     0x5ae1b9
5ae16f:	42                   	inc    %edx
5ae170:	89 55 e0             	mov    %edx,-0x20(%ebp)
5ae173:	8b cb                	mov    %ebx,%ecx
5ae175:	33 c0                	xor    %eax,%eax
5ae177:	8a 41 02             	mov    0x2(%ecx),%al
5ae17a:	8b 15 24 72 6a 00    	mov    0x6a7224,%edx
5ae180:	f7 2a                	imull  (%edx)
5ae182:	33 d2                	xor    %edx,%edx
5ae184:	8a 51 01             	mov    0x1(%ecx),%dl
5ae187:	8b 35 4c 71 6a 00    	mov    0x6a714c,%esi
5ae18d:	0f af 16             	imul   (%esi),%edx
5ae190:	03 c2                	add    %edx,%eax
5ae192:	33 d2                	xor    %edx,%edx
5ae194:	8a 11                	mov    (%ecx),%dl
5ae196:	8b 35 bc 6d 6a 00    	mov    0x6a6dbc,%esi
5ae19c:	0f af 16             	imul   (%esi),%edx
5ae19f:	03 c2                	add    %edx,%eax
5ae1a1:	be 64 00 00 00       	mov    $0x64,%esi
5ae1a6:	99                   	cltd
5ae1a7:	f7 fe                	idiv   %esi
5ae1a9:	88 41 02             	mov    %al,0x2(%ecx)
5ae1ac:	88 41 01             	mov    %al,0x1(%ecx)
5ae1af:	88 01                	mov    %al,(%ecx)
5ae1b1:	83 c3 03             	add    $0x3,%ebx
5ae1b4:	ff 4d e0             	decl   -0x20(%ebp)
5ae1b7:	75 ba                	jne    0x5ae173
5ae1b9:	66 83 7d 0e 00       	cmpw   $0x0,0xe(%ebp)
5ae1be:	74 20                	je     0x5ae1e0
5ae1c0:	8b 45 f0             	mov    -0x10(%ebp),%eax
5ae1c3:	2b 45 f4             	sub    -0xc(%ebp),%eax
5ae1c6:	40                   	inc    %eax
5ae1c7:	89 45 dc             	mov    %eax,-0x24(%ebp)
5ae1ca:	db 45 dc             	fildl  -0x24(%ebp)
5ae1cd:	dc 4d e8             	fmull  -0x18(%ebp)
5ae1d0:	e8 f7 4a e5 ff       	call   0x402ccc
5ae1d5:	8b c8                	mov    %eax,%ecx
5ae1d7:	8b 55 08             	mov    0x8(%ebp),%edx
5ae1da:	8b 45 10             	mov    0x10(%ebp),%eax
5ae1dd:	ff 55 0c             	call   *0xc(%ebp)
5ae1e0:	ff 45 f0             	incl   -0x10(%ebp)
5ae1e3:	ff 4d e4             	decl   -0x1c(%ebp)
5ae1e6:	0f 85 65 ff ff ff    	jne    0x5ae151
5ae1ec:	5e                   	pop    %esi
5ae1ed:	5b                   	pop    %ebx
5ae1ee:	8b e5                	mov    %ebp,%esp
5ae1f0:	5d                   	pop    %ebp
5ae1f1:	c2 14 00             	ret    $0x14
5ae1f4:	00 00                	add    %al,(%eax)
5ae1f6:	00 3f                	add    %bh,(%edi)
5ae1f8:	00 00                	add    %al,(%eax)
5ae1fa:	c8 42 55 8b          	enter  $0x5542,$0x8b
5ae1fe:	ec                   	in     (%dx),%al
5ae1ff:	83 c4 f8             	add    $0xfffffff8,%esp
5ae202:	dd 45 08             	fldl   0x8(%ebp)
5ae205:	e8 c2 4a e5 ff       	call   0x402ccc
5ae20a:	89 45 f8             	mov    %eax,-0x8(%ebp)
5ae20d:	89 55 fc             	mov    %edx,-0x4(%ebp)
5ae210:	df 6d f8             	fildll -0x8(%ebp)
5ae213:	dc 5d 08             	fcompl 0x8(%ebp)
5ae216:	df e0                	fnstsw %ax
5ae218:	9e                   	sahf
5ae219:	75 1b                	jne    0x5ae236
5ae21b:	6a 00                	push   $0x0
5ae21d:	6a 5a                	push   $0x5a
5ae21f:	dd 45 08             	fldl   0x8(%ebp)
5ae222:	e8 a5 4a e5 ff       	call   0x402ccc
5ae227:	e8 44 79 e5 ff       	call   0x405b70
5ae22c:	83 fa 00             	cmp    $0x0,%edx
5ae22f:	75 03                	jne    0x5ae234
5ae231:	83 f8 00             	cmp    $0x0,%eax
5ae234:	74 04                	je     0x5ae23a
5ae236:	33 c0                	xor    %eax,%eax
5ae238:	eb 02                	jmp    0x5ae23c
5ae23a:	b0 01                	mov    $0x1,%al
5ae23c:	59                   	pop    %ecx
5ae23d:	59                   	pop    %ecx
5ae23e:	5d                   	pop    %ebp
5ae23f:	c2 08 00             	ret    $0x8
5ae242:	8b c0                	mov    %eax,%eax
5ae244:	55                   	push   %ebp
5ae245:	8b ec                	mov    %esp,%ebp
5ae247:	83 c4 f0             	add    $0xfffffff0,%esp
5ae24a:	53                   	push   %ebx
5ae24b:	56                   	push   %esi
5ae24c:	57                   	push   %edi
5ae24d:	33 db                	xor    %ebx,%ebx
5ae24f:	89 5d f8             	mov    %ebx,-0x8(%ebp)
5ae252:	89 5d f4             	mov    %ebx,-0xc(%ebp)
5ae255:	88 4d fe             	mov    %cl,-0x2(%ebp)
5ae258:	88 55 ff             	mov    %dl,-0x1(%ebp)
5ae25b:	8b d8                	mov    %eax,%ebx
5ae25d:	8b 75 08             	mov    0x8(%ebp),%esi
5ae260:	33 c0                	xor    %eax,%eax
5ae262:	55                   	push   %ebp
5ae263:	68 1a e4 5a 00       	push   $0x5ae41a
5ae268:	64 ff 30             	push   %fs:(%eax)
5ae26b:	64 89 20             	mov    %esp,%fs:(%eax)
5ae26e:	dd 45 0c             	fldl   0xc(%ebp)
5ae271:	d8 1d 2c e4 5a 00    	fcomps 0x5ae42c
5ae277:	df e0                	fnstsw %ax
5ae279:	9e                   	sahf
5ae27a:	0f 84 7f 01 00 00    	je     0x5ae3ff
5ae280:	66 8b 15 30 e4 5a 00 	mov    0x5ae430,%dx
5ae287:	8b c3                	mov    %ebx,%eax
5ae289:	e8 b2 b4 ff ff       	call   0x5a9740
5ae28e:	84 c0                	test   %al,%al
5ae290:	0f 84 69 01 00 00    	je     0x5ae3ff
5ae296:	80 7b 30 00          	cmpb   $0x0,0x30(%ebx)
5ae29a:	74 2e                	je     0x5ae2ca
5ae29c:	dd 45 0c             	fldl   0xc(%ebp)
5ae29f:	83 c4 f4             	add    $0xfffffff4,%esp
5ae2a2:	db 3c 24             	fstpt  (%esp)
5ae2a5:	9b                   	fwait
5ae2a6:	8d 45 f4             	lea    -0xc(%ebp),%eax
5ae2a9:	e8 5e ca e5 ff       	call   0x40ad0c
5ae2ae:	8b 4d f4             	mov    -0xc(%ebp),%ecx
5ae2b1:	8d 45 f8             	lea    -0x8(%ebp),%eax
5ae2b4:	ba 3c e4 5a 00       	mov    $0x5ae43c,%edx
5ae2b9:	e8 ae 68 e5 ff       	call   0x404b6c
5ae2be:	8b 55 f8             	mov    -0x8(%ebp),%edx
5ae2c1:	b1 01                	mov    $0x1,%cl