59c2d3:	89 55 f8             	mov    %edx,-0x8(%ebp)
59c2d6:	89 45 fc             	mov    %eax,-0x4(%ebp)
59c2d9:	8b 75 0c             	mov    0xc(%ebp),%esi
59c2dc:	8d 55 f4             	lea    -0xc(%ebp),%edx
59c2df:	b9 04 00 00 00       	mov    $0x4,%ecx
59c2e4:	8b 45 fc             	mov    -0x4(%ebp),%eax
59c2e7:	8b 38                	mov    (%eax),%edi
59c2e9:	ff 57 08             	call   *0x8(%edi)
59c2ec:	80 7d f4 00          	cmpb   $0x0,-0xc(%ebp)
59c2f0:	75 06                	jne    0x59c2f8
59c2f2:	80 7d f5 00          	cmpb   $0x0,-0xb(%ebp)
59c2f6:	74 0b                	je     0x59c303
59c2f8:	8b 46 28             	mov    0x28(%esi),%eax
59c2fb:	c6 00 01             	movb   $0x1,(%eax)
59c2fe:	e9 fe 00 00 00       	jmp    0x59c401
59c303:	8b 03                	mov    (%ebx),%eax
59c305:	c7 40 08 01 00 00 00 	movl   $0x1,0x8(%eax)
59c30c:	8b 03                	mov    (%ebx),%eax
59c30e:	c7 40 10 01 00 00 00 	movl   $0x1,0x10(%eax)
59c315:	33 c0                	xor    %eax,%eax
59c317:	8a 45 f6             	mov    -0xa(%ebp),%al
59c31a:	8b 13                	mov    (%ebx),%edx
59c31c:	89 42 14             	mov    %eax,0x14(%edx)
59c31f:	33 c0                	xor    %eax,%eax
59c321:	8a 45 f7             	mov    -0x9(%ebp),%al
59c324:	8b 13                	mov    (%ebx),%edx
59c326:	89 42 18             	mov    %eax,0x18(%edx)
59c329:	8b 15 9c 71 6a 00    	mov    0x6a719c,%edx
59c32f:	8b 12                	mov    (%edx),%edx
59c331:	8b 03                	mov    (%ebx),%eax
59c333:	e8 84 13 03 00       	call   0x5cd6bc
59c338:	8b 15 00 71 6a 00    	mov    0x6a7100,%edx
59c33e:	8b 12                	mov    (%edx),%edx
59c340:	8b 03                	mov    (%ebx),%eax
59c342:	e8 a5 13 03 00       	call   0x5cd6ec
59c347:	8b 03                	mov    (%ebx),%eax
59c349:	8b 80 a8 03 00 00    	mov    0x3a8(%eax),%eax
59c34f:	85 c0                	test   %eax,%eax
59c351:	74 19                	je     0x59c36c
59c353:	e8 74 64 e6 ff       	call   0x4027cc
59c358:	8b 03                	mov    (%ebx),%eax
59c35a:	33 d2                	xor    %edx,%edx
59c35c:	89 90 a8 03 00 00    	mov    %edx,0x3a8(%eax)
59c362:	8b 03                	mov    (%ebx),%eax
59c364:	33 d2                	xor    %edx,%edx
59c366:	89 90 ac 03 00 00    	mov    %edx,0x3ac(%eax)
59c36c:	80 7d 08 00          	cmpb   $0x0,0x8(%ebp)
59c370:	0f 85 8b 00 00 00    	jne    0x59c401
59c376:	33 c0                	xor    %eax,%eax
59c378:	8a 45 f7             	mov    -0x9(%ebp),%al
59c37b:	89 45 e8             	mov    %eax,-0x18(%ebp)
59c37e:	db 45 e8             	fildl  -0x18(%ebp)
59c381:	d8 3d 0c c4 59 00    	fdivrs 0x59c40c
59c387:	dd 5e 18             	fstpl  0x18(%esi)
59c38a:	9b                   	fwait
59c38b:	6a 01                	push   $0x1
59c38d:	33 c9                	xor    %ecx,%ecx
59c38f:	8a 4d f7             	mov    -0x9(%ebp),%cl
59c392:	33 d2                	xor    %edx,%edx
59c394:	8a 55 f6             	mov    -0xa(%ebp),%dl
59c397:	8b 45 f8             	mov    -0x8(%ebp),%eax
59c39a:	8b 18                	mov    (%eax),%ebx
59c39c:	ff 53 24             	call   *0x24(%ebx)
59c39f:	8a 45 f6             	mov    -0xa(%ebp),%al
59c3a2:	33 d2                	xor    %edx,%edx
59c3a4:	8a d0                	mov    %al,%dl
59c3a6:	c1 ea 03             	shr    $0x3,%edx
59c3a9:	89 55 f0             	mov    %edx,-0x10(%ebp)
59c3ac:	a8 07                	test   $0x7,%al
59c3ae:	74 03                	je     0x59c3b3
59c3b0:	ff 45 f0             	incl   -0x10(%ebp)
59c3b3:	8b 45 f8             	mov    -0x8(%ebp),%eax
59c3b6:	8b 10                	mov    (%eax),%edx
59c3b8:	ff 52 08             	call   *0x8(%edx)
59c3bb:	48                   	dec    %eax
59c3bc:	85 c0                	test   %eax,%eax
59c3be:	7c 41                	jl     0x59c401
59c3c0:	40                   	inc    %eax
59c3c1:	89 45 ec             	mov    %eax,-0x14(%ebp)
59c3c4:	33 db                	xor    %ebx,%ebx
59c3c6:	8b d3                	mov    %ebx,%edx
59c3c8:	8b 45 f8             	mov    -0x8(%ebp),%eax
59c3cb:	8b 08                	mov    (%eax),%ecx
59c3cd:	ff 11                	call   *(%ecx)
59c3cf:	8b d0                	mov    %eax,%edx
59c3d1:	8b 4d f0             	mov    -0x10(%ebp),%ecx
59c3d4:	8b 45 fc             	mov    -0x4(%ebp),%eax
59c3d7:	8b 38                	mov    (%eax),%edi
59c3d9:	ff 57 08             	call   *0x8(%edi)
59c3dc:	66 83 7e 02 00       	cmpw   $0x0,0x2(%esi)
59c3e1:	74 18                	je     0x59c3fb
59c3e3:	89 5d e8             	mov    %ebx,-0x18(%ebp)
59c3e6:	db 45 e8             	fildl  -0x18(%ebp)
59c3e9:	dc 4e 18             	fmull  0x18(%esi)
59c3ec:	e8 db 68 e6 ff       	call   0x402ccc
59c3f1:	8b c8                	mov    %eax,%ecx
59c3f3:	8b 56 08             	mov    0x8(%esi),%edx
59c3f6:	8b 46 04             	mov    0x4(%esi),%eax
59c3f9:	ff 16                	call   *(%esi)
59c3fb:	43                   	inc    %ebx
59c3fc:	ff 4d ec             	decl   -0x14(%ebp)
59c3ff:	75 c5                	jne    0x59c3c6
59c401:	5f                   	pop    %edi
59c402:	5e                   	pop    %esi
59c403:	5b                   	pop    %ebx
59c404:	8b e5                	mov    %ebp,%esp
59c406:	5d                   	pop    %ebp
59c407:	c2 08 00             	ret    $0x8
59c40a:	00 00                	add    %al,(%eax)
59c40c:	00 00                	add    %al,(%eax)
59c40e:	c8 42 55 8b          	enter  $0x5542,$0x8b
59c412:	ec                   	in     (%dx),%al
59c413:	83 c4 d4             	add    $0xffffffd4,%esp
59c416:	53                   	push   %ebx
59c417:	56                   	push   %esi
59c418:	57                   	push   %edi
59c419:	89 55 f8             	mov    %edx,-0x8(%ebp)
59c41c:	89 45 fc             	mov    %eax,-0x4(%ebp)
59c41f:	8b 75 08             	mov    0x8(%ebp),%esi
59c422:	8b 45 f8             	mov    -0x8(%ebp),%eax
59c425:	8b 10                	mov    (%eax),%edx
59c427:	ff 52 10             	call   *0x10(%edx)
59c42a:	3c 01                	cmp    $0x1,%al
59c42c:	74 23                	je     0x59c451
59c42e:	b2 01                	mov    $0x1,%dl
59c430:	a1 18 ff 5e 00       	mov    0x5eff18,%eax
59c435:	e8 6a b1 05 00       	call   0x5f75a4
59c43a:	8b d8                	mov    %eax,%ebx
59c43c:	8b 55 f8             	mov    -0x8(%ebp),%edx
59c43f:	8b c3                	mov    %ebx,%eax
59c441:	8b 08                	mov    (%eax),%ecx
59c443:	ff 51 28             	call   *0x28(%ecx)
59c446:	b2 01                	mov    $0x1,%dl
59c448:	8b c3                	mov    %ebx,%eax
59c44a:	e8 69 bd 05 00       	call   0x5f81b8
59c44f:	eb 03                	jmp    0x59c454
59c451:	8b 5d f8             	mov    -0x8(%ebp),%ebx
59c454:	8b c3                	mov    %ebx,%eax
59c456:	8b 10                	mov    (%eax),%edx
59c458:	ff 52 0c             	call   *0xc(%edx)
59c45b:	3d ff 00 00 00       	cmp    $0xff,%eax
59c460:	7f 12                	jg     0x59c474
59c462:	8b c3                	mov    %ebx,%eax
59c464:	8b 10                	mov    (%eax),%edx
59c466:	ff 52 08             	call   *0x8(%edx)
59c469:	3d ff 00 00 00       	cmp    $0xff,%eax
59c46e:	0f 8e a6 00 00 00    	jle    0x59c51a
59c474:	8b c3                	mov    %ebx,%eax
59c476:	8b 10                	mov    (%eax),%edx
59c478:	ff 52 0c             	call   *0xc(%edx)
59c47b:	8b f8                	mov    %eax,%edi
59c47d:	8b c3                	mov    %ebx,%eax
59c47f:	8b 10                	mov    (%eax),%edx
59c481:	ff 52 08             	call   *0x8(%edx)
59c484:	3b f8                	cmp    %eax,%edi
59c486:	7e 4a                	jle    0x59c4d2
59c488:	6a 00                	push   $0x0
59c48a:	68 ff 00 00 00       	push   $0xff
59c48f:	6a 00                	push   $0x0
59c491:	6a 00                	push   $0x0
59c493:	8b c3                	mov    %ebx,%eax
59c495:	8b 10                	mov    (%eax),%edx
59c497:	ff 52 08             	call   *0x8(%edx)
59c49a:	8b d0                	mov    %eax,%edx
59c49c:	c1 e0 08             	shl    $0x8,%eax
59c49f:	2b c2                	sub    %edx,%eax
59c4a1:	89 45 e4             	mov    %eax,-0x1c(%ebp)
59c4a4:	db 45 e4             	fildl  -0x1c(%ebp)
59c4a7:	db 7d d8             	fstpt  -0x28(%ebp)
59c4aa:	9b                   	fwait
59c4ab:	8b c3                	mov    %ebx,%eax
59c4ad:	8b 10                	mov    (%eax),%edx
59c4af:	ff 52 0c             	call   *0xc(%edx)
59c4b2:	89 45 d4             	mov    %eax,-0x2c(%ebp)
59c4b5:	db 45 d4             	fildl  -0x2c(%ebp)
59c4b8:	db 6d d8             	fldt   -0x28(%ebp)
59c4bb:	de f1                	fdivp  %st,%st(1)
59c4bd:	e8 0a 68 e6 ff       	call   0x402ccc
59c4c2:	8b c8                	mov    %eax,%ecx
59c4c4:	ba ff 00 00 00       	mov    $0xff,%edx
59c4c9:	8b c3                	mov    %ebx,%eax
59c4cb:	e8 78 bb 05 00       	call   0x5f8048
59c4d0:	eb 48                	jmp    0x59c51a
59c4d2:	6a 00                	push   $0x0
59c4d4:	68 ff 00 00 00       	push   $0xff
59c4d9:	6a 00                	push   $0x0
59c4db:	6a 00                	push   $0x0
59c4dd:	8b c3                	mov    %ebx,%eax
59c4df:	8b 10                	mov    (%eax),%edx
59c4e1:	ff 52 0c             	call   *0xc(%edx)
59c4e4:	8b d0                	mov    %eax,%edx
59c4e6:	c1 e0 08             	shl    $0x8,%eax
59c4e9:	2b c2                	sub    %edx,%eax
59c4eb:	89 45 e4             	mov    %eax,-0x1c(%ebp)
59c4ee:	db 45 e4             	fildl  -0x1c(%ebp)
59c4f1:	db 7d d8             	fstpt  -0x28(%ebp)
59c4f4:	9b                   	fwait
59c4f5:	8b c3                	mov    %ebx,%eax
59c4f7:	8b 10                	mov    (%eax),%edx
59c4f9:	ff 52 08             	call   *0x8(%edx)
59c4fc:	89 45 d4             	mov    %eax,-0x2c(%ebp)
59c4ff:	db 45 d4             	fildl  -0x2c(%ebp)
59c502:	db 6d d8             	fldt   -0x28(%ebp)
59c505:	de f1                	fdivp  %st,%st(1)
59c507:	e8 c0 67 e6 ff       	call   0x402ccc
59c50c:	8b d0                	mov    %eax,%edx
59c50e:	b9 ff 00 00 00       	mov    $0xff,%ecx
59c513:	8b c3                	mov    %ebx,%eax
59c515:	e8 2e bb 05 00       	call   0x5f8048
59c51a:	c6 45 f4 00          	movb   $0x0,-0xc(%ebp)
59c51e:	c6 45 f5 00          	movb   $0x0,-0xb(%ebp)
59c522:	8b c3                	mov    %ebx,%eax
59c524:	8b 10                	mov    (%eax),%edx
59c526:	ff 52 0c             	call   *0xc(%edx)
59c529:	88 45 f6             	mov    %al,-0xa(%ebp)
59c52c:	8b c3                	mov    %ebx,%eax
59c52e:	8b 10                	mov    (%eax),%edx
59c530:	ff 52 08             	call   *0x8(%edx)
59c533:	88 45 f7             	mov    %al,-0x9(%ebp)
59c536:	8d 55 f4             	lea    -0xc(%ebp),%edx
59c539:	b9 04 00 00 00       	mov    $0x4,%ecx
59c53e:	8b 45 fc             	mov    -0x4(%ebp),%eax
59c541:	8b 38                	mov    (%eax),%edi
59c543:	ff 57 0c             	call   *0xc(%edi)
59c546:	8b c3                	mov    %ebx,%eax
59c548:	8b 10                	mov    (%eax),%edx
59c54a:	ff 52 08             	call   *0x8(%edx)
59c54d:	89 45 e4             	mov    %eax,-0x1c(%ebp)
59c550:	db 45 e4             	fildl  -0x1c(%ebp)
59c553:	d8 3d d8 c5 59 00    	fdivrs 0x59c5d8
59c559:	dd 5e 18             	fstpl  0x18(%esi)
59c55c:	9b                   	fwait
59c55d:	8a 45 f6             	mov    -0xa(%ebp),%al
59c560:	33 d2                	xor    %edx,%edx
59c562:	8a d0                	mov    %al,%dl
59c564:	c1 ea 03             	shr    $0x3,%edx
59c567:	89 55 ec             	mov    %edx,-0x14(%ebp)
59c56a:	a8 07                	test   $0x7,%al
59c56c:	74 03                	je     0x59c571
59c56e:	ff 45 ec             	incl   -0x14(%ebp)
59c571:	8b c3                	mov    %ebx,%eax
59c573:	8b 10                	mov    (%eax),%edx
59c575:	ff 52 08             	call   *0x8(%edx)
59c578:	85 c0                	test   %eax,%eax
59c57a:	7c 45                	jl     0x59c5c1
59c57c:	40                   	inc    %eax
59c57d:	89 45 e8             	mov    %eax,-0x18(%ebp)
59c580:	c7 45 f0 00 00 00 00 	movl   $0x0,-0x10(%ebp)
59c587:	8b 55 f0             	mov    -0x10(%ebp),%edx
59c58a:	8b c3                	mov    %ebx,%eax
59c58c:	8b 08                	mov    (%eax),%ecx
59c58e:	ff 11                	call   *(%ecx)
59c590:	8b d0                	mov    %eax,%edx
59c592:	8b 4d ec             	mov    -0x14(%ebp),%ecx
59c595:	8b 45 fc             	mov    -0x4(%ebp),%eax
59c598:	8b 38                	mov    (%eax),%edi
59c59a:	ff 57 0c             	call   *0xc(%edi)
59c59d:	66 83 7e 02 00       	cmpw   $0x0,0x2(%esi)
59c5a2:	74 15                	je     0x59c5b9
59c5a4:	db 45 f0             	fildl  -0x10(%ebp)
59c5a7:	dc 4e 18             	fmull  0x18(%esi)
59c5aa:	e8 1d 67 e6 ff       	call   0x402ccc
59c5af:	8b c8                	mov    %eax,%ecx
59c5b1:	8b 56 08             	mov    0x8(%esi),%edx
59c5b4:	8b 46 04             	mov    0x4(%esi),%eax
59c5b7:	ff 16                	call   *(%esi)
59c5b9:	ff 45 f0             	incl   -0x10(%ebp)
59c5bc:	ff 4d e8             	decl   -0x18(%ebp)
59c5bf:	75 c6                	jne    0x59c587
59c5c1:	3b 5d f8             	cmp    -0x8(%ebp),%ebx
59c5c4:	74 07                	je     0x59c5cd
59c5c6:	8b c3                	mov    %ebx,%eax
59c5c8:	e8 ab 74 e6 ff       	call   0x403a78
59c5cd:	5f                   	pop    %edi
59c5ce:	5e                   	pop    %esi
59c5cf:	5b                   	pop    %ebx
59c5d0:	8b e5                	mov    %ebp,%esp
59c5d2:	5d                   	pop    %ebp
59c5d3:	c2 04 00             	ret    $0x4
59c5d6:	00 00                	add    %al,(%eax)
59c5d8:	00 00                	add    %al,(%eax)
59c5da:	c8 42 55 8b          	enter  $0x5542,$0x8b
59c5de:	ec                   	in     (%dx),%al
59c5df:	53                   	push   %ebx
59c5e0:	56                   	push   %esi
59c5e1:	57                   	push   %edi
59c5e2:	8b f8                	mov    %eax,%edi
59c5e4:	8b 5d 08             	mov    0x8(%ebp),%ebx
59c5e7:	83 c3 fc             	add    $0xfffffffc,%ebx
59c5ea:	8b 75 08             	mov    0x8(%ebp),%esi
59c5ed:	83 c6 e8             	add    $0xffffffe8,%esi
59c5f0:	8b 45 08             	mov    0x8(%ebp),%eax
59c5f3:	8b 50 ec             	mov    -0x14(%eax),%edx
59c5f6:	8b 45 08             	mov    0x8(%ebp),%eax
59c5f9:	8b 40 f0             	mov    -0x10(%eax),%eax
59c5fc:	8b 08                	mov    (%eax),%ecx
59c5fe:	ff 11                	call   *(%ecx)
59c600:	89 06                	mov    %eax,(%esi)
59c602:	01 3e                	add    %edi,(%esi)
59c604:	8b 45 08             	mov    0x8(%ebp),%eax
59c607:	8b 40 e4             	mov    -0x1c(%eax),%eax
59c60a:	89 03                	mov    %eax,(%ebx)
59c60c:	8b 45 08             	mov    0x8(%ebp),%eax
59c60f:	8b 40 f0             	mov    -0x10(%eax),%eax
59c612:	8b 10                	mov    (%eax),%edx
59c614:	ff 52 0c             	call   *0xc(%edx)
59c617:	48                   	dec    %eax
59c618:	85 c0                	test   %eax,%eax
59c61a:	7c 11                	jl     0x59c62d
59c61c:	40                   	inc    %eax
59c61d:	8b 16                	mov    (%esi),%edx
59c61f:	8a 12                	mov    (%edx),%dl
59c621:	8b 0b                	mov    (%ebx),%ecx
59c623:	88 11                	mov    %dl,(%ecx)
59c625:	ff 03                	incl   (%ebx)
59c627:	83 06 03             	addl   $0x3,(%esi)
59c62a:	48                   	dec    %eax
59c62b:	75 f0                	jne    0x59c61d
59c62d:	8b 45 08             	mov    0x8(%ebp),%eax
59c630:	8b 40 f0             	mov    -0x10(%eax),%eax
59c633:	8b 10                	mov    (%eax),%edx
59c635:	ff 52 0c             	call   *0xc(%edx)
59c638:	8b d0                	mov    %eax,%edx
59c63a:	8b 45 08             	mov    0x8(%ebp),%eax
59c63d:	8b 48 e0             	mov    -0x20(%eax),%ecx
59c640:	8b 45 08             	mov    0x8(%ebp),%eax
59c643:	8b 40 e4             	mov    -0x1c(%eax),%eax
59c646:	e8 69 56 06 00       	call   0x601cb4
59c64b:	8b 55 08             	mov    0x8(%ebp),%edx
59c64e:	89 42 dc             	mov    %eax,-0x24(%edx)
59c651:	8b 45 08             	mov    0x8(%ebp),%eax
59c654:	8b 40 e0             	mov    -0x20(%eax),%eax
59c657:	89 03                	mov    %eax,(%ebx)
59c659:	8b 45 08             	mov    0x8(%ebp),%eax
59c65c:	8b 40 d8             	mov    -0x28(%eax),%eax
59c65f:	8b 55 08             	mov    0x8(%ebp),%edx
59c662:	89 42 f8             	mov    %eax,-0x8(%edx)
59c665:	8b 45 08             	mov    0x8(%ebp),%eax
59c668:	83 c0 f4             	add    $0xfffffff4,%eax
59c66b:	50                   	push   %eax
59c66c:	8b 45 08             	mov    0x8(%ebp),%eax
59c66f:	8d 48 f8             	lea    -0x8(%eax),%ecx
59c672:	8b 45 08             	mov    0x8(%ebp),%eax
59c675:	8b 50 dc             	mov    -0x24(%eax),%edx
59c678:	8b c3                	mov    %ebx,%eax
59c67a:	e8 a9 55 06 00       	call   0x601c28
59c67f:	8b 55 08             	mov    0x8(%ebp),%edx
59c682:	89 42 dc             	mov    %eax,-0x24(%edx)
59c685:	8b 45 08             	mov    0x8(%ebp),%eax
59c688:	8b 48 dc             	mov    -0x24(%eax),%ecx