5f30a2:	85 c0                	test   %eax,%eax
5f30a4:	74 0d                	je     0x5f30b3
5f30a6:	e8 21 f7 e0 ff       	call   0x4027cc
5f30ab:	8b 43 64             	mov    0x64(%ebx),%eax
5f30ae:	e8 19 f7 e0 ff       	call   0x4027cc
5f30b3:	33 c0                	xor    %eax,%eax
5f30b5:	89 43 58             	mov    %eax,0x58(%ebx)
5f30b8:	33 c0                	xor    %eax,%eax
5f30ba:	89 43 64             	mov    %eax,0x64(%ebx)
5f30bd:	33 c0                	xor    %eax,%eax
5f30bf:	89 43 5c             	mov    %eax,0x5c(%ebx)
5f30c2:	33 c0                	xor    %eax,%eax
5f30c4:	89 43 60             	mov    %eax,0x60(%ebx)
5f30c7:	8b 43 14             	mov    0x14(%ebx),%eax
5f30ca:	85 c0                	test   %eax,%eax
5f30cc:	74 05                	je     0x5f30d3
5f30ce:	e8 f9 f6 e0 ff       	call   0x4027cc
5f30d3:	33 c0                	xor    %eax,%eax
5f30d5:	89 43 14             	mov    %eax,0x14(%ebx)
5f30d8:	33 c0                	xor    %eax,%eax
5f30da:	89 43 04             	mov    %eax,0x4(%ebx)
5f30dd:	33 c0                	xor    %eax,%eax
5f30df:	89 43 08             	mov    %eax,0x8(%ebx)
5f30e2:	33 c0                	xor    %eax,%eax
5f30e4:	89 43 0c             	mov    %eax,0xc(%ebx)
5f30e7:	33 c0                	xor    %eax,%eax
5f30e9:	89 43 10             	mov    %eax,0x10(%ebx)
5f30ec:	5b                   	pop    %ebx
5f30ed:	c3                   	ret
5f30ee:	8b c0                	mov    %eax,%eax
5f30f0:	55                   	push   %ebp
5f30f1:	8b ec                	mov    %esp,%ebp
5f30f3:	83 c4 f8             	add    $0xfffffff8,%esp
5f30f6:	53                   	push   %ebx
5f30f7:	56                   	push   %esi
5f30f8:	57                   	push   %edi
5f30f9:	89 4d f8             	mov    %ecx,-0x8(%ebp)
5f30fc:	89 55 fc             	mov    %edx,-0x4(%ebp)
5f30ff:	8b d8                	mov    %eax,%ebx
5f3101:	8b 75 08             	mov    0x8(%ebp),%esi
5f3104:	81 7b 18 ff ff ff 7f 	cmpl   $0x7fffffff,0x18(%ebx)
5f310b:	74 5d                	je     0x5f316a
5f310d:	81 7b 1c ff ff ff 7f 	cmpl   $0x7fffffff,0x1c(%ebx)
5f3114:	74 54                	je     0x5f316a
5f3116:	83 7b 0c 01          	cmpl   $0x1,0xc(%ebx)
5f311a:	75 4e                	jne    0x5f316a
5f311c:	8d 43 28             	lea    0x28(%ebx),%eax
5f311f:	8b 53 04             	mov    0x4(%ebx),%edx
5f3122:	89 50 04             	mov    %edx,0x4(%eax)
5f3125:	8b 53 08             	mov    0x8(%ebx),%edx
5f3128:	89 50 08             	mov    %edx,0x8(%eax)
5f312b:	8d 7b 28             	lea    0x28(%ebx),%edi
5f312e:	68 46 00 66 00       	push   $0x660046
5f3133:	6a 00                	push   $0x0
5f3135:	57                   	push   %edi
5f3136:	8b 43 14             	mov    0x14(%ebx),%eax
5f3139:	50                   	push   %eax
5f313a:	56                   	push   %esi
5f313b:	8b 45 0c             	mov    0xc(%ebp),%eax
5f313e:	50                   	push   %eax
5f313f:	8b 43 08             	mov    0x8(%ebx),%eax
5f3142:	2b c6                	sub    %esi,%eax
5f3144:	2b 45 10             	sub    0x10(%ebp),%eax
5f3147:	50                   	push   %eax
5f3148:	8b 45 14             	mov    0x14(%ebp),%eax
5f314b:	50                   	push   %eax
5f314c:	8b 45 18             	mov    0x18(%ebp),%eax
5f314f:	50                   	push   %eax
5f3150:	8b 45 1c             	mov    0x1c(%ebp),%eax
5f3153:	50                   	push   %eax
5f3154:	8b 45 20             	mov    0x20(%ebp),%eax
5f3157:	50                   	push   %eax
5f3158:	8b 45 f8             	mov    -0x8(%ebp),%eax
5f315b:	50                   	push   %eax
5f315c:	8b 45 fc             	mov    -0x4(%ebp),%eax
5f315f:	e8 5c 5b e3 ff       	call   0x428cc0
5f3164:	50                   	push   %eax
5f3165:	e8 5e 46 e1 ff       	call   0x4077c8
5f316a:	5f                   	pop    %edi
5f316b:	5e                   	pop    %esi
5f316c:	5b                   	pop    %ebx
5f316d:	59                   	pop    %ecx
5f316e:	59                   	pop    %ecx
5f316f:	5d                   	pop    %ebp
5f3170:	c2 1c 00             	ret    $0x1c
5f3173:	90                   	nop
5f3174:	55                   	push   %ebp
5f3175:	8b ec                	mov    %esp,%ebp
5f3177:	83 c4 9c             	add    $0xffffff9c,%esp
5f317a:	53                   	push   %ebx
5f317b:	56                   	push   %esi
5f317c:	57                   	push   %edi
5f317d:	8b d9                	mov    %ecx,%ebx
5f317f:	89 55 f8             	mov    %edx,-0x8(%ebp)
5f3182:	89 45 fc             	mov    %eax,-0x4(%ebp)
5f3185:	8b 7d 24             	mov    0x24(%ebp),%edi
5f3188:	8b 75 28             	mov    0x28(%ebp),%esi
5f318b:	83 fb 01             	cmp    $0x1,%ebx
5f318e:	0f 8c 39 02 00 00    	jl     0x5f33cd
5f3194:	83 7d 34 01          	cmpl   $0x1,0x34(%ebp)
5f3198:	0f 8c 2f 02 00 00    	jl     0x5f33cd
5f319e:	b9 20 00 00 00       	mov    $0x20,%ecx
5f31a3:	8b 55 fc             	mov    -0x4(%ebp),%edx
5f31a6:	8b c3                	mov    %ebx,%eax
5f31a8:	e8 33 d9 ff ff       	call   0x5f0ae0
5f31ad:	89 45 d4             	mov    %eax,-0x2c(%ebp)
5f31b0:	8b 55 d4             	mov    -0x2c(%ebp),%edx
5f31b3:	0f af 55 34          	imul   0x34(%ebp),%edx
5f31b7:	8b 45 f8             	mov    -0x8(%ebp),%eax
5f31ba:	e8 15 4d e1 ff       	call   0x407ed4
5f31bf:	b9 20 00 00 00       	mov    $0x20,%ecx
5f31c4:	8b 55 fc             	mov    -0x4(%ebp),%edx
5f31c7:	8b 45 1c             	mov    0x1c(%ebp),%eax
5f31ca:	e8 11 d9 ff ff       	call   0x5f0ae0
5f31cf:	89 45 d0             	mov    %eax,-0x30(%ebp)
5f31d2:	89 7d a0             	mov    %edi,-0x60(%ebp)
5f31d5:	db 45 a0             	fildl  -0x60(%ebp)
5f31d8:	db 45 34             	fildl  0x34(%ebp)
5f31db:	de f9                	fdivrp %st,%st(1)
5f31dd:	d8 0d d8 33 5f 00    	fmuls  0x5f33d8
5f31e3:	e8 e4 fa e0 ff       	call   0x402ccc
5f31e8:	89 45 f0             	mov    %eax,-0x10(%ebp)
5f31eb:	89 75 a0             	mov    %esi,-0x60(%ebp)
5f31ee:	db 45 a0             	fildl  -0x60(%ebp)
5f31f1:	89 5d 9c             	mov    %ebx,-0x64(%ebp)
5f31f4:	db 45 9c             	fildl  -0x64(%ebp)
5f31f7:	de f9                	fdivrp %st,%st(1)
5f31f9:	d8 0d d8 33 5f 00    	fmuls  0x5f33d8
5f31ff:	e8 c8 fa e0 ff       	call   0x402ccc
5f3204:	89 45 f4             	mov    %eax,-0xc(%ebp)
5f3207:	8b 45 34             	mov    0x34(%ebp),%eax
5f320a:	48                   	dec    %eax
5f320b:	89 45 ec             	mov    %eax,-0x14(%ebp)
5f320e:	8b c3                	mov    %ebx,%eax
5f3210:	48                   	dec    %eax
5f3211:	89 45 e8             	mov    %eax,-0x18(%ebp)
5f3214:	89 5d a0             	mov    %ebx,-0x60(%ebp)
5f3217:	db 45 a0             	fildl  -0x60(%ebp)
5f321a:	89 75 9c             	mov    %esi,-0x64(%ebp)
5f321d:	db 45 9c             	fildl  -0x64(%ebp)
5f3220:	de f9                	fdivrp %st,%st(1)
5f3222:	dd 5d b0             	fstpl  -0x50(%ebp)
5f3225:	9b db 45 34          	fildl  0x34(%ebp)
5f3229:	89 7d a0             	mov    %edi,-0x60(%ebp)
5f322c:	db 45 a0             	fildl  -0x60(%ebp)
5f322f:	de f9                	fdivrp %st,%st(1)
5f3231:	dd 5d a8             	fstpl  -0x58(%ebp)
5f3234:	9b                   	fwait
5f3235:	8b 45 10             	mov    0x10(%ebp),%eax
5f3238:	2b 45 2c             	sub    0x2c(%ebp),%eax
5f323b:	89 45 a0             	mov    %eax,-0x60(%ebp)
5f323e:	db 45 a0             	fildl  -0x60(%ebp)
5f3241:	dc 4d a8             	fmull  -0x58(%ebp)
5f3244:	e8 83 fa e0 ff       	call   0x402ccc
5f3249:	33 d2                	xor    %edx,%edx
5f324b:	e8 c4 61 fb ff       	call   0x5a9414
5f3250:	89 45 c4             	mov    %eax,-0x3c(%ebp)
5f3253:	8b 45 14             	mov    0x14(%ebp),%eax
5f3256:	2b 45 30             	sub    0x30(%ebp),%eax
5f3259:	89 45 a0             	mov    %eax,-0x60(%ebp)
5f325c:	db 45 a0             	fildl  -0x60(%ebp)
5f325f:	dc 4d b0             	fmull  -0x50(%ebp)
5f3262:	e8 65 fa e0 ff       	call   0x402ccc
5f3267:	33 d2                	xor    %edx,%edx
5f3269:	e8 a6 61 fb ff       	call   0x5a9414
5f326e:	89 45 c8             	mov    %eax,-0x38(%ebp)
5f3271:	8b 45 08             	mov    0x8(%ebp),%eax
5f3274:	2b 45 2c             	sub    0x2c(%ebp),%eax
5f3277:	40                   	inc    %eax
5f3278:	89 45 a0             	mov    %eax,-0x60(%ebp)
5f327b:	db 45 a0             	fildl  -0x60(%ebp)
5f327e:	dc 4d a8             	fmull  -0x58(%ebp)
5f3281:	e8 46 fa e0 ff       	call   0x402ccc
5f3286:	8b 55 ec             	mov    -0x14(%ebp),%edx
5f3289:	e8 8e 61 fb ff       	call   0x5a941c
5f328e:	89 45 bc             	mov    %eax,-0x44(%ebp)
5f3291:	8b 45 0c             	mov    0xc(%ebp),%eax
5f3294:	2b 45 30             	sub    0x30(%ebp),%eax
5f3297:	40                   	inc    %eax
5f3298:	89 45 a0             	mov    %eax,-0x60(%ebp)
5f329b:	db 45 a0             	fildl  -0x60(%ebp)
5f329e:	dc 4d b0             	fmull  -0x50(%ebp)
5f32a1:	e8 26 fa e0 ff       	call   0x402ccc
5f32a6:	8b 55 e8             	mov    -0x18(%ebp),%edx
5f32a9:	e8 6e 61 fb ff       	call   0x5a941c
5f32ae:	89 45 c0             	mov    %eax,-0x40(%ebp)
5f32b1:	b9 20 00 00 00       	mov    $0x20,%ecx
5f32b6:	8b 55 fc             	mov    -0x4(%ebp),%edx
5f32b9:	8b c3                	mov    %ebx,%eax
5f32bb:	e8 20 d8 ff ff       	call   0x5f0ae0
5f32c0:	8b d0                	mov    %eax,%edx
5f32c2:	0f af 55 34          	imul   0x34(%ebp),%edx
5f32c6:	8b 45 f8             	mov    -0x8(%ebp),%eax
5f32c9:	e8 06 4c e1 ff       	call   0x407ed4
5f32ce:	8b 45 c0             	mov    -0x40(%ebp),%eax
5f32d1:	2b 45 c8             	sub    -0x38(%ebp),%eax
5f32d4:	40                   	inc    %eax
5f32d5:	c1 e0 02             	shl    $0x2,%eax
5f32d8:	e8 cf f4 e0 ff       	call   0x4027ac
5f32dd:	89 45 a4             	mov    %eax,-0x5c(%ebp)
5f32e0:	8b 45 a4             	mov    -0x5c(%ebp),%eax
5f32e3:	8b 55 c8             	mov    -0x38(%ebp),%edx
5f32e6:	8b 75 c0             	mov    -0x40(%ebp),%esi
5f32e9:	2b f2                	sub    %edx,%esi
5f32eb:	7c 16                	jl     0x5f3303
5f32ed:	46                   	inc    %esi
5f32ee:	8b 4d f4             	mov    -0xc(%ebp),%ecx
5f32f1:	0f af ca             	imul   %edx,%ecx
5f32f4:	c1 e9 0e             	shr    $0xe,%ecx
5f32f7:	03 4d 30             	add    0x30(%ebp),%ecx
5f32fa:	89 08                	mov    %ecx,(%eax)
5f32fc:	83 c0 04             	add    $0x4,%eax
5f32ff:	42                   	inc    %edx
5f3300:	4e                   	dec    %esi
5f3301:	75 eb                	jne    0x5f32ee
5f3303:	8b 45 c4             	mov    -0x3c(%ebp),%eax
5f3306:	8b 75 bc             	mov    -0x44(%ebp),%esi
5f3309:	2b f0                	sub    %eax,%esi
5f330b:	0f 8c b4 00 00 00    	jl     0x5f33c5
5f3311:	46                   	inc    %esi
5f3312:	89 45 e4             	mov    %eax,-0x1c(%ebp)
5f3315:	8b 45 34             	mov    0x34(%ebp),%eax
5f3318:	2b 45 e4             	sub    -0x1c(%ebp),%eax
5f331b:	48                   	dec    %eax
5f331c:	f7 6d d4             	imull  -0x2c(%ebp)
5f331f:	03 45 f8             	add    -0x8(%ebp),%eax
5f3322:	89 45 dc             	mov    %eax,-0x24(%ebp)
5f3325:	8b 45 f0             	mov    -0x10(%ebp),%eax
5f3328:	f7 6d e4             	imull  -0x1c(%ebp)
5f332b:	c1 e8 0e             	shr    $0xe,%eax
5f332e:	03 45 2c             	add    0x2c(%ebp),%eax
5f3331:	8b 55 18             	mov    0x18(%ebp),%edx
5f3334:	2b d0                	sub    %eax,%edx
5f3336:	4a                   	dec    %edx
5f3337:	0f af 55 d0          	imul   -0x30(%ebp),%edx
5f333b:	03 55 20             	add    0x20(%ebp),%edx
5f333e:	89 55 e0             	mov    %edx,-0x20(%ebp)
5f3341:	8b 45 a4             	mov    -0x5c(%ebp),%eax
5f3344:	8b 55 fc             	mov    -0x4(%ebp),%edx
5f3347:	4a                   	dec    %edx
5f3348:	74 07                	je     0x5f3351
5f334a:	83 ea 07             	sub    $0x7,%edx
5f334d:	74 4c                	je     0x5f339b
5f334f:	eb 6a                	jmp    0x5f33bb
5f3351:	8b 55 c8             	mov    -0x38(%ebp),%edx
5f3354:	8b 4d c0             	mov    -0x40(%ebp),%ecx
5f3357:	2b ca                	sub    %edx,%ecx
5f3359:	7c 60                	jl     0x5f33bb
5f335b:	41                   	inc    %ecx
5f335c:	8b 18                	mov    (%eax),%ebx
5f335e:	c1 eb 03             	shr    $0x3,%ebx
5f3361:	8b 7d e0             	mov    -0x20(%ebp),%edi
5f3364:	8a 1c 1f             	mov    (%edi,%ebx,1),%bl
5f3367:	8b 38                	mov    (%eax),%edi
5f3369:	83 e7 07             	and    $0x7,%edi
5f336c:	22 9f ec 54 6a 00    	and    0x6a54ec(%edi),%bl
5f3372:	74 1e                	je     0x5f3392
5f3374:	8b da                	mov    %edx,%ebx
5f3376:	c1 eb 03             	shr    $0x3,%ebx
5f3379:	8b 7d dc             	mov    -0x24(%ebp),%edi
5f337c:	8d 1c 1f             	lea    (%edi,%ebx,1),%ebx
5f337f:	89 5d d8             	mov    %ebx,-0x28(%ebp)
5f3382:	8b da                	mov    %edx,%ebx
5f3384:	83 e3 07             	and    $0x7,%ebx
5f3387:	8a 9b ec 54 6a 00    	mov    0x6a54ec(%ebx),%bl
5f338d:	8b 7d d8             	mov    -0x28(%ebp),%edi
5f3390:	08 1f                	or     %bl,(%edi)
5f3392:	83 c0 04             	add    $0x4,%eax
5f3395:	42                   	inc    %edx
5f3396:	49                   	dec    %ecx
5f3397:	75 c3                	jne    0x5f335c
5f3399:	eb 20                	jmp    0x5f33bb
5f339b:	8b 55 c8             	mov    -0x38(%ebp),%edx
5f339e:	8b 4d c0             	mov    -0x40(%ebp),%ecx
5f33a1:	2b ca                	sub    %edx,%ecx
5f33a3:	7c 16                	jl     0x5f33bb
5f33a5:	41                   	inc    %ecx
5f33a6:	8b 5d e0             	mov    -0x20(%ebp),%ebx
5f33a9:	8b 38                	mov    (%eax),%edi
5f33ab:	8a 1c 3b             	mov    (%ebx,%edi,1),%bl
5f33ae:	8b 7d dc             	mov    -0x24(%ebp),%edi
5f33b1:	88 1c 17             	mov    %bl,(%edi,%edx,1)
5f33b4:	83 c0 04             	add    $0x4,%eax
5f33b7:	42                   	inc    %edx
5f33b8:	49                   	dec    %ecx
5f33b9:	75 eb                	jne    0x5f33a6
5f33bb:	ff 45 e4             	incl   -0x1c(%ebp)
5f33be:	4e                   	dec    %esi
5f33bf:	0f 85 50 ff ff ff    	jne    0x5f3315
5f33c5:	8b 45 a4             	mov    -0x5c(%ebp),%eax
5f33c8:	e8 ff f3 e0 ff       	call   0x4027cc
5f33cd:	5f                   	pop    %edi
5f33ce:	5e                   	pop    %esi
5f33cf:	5b                   	pop    %ebx
5f33d0:	8b e5                	mov    %ebp,%esp
5f33d2:	5d                   	pop    %ebp
5f33d3:	c2 30 00             	ret    $0x30
5f33d6:	00 00                	add    %al,(%eax)
5f33d8:	00 00                	add    %al,(%eax)
5f33da:	80 46 55 8b          	addb   $0x8b,0x55(%esi)
5f33de:	ec                   	in     (%dx),%al
5f33df:	53                   	push   %ebx
5f33e0:	56                   	push   %esi
5f33e1:	8b 45 08             	mov    0x8(%ebp),%eax
5f33e4:	8b 40 fc             	mov    -0x4(%eax),%eax
5f33e7:	8b 55 08             	mov    0x8(%ebp),%edx
5f33ea:	03 42 f8             	add    -0x8(%edx),%eax
5f33ed:	8b 55 08             	mov    0x8(%ebp),%edx
5f33f0:	89 42 f4             	mov    %eax,-0xc(%edx)
5f33f3:	8b 45 08             	mov    0x8(%ebp),%eax
5f33f6:	8b 40 f4             	mov    -0xc(%eax),%eax
5f33f9:	8b 55 08             	mov    0x8(%ebp),%edx
5f33fc:	03 42 e8             	add    -0x18(%edx),%eax
5f33ff:	8b 55 08             	mov    0x8(%ebp),%edx
5f3402:	03 42 18             	add    0x18(%edx),%eax
5f3405:	83 e0 07             	and    $0x7,%eax
5f3408:	83 f8 04             	cmp    $0x4,%eax
5f340b:	0f 9c c0             	setl   %al
5f340e:	83 e0 7f             	and    $0x7f,%eax
5f3411:	8b 55 08             	mov    0x8(%ebp),%edx
5f3414:	8b 44 82 ec          	mov    -0x14(%edx,%eax,4),%eax
5f3418:	8b 55 08             	mov    0x8(%ebp),%edx
5f341b:	89 42 e4             	mov    %eax,-0x1c(%edx)
5f341e:	8b 45 08             	mov    0x8(%ebp),%eax
5f3421:	83 78 fc 00          	cmpl   $0x0,-0x4(%eax)
5f3425:	75 56                	jne    0x5f347d
5f3427:	8b 45 08             	mov    0x8(%ebp),%eax
5f342a:	8b 40 fc             	mov    -0x4(%eax),%eax
5f342d:	8b 55 08             	mov    0x8(%ebp),%edx
5f3430:	f7 6a e0             	imull  -0x20(%edx)
5f3433:	c1 e8 0e             	shr    $0xe,%eax
5f3436:	8b 55 08             	mov    0x8(%ebp),%edx
5f3439:	03 42 28             	add    0x28(%edx),%eax
5f343c:	8b 55 08             	mov    0x8(%ebp),%edx
5f343f:	89 42 dc             	mov    %eax,-0x24(%edx)
5f3442:	8b 45 08             	mov    0x8(%ebp),%eax
5f3445:	8b 40 dc             	mov    -0x24(%eax),%eax
5f3448:	8b 55 08             	mov    0x8(%ebp),%edx
5f344b:	8b 52 d8             	mov    -0x28(%edx),%edx
5f344e:	3b 42 18             	cmp    0x18(%edx),%eax
5f3451:	0f 8f dd 02 00 00    	jg     0x5f3734
5f3457:	8b 45 08             	mov    0x8(%ebp),%eax
5f345a:	8b 40 e4             	mov    -0x1c(%eax),%eax
5f345d:	50                   	push   %eax
5f345e:	8b 45 08             	mov    0x8(%ebp),%eax
5f3461:	8b 40 e8             	mov    -0x18(%eax),%eax
5f3464:	50                   	push   %eax
5f3465:	8b 45 08             	mov    0x8(%ebp),%eax
5f3468:	8b 40 f4             	mov    -0xc(%eax),%eax
5f346b:	50                   	push   %eax