55a1aa:	c1 e8 18             	shr    $0x18,%eax
55a1ad:	89 85 40 ff ff ff    	mov    %eax,-0xc0(%ebp)
55a1b3:	8b 45 a8             	mov    -0x58(%ebp),%eax
55a1b6:	8b 55 e0             	mov    -0x20(%ebp),%edx
55a1b9:	8b 14 90             	mov    (%eax,%edx,4),%edx
55a1bc:	8b 45 ac             	mov    -0x54(%ebp),%eax
55a1bf:	8b 0c 98             	mov    (%eax,%ebx,4),%ecx
55a1c2:	8b 45 80             	mov    -0x80(%ebp),%eax
55a1c5:	8b 84 85 4c ff ff ff 	mov    -0xb4(%ebp,%eax,4),%eax
55a1cc:	e8 63 fe 01 00       	call   0x57a034
55a1d1:	50                   	push   %eax
55a1d2:	8b 55 80             	mov    -0x80(%ebp),%edx
55a1d5:	8b c6                	mov    %esi,%eax
55a1d7:	e8 7c fe 01 00       	call   0x57a058
55a1dc:	b9 20 00 00 00       	mov    $0x20,%ecx
55a1e1:	2b c8                	sub    %eax,%ecx
55a1e3:	58                   	pop    %eax
55a1e4:	d3 e0                	shl    %cl,%eax
55a1e6:	c1 e8 18             	shr    $0x18,%eax
55a1e9:	89 85 44 ff ff ff    	mov    %eax,-0xbc(%ebp)
55a1ef:	8b c6                	mov    %esi,%eax
55a1f1:	e8 8a fe 01 00       	call   0x57a080
55a1f6:	83 e8 02             	sub    $0x2,%eax
55a1f9:	74 08                	je     0x55a203
55a1fb:	48                   	dec    %eax
55a1fc:	74 34                	je     0x55a232
55a1fe:	e9 29 01 00 00       	jmp    0x55a32c
55a203:	8b 45 d0             	mov    -0x30(%ebp),%eax
55a206:	8a 95 44 ff ff ff    	mov    -0xbc(%ebp),%dl
55a20c:	88 10                	mov    %dl,(%eax)
55a20e:	ff 45 d0             	incl   -0x30(%ebp)
55a211:	8b 45 d0             	mov    -0x30(%ebp),%eax
55a214:	8a 95 40 ff ff ff    	mov    -0xc0(%ebp),%dl
55a21a:	88 10                	mov    %dl,(%eax)
55a21c:	ff 45 d0             	incl   -0x30(%ebp)
55a21f:	8b 45 d0             	mov    -0x30(%ebp),%eax
55a222:	8a 95 3c ff ff ff    	mov    -0xc4(%ebp),%dl
55a228:	88 10                	mov    %dl,(%eax)
55a22a:	ff 45 d0             	incl   -0x30(%ebp)
55a22d:	e9 fa 00 00 00       	jmp    0x55a32c
55a232:	8b 85 44 ff ff ff    	mov    -0xbc(%ebp),%eax
55a238:	8b 04 85 80 14 6b 00 	mov    0x6b1480(,%eax,4),%eax
55a23f:	03 85 3c ff ff ff    	add    -0xc4(%ebp),%eax
55a245:	e8 ea f1 04 00       	call   0x5a9434
55a24a:	89 85 14 ff ff ff    	mov    %eax,-0xec(%ebp)
55a250:	db 85 14 ff ff ff    	fildl  -0xec(%ebp)
55a256:	dd 9d 18 ff ff ff    	fstpl  -0xe8(%ebp)
55a25c:	9b                   	fwait
55a25d:	8b 85 40 ff ff ff    	mov    -0xc0(%ebp),%eax
55a263:	8b 04 85 80 20 6b 00 	mov    0x6b2080(,%eax,4),%eax
55a26a:	03 85 3c ff ff ff    	add    -0xc4(%ebp),%eax
55a270:	8b 95 44 ff ff ff    	mov    -0xbc(%ebp),%edx
55a276:	03 04 95 80 1c 6b 00 	add    0x6b1c80(,%edx,4),%eax
55a27d:	e8 b2 f1 04 00       	call   0x5a9434
55a282:	89 85 14 ff ff ff    	mov    %eax,-0xec(%ebp)
55a288:	db 85 14 ff ff ff    	fildl  -0xec(%ebp)
55a28e:	dd 9d 20 ff ff ff    	fstpl  -0xe0(%ebp)
55a294:	9b                   	fwait
55a295:	8b 85 40 ff ff ff    	mov    -0xc0(%ebp),%eax
55a29b:	8b 04 85 80 18 6b 00 	mov    0x6b1880(,%eax,4),%eax
55a2a2:	03 85 3c ff ff ff    	add    -0xc4(%ebp),%eax
55a2a8:	e8 87 f1 04 00       	call   0x5a9434
55a2ad:	89 85 14 ff ff ff    	mov    %eax,-0xec(%ebp)
55a2b3:	db 85 14 ff ff ff    	fildl  -0xec(%ebp)
55a2b9:	dd 9d 28 ff ff ff    	fstpl  -0xd8(%ebp)
55a2bf:	9b dd 85 18 ff ff ff 	fldl   -0xe8(%ebp)
55a2c6:	e8 01 8a ea ff       	call   0x402ccc
55a2cb:	89 85 3c ff ff ff    	mov    %eax,-0xc4(%ebp)
55a2d1:	dd 85 20 ff ff ff    	fldl   -0xe0(%ebp)
55a2d7:	e8 f0 89 ea ff       	call   0x402ccc
55a2dc:	89 85 40 ff ff ff    	mov    %eax,-0xc0(%ebp)
55a2e2:	dd 85 28 ff ff ff    	fldl   -0xd8(%ebp)
55a2e8:	e8 df 89 ea ff       	call   0x402ccc
55a2ed:	89 85 44 ff ff ff    	mov    %eax,-0xbc(%ebp)
55a2f3:	8b 85 44 ff ff ff    	mov    -0xbc(%ebp),%eax
55a2f9:	e8 36 f1 04 00       	call   0x5a9434
55a2fe:	8b 55 d0             	mov    -0x30(%ebp),%edx
55a301:	88 02                	mov    %al,(%edx)
55a303:	ff 45 d0             	incl   -0x30(%ebp)
55a306:	8b 85 40 ff ff ff    	mov    -0xc0(%ebp),%eax
55a30c:	e8 23 f1 04 00       	call   0x5a9434
55a311:	8b 55 d0             	mov    -0x30(%ebp),%edx
55a314:	88 02                	mov    %al,(%edx)
55a316:	ff 45 d0             	incl   -0x30(%ebp)
55a319:	8b 85 3c ff ff ff    	mov    -0xc4(%ebp),%eax
55a31f:	e8 10 f1 04 00       	call   0x5a9434
55a324:	8b 55 d0             	mov    -0x30(%ebp),%edx
55a327:	88 02                	mov    %al,(%edx)
55a329:	ff 45 d0             	incl   -0x30(%ebp)
55a32c:	43                   	inc    %ebx
55a32d:	4f                   	dec    %edi
55a32e:	0f 85 fb fd ff ff    	jne    0x55a12f
55a334:	8b 45 0c             	mov    0xc(%ebp),%eax
55a337:	66 83 78 02 00       	cmpw   $0x0,0x2(%eax)
55a33c:	74 1e                	je     0x55a35c
55a33e:	db 45 e0             	fildl  -0x20(%ebp)
55a341:	8b 45 0c             	mov    0xc(%ebp),%eax
55a344:	dc 48 18             	fmull  0x18(%eax)
55a347:	e8 80 89 ea ff       	call   0x402ccc
55a34c:	8b c8                	mov    %eax,%ecx
55a34e:	8b 5d 0c             	mov    0xc(%ebp),%ebx
55a351:	8b 55 0c             	mov    0xc(%ebp),%edx
55a354:	8b 52 08             	mov    0x8(%edx),%edx
55a357:	8b 43 04             	mov    0x4(%ebx),%eax
55a35a:	ff 13                	call   *(%ebx)
55a35c:	8b 45 0c             	mov    0xc(%ebp),%eax
55a35f:	8b 40 28             	mov    0x28(%eax),%eax
55a362:	80 38 00             	cmpb   $0x0,(%eax)
55a365:	0f 85 2d 01 00 00    	jne    0x55a498
55a36b:	ff 45 e0             	incl   -0x20(%ebp)
55a36e:	ff 4d a4             	decl   -0x5c(%ebp)
55a371:	0f 85 9c fd ff ff    	jne    0x55a113
55a377:	e9 1c 01 00 00       	jmp    0x55a498
55a37c:	8b 45 c0             	mov    -0x40(%ebp),%eax
55a37f:	48                   	dec    %eax
55a380:	85 c0                	test   %eax,%eax
55a382:	0f 8c 10 01 00 00    	jl     0x55a498
55a388:	40                   	inc    %eax
55a389:	89 45 a4             	mov    %eax,-0x5c(%ebp)
55a38c:	c7 45 e0 00 00 00 00 	movl   $0x0,-0x20(%ebp)
55a393:	8b 55 e0             	mov    -0x20(%ebp),%edx
55a396:	8b 45 f8             	mov    -0x8(%ebp),%eax
55a399:	8b 08                	mov    (%eax),%ecx
55a39b:	ff 11                	call   *(%ecx)
55a39d:	89 45 d0             	mov    %eax,-0x30(%ebp)
55a3a0:	8b 7d c4             	mov    -0x3c(%ebp),%edi
55a3a3:	4f                   	dec    %edi
55a3a4:	85 ff                	test   %edi,%edi
55a3a6:	0f 8c ad 00 00 00    	jl     0x55a459
55a3ac:	47                   	inc    %edi
55a3ad:	33 db                	xor    %ebx,%ebx
55a3af:	8b 45 b8             	mov    -0x48(%ebp),%eax
55a3b2:	8b 55 e0             	mov    -0x20(%ebp),%edx
55a3b5:	8b 14 90             	mov    (%eax,%edx,4),%edx
55a3b8:	8b 45 bc             	mov    -0x44(%ebp),%eax
55a3bb:	8b 0c 98             	mov    (%eax,%ebx,4),%ecx
55a3be:	8b 85 78 ff ff ff    	mov    -0x88(%ebp),%eax
55a3c4:	8b 84 85 4c ff ff ff 	mov    -0xb4(%ebp,%eax,4),%eax
55a3cb:	e8 64 fc 01 00       	call   0x57a034
55a3d0:	50                   	push   %eax
55a3d1:	8b 95 78 ff ff ff    	mov    -0x88(%ebp),%edx
55a3d7:	8b c6                	mov    %esi,%eax
55a3d9:	e8 7a fc 01 00       	call   0x57a058
55a3de:	b9 20 00 00 00       	mov    $0x20,%ecx
55a3e3:	2b c8                	sub    %eax,%ecx
55a3e5:	58                   	pop    %eax
55a3e6:	d3 e0                	shl    %cl,%eax
55a3e8:	c1 e8 18             	shr    $0x18,%eax
55a3eb:	89 85 3c ff ff ff    	mov    %eax,-0xc4(%ebp)
55a3f1:	8b 85 3c ff ff ff    	mov    -0xc4(%ebp),%eax
55a3f7:	89 85 40 ff ff ff    	mov    %eax,-0xc0(%ebp)
55a3fd:	8b 85 3c ff ff ff    	mov    -0xc4(%ebp),%eax
55a403:	89 85 44 ff ff ff    	mov    %eax,-0xbc(%ebp)
55a409:	8b 45 f8             	mov    -0x8(%ebp),%eax
55a40c:	8b 10                	mov    (%eax),%edx
55a40e:	ff 52 10             	call   *0x10(%edx)
55a411:	3c 05                	cmp    $0x5,%al
55a413:	75 2c                	jne    0x55a441
55a415:	8b 45 d0             	mov    -0x30(%ebp),%eax
55a418:	8a 95 44 ff ff ff    	mov    -0xbc(%ebp),%dl
55a41e:	88 10                	mov    %dl,(%eax)
55a420:	ff 45 d0             	incl   -0x30(%ebp)
55a423:	8b 45 d0             	mov    -0x30(%ebp),%eax
55a426:	8a 95 40 ff ff ff    	mov    -0xc0(%ebp),%dl
55a42c:	88 10                	mov    %dl,(%eax)
55a42e:	ff 45 d0             	incl   -0x30(%ebp)
55a431:	8b 45 d0             	mov    -0x30(%ebp),%eax
55a434:	8a 95 3c ff ff ff    	mov    -0xc4(%ebp),%dl
55a43a:	88 10                	mov    %dl,(%eax)
55a43c:	ff 45 d0             	incl   -0x30(%ebp)
55a43f:	eb 10                	jmp    0x55a451
55a441:	8b 8d 3c ff ff ff    	mov    -0xc4(%ebp),%ecx
55a447:	8b d3                	mov    %ebx,%edx
55a449:	8b 45 d0             	mov    -0x30(%ebp),%eax
55a44c:	e8 cb 56 05 00       	call   0x5afb1c
55a451:	43                   	inc    %ebx
55a452:	4f                   	dec    %edi
55a453:	0f 85 56 ff ff ff    	jne    0x55a3af
55a459:	8b 45 0c             	mov    0xc(%ebp),%eax
55a45c:	66 83 78 02 00       	cmpw   $0x0,0x2(%eax)
55a461:	74 1e                	je     0x55a481
55a463:	db 45 e0             	fildl  -0x20(%ebp)
55a466:	8b 45 0c             	mov    0xc(%ebp),%eax
55a469:	dc 48 18             	fmull  0x18(%eax)
55a46c:	e8 5b 88 ea ff       	call   0x402ccc
55a471:	8b c8                	mov    %eax,%ecx
55a473:	8b 5d 0c             	mov    0xc(%ebp),%ebx
55a476:	8b 55 0c             	mov    0xc(%ebp),%edx
55a479:	8b 52 08             	mov    0x8(%edx),%edx
55a47c:	8b 43 04             	mov    0x4(%ebx),%eax
55a47f:	ff 13                	call   *(%ebx)
55a481:	8b 45 0c             	mov    0xc(%ebp),%eax
55a484:	8b 40 28             	mov    0x28(%eax),%eax
55a487:	80 38 00             	cmpb   $0x0,(%eax)
55a48a:	75 0c                	jne    0x55a498
55a48c:	ff 45 e0             	incl   -0x20(%ebp)
55a48f:	ff 4d a4             	decl   -0x5c(%ebp)
55a492:	0f 85 fb fe ff ff    	jne    0x55a393
55a498:	8b 45 ec             	mov    -0x14(%ebp),%eax
55a49b:	48                   	dec    %eax
55a49c:	85 c0                	test   %eax,%eax
55a49e:	7c 19                	jl     0x55a4b9
55a4a0:	40                   	inc    %eax
55a4a1:	89 45 a4             	mov    %eax,-0x5c(%ebp)
55a4a4:	8d 9d 4c ff ff ff    	lea    -0xb4(%ebp),%ebx
55a4aa:	8b 03                	mov    (%ebx),%eax
55a4ac:	e8 e3 d8 01 00       	call   0x577d94
55a4b1:	83 c3 04             	add    $0x4,%ebx
55a4b4:	ff 4d a4             	decl   -0x5c(%ebp)
55a4b7:	75 f1                	jne    0x55a4aa
55a4b9:	8b 45 bc             	mov    -0x44(%ebp),%eax
55a4bc:	e8 0b 83 ea ff       	call   0x4027cc
55a4c1:	8b 45 b8             	mov    -0x48(%ebp),%eax
55a4c4:	e8 03 83 ea ff       	call   0x4027cc
55a4c9:	83 7d e8 03          	cmpl   $0x3,-0x18(%ebp)
55a4cd:	75 20                	jne    0x55a4ef
55a4cf:	8b 45 b4             	mov    -0x4c(%ebp),%eax
55a4d2:	e8 f5 82 ea ff       	call   0x4027cc
55a4d7:	8b 45 b0             	mov    -0x50(%ebp),%eax
55a4da:	e8 ed 82 ea ff       	call   0x4027cc
55a4df:	8b 45 ac             	mov    -0x54(%ebp),%eax
55a4e2:	e8 e5 82 ea ff       	call   0x4027cc
55a4e7:	8b 45 a8             	mov    -0x58(%ebp),%eax
55a4ea:	e8 dd 82 ea ff       	call   0x4027cc
55a4ef:	8b c6                	mov    %esi,%eax
55a4f1:	e8 b2 a8 01 00       	call   0x574da8
55a4f6:	5f                   	pop    %edi
55a4f7:	5e                   	pop    %esi
55a4f8:	5b                   	pop    %ebx
55a4f9:	8b e5                	mov    %ebp,%esp
55a4fb:	5d                   	pop    %ebp
55a4fc:	c2 08 00             	ret    $0x8
55a4ff:	00 72 62             	add    %dh,0x62(%edx)
55a502:	00 00                	add    %al,(%eax)
55a504:	00 00                	add    %al,(%eax)
55a506:	c8 42 55 8b          	enter  $0x5542,$0x8b
55a50a:	ec                   	in     (%dx),%al
55a50b:	81 c4 78 ff ff ff    	add    $0xffffff78,%esp
55a511:	53                   	push   %ebx
55a512:	56                   	push   %esi
55a513:	57                   	push   %edi
55a514:	33 db                	xor    %ebx,%ebx
55a516:	89 9d 78 ff ff ff    	mov    %ebx,-0x88(%ebp)
55a51c:	89 5d ec             	mov    %ebx,-0x14(%ebp)
55a51f:	89 4d f4             	mov    %ecx,-0xc(%ebp)
55a522:	89 55 f8             	mov    %edx,-0x8(%ebp)
55a525:	89 45 fc             	mov    %eax,-0x4(%ebp)
55a528:	33 c0                	xor    %eax,%eax
55a52a:	55                   	push   %ebp
55a52b:	68 31 aa 55 00       	push   $0x55aa31
55a530:	64 ff 30             	push   %fs:(%eax)
55a533:	64 89 20             	mov    %esp,%fs:(%eax)
55a536:	8b 45 0c             	mov    0xc(%ebp),%eax
55a539:	8b 40 28             	mov    0x28(%eax),%eax
55a53c:	89 45 a8             	mov    %eax,-0x58(%ebp)
55a53f:	33 c0                	xor    %eax,%eax
55a541:	89 45 80             	mov    %eax,-0x80(%ebp)
55a544:	89 45 84             	mov    %eax,-0x7c(%ebp)
55a547:	33 c0                	xor    %eax,%eax
55a549:	89 45 88             	mov    %eax,-0x78(%ebp)
55a54c:	33 f6                	xor    %esi,%esi
55a54e:	ba 44 aa 55 00       	mov    $0x55aa44,%edx
55a553:	8b 45 fc             	mov    -0x4(%ebp),%eax
55a556:	e8 85 df 01 00       	call   0x5784e0
55a55b:	89 45 f0             	mov    %eax,-0x10(%ebp)
55a55e:	8b 45 f8             	mov    -0x8(%ebp),%eax
55a561:	8b 10                	mov    (%eax),%edx
55a563:	ff 52 0c             	call   *0xc(%edx)
55a566:	89 45 e8             	mov    %eax,-0x18(%ebp)
55a569:	8b 45 f8             	mov    -0x8(%ebp),%eax
55a56c:	8b 10                	mov    (%eax),%edx
55a56e:	ff 52 08             	call   *0x8(%edx)
55a571:	8b d8                	mov    %eax,%ebx
55a573:	33 c0                	xor    %eax,%eax
55a575:	89 45 b0             	mov    %eax,-0x50(%ebp)
55a578:	33 c0                	xor    %eax,%eax
55a57a:	89 45 b4             	mov    %eax,-0x4c(%ebp)
55a57d:	c7 45 b8 01 00 00 00 	movl   $0x1,-0x48(%ebp)
55a584:	c7 45 bc 01 00 00 00 	movl   $0x1,-0x44(%ebp)
55a58b:	8b 45 e8             	mov    -0x18(%ebp),%eax
55a58e:	89 45 c0             	mov    %eax,-0x40(%ebp)
55a591:	89 5d c4             	mov    %ebx,-0x3c(%ebp)
55a594:	8b 45 f8             	mov    -0x8(%ebp),%eax
55a597:	8b 10                	mov    (%eax),%edx
55a599:	ff 52 10             	call   *0x10(%edx)
55a59c:	3c 01                	cmp    $0x1,%al
55a59e:	75 18                	jne    0x55a5b8
55a5a0:	8b 45 f4             	mov    -0xc(%ebp),%eax
55a5a3:	8b 00                	mov    (%eax),%eax
55a5a5:	c7 40 08 01 00 00 00 	movl   $0x1,0x8(%eax)
55a5ac:	8b 45 f4             	mov    -0xc(%ebp),%eax
55a5af:	8b 00                	mov    (%eax),%eax
55a5b1:	c6 80 ee 00 00 00 00 	movb   $0x0,0xee(%eax)
55a5b8:	8b 45 f4             	mov    -0xc(%ebp),%eax
55a5bb:	8b 00                	mov    (%eax),%eax
55a5bd:	66 8b 40 08          	mov    0x8(%eax),%ax
55a5c1:	66 89 45 c8          	mov    %ax,-0x38(%ebp)
55a5c5:	8b 45 f4             	mov    -0xc(%ebp),%eax
55a5c8:	8b 00                	mov    (%eax),%eax
55a5ca:	8b 48 08             	mov    0x8(%eax),%ecx
55a5cd:	b8 01 00 00 00       	mov    $0x1,%eax
55a5d2:	d3 e0                	shl    %cl,%eax
55a5d4:	48                   	dec    %eax
55a5d5:	89 45 e0             	mov    %eax,-0x20(%ebp)
55a5d8:	33 c0                	xor    %eax,%eax
55a5da:	89 45 cc             	mov    %eax,-0x34(%ebp)
55a5dd:	89 9d 7c ff ff ff    	mov    %ebx,-0x84(%ebp)
55a5e3:	db 85 7c ff ff ff    	fildl  -0x84(%ebp)
55a5e9:	d8 3d 48 aa 55 00    	fdivrs 0x55aa48
55a5ef:	8b 45 0c             	mov    0xc(%ebp),%eax
55a5f2:	dd 58 18             	fstpl  0x18(%eax)
55a5f5:	9b                   	fwait
55a5f6:	8b 45 0c             	mov    0xc(%ebp),%eax
55a5f9:	33 d2                	xor    %edx,%edx
55a5fb:	89 50 0c             	mov    %edx,0xc(%eax)
55a5fe:	8b 45 f4             	mov    -0xc(%ebp),%eax
55a601:	8b 00                	mov    (%eax),%eax
55a603:	8a 80 ee 00 00 00    	mov    0xee(%eax),%al
55a609:	2c 01                	sub    $0x1,%al
55a60b:	72 0d                	jb     0x55a61a
55a60d:	2c 02                	sub    $0x2,%al
55a60f:	0f 82 cc 01 00 00    	jb     0x55a7e1
55a615:	e9 63 03 00 00       	jmp    0x55a97d
55a61a:	8d 55 b0             	lea    -0x50(%ebp),%edx
55a61d:	b9 01 00 00 00       	mov    $0x1,%ecx
55a622:	66 b8 01 00          	mov    $0x1,%ax
55a626:	e8 e5 a4 01 00       	call   0x574b10
55a62b:	8b f0                	mov    %eax,%esi
55a62d:	33 c0                	xor    %eax,%eax
55a62f:	e8 e0 f0 ff ff       	call   0x559714
55a634:	8b c8                	mov    %eax,%ecx
55a636:	33 d2                	xor    %edx,%edx
55a638:	8b c6                	mov    %esi,%eax
55a63a:	e8 59 fb 01 00       	call   0x57a198
55a63f:	8b 45 f8             	mov    -0x8(%ebp),%eax
55a642:	8b 10                	mov    (%eax),%edx
55a644:	ff 52 10             	call   *0x10(%edx)
55a647:	3c 05                	cmp    $0x5,%al
55a649:	0f 85 e8 00 00 00    	jne    0x55a737
55a64f:	4b                   	dec    %ebx
55a650:	85 db                	test   %ebx,%ebx
55a652:	0f 8c 25 03 00 00    	jl     0x55a97d
55a658:	43                   	inc    %ebx
55a659:	89 5d d8             	mov    %ebx,-0x28(%ebp)
55a65c:	c7 45 e4 00 00 00 00 	movl   $0x0,-0x1c(%ebp)
55a663:	8b 55 e4             	mov    -0x1c(%ebp),%edx
55a666:	8b 45 f8             	mov    -0x8(%ebp),%eax
55a669:	8b 08                	mov    (%eax),%ecx
55a66b:	ff 11                	call   *(%ecx)
55a66d:	89 45 dc             	mov    %eax,-0x24(%ebp)