658376:	ff 92 24 01 00 00    	call   *0x124(%edx)
65837c:	84 c0                	test   %al,%al
65837e:	74 0f                	je     0x65838f
658380:	8b 45 08             	mov    0x8(%ebp),%eax
658383:	8b 40 fc             	mov    -0x4(%eax),%eax
658386:	33 d2                	xor    %edx,%edx
658388:	e8 af ff ff ff       	call   0x65833c
65838d:	eb 47                	jmp    0x6583d6
65838f:	8b 45 08             	mov    0x8(%ebp),%eax
658392:	8b 40 fc             	mov    -0x4(%eax),%eax
658395:	8b 98 f0 02 00 00    	mov    0x2f0(%eax),%ebx
65839b:	8b d3                	mov    %ebx,%edx
65839d:	8b 45 08             	mov    0x8(%ebp),%eax
6583a0:	8b 40 fc             	mov    -0x4(%eax),%eax
6583a3:	e8 0c fd ff ff       	call   0x6580b4
6583a8:	8b 45 08             	mov    0x8(%ebp),%eax
6583ab:	dc 9b a0 03 00 00    	fcompl 0x3a0(%ebx)
6583b1:	df e0                	fnstsw %ax
6583b3:	9e                   	sahf
6583b4:	72 11                	jb     0x6583c7
6583b6:	8b 45 08             	mov    0x8(%ebp),%eax
6583b9:	8b 40 fc             	mov    -0x4(%eax),%eax
6583bc:	66 ba ca 04          	mov    $0x4ca,%dx
6583c0:	e8 77 ff ff ff       	call   0x65833c
6583c5:	eb 0f                	jmp    0x6583d6
6583c7:	8b 45 08             	mov    0x8(%ebp),%eax
6583ca:	8b 40 fc             	mov    -0x4(%eax),%eax
6583cd:	66 ba c9 04          	mov    $0x4c9,%dx
6583d1:	e8 66 ff ff ff       	call   0x65833c
6583d6:	33 c0                	xor    %eax,%eax
6583d8:	5a                   	pop    %edx
6583d9:	59                   	pop    %ecx
6583da:	59                   	pop    %ecx
6583db:	64 89 10             	mov    %edx,%fs:(%eax)
6583de:	eb 0a                	jmp    0x6583ea
6583e0:	e9 73 bb da ff       	jmp    0x403f58
6583e5:	e8 d6 be da ff       	call   0x4042c0
6583ea:	5f                   	pop    %edi
6583eb:	5e                   	pop    %esi
6583ec:	5b                   	pop    %ebx
6583ed:	5d                   	pop    %ebp
6583ee:	c3                   	ret
6583ef:	90                   	nop
6583f0:	55                   	push   %ebp
6583f1:	8b ec                	mov    %esp,%ebp
6583f3:	83 c4 f8             	add    $0xfffffff8,%esp
6583f6:	53                   	push   %ebx
6583f7:	56                   	push   %esi
6583f8:	57                   	push   %edi
6583f9:	88 4d fb             	mov    %cl,-0x5(%ebp)
6583fc:	89 45 fc             	mov    %eax,-0x4(%ebp)
6583ff:	33 d2                	xor    %edx,%edx
658401:	55                   	push   %ebp
658402:	68 5c 87 65 00       	push   $0x65875c
658407:	64 ff 32             	push   %fs:(%edx)
65840a:	64 89 22             	mov    %esp,%fs:(%edx)
65840d:	8b 45 fc             	mov    -0x4(%ebp),%eax
658410:	8b 80 f0 02 00 00    	mov    0x2f0(%eax),%eax
658416:	66 be b5 ff          	mov    $0xffb5,%si
65841a:	e8 55 b8 da ff       	call   0x403c74
65841f:	84 c0                	test   %al,%al
658421:	75 52                	jne    0x658475
658423:	8b 45 fc             	mov    -0x4(%ebp),%eax
658426:	8b 80 f0 02 00 00    	mov    0x2f0(%eax),%eax
65842c:	80 78 57 00          	cmpb   $0x0,0x57(%eax)
658430:	74 43                	je     0x658475
658432:	33 c0                	xor    %eax,%eax
658434:	55                   	push   %ebp
658435:	68 6b 84 65 00       	push   $0x65846b
65843a:	64 ff 30             	push   %fs:(%eax)
65843d:	64 89 20             	mov    %esp,%fs:(%eax)
658440:	a1 f4 6f 6a 00       	mov    0x6a6ff4,%eax
658445:	8b 00                	mov    (%eax),%eax
658447:	80 b8 9d 00 00 00 00 	cmpb   $0x0,0x9d(%eax)
65844e:	74 11                	je     0x658461
658450:	8b 45 fc             	mov    -0x4(%ebp),%eax
658453:	8b 80 f0 02 00 00    	mov    0x2f0(%eax),%eax
658459:	8b 10                	mov    (%eax),%edx
65845b:	ff 92 c0 00 00 00    	call   *0xc0(%edx)
658461:	33 c0                	xor    %eax,%eax
658463:	5a                   	pop    %edx
658464:	59                   	pop    %ecx
658465:	59                   	pop    %ecx
658466:	64 89 10             	mov    %edx,%fs:(%eax)
658469:	eb 0a                	jmp    0x658475
65846b:	e9 e8 ba da ff       	jmp    0x403f58
658470:	e8 4b be da ff       	call   0x4042c0
658475:	f6 45 fb 04          	testb  $0x4,-0x5(%ebp)
658479:	0f 85 94 00 00 00    	jne    0x658513
65847f:	8b 45 fc             	mov    -0x4(%ebp),%eax
658482:	8b 80 f0 02 00 00    	mov    0x2f0(%eax),%eax
658488:	e8 1b 6d f8 ff       	call   0x5df1a8
65848d:	66 8b 15 70 87 65 00 	mov    0x658770,%dx
658494:	66 3b d0             	cmp    %ax,%dx
658497:	74 62                	je     0x6584fb
658499:	8b 45 fc             	mov    -0x4(%ebp),%eax
65849c:	8b 80 f0 02 00 00    	mov    0x2f0(%eax),%eax
6584a2:	e8 01 6d f8 ff       	call   0x5df1a8
6584a7:	66 8b 15 74 87 65 00 	mov    0x658774,%dx
6584ae:	66 3b d0             	cmp    %ax,%dx
6584b1:	74 48                	je     0x6584fb
6584b3:	8b 45 fc             	mov    -0x4(%ebp),%eax
6584b6:	8b 80 f0 02 00 00    	mov    0x2f0(%eax),%eax
6584bc:	e8 e7 6c f8 ff       	call   0x5df1a8
6584c1:	66 8b 15 78 87 65 00 	mov    0x658778,%dx
6584c8:	66 3b d0             	cmp    %ax,%dx
6584cb:	74 2e                	je     0x6584fb
6584cd:	8b 45 fc             	mov    -0x4(%ebp),%eax
6584d0:	8b 80 f0 02 00 00    	mov    0x2f0(%eax),%eax
6584d6:	e8 cd 6c f8 ff       	call   0x5df1a8
6584db:	66 8b 15 7c 87 65 00 	mov    0x65877c,%dx
6584e2:	66 3b d0             	cmp    %ax,%dx
6584e5:	74 14                	je     0x6584fb
6584e7:	8b 45 fc             	mov    -0x4(%ebp),%eax
6584ea:	8b 80 f0 02 00 00    	mov    0x2f0(%eax),%eax
6584f0:	66 81 b8 3c 02 00 00 	cmpw   $0x6f4,0x23c(%eax)
6584f7:	f4 06
6584f9:	75 18                	jne    0x658513
6584fb:	8b 45 fc             	mov    -0x4(%ebp),%eax
6584fe:	8b 80 f0 02 00 00    	mov    0x2f0(%eax),%eax
658504:	66 8b 15 80 87 65 00 	mov    0x658780,%dx
65850b:	8b 08                	mov    (%eax),%ecx
65850d:	ff 91 04 01 00 00    	call   *0x104(%ecx)
658513:	f6 45 fb 01          	testb  $0x1,-0x5(%ebp)
658517:	75 39                	jne    0x658552
658519:	8b 45 fc             	mov    -0x4(%ebp),%eax
65851c:	8b 80 f0 02 00 00    	mov    0x2f0(%eax),%eax
658522:	e8 81 6c f8 ff       	call   0x5df1a8
658527:	66 8b 15 84 87 65 00 	mov    0x658784,%dx
65852e:	66 3b d0             	cmp    %ax,%dx
658531:	75 1f                	jne    0x658552
658533:	8b 45 fc             	mov    -0x4(%ebp),%eax
658536:	8b 80 f0 02 00 00    	mov    0x2f0(%eax),%eax
65853c:	66 8b 15 80 87 65 00 	mov    0x658780,%dx
658543:	8b 08                	mov    (%eax),%ecx
658545:	ff 91 04 01 00 00    	call   *0x104(%ecx)
65854b:	55                   	push   %ebp
65854c:	e8 03 fe ff ff       	call   0x658354
658551:	59                   	pop    %ecx
658552:	8b 45 fc             	mov    -0x4(%ebp),%eax
658555:	80 b8 40 03 00 00 00 	cmpb   $0x0,0x340(%eax)
65855c:	75 12                	jne    0x658570
65855e:	a0 88 87 65 00       	mov    0x658788,%al
658563:	3a 45 fb             	cmp    -0x5(%ebp),%al
658566:	75 08                	jne    0x658570
658568:	8b 45 fc             	mov    -0x4(%ebp),%eax
65856b:	e8 60 fc ff ff       	call   0x6581d0
658570:	8b 45 fc             	mov    -0x4(%ebp),%eax
658573:	80 b8 40 03 00 00 00 	cmpb   $0x0,0x340(%eax)
65857a:	75 71                	jne    0x6585ed
65857c:	a0 88 87 65 00       	mov    0x658788,%al
658581:	3a 45 fb             	cmp    -0x5(%ebp),%al
658584:	75 67                	jne    0x6585ed
658586:	8b 55 fc             	mov    -0x4(%ebp),%edx
658589:	8b 92 f0 02 00 00    	mov    0x2f0(%edx),%edx
65858f:	8b 52 48             	mov    0x48(%edx),%edx
658592:	83 ea 05             	sub    $0x5,%edx
658595:	3b 55 0c             	cmp    0xc(%ebp),%edx
658598:	7d 3d                	jge    0x6585d7
65859a:	8b 55 fc             	mov    -0x4(%ebp),%edx
65859d:	8b 92 fc 02 00 00    	mov    0x2fc(%edx),%edx
6585a3:	8b 52 44             	mov    0x44(%edx),%edx
6585a6:	3b 55 08             	cmp    0x8(%ebp),%edx
6585a9:	7d 2c                	jge    0x6585d7
6585ab:	8b 45 fc             	mov    -0x4(%ebp),%eax
6585ae:	8b 80 fc 02 00 00    	mov    0x2fc(%eax),%eax
6585b4:	8b 50 44             	mov    0x44(%eax),%edx
6585b7:	03 50 4c             	add    0x4c(%eax),%edx
6585ba:	3b 55 08             	cmp    0x8(%ebp),%edx
6585bd:	7e 18                	jle    0x6585d7
6585bf:	8b 45 fc             	mov    -0x4(%ebp),%eax
6585c2:	8b 80 fc 02 00 00    	mov    0x2fc(%eax),%eax
6585c8:	80 78 57 00          	cmpb   $0x0,0x57(%eax)
6585cc:	75 1f                	jne    0x6585ed
6585ce:	b2 01                	mov    $0x1,%dl
6585d0:	e8 17 01 df ff       	call   0x4486ec
6585d5:	eb 16                	jmp    0x6585ed
6585d7:	8b 45 fc             	mov    -0x4(%ebp),%eax
6585da:	8b 80 fc 02 00 00    	mov    0x2fc(%eax),%eax
6585e0:	80 78 57 00          	cmpb   $0x0,0x57(%eax)
6585e4:	74 07                	je     0x6585ed
6585e6:	33 d2                	xor    %edx,%edx
6585e8:	e8 ff 00 df ff       	call   0x4486ec
6585ed:	8b 45 fc             	mov    -0x4(%ebp),%eax
6585f0:	8b 80 f0 02 00 00    	mov    0x2f0(%eax),%eax
6585f6:	e8 ad 6b f8 ff       	call   0x5df1a8
6585fb:	66 8b 15 88 87 65 00 	mov    0x658788,%dx
658602:	66 3b d0             	cmp    %ax,%dx
658605:	0f 85 47 01 00 00    	jne    0x658752
65860b:	8b 45 fc             	mov    -0x4(%ebp),%eax
65860e:	80 b8 41 03 00 00 00 	cmpb   $0x0,0x341(%eax)
658615:	0f 84 37 01 00 00    	je     0x658752
65861b:	8b 45 fc             	mov    -0x4(%ebp),%eax
65861e:	8b 55 0c             	mov    0xc(%ebp),%edx
658621:	89 90 50 03 00 00    	mov    %edx,0x350(%eax)
658627:	8b 45 fc             	mov    -0x4(%ebp),%eax
65862a:	8b 55 08             	mov    0x8(%ebp),%edx
65862d:	89 90 54 03 00 00    	mov    %edx,0x354(%eax)
658633:	8b 45 fc             	mov    -0x4(%ebp),%eax
658636:	83 b8 58 03 00 00 00 	cmpl   $0x0,0x358(%eax)
65863d:	7e 46                	jle    0x658685
65863f:	8b 45 fc             	mov    -0x4(%ebp),%eax
658642:	8b 98 f4 02 00 00    	mov    0x2f4(%eax),%ebx
658648:	db 43 48             	fildl  0x48(%ebx)
65864b:	d8 35 8c 87 65 00    	fdivs  0x65878c
658651:	e8 6a a6 da ff       	call   0x402cc0
658656:	8b 55 0c             	mov    0xc(%ebp),%edx
658659:	2b d0                	sub    %eax,%edx
65865b:	8b c3                	mov    %ebx,%eax
65865d:	e8 b2 f8 de ff       	call   0x447f14
658662:	8b 45 fc             	mov    -0x4(%ebp),%eax
658665:	8b 98 f4 02 00 00    	mov    0x2f4(%eax),%ebx
65866b:	db 43 4c             	fildl  0x4c(%ebx)
65866e:	d8 35 8c 87 65 00    	fdivs  0x65878c
658674:	e8 47 a6 da ff       	call   0x402cc0
658679:	8b 55 08             	mov    0x8(%ebp),%edx
65867c:	2b d0                	sub    %eax,%edx
65867e:	8b c3                	mov    %ebx,%eax
658680:	e8 b3 f8 de ff       	call   0x447f38
658685:	8b 45 fc             	mov    -0x4(%ebp),%eax
658688:	8b 80 f4 02 00 00    	mov    0x2f4(%eax),%eax
65868e:	8b 10                	mov    (%eax),%edx
658690:	ff 52 7c             	call   *0x7c(%edx)
658693:	8b 45 fc             	mov    -0x4(%ebp),%eax
658696:	8b 90 50 03 00 00    	mov    0x350(%eax),%edx
65869c:	8b 45 fc             	mov    -0x4(%ebp),%eax
65869f:	8b 80 f0 02 00 00    	mov    0x2f0(%eax),%eax
6586a5:	e8 06 0b f8 ff       	call   0x5d91b0
6586aa:	8b d8                	mov    %eax,%ebx
6586ac:	8b 45 fc             	mov    -0x4(%ebp),%eax
6586af:	8b 90 54 03 00 00    	mov    0x354(%eax),%edx
6586b5:	8b 45 fc             	mov    -0x4(%ebp),%eax
6586b8:	8b 80 f0 02 00 00    	mov    0x2f0(%eax),%eax
6586be:	e8 39 0b f8 ff       	call   0x5d91fc
6586c3:	8b f0                	mov    %eax,%esi
6586c5:	85 db                	test   %ebx,%ebx
6586c7:	7c 38                	jl     0x658701
6586c9:	85 f6                	test   %esi,%esi
6586cb:	7c 34                	jl     0x658701
6586cd:	8b 45 fc             	mov    -0x4(%ebp),%eax
6586d0:	8b 80 f0 02 00 00    	mov    0x2f0(%eax),%eax
6586d6:	8b 10                	mov    (%eax),%edx
6586d8:	ff 92 d0 00 00 00    	call   *0xd0(%edx)
6586de:	8b 10                	mov    (%eax),%edx
6586e0:	ff 52 0c             	call   *0xc(%edx)
6586e3:	3b d8                	cmp    %eax,%ebx
6586e5:	7f 1a                	jg     0x658701
6586e7:	8b 45 fc             	mov    -0x4(%ebp),%eax
6586ea:	8b 80 f0 02 00 00    	mov    0x2f0(%eax),%eax
6586f0:	8b 10                	mov    (%eax),%edx
6586f2:	ff 92 d0 00 00 00    	call   *0xd0(%edx)
6586f8:	8b 10                	mov    (%eax),%edx
6586fa:	ff 52 08             	call   *0x8(%edx)
6586fd:	3b f0                	cmp    %eax,%esi
6586ff:	7e 26                	jle    0x658727
658701:	8b 45 fc             	mov    -0x4(%ebp),%eax
658704:	8b 80 f4 02 00 00    	mov    0x2f4(%eax),%eax
65870a:	33 d2                	xor    %edx,%edx
65870c:	e8 db ff de ff       	call   0x4486ec
658711:	33 d2                	xor    %edx,%edx
658713:	8b 45 fc             	mov    -0x4(%ebp),%eax
658716:	e8 85 04 00 00       	call   0x658ba0
65871b:	33 d2                	xor    %edx,%edx
65871d:	8b 45 fc             	mov    -0x4(%ebp),%eax
658720:	e8 17 fc ff ff       	call   0x65833c
658725:	eb 2b                	jmp    0x658752
658727:	8b 45 fc             	mov    -0x4(%ebp),%eax
65872a:	8b 80 f4 02 00 00    	mov    0x2f4(%eax),%eax
658730:	80 78 57 00          	cmpb   $0x0,0x57(%eax)
658734:	75 11                	jne    0x658747
658736:	b2 01                	mov    $0x1,%dl
658738:	e8 af ff de ff       	call   0x4486ec
65873d:	b2 01                	mov    $0x1,%dl
65873f:	8b 45 fc             	mov    -0x4(%ebp),%eax
658742:	e8 59 04 00 00       	call   0x658ba0
658747:	83 ca ff             	or     $0xffffffff,%edx
65874a:	8b 45 fc             	mov    -0x4(%ebp),%eax
65874d:	e8 ea fb ff ff       	call   0x65833c
658752:	33 c0                	xor    %eax,%eax
658754:	5a                   	pop    %edx
658755:	59                   	pop    %ecx
658756:	59                   	pop    %ecx
658757:	64 89 10             	mov    %edx,%fs:(%eax)
65875a:	eb 0a                	jmp    0x658766
65875c:	e9 f7 b7 da ff       	jmp    0x403f58
658761:	e8 5a bb da ff       	call   0x4042c0
658766:	5f                   	pop    %edi
658767:	5e                   	pop    %esi
658768:	5b                   	pop    %ebx
658769:	59                   	pop    %ecx
65876a:	59                   	pop    %ecx
65876b:	5d                   	pop    %ebp
65876c:	c2 08 00             	ret    $0x8
65876f:	00 20                	add    %ah,(%eax)
658771:	00 00                	add    %al,(%eax)
658773:	00 04 00             	add    %al,(%eax,%eax,1)
658776:	00 00                	add    %al,(%eax)
658778:	10 00                	adc    %al,(%eax)
65877a:	00 00                	add    %al,(%eax)
65877c:	08 00                	or     %al,(%eax)
65877e:	00 00                	add    %al,(%eax)
658780:	02 00                	add    (%eax),%al
658782:	00 00                	add    %al,(%eax)
658784:	01 00                	add    %eax,(%eax)
65878e:	00 40 55             	add    %al,0x55(%eax)
658791:	8b ec                	mov    %esp,%ebp
658793:	53                   	push   %ebx
658794:	56                   	push   %esi
658795:	57                   	push   %edi
658796:	8b d9                	mov    %ecx,%ebx
658798:	8b f0                	mov    %eax,%esi
65879a:	8b 7d 0c             	mov    0xc(%ebp),%edi
65879d:	33 d2                	xor    %edx,%edx
65879f:	55                   	push   %ebp
6587a0:	68 a6 8a 65 00       	push   $0x658aa6
6587a5:	64 ff 32             	push   %fs:(%edx)
6587a8:	64 89 22             	mov    %esp,%fs:(%edx)
6587ab:	c6 86 40 03 00 00 01 	movb   $0x1,0x340(%esi)
6587b2:	80 fb 02             	cmp    $0x2,%bl
6587b5:	75 14                	jne    0x6587cb
6587b7:	8b c6                	mov    %esi,%eax
6587b9:	e8 16 dd e0 ff       	call   0x4664d4
6587be:	33 c0                	xor    %eax,%eax
6587c0:	5a                   	pop    %edx
6587c1:	59                   	pop    %ecx
6587c2:	59                   	pop    %ecx
6587c3:	64 89 10             	mov    %edx,%fs:(%eax)
6587c6:	e9 e5 02 00 00       	jmp    0x658ab0
6587cb:	84 db                	test   %bl,%bl
6587cd:	75 13                	jne    0x6587e2
6587cf:	f6 45 10 40          	testb  $0x40,0x10(%ebp)
6587d3:	74 0d                	je     0x6587e2
6587d5:	33 c0                	xor    %eax,%eax
6587d7:	5a                   	pop    %edx
6587d8:	59                   	pop    %ecx
6587d9:	59                   	pop    %ecx
6587da:	64 89 10             	mov    %edx,%fs:(%eax)
6587dd:	e9 ce 02 00 00       	jmp    0x658ab0
6587e2:	8b 86 f0 02 00 00    	mov    0x2f0(%esi),%eax
6587e8:	e8 bb 69 f8 ff       	call   0x5df1a8
6587ed:	66 8b 15 b8 8a 65 00 	mov    0x658ab8,%dx
6587f4:	66 3b d0             	cmp    %ax,%dx
6587f7:	74 1b                	je     0x658814
6587f9:	8b 86 f0 02 00 00    	mov    0x2f0(%esi),%eax
6587ff:	e8 a4 69 f8 ff       	call   0x5df1a8
658804:	66 8b 15 bc 8a 65 00 	mov    0x658abc,%dx
65880b:	66 3b d0             	cmp    %ax,%dx
65880e:	0f 85 88 02 00 00    	jne    0x658a9c
658814:	84 db                	test   %bl,%bl
658816:	0f 85 80 02 00 00    	jne    0x658a9c