5fe459:	8b 45 20             	mov    0x20(%ebp),%eax
5fe45c:	8b 75 18             	mov    0x18(%ebp),%esi
5fe45f:	2b f0                	sub    %eax,%esi
5fe461:	7c 6a                	jl     0x5fe4cd
5fe463:	46                   	inc    %esi
5fe464:	8b 45 f0             	mov    -0x10(%ebp),%eax
5fe467:	8b 00                	mov    (%eax),%eax
5fe469:	8b 55 e4             	mov    -0x1c(%ebp),%edx
5fe46c:	8b 04 82             	mov    (%edx,%eax,4),%eax
5fe46f:	89 45 d4             	mov    %eax,-0x2c(%ebp)
5fe472:	d9 45 d4             	flds   -0x2c(%ebp)
5fe475:	8b 45 fc             	mov    -0x4(%ebp),%eax
5fe478:	dc 58 58             	fcompl 0x58(%eax)
5fe47b:	df e0                	fnstsw %ax
5fe47d:	9e                   	sahf
5fe47e:	77 0a                	ja     0x5fe48a
5fe480:	8b 45 fc             	mov    -0x4(%ebp),%eax
5fe483:	dd 40 58             	fldl   0x58(%eax)
5fe486:	d9 5d d4             	fstps  -0x2c(%ebp)
5fe489:	9b d9 45 d4          	flds   -0x2c(%ebp)
5fe48d:	8b 45 fc             	mov    -0x4(%ebp),%eax
5fe490:	dc 58 60             	fcompl 0x60(%eax)
5fe493:	df e0                	fnstsw %ax
5fe495:	9e                   	sahf
5fe496:	72 0a                	jb     0x5fe4a2
5fe498:	8b 45 fc             	mov    -0x4(%ebp),%eax
5fe49b:	dd 40 60             	fldl   0x60(%eax)
5fe49e:	d9 5d d4             	fstps  -0x2c(%ebp)
5fe4a1:	9b d9 45 d4          	flds   -0x2c(%ebp)
5fe4a5:	8b 45 fc             	mov    -0x4(%ebp),%eax
5fe4a8:	dc 60 58             	fsubl  0x58(%eax)
5fe4ab:	dc 75 d8             	fdivl  -0x28(%ebp)
5fe4ae:	d8 0d ec e4 5f 00    	fmuls  0x5fe4ec
5fe4b4:	e8 13 48 e0 ff       	call   0x402ccc
5fe4b9:	8b d7                	mov    %edi,%edx
5fe4bb:	88 42 02             	mov    %al,0x2(%edx)
5fe4be:	88 42 01             	mov    %al,0x1(%edx)
5fe4c1:	88 02                	mov    %al,(%edx)
5fe4c3:	83 c7 03             	add    $0x3,%edi
5fe4c6:	83 45 f0 04          	addl   $0x4,-0x10(%ebp)
5fe4ca:	4e                   	dec    %esi
5fe4cb:	75 97                	jne    0x5fe464
5fe4cd:	83 45 f4 04          	addl   $0x4,-0xc(%ebp)
5fe4d1:	ff 45 e8             	incl   -0x18(%ebp)
5fe4d4:	ff 4d d0             	decl   -0x30(%ebp)
5fe4d7:	0f 85 07 ff ff ff    	jne    0x5fe3e4
5fe4dd:	5f                   	pop    %edi
5fe4de:	5e                   	pop    %esi
5fe4df:	5b                   	pop    %ebx
5fe4e0:	8b e5                	mov    %ebp,%esp
5fe4e2:	5d                   	pop    %ebp
5fe4e3:	c2 34 00             	ret    $0x34
5fe4ee:	7f 43                	jg     0x5fe533
5fe4f0:	55                   	push   %ebp
5fe4f1:	8b ec                	mov    %esp,%ebp
5fe4f3:	83 c4 b4             	add    $0xffffffb4,%esp
5fe4f6:	53                   	push   %ebx
5fe4f7:	56                   	push   %esi
5fe4f8:	57                   	push   %edi
5fe4f9:	89 55 f8             	mov    %edx,-0x8(%ebp)
5fe4fc:	89 45 fc             	mov    %eax,-0x4(%ebp)
5fe4ff:	8b 45 fc             	mov    -0x4(%ebp),%eax
5fe502:	dd 40 60             	fldl   0x60(%eax)
5fe505:	8b 45 fc             	mov    -0x4(%ebp),%eax
5fe508:	dc 60 58             	fsubl  0x58(%eax)
5fe50b:	dd 5d c0             	fstpl  -0x40(%ebp)
5fe50e:	9b                   	fwait
5fe50f:	8b 45 38             	mov    0x38(%ebp),%eax
5fe512:	89 45 f0             	mov    %eax,-0x10(%ebp)
5fe515:	8b 45 34             	mov    0x34(%ebp),%eax
5fe518:	89 45 f4             	mov    %eax,-0xc(%ebp)
5fe51b:	8b 45 1c             	mov    0x1c(%ebp),%eax
5fe51e:	8b 55 14             	mov    0x14(%ebp),%edx
5fe521:	2b d0                	sub    %eax,%edx
5fe523:	0f 8c be 01 00 00    	jl     0x5fe6e7
5fe529:	42                   	inc    %edx
5fe52a:	89 55 b8             	mov    %edx,-0x48(%ebp)
5fe52d:	89 45 ec             	mov    %eax,-0x14(%ebp)
5fe530:	8b 45 f8             	mov    -0x8(%ebp),%eax
5fe533:	8b 55 ec             	mov    -0x14(%ebp),%edx
5fe536:	8b 04 90             	mov    (%eax,%edx,4),%eax
5fe539:	89 45 e4             	mov    %eax,-0x1c(%ebp)
5fe53c:	8b 45 20             	mov    0x20(%ebp),%eax
5fe53f:	8d 04 40             	lea    (%eax,%eax,2),%eax
5fe542:	01 45 e4             	add    %eax,-0x1c(%ebp)
5fe545:	8b 45 f4             	mov    -0xc(%ebp),%eax
5fe548:	8b 10                	mov    (%eax),%edx
5fe54a:	8b 45 fc             	mov    -0x4(%ebp),%eax
5fe54d:	8b 08                	mov    (%eax),%ecx
5fe54f:	ff 11                	call   *(%ecx)
5fe551:	89 45 d0             	mov    %eax,-0x30(%ebp)
5fe554:	80 7d 40 00          	cmpb   $0x0,0x40(%ebp)
5fe558:	74 16                	je     0x5fe570
5fe55a:	8b 45 fc             	mov    -0x4(%ebp),%eax
5fe55d:	e8 76 93 ff ff       	call   0x5f78d8
5fe562:	8b 55 f4             	mov    -0xc(%ebp),%edx
5fe565:	8b 12                	mov    (%edx),%edx
5fe567:	8b 08                	mov    (%eax),%ecx
5fe569:	ff 11                	call   *(%ecx)
5fe56b:	89 45 dc             	mov    %eax,-0x24(%ebp)
5fe56e:	eb 06                	jmp    0x5fe576
5fe570:	8b 45 3c             	mov    0x3c(%ebp),%eax
5fe573:	89 45 dc             	mov    %eax,-0x24(%ebp)
5fe576:	8b 5d f0             	mov    -0x10(%ebp),%ebx
5fe579:	dd 45 c0             	fldl   -0x40(%ebp)
5fe57c:	d8 1d f0 e6 5f 00    	fcomps 0x5fe6f0
5fe582:	df e0                	fnstsw %ax
5fe584:	9e                   	sahf
5fe585:	0f 85 87 00 00 00    	jne    0x5fe612
5fe58b:	8b 45 20             	mov    0x20(%ebp),%eax
5fe58e:	8b 55 18             	mov    0x18(%ebp),%edx
5fe591:	2b d0                	sub    %eax,%edx
5fe593:	0f 8c 3e 01 00 00    	jl     0x5fe6d7
5fe599:	42                   	inc    %edx
5fe59a:	89 55 b4             	mov    %edx,-0x4c(%ebp)
5fe59d:	8b 03                	mov    (%ebx),%eax
5fe59f:	8b 55 dc             	mov    -0x24(%ebp),%edx
5fe5a2:	0f b6 14 02          	movzbl (%edx,%eax,1),%edx
5fe5a6:	8b 45 44             	mov    0x44(%ebp),%eax
5fe5a9:	e8 6e ae fa ff       	call   0x5a941c
5fe5ae:	8b f0                	mov    %eax,%esi
5fe5b0:	c1 e6 0a             	shl    $0xa,%esi
5fe5b3:	8b 03                	mov    (%ebx),%eax
5fe5b5:	8b 55 d0             	mov    -0x30(%ebp),%edx
5fe5b8:	d9 04 82             	flds   (%edx,%eax,4)
5fe5bb:	d8 0d f4 e6 5f 00    	fmuls  0x5fe6f4
5fe5c1:	e8 06 47 e0 ff       	call   0x402ccc
5fe5c6:	8b 55 e4             	mov    -0x1c(%ebp),%edx
5fe5c9:	33 c9                	xor    %ecx,%ecx
5fe5cb:	8a 4a 02             	mov    0x2(%edx),%cl
5fe5ce:	51                   	push   %ecx
5fe5cf:	8b c8                	mov    %eax,%ecx
5fe5d1:	5f                   	pop    %edi
5fe5d2:	2b cf                	sub    %edi,%ecx
5fe5d4:	0f af ce             	imul   %esi,%ecx
5fe5d7:	c1 e9 12             	shr    $0x12,%ecx
5fe5da:	00 4a 02             	add    %cl,0x2(%edx)
5fe5dd:	33 c9                	xor    %ecx,%ecx
5fe5df:	8a 4a 01             	mov    0x1(%edx),%cl
5fe5e2:	51                   	push   %ecx
5fe5e3:	8b c8                	mov    %eax,%ecx
5fe5e5:	5f                   	pop    %edi
5fe5e6:	2b cf                	sub    %edi,%ecx
5fe5e8:	0f af ce             	imul   %esi,%ecx
5fe5eb:	c1 e9 12             	shr    $0x12,%ecx
5fe5ee:	00 4a 01             	add    %cl,0x1(%edx)
5fe5f1:	33 c9                	xor    %ecx,%ecx
5fe5f3:	8a 0a                	mov    (%edx),%cl
5fe5f5:	51                   	push   %ecx
5fe5f6:	59                   	pop    %ecx
5fe5f7:	2b c1                	sub    %ecx,%eax
5fe5f9:	0f af c6             	imul   %esi,%eax
5fe5fc:	c1 e8 12             	shr    $0x12,%eax
5fe5ff:	00 02                	add    %al,(%edx)
5fe601:	83 45 e4 03          	addl   $0x3,-0x1c(%ebp)
5fe605:	83 c3 04             	add    $0x4,%ebx
5fe608:	ff 4d b4             	decl   -0x4c(%ebp)
5fe60b:	75 90                	jne    0x5fe59d
5fe60d:	e9 c5 00 00 00       	jmp    0x5fe6d7
5fe612:	8b 45 20             	mov    0x20(%ebp),%eax
5fe615:	8b 55 18             	mov    0x18(%ebp),%edx
5fe618:	2b d0                	sub    %eax,%edx
5fe61a:	0f 8c b7 00 00 00    	jl     0x5fe6d7
5fe620:	42                   	inc    %edx
5fe621:	89 55 b4             	mov    %edx,-0x4c(%ebp)
5fe624:	8b 03                	mov    (%ebx),%eax
5fe626:	8b 55 dc             	mov    -0x24(%ebp),%edx
5fe629:	0f b6 14 02          	movzbl (%edx,%eax,1),%edx
5fe62d:	8b 45 44             	mov    0x44(%ebp),%eax
5fe630:	e8 e7 ad fa ff       	call   0x5a941c
5fe635:	8b f0                	mov    %eax,%esi
5fe637:	c1 e6 0a             	shl    $0xa,%esi
5fe63a:	8b 03                	mov    (%ebx),%eax
5fe63c:	8b 55 d0             	mov    -0x30(%ebp),%edx
5fe63f:	8b 04 82             	mov    (%edx,%eax,4),%eax
5fe642:	89 45 bc             	mov    %eax,-0x44(%ebp)
5fe645:	d9 45 bc             	flds   -0x44(%ebp)
5fe648:	8b 45 fc             	mov    -0x4(%ebp),%eax
5fe64b:	dc 58 58             	fcompl 0x58(%eax)
5fe64e:	df e0                	fnstsw %ax
5fe650:	9e                   	sahf
5fe651:	77 0a                	ja     0x5fe65d
5fe653:	8b 45 fc             	mov    -0x4(%ebp),%eax
5fe656:	dd 40 58             	fldl   0x58(%eax)
5fe659:	d9 5d bc             	fstps  -0x44(%ebp)
5fe65c:	9b d9 45 bc          	flds   -0x44(%ebp)
5fe660:	8b 45 fc             	mov    -0x4(%ebp),%eax
5fe663:	dc 58 60             	fcompl 0x60(%eax)
5fe666:	df e0                	fnstsw %ax
5fe668:	9e                   	sahf
5fe669:	72 0a                	jb     0x5fe675
5fe66b:	8b 45 fc             	mov    -0x4(%ebp),%eax
5fe66e:	dd 40 60             	fldl   0x60(%eax)
5fe671:	d9 5d bc             	fstps  -0x44(%ebp)
5fe674:	9b d9 45 bc          	flds   -0x44(%ebp)
5fe678:	8b 45 fc             	mov    -0x4(%ebp),%eax
5fe67b:	dc 60 58             	fsubl  0x58(%eax)
5fe67e:	dc 75 c0             	fdivl  -0x40(%ebp)
5fe681:	d8 0d f4 e6 5f 00    	fmuls  0x5fe6f4
5fe687:	e8 40 46 e0 ff       	call   0x402ccc
5fe68c:	8b 55 e4             	mov    -0x1c(%ebp),%edx
5fe68f:	33 c9                	xor    %ecx,%ecx
5fe691:	8a 4a 02             	mov    0x2(%edx),%cl
5fe694:	51                   	push   %ecx
5fe695:	8b c8                	mov    %eax,%ecx
5fe697:	5f                   	pop    %edi
5fe698:	2b cf                	sub    %edi,%ecx
5fe69a:	0f af ce             	imul   %esi,%ecx
5fe69d:	c1 e9 12             	shr    $0x12,%ecx
5fe6a0:	00 4a 02             	add    %cl,0x2(%edx)
5fe6a3:	33 c9                	xor    %ecx,%ecx
5fe6a5:	8a 4a 01             	mov    0x1(%edx),%cl
5fe6a8:	51                   	push   %ecx
5fe6a9:	8b c8                	mov    %eax,%ecx
5fe6ab:	5f                   	pop    %edi
5fe6ac:	2b cf                	sub    %edi,%ecx
5fe6ae:	0f af ce             	imul   %esi,%ecx
5fe6b1:	c1 e9 12             	shr    $0x12,%ecx
5fe6b4:	00 4a 01             	add    %cl,0x1(%edx)
5fe6b7:	33 c9                	xor    %ecx,%ecx
5fe6b9:	8a 0a                	mov    (%edx),%cl
5fe6bb:	51                   	push   %ecx
5fe6bc:	59                   	pop    %ecx
5fe6bd:	2b c1                	sub    %ecx,%eax
5fe6bf:	0f af c6             	imul   %esi,%eax
5fe6c2:	c1 e8 12             	shr    $0x12,%eax
5fe6c5:	00 02                	add    %al,(%edx)
5fe6c7:	83 45 e4 03          	addl   $0x3,-0x1c(%ebp)
5fe6cb:	83 c3 04             	add    $0x4,%ebx
5fe6ce:	ff 4d b4             	decl   -0x4c(%ebp)
5fe6d1:	0f 85 4d ff ff ff    	jne    0x5fe624
5fe6d7:	83 45 f4 04          	addl   $0x4,-0xc(%ebp)
5fe6db:	ff 45 ec             	incl   -0x14(%ebp)
5fe6de:	ff 4d b8             	decl   -0x48(%ebp)
5fe6e1:	0f 85 49 fe ff ff    	jne    0x5fe530
5fe6e7:	5f                   	pop    %edi
5fe6e8:	5e                   	pop    %esi
5fe6e9:	5b                   	pop    %ebx
5fe6ea:	8b e5                	mov    %ebp,%esp
5fe6ec:	5d                   	pop    %ebp
5fe6ed:	c2 40 00             	ret    $0x40
5fe6f0:	00 00                	add    %al,(%eax)
5fe6f2:	00 00                	add    %al,(%eax)
5fe6f4:	00 00                	add    %al,(%eax)
5fe6f6:	7f 43                	jg     0x5fe73b
5fe6f8:	55                   	push   %ebp
5fe6f9:	8b ec                	mov    %esp,%ebp
5fe6fb:	83 c4 e0             	add    $0xffffffe0,%esp
5fe6fe:	53                   	push   %ebx
5fe6ff:	56                   	push   %esi
5fe700:	57                   	push   %edi
5fe701:	89 55 f8             	mov    %edx,-0x8(%ebp)
5fe704:	89 45 fc             	mov    %eax,-0x4(%ebp)
5fe707:	8b 45 38             	mov    0x38(%ebp),%eax
5fe70a:	89 45 f0             	mov    %eax,-0x10(%ebp)
5fe70d:	8b 45 34             	mov    0x34(%ebp),%eax
5fe710:	89 45 f4             	mov    %eax,-0xc(%ebp)
5fe713:	8b 45 1c             	mov    0x1c(%ebp),%eax
5fe716:	8b 55 14             	mov    0x14(%ebp),%edx
5fe719:	2b d0                	sub    %eax,%edx
5fe71b:	7c 6d                	jl     0x5fe78a
5fe71d:	42                   	inc    %edx
5fe71e:	89 55 e0             	mov    %edx,-0x20(%ebp)
5fe721:	89 45 ec             	mov    %eax,-0x14(%ebp)
5fe724:	8b 45 f8             	mov    -0x8(%ebp),%eax
5fe727:	8b 55 ec             	mov    -0x14(%ebp),%edx
5fe72a:	8b 1c 90             	mov    (%eax,%edx,4),%ebx
5fe72d:	8b 45 20             	mov    0x20(%ebp),%eax
5fe730:	8d 04 40             	lea    (%eax,%eax,2),%eax
5fe733:	03 d8                	add    %eax,%ebx
5fe735:	8b 45 f4             	mov    -0xc(%ebp),%eax
5fe738:	8b 10                	mov    (%eax),%edx
5fe73a:	8b 45 fc             	mov    -0x4(%ebp),%eax
5fe73d:	8b 08                	mov    (%eax),%ecx
5fe73f:	ff 11                	call   *(%ecx)
5fe741:	89 45 e8             	mov    %eax,-0x18(%ebp)
5fe744:	8b 7d f0             	mov    -0x10(%ebp),%edi
5fe747:	8b 45 20             	mov    0x20(%ebp),%eax
5fe74a:	8b 75 18             	mov    0x18(%ebp),%esi
5fe74d:	2b f0                	sub    %eax,%esi
5fe74f:	7c 2d                	jl     0x5fe77e
5fe751:	46                   	inc    %esi
5fe752:	8b 07                	mov    (%edi),%eax
5fe754:	8b 55 e8             	mov    -0x18(%ebp),%edx
5fe757:	8b 04 82             	mov    (%edx,%eax,4),%eax
5fe75a:	8d 55 e5             	lea    -0x1b(%ebp),%edx
5fe75d:	e8 3e 68 fd ff       	call   0x5d4fa0
5fe762:	8b c3                	mov    %ebx,%eax
5fe764:	8a 55 e7             	mov    -0x19(%ebp),%dl
5fe767:	88 50 02             	mov    %dl,0x2(%eax)
5fe76a:	8a 55 e6             	mov    -0x1a(%ebp),%dl
5fe76d:	88 50 01             	mov    %dl,0x1(%eax)
5fe770:	8a 55 e5             	mov    -0x1b(%ebp),%dl
5fe773:	88 10                	mov    %dl,(%eax)
5fe775:	83 c3 03             	add    $0x3,%ebx
5fe778:	83 c7 04             	add    $0x4,%edi
5fe77b:	4e                   	dec    %esi
5fe77c:	75 d4                	jne    0x5fe752
5fe77e:	83 45 f4 04          	addl   $0x4,-0xc(%ebp)
5fe782:	ff 45 ec             	incl   -0x14(%ebp)
5fe785:	ff 4d e0             	decl   -0x20(%ebp)
5fe788:	75 9a                	jne    0x5fe724
5fe78a:	5f                   	pop    %edi
5fe78b:	5e                   	pop    %esi
5fe78c:	5b                   	pop    %ebx
5fe78d:	8b e5                	mov    %ebp,%esp
5fe78f:	5d                   	pop    %ebp
5fe790:	c2 34 00             	ret    $0x34
5fe793:	90                   	nop
5fe794:	55                   	push   %ebp
5fe795:	8b ec                	mov    %esp,%ebp
5fe797:	83 c4 d8             	add    $0xffffffd8,%esp
5fe79a:	53                   	push   %ebx
5fe79b:	56                   	push   %esi
5fe79c:	57                   	push   %edi
5fe79d:	89 55 f8             	mov    %edx,-0x8(%ebp)
5fe7a0:	89 45 fc             	mov    %eax,-0x4(%ebp)
5fe7a3:	8b 45 38             	mov    0x38(%ebp),%eax
5fe7a6:	89 45 f0             	mov    %eax,-0x10(%ebp)
5fe7a9:	8b 45 34             	mov    0x34(%ebp),%eax
5fe7ac:	89 45 f4             	mov    %eax,-0xc(%ebp)
5fe7af:	8b 45 1c             	mov    0x1c(%ebp),%eax
5fe7b2:	8b 55 14             	mov    0x14(%ebp),%edx
5fe7b5:	2b d0                	sub    %eax,%edx
5fe7b7:	0f 8c db 00 00 00    	jl     0x5fe898
5fe7bd:	42                   	inc    %edx
5fe7be:	89 55 d8             	mov    %edx,-0x28(%ebp)
5fe7c1:	89 45 ec             	mov    %eax,-0x14(%ebp)
5fe7c4:	8b 45 f8             	mov    -0x8(%ebp),%eax
5fe7c7:	8b 55 ec             	mov    -0x14(%ebp),%edx
5fe7ca:	8b 04 90             	mov    (%eax,%edx,4),%eax
5fe7cd:	89 45 e8             	mov    %eax,-0x18(%ebp)
5fe7d0:	8b 45 20             	mov    0x20(%ebp),%eax
5fe7d3:	8d 04 40             	lea    (%eax,%eax,2),%eax
5fe7d6:	01 45 e8             	add    %eax,-0x18(%ebp)
5fe7d9:	8b 45 f4             	mov    -0xc(%ebp),%eax
5fe7dc:	8b 10                	mov    (%eax),%edx
5fe7de:	8b 45 fc             	mov    -0x4(%ebp),%eax
5fe7e1:	8b 08                	mov    (%eax),%ecx
5fe7e3:	ff 11                	call   *(%ecx)
5fe7e5:	89 45 e0             	mov    %eax,-0x20(%ebp)
5fe7e8:	80 7d 40 00          	cmpb   $0x0,0x40(%ebp)
5fe7ec:	74 16                	je     0x5fe804
5fe7ee:	8b 45 fc             	mov    -0x4(%ebp),%eax
5fe7f1:	e8 e2 90 ff ff       	call   0x5f78d8
5fe7f6:	8b 55 f4             	mov    -0xc(%ebp),%edx
5fe7f9:	8b 12                	mov    (%edx),%edx
5fe7fb:	8b 08                	mov    (%eax),%ecx
5fe7fd:	ff 11                	call   *(%ecx)
5fe7ff:	89 45 e4             	mov    %eax,-0x1c(%ebp)