5f2424:	88 45 eb             	mov    %al,-0x15(%ebp)
5f2427:	8d 55 eb             	lea    -0x15(%ebp),%edx
5f242a:	b9 01 00 00 00       	mov    $0x1,%ecx
5f242f:	8b c3                	mov    %ebx,%eax
5f2431:	8b 38                	mov    (%eax),%edi
5f2433:	ff 57 0c             	call   *0xc(%edi)
5f2436:	8b 76 08             	mov    0x8(%esi),%esi
5f2439:	81 fe ff 7f 00 00    	cmp    $0x7fff,%esi
5f243f:	0f 86 98 00 00 00    	jbe    0x5f24dd
5f2445:	c6 45 eb 00          	movb   $0x0,-0x15(%ebp)
5f2449:	8d 55 eb             	lea    -0x15(%ebp),%edx
5f244c:	b9 01 00 00 00       	mov    $0x1,%ecx
5f2451:	8b c3                	mov    %ebx,%eax
5f2453:	8b 38                	mov    (%eax),%edi
5f2455:	ff 57 0c             	call   *0xc(%edi)
5f2458:	c6 45 eb 04          	movb   $0x4,-0x15(%ebp)
5f245c:	8d 55 eb             	lea    -0x15(%ebp),%edx
5f245f:	b9 01 00 00 00       	mov    $0x1,%ecx
5f2464:	8b c3                	mov    %ebx,%eax
5f2466:	8b 38                	mov    (%eax),%edi
5f2468:	ff 57 0c             	call   *0xc(%edi)
5f246b:	8b c6                	mov    %esi,%eax
5f246d:	25 00 00 00 ff       	and    $0xff000000,%eax
5f2472:	c1 e8 18             	shr    $0x18,%eax
5f2475:	88 45 eb             	mov    %al,-0x15(%ebp)
5f2478:	8d 55 eb             	lea    -0x15(%ebp),%edx
5f247b:	b9 01 00 00 00       	mov    $0x1,%ecx
5f2480:	8b c3                	mov    %ebx,%eax
5f2482:	8b 38                	mov    (%eax),%edi
5f2484:	ff 57 0c             	call   *0xc(%edi)
5f2487:	8b c6                	mov    %esi,%eax
5f2489:	25 00 00 ff 00       	and    $0xff0000,%eax
5f248e:	c1 e8 10             	shr    $0x10,%eax
5f2491:	88 45 eb             	mov    %al,-0x15(%ebp)
5f2494:	8d 55 eb             	lea    -0x15(%ebp),%edx
5f2497:	b9 01 00 00 00       	mov    $0x1,%ecx
5f249c:	8b c3                	mov    %ebx,%eax
5f249e:	8b 38                	mov    (%eax),%edi
5f24a0:	ff 57 0c             	call   *0xc(%edi)
5f24a3:	8b c6                	mov    %esi,%eax
5f24a5:	25 00 ff 00 00       	and    $0xff00,%eax
5f24aa:	c1 e8 08             	shr    $0x8,%eax
5f24ad:	88 45 eb             	mov    %al,-0x15(%ebp)
5f24b0:	8d 55 eb             	lea    -0x15(%ebp),%edx
5f24b3:	b9 01 00 00 00       	mov    $0x1,%ecx
5f24b8:	8b c3                	mov    %ebx,%eax
5f24ba:	8b 38                	mov    (%eax),%edi
5f24bc:	ff 57 0c             	call   *0xc(%edi)
5f24bf:	8b c6                	mov    %esi,%eax
5f24c1:	24 ff                	and    $0xff,%al
5f24c3:	88 45 eb             	mov    %al,-0x15(%ebp)
5f24c6:	8d 55 eb             	lea    -0x15(%ebp),%edx
5f24c9:	b9 01 00 00 00       	mov    $0x1,%ecx
5f24ce:	8b c3                	mov    %ebx,%eax
5f24d0:	8b 38                	mov    (%eax),%edi
5f24d2:	ff 57 0c             	call   *0xc(%edi)
5f24d5:	8d 46 09             	lea    0x9(%esi),%eax
5f24d8:	01 45 ec             	add    %eax,-0x14(%ebp)
5f24db:	eb 38                	jmp    0x5f2515
5f24dd:	8b c6                	mov    %esi,%eax
5f24df:	25 00 ff 00 00       	and    $0xff00,%eax
5f24e4:	c1 e8 08             	shr    $0x8,%eax
5f24e7:	88 45 eb             	mov    %al,-0x15(%ebp)
5f24ea:	8d 55 eb             	lea    -0x15(%ebp),%edx
5f24ed:	b9 01 00 00 00       	mov    $0x1,%ecx
5f24f2:	8b c3                	mov    %ebx,%eax
5f24f4:	8b 38                	mov    (%eax),%edi
5f24f6:	ff 57 0c             	call   *0xc(%edi)
5f24f9:	8b c6                	mov    %esi,%eax
5f24fb:	24 ff                	and    $0xff,%al
5f24fd:	88 45 eb             	mov    %al,-0x15(%ebp)
5f2500:	8d 55 eb             	lea    -0x15(%ebp),%edx
5f2503:	b9 01 00 00 00       	mov    $0x1,%ecx
5f2508:	8b c3                	mov    %ebx,%eax
5f250a:	8b 38                	mov    (%eax),%edi
5f250c:	ff 57 0c             	call   *0xc(%edi)
5f250f:	8d 46 05             	lea    0x5(%esi),%eax
5f2512:	01 45 ec             	add    %eax,-0x14(%ebp)
5f2515:	8b 45 fc             	mov    -0x4(%ebp),%eax
5f2518:	8b 40 04             	mov    0x4(%eax),%eax
5f251b:	8b 55 f0             	mov    -0x10(%ebp),%edx
5f251e:	e8 9d 98 e2 ff       	call   0x41bdc0
5f2523:	8b d0                	mov    %eax,%edx
5f2525:	8b ce                	mov    %esi,%ecx
5f2527:	8b c3                	mov    %ebx,%eax
5f2529:	8b 30                	mov    (%eax),%esi
5f252b:	ff 56 0c             	call   *0xc(%esi)
5f252e:	ff 45 f0             	incl   -0x10(%ebp)
5f2531:	ff 4d e4             	decl   -0x1c(%ebp)
5f2534:	0f 85 97 fe ff ff    	jne    0x5f23d1
5f253a:	8b c3                	mov    %ebx,%eax
5f253c:	e8 ab c1 e2 ff       	call   0x41e6ec
5f2541:	8b 55 f4             	mov    -0xc(%ebp),%edx
5f2544:	89 02                	mov    %eax,(%edx)
5f2546:	8b 45 f4             	mov    -0xc(%ebp),%eax
5f2549:	f6 00 01             	testb  $0x1,(%eax)
5f254c:	74 18                	je     0x5f2566
5f254e:	8b 45 f4             	mov    -0xc(%ebp),%eax
5f2551:	ff 00                	incl   (%eax)
5f2553:	c6 45 eb 00          	movb   $0x0,-0x15(%ebp)
5f2557:	8d 55 eb             	lea    -0x15(%ebp),%edx
5f255a:	b9 01 00 00 00       	mov    $0x1,%ecx
5f255f:	8b c3                	mov    %ebx,%eax
5f2561:	8b 30                	mov    (%eax),%esi
5f2563:	ff 56 0c             	call   *0xc(%esi)
5f2566:	8b 45 f4             	mov    -0xc(%ebp),%eax
5f2569:	8b 00                	mov    (%eax),%eax
5f256b:	e8 3c 02 e1 ff       	call   0x4027ac
5f2570:	8b 55 f8             	mov    -0x8(%ebp),%edx
5f2573:	89 02                	mov    %eax,(%edx)
5f2575:	8b 4d f4             	mov    -0xc(%ebp),%ecx
5f2578:	8b 09                	mov    (%ecx),%ecx
5f257a:	8b 45 f8             	mov    -0x8(%ebp),%eax
5f257d:	8b 00                	mov    (%eax),%eax
5f257f:	8b 53 04             	mov    0x4(%ebx),%edx
5f2582:	e8 39 59 e1 ff       	call   0x407ec0
5f2587:	80 7d 08 00          	cmpb   $0x0,0x8(%ebp)
5f258b:	74 44                	je     0x5f25d1
5f258d:	8b 55 ec             	mov    -0x14(%ebp),%edx
5f2590:	81 e2 00 00 00 ff    	and    $0xff000000,%edx
5f2596:	c1 ea 18             	shr    $0x18,%edx
5f2599:	8b 45 f8             	mov    -0x8(%ebp),%eax
5f259c:	8b 00                	mov    (%eax),%eax
5f259e:	88 50 16             	mov    %dl,0x16(%eax)
5f25a1:	8b 55 ec             	mov    -0x14(%ebp),%edx
5f25a4:	81 e2 00 00 ff 00    	and    $0xff0000,%edx
5f25aa:	c1 ea 10             	shr    $0x10,%edx
5f25ad:	8b 4d f8             	mov    -0x8(%ebp),%ecx
5f25b0:	88 50 17             	mov    %dl,0x17(%eax)
5f25b3:	8b 55 ec             	mov    -0x14(%ebp),%edx
5f25b6:	81 e2 00 ff 00 00    	and    $0xff00,%edx
5f25bc:	c1 ea 08             	shr    $0x8,%edx
5f25bf:	8b 4d f8             	mov    -0x8(%ebp),%ecx
5f25c2:	88 50 18             	mov    %dl,0x18(%eax)
5f25c5:	8a 55 ec             	mov    -0x14(%ebp),%dl
5f25c8:	80 e2 ff             	and    $0xff,%dl
5f25cb:	8b 4d f8             	mov    -0x8(%ebp),%ecx
5f25ce:	88 50 19             	mov    %dl,0x19(%eax)
5f25d1:	8b c3                	mov    %ebx,%eax
5f25d3:	e8 a0 14 e1 ff       	call   0x403a78
5f25d8:	5f                   	pop    %edi
5f25d9:	5e                   	pop    %esi
5f25da:	5b                   	pop    %ebx
5f25db:	8b e5                	mov    %ebp,%esp
5f25dd:	5d                   	pop    %ebp
5f25de:	c2 04 00             	ret    $0x4
5f25e1:	8d 40 00             	lea    0x0(%eax),%eax
5f25e4:	53                   	push   %ebx
5f25e5:	56                   	push   %esi
5f25e6:	57                   	push   %edi
5f25e7:	55                   	push   %ebp
5f25e8:	83 c4 f8             	add    $0xfffffff8,%esp
5f25eb:	8b e9                	mov    %ecx,%ebp
5f25ed:	8b da                	mov    %edx,%ebx
5f25ef:	89 04 24             	mov    %eax,(%esp)
5f25f2:	8b 04 24             	mov    (%esp),%eax
5f25f5:	e8 72 fc ff ff       	call   0x5f226c
5f25fa:	85 ed                	test   %ebp,%ebp
5f25fc:	0f 84 ab 00 00 00    	je     0x5f26ad
5f2602:	8b f3                	mov    %ebx,%esi
5f2604:	33 db                	xor    %ebx,%ebx
5f2606:	3b eb                	cmp    %ebx,%ebp
5f2608:	7e 0b                	jle    0x5f2615
5f260a:	80 3c 1e 1c          	cmpb   $0x1c,(%esi,%ebx,1)
5f260e:	74 05                	je     0x5f2615
5f2610:	43                   	inc    %ebx
5f2611:	3b eb                	cmp    %ebx,%ebp
5f2613:	7f f5                	jg     0x5f260a
5f2615:	80 3c 1e 1c          	cmpb   $0x1c,(%esi,%ebx,1)
5f2619:	0f 85 87 00 00 00    	jne    0x5f26a6
5f261f:	43                   	inc    %ebx
5f2620:	8d 43 04             	lea    0x4(%ebx),%eax
5f2623:	3b e8                	cmp    %eax,%ebp
5f2625:	7e 7f                	jle    0x5f26a6
5f2627:	33 c0                	xor    %eax,%eax
5f2629:	8a 04 1e             	mov    (%esi,%ebx,1),%al
5f262c:	89 44 24 04          	mov    %eax,0x4(%esp)
5f2630:	43                   	inc    %ebx
5f2631:	33 c9                	xor    %ecx,%ecx
5f2633:	8a 0c 1e             	mov    (%esi,%ebx,1),%cl
5f2636:	43                   	inc    %ebx
5f2637:	f6 04 1e 80          	testb  $0x80,(%esi,%ebx,1)
5f263b:	74 2b                	je     0x5f2668
5f263d:	0f b6 7c 1e 02       	movzbl 0x2(%esi,%ebx,1),%edi
5f2642:	c1 e7 18             	shl    $0x18,%edi
5f2645:	33 c0                	xor    %eax,%eax
5f2647:	8a 44 1e 03          	mov    0x3(%esi,%ebx,1),%al
5f264b:	c1 e0 10             	shl    $0x10,%eax
5f264e:	03 f8                	add    %eax,%edi
5f2650:	33 c0                	xor    %eax,%eax
5f2652:	8a 44 1e 04          	mov    0x4(%esi,%ebx,1),%al
5f2656:	c1 e0 08             	shl    $0x8,%eax
5f2659:	03 f8                	add    %eax,%edi
5f265b:	33 c0                	xor    %eax,%eax
5f265d:	8a 44 1e 05          	mov    0x5(%esi,%ebx,1),%al
5f2661:	03 f8                	add    %eax,%edi
5f2663:	83 c3 06             	add    $0x6,%ebx
5f2666:	eb 12                	jmp    0x5f267a
5f2668:	0f b6 3c 1e          	movzbl (%esi,%ebx,1),%edi
5f266c:	c1 e7 08             	shl    $0x8,%edi
5f266f:	33 c0                	xor    %eax,%eax
5f2671:	8a 44 1e 01          	mov    0x1(%esi,%ebx,1),%al
5f2675:	0b f8                	or     %eax,%edi
5f2677:	83 c3 02             	add    $0x2,%ebx
5f267a:	8b c7                	mov    %edi,%eax
5f267c:	99                   	cltd
5f267d:	33 c2                	xor    %edx,%eax
5f267f:	2b c2                	sub    %edx,%eax
5f2681:	8b f8                	mov    %eax,%edi
5f2683:	8d 04 1f             	lea    (%edi,%ebx,1),%eax
5f2686:	3b e8                	cmp    %eax,%ebp
5f2688:	7c 1c                	jl     0x5f26a6
5f268a:	8d 04 1e             	lea    (%esi,%ebx,1),%eax
5f268d:	50                   	push   %eax
5f268e:	57                   	push   %edi
5f268f:	8b 54 24 0c          	mov    0xc(%esp),%edx
5f2693:	8b 44 24 08          	mov    0x8(%esp),%eax
5f2697:	e8 68 fb ff ff       	call   0x5f2204
5f269c:	03 df                	add    %edi,%ebx
5f269e:	3b eb                	cmp    %ebx,%ebp
5f26a0:	0f 8f 6f ff ff ff    	jg     0x5f2615
5f26a6:	8b 04 24             	mov    (%esp),%eax
5f26a9:	c6 40 0c 00          	movb   $0x0,0xc(%eax)
5f26ad:	59                   	pop    %ecx
5f26ae:	5a                   	pop    %edx
5f26af:	5d                   	pop    %ebp
5f26b0:	5f                   	pop    %edi
5f26b1:	5e                   	pop    %esi
5f26b2:	5b                   	pop    %ebx
5f26b3:	c3                   	ret
5f26b4:	53                   	push   %ebx
5f26b5:	56                   	push   %esi
5f26b6:	57                   	push   %edi
5f26b7:	84 d2                	test   %dl,%dl
5f26b9:	74 08                	je     0x5f26c3
5f26bb:	83 c4 f0             	add    $0xfffffff0,%esp
5f26be:	e8 19 17 e1 ff       	call   0x403ddc
5f26c3:	8b f1                	mov    %ecx,%esi
5f26c5:	8b da                	mov    %edx,%ebx
5f26c7:	8b f8                	mov    %eax,%edi
5f26c9:	33 d2                	xor    %edx,%edx
5f26cb:	8b c7                	mov    %edi,%eax
5f26cd:	e8 be f4 ff ff       	call   0x5f1b90
5f26d2:	89 77 08             	mov    %esi,0x8(%edi)
5f26d5:	8b c7                	mov    %edi,%eax
5f26d7:	84 db                	test   %bl,%bl
5f26d9:	74 0f                	je     0x5f26ea
5f26db:	e8 54 17 e1 ff       	call   0x403e34
5f26e0:	64 8f 05 00 00 00 00 	pop    %fs:0x0
5f26e7:	83 c4 0c             	add    $0xc,%esp
5f26ea:	8b c7                	mov    %edi,%eax
5f26ec:	5f                   	pop    %edi
5f26ed:	5e                   	pop    %esi
5f26ee:	5b                   	pop    %ebx
5f26ef:	c3                   	ret
5f26f0:	e8 4f f6 ff ff       	call   0x5f1d44
5f26f5:	c3                   	ret
5f26f6:	8b c0                	mov    %eax,%eax
5f26f8:	e8 07 f6 ff ff       	call   0x5f1d04
5f26fd:	c3                   	ret
5f26fe:	8b c0                	mov    %eax,%eax
5f2700:	55                   	push   %ebp
5f2701:	8b ec                	mov    %esp,%ebp
5f2703:	53                   	push   %ebx
5f2704:	db 6d 08             	fldt   0x8(%ebp)
5f2707:	e8 c0 05 e1 ff       	call   0x402ccc
5f270c:	8b d8                	mov    %eax,%ebx
5f270e:	db 6d 08             	fldt   0x8(%ebp)
5f2711:	e8 86 05 e1 ff       	call   0x402c9c
5f2716:	d8 1d 2c 27 5f 00    	fcomps 0x5f272c
5f271c:	df e0                	fnstsw %ax
5f271e:	9e                   	sahf
5f271f:	73 01                	jae    0x5f2722
5f2721:	4b                   	dec    %ebx
5f2722:	8b c3                	mov    %ebx,%eax
5f2724:	5b                   	pop    %ebx
5f2725:	5d                   	pop    %ebp
5f2726:	c2 0c 00             	ret    $0xc
5f2729:	00 00                	add    %al,(%eax)
5f272b:	00 00                	add    %al,(%eax)
5f272d:	00 00                	add    %al,(%eax)
5f272f:	00 55 8b             	add    %dl,-0x75(%ebp)
5f2732:	ec                   	in     (%dx),%al
5f2733:	83 c4 f4             	add    $0xfffffff4,%esp
5f2736:	53                   	push   %ebx
5f2737:	56                   	push   %esi
5f2738:	57                   	push   %edi
5f2739:	8b f9                	mov    %ecx,%edi
5f273b:	8b f2                	mov    %edx,%esi
5f273d:	8b d8                	mov    %eax,%ebx
5f273f:	8b c7                	mov    %edi,%eax
5f2741:	2b c3                	sub    %ebx,%eax
5f2743:	f7 e8                	imul   %eax
5f2745:	8b c8                	mov    %eax,%ecx
5f2747:	8b 45 08             	mov    0x8(%ebp),%eax
5f274a:	2b c6                	sub    %esi,%eax
5f274c:	f7 e8                	imul   %eax
5f274e:	03 c8                	add    %eax,%ecx
5f2750:	89 4d f4             	mov    %ecx,-0xc(%ebp)
5f2753:	db 45 f4             	fildl  -0xc(%ebp)
5f2756:	d9 fa                	fsqrt
5f2758:	dd 5d f8             	fstpl  -0x8(%ebp)
5f275b:	9b dd 45 f8          	fldl   -0x8(%ebp)
5f275f:	5f                   	pop    %edi
5f2760:	5e                   	pop    %esi
5f2761:	5b                   	pop    %ebx
5f2762:	8b e5                	mov    %ebp,%esp
5f2764:	5d                   	pop    %ebp
5f2765:	c2 04 00             	ret    $0x4
5f2768:	55                   	push   %ebp
5f2769:	8b ec                	mov    %esp,%ebp
5f276b:	83 c4 e8             	add    $0xffffffe8,%esp
5f276e:	53                   	push   %ebx
5f276f:	56                   	push   %esi
5f2770:	57                   	push   %edi
5f2771:	89 55 f8             	mov    %edx,-0x8(%ebp)
5f2774:	89 45 fc             	mov    %eax,-0x4(%ebp)
5f2777:	8b 45 10             	mov    0x10(%ebp),%eax
5f277a:	8b d8                	mov    %eax,%ebx
5f277c:	2b 5d 08             	sub    0x8(%ebp),%ebx
5f277f:	8b 75 0c             	mov    0xc(%ebp),%esi
5f2782:	2b f1                	sub    %ecx,%esi
5f2784:	8b f9                	mov    %ecx,%edi
5f2786:	0f af 7d 08          	imul   0x8(%ebp),%edi
5f278a:	8b 55 0c             	mov    0xc(%ebp),%edx
5f278d:	0f af d0             	imul   %eax,%edx
5f2790:	2b fa                	sub    %edx,%edi
5f2792:	8b c3                	mov    %ebx,%eax
5f2794:	f7 eb                	imul   %ebx
5f2796:	8b d6                	mov    %esi,%edx
5f2798:	0f af d6             	imul   %esi,%edx
5f279b:	03 c2                	add    %edx,%eax
5f279d:	89 45 ec             	mov    %eax,-0x14(%ebp)
5f27a0:	db 45 ec             	fildl  -0x14(%ebp)
5f27a3:	d9 fa                	fsqrt
5f27a5:	8b c3                	mov    %ebx,%eax
5f27a7:	f7 6d fc             	imull  -0x4(%ebp)
5f27aa:	0f af 75 f8          	imul   -0x8(%ebp),%esi
5f27ae:	03 c6                	add    %esi,%eax
5f27b0:	03 c7                	add    %edi,%eax
5f27b2:	99                   	cltd
5f27b3:	33 c2                	xor    %edx,%eax
5f27b5:	2b c2                	sub    %edx,%eax
5f27b7:	89 45 e8             	mov    %eax,-0x18(%ebp)
5f27ba:	db 45 e8             	fildl  -0x18(%ebp)
5f27bd:	de f1                	fdivp  %st,%st(1)
5f27bf:	dd 5d f0             	fstpl  -0x10(%ebp)
5f27c2:	9b dd 45 f0          	fldl   -0x10(%ebp)
5f27c6:	5f                   	pop    %edi
5f27c7:	5e                   	pop    %esi