4e2720:	c3                   	ret
4e2721:	90                   	nop
4e2722:	90                   	nop
4e2723:	90                   	nop
4e2724:	55                   	push   %ebp
4e2725:	8b ec                	mov    %esp,%ebp
4e2727:	8b c1                	mov    %ecx,%eax
4e2729:	53                   	push   %ebx
4e272a:	c1 e0 08             	shl    $0x8,%eax
4e272d:	8b 5d 08             	mov    0x8(%ebp),%ebx
4e2730:	8b d3                	mov    %ebx,%edx
4e2732:	2b c1                	sub    %ecx,%eax
4e2734:	d1 fa                	sar    $1,%edx
4e2736:	79 03                	jns    0x4e273b
4e2738:	83 d2 00             	adc    $0x0,%edx
4e273b:	03 c2                	add    %edx,%eax
4e273d:	99                   	cltd
4e273e:	f7 fb                	idiv   %ebx
4e2740:	5b                   	pop    %ebx
4e2741:	5d                   	pop    %ebp
4e2742:	c2 04 00             	ret    $0x4
4e2745:	90                   	nop
4e2746:	90                   	nop
4e2747:	90                   	nop
4e2748:	03 c9                	add    %ecx,%ecx
4e274a:	55                   	push   %ebp
4e274b:	8b ec                	mov    %esp,%ebp
4e274d:	8b c1                	mov    %ecx,%eax
4e274f:	c1 e0 08             	shl    $0x8,%eax
4e2752:	53                   	push   %ebx
4e2753:	8b 5d 08             	mov    0x8(%ebp),%ebx
4e2756:	2b c1                	sub    %ecx,%eax
4e2758:	03 c3                	add    %ebx,%eax
4e275a:	03 db                	add    %ebx,%ebx
4e275c:	05 ff 00 00 00       	add    $0xff,%eax
4e2761:	99                   	cltd
4e2762:	f7 fb                	idiv   %ebx
4e2764:	5b                   	pop    %ebx
4e2765:	5d                   	pop    %ebp
4e2766:	c2 04 00             	ret    $0x4
4e2769:	90                   	nop
4e276a:	90                   	nop
4e276b:	90                   	nop
4e276c:	53                   	push   %ebx
4e276d:	56                   	push   %esi
4e276e:	57                   	push   %edi
4e276f:	55                   	push   %ebp
4e2770:	83 c4 d0             	add    $0xffffffd0,%esp
4e2773:	89 04 24             	mov    %eax,(%esp)
4e2776:	8b 04 24             	mov    (%esp),%eax
4e2779:	8b 90 cc 01 00 00    	mov    0x1cc(%eax),%edx
4e277f:	89 54 24 04          	mov    %edx,0x4(%esp)
4e2783:	8b 54 24 04          	mov    0x4(%esp),%edx
4e2787:	8b 04 24             	mov    (%esp),%eax
4e278a:	83 c2 20             	add    $0x20,%edx
4e278d:	e8 86 fe ff ff       	call   0x4e2618
4e2792:	89 44 24 0c          	mov    %eax,0xc(%esp)
4e2796:	8b 0c 24             	mov    (%esp),%ecx
4e2799:	8b 41 78             	mov    0x78(%ecx),%eax
4e279c:	83 f8 03             	cmp    $0x3,%eax
4e279f:	75 47                	jne    0x4e27e8
4e27a1:	8b 14 24             	mov    (%esp),%edx
4e27a4:	8b 02                	mov    (%edx),%eax
4e27a6:	83 c0 18             	add    $0x18,%eax
4e27a9:	8b 54 24 0c          	mov    0xc(%esp),%edx
4e27ad:	89 10                	mov    %edx,(%eax)
4e27af:	8b 4c 24 04          	mov    0x4(%esp),%ecx
4e27b3:	8b 51 20             	mov    0x20(%ecx),%edx
4e27b6:	89 50 04             	mov    %edx,0x4(%eax)
4e27b9:	8b 4c 24 04          	mov    0x4(%esp),%ecx
4e27bd:	8b 51 24             	mov    0x24(%ecx),%edx
4e27c0:	89 50 08             	mov    %edx,0x8(%eax)
4e27c3:	8b 4c 24 04          	mov    0x4(%esp),%ecx
4e27c7:	8b 51 28             	mov    0x28(%ecx),%edx
4e27ca:	89 50 0c             	mov    %edx,0xc(%eax)
4e27cd:	8b 04 24             	mov    (%esp),%eax
4e27d0:	8b 08                	mov    (%eax),%ecx
4e27d2:	c7 41 14 5e 00 00 00 	movl   $0x5e,0x14(%ecx)
4e27d9:	ba 01 00 00 00       	mov    $0x1,%edx
4e27de:	8b 04 24             	mov    (%esp),%eax
4e27e1:	8b 08                	mov    (%eax),%ecx
4e27e3:	ff 51 04             	call   *0x4(%ecx)
4e27e6:	eb 20                	jmp    0x4e2808
4e27e8:	8b 04 24             	mov    (%esp),%eax
4e27eb:	8b 00                	mov    (%eax),%eax
4e27ed:	c7 40 14 5f 00 00 00 	movl   $0x5f,0x14(%eax)
4e27f4:	8b 54 24 0c          	mov    0xc(%esp),%edx
4e27f8:	89 50 18             	mov    %edx,0x18(%eax)
4e27fb:	ba 01 00 00 00       	mov    $0x1,%edx
4e2800:	8b 04 24             	mov    (%esp),%eax
4e2803:	8b 08                	mov    (%eax),%ecx
4e2805:	ff 51 04             	call   *0x4(%ecx)
4e2808:	8b 04 24             	mov    (%esp),%eax
4e280b:	8b 50 78             	mov    0x78(%eax),%edx
4e280e:	52                   	push   %edx
4e280f:	ba 01 00 00 00       	mov    $0x1,%edx
4e2814:	8b 44 24 04          	mov    0x4(%esp),%eax
4e2818:	8b 4c 24 10          	mov    0x10(%esp),%ecx
4e281c:	8b 58 04             	mov    0x4(%eax),%ebx
4e281f:	ff 53 08             	call   *0x8(%ebx)
4e2822:	89 44 24 08          	mov    %eax,0x8(%esp)
4e2826:	33 d2                	xor    %edx,%edx
4e2828:	8b 44 24 0c          	mov    0xc(%esp),%eax
4e282c:	89 44 24 1c          	mov    %eax,0x1c(%esp)
4e2830:	89 54 24 10          	mov    %edx,0x10(%esp)
4e2834:	8b 4c 24 08          	mov    0x8(%esp),%ecx
4e2838:	8b c1                	mov    %ecx,%eax
4e283a:	89 44 24 2c          	mov    %eax,0x2c(%esp)
4e283e:	8b 54 24 04          	mov    0x4(%esp),%edx
4e2842:	8d 4a 20             	lea    0x20(%edx),%ecx
4e2845:	89 4c 24 20          	mov    %ecx,0x20(%esp)
4e2849:	e9 ad 00 00 00       	jmp    0x4e28fb
4e284e:	8b 44 24 20          	mov    0x20(%esp),%eax
4e2852:	8b 10                	mov    (%eax),%edx
4e2854:	89 54 24 18          	mov    %edx,0x18(%esp)
4e2858:	8b 44 24 1c          	mov    0x1c(%esp),%eax
4e285c:	99                   	cltd
4e285d:	f7 7c 24 18          	idivl  0x18(%esp)
4e2861:	8b f0                	mov    %eax,%esi
4e2863:	33 c0                	xor    %eax,%eax
4e2865:	89 44 24 14          	mov    %eax,0x14(%esp)
4e2869:	8b 54 24 2c          	mov    0x2c(%esp),%edx
4e286d:	8b ca                	mov    %edx,%ecx
4e286f:	89 4c 24 28          	mov    %ecx,0x28(%esp)
4e2873:	8b 44 24 14          	mov    0x14(%esp),%eax
4e2877:	8b 54 24 18          	mov    0x18(%esp),%edx
4e287b:	3b c2                	cmp    %edx,%eax
4e287d:	7d 6a                	jge    0x4e28e9
4e287f:	8b 4c 24 18          	mov    0x18(%esp),%ecx
4e2883:	49                   	dec    %ecx
4e2884:	51                   	push   %ecx
4e2885:	8b 4c 24 18          	mov    0x18(%esp),%ecx
4e2889:	8b 54 24 14          	mov    0x14(%esp),%edx
4e288d:	8b 44 24 04          	mov    0x4(%esp),%eax
4e2891:	e8 8e fe ff ff       	call   0x4e2724
4e2896:	8b f8                	mov    %eax,%edi
4e2898:	8b 4c 24 14          	mov    0x14(%esp),%ecx
4e289c:	0f af ce             	imul   %esi,%ecx
4e289f:	8b 44 24 28          	mov    0x28(%esp),%eax
4e28a3:	8b d0                	mov    %eax,%edx
4e28a5:	89 54 24 24          	mov    %edx,0x24(%esp)
4e28a9:	8b 44 24 0c          	mov    0xc(%esp),%eax
4e28ad:	3b c8                	cmp    %eax,%ecx
4e28af:	7d 28                	jge    0x4e28d9
4e28b1:	33 c0                	xor    %eax,%eax
4e28b3:	8b 54 24 24          	mov    0x24(%esp),%edx
4e28b7:	3b f0                	cmp    %eax,%esi
4e28b9:	7e 12                	jle    0x4e28cd
4e28bb:	8b 1a                	mov    (%edx),%ebx
4e28bd:	03 d9                	add    %ecx,%ebx
4e28bf:	03 d8                	add    %eax,%ebx
4e28c1:	40                   	inc    %eax
4e28c2:	53                   	push   %ebx
4e28c3:	8b df                	mov    %edi,%ebx
4e28c5:	5d                   	pop    %ebp
4e28c6:	3b f0                	cmp    %eax,%esi
4e28c8:	88 5d 00             	mov    %bl,0x0(%ebp)
4e28cb:	7f ee                	jg     0x4e28bb
4e28cd:	03 4c 24 1c          	add    0x1c(%esp),%ecx
4e28d1:	8b 44 24 0c          	mov    0xc(%esp),%eax
4e28d5:	3b c8                	cmp    %eax,%ecx
4e28d7:	7c d8                	jl     0x4e28b1
4e28d9:	ff 44 24 14          	incl   0x14(%esp)
4e28dd:	8b 54 24 14          	mov    0x14(%esp),%edx
4e28e1:	8b 4c 24 18          	mov    0x18(%esp),%ecx
4e28e5:	3b d1                	cmp    %ecx,%edx
4e28e7:	7c 96                	jl     0x4e287f
4e28e9:	89 74 24 1c          	mov    %esi,0x1c(%esp)
4e28ed:	ff 44 24 10          	incl   0x10(%esp)
4e28f1:	83 44 24 2c 04       	addl   $0x4,0x2c(%esp)
4e28f6:	83 44 24 20 04       	addl   $0x4,0x20(%esp)
4e28fb:	8b 04 24             	mov    (%esp),%eax
4e28fe:	8b 50 78             	mov    0x78(%eax),%edx
4e2901:	8b 4c 24 10          	mov    0x10(%esp),%ecx
4e2905:	3b d1                	cmp    %ecx,%edx
4e2907:	0f 8f 41 ff ff ff    	jg     0x4e284e
4e290d:	8b 44 24 04          	mov    0x4(%esp),%eax
4e2911:	8b 54 24 08          	mov    0x8(%esp),%edx
4e2915:	89 50 10             	mov    %edx,0x10(%eax)
4e2918:	8b 4c 24 04          	mov    0x4(%esp),%ecx
4e291c:	8b 44 24 0c          	mov    0xc(%esp),%eax
4e2920:	89 41 14             	mov    %eax,0x14(%ecx)
4e2923:	83 c4 30             	add    $0x30,%esp
4e2926:	5d                   	pop    %ebp
4e2927:	5f                   	pop    %edi
4e2928:	5e                   	pop    %esi
4e2929:	5b                   	pop    %ebx
4e292a:	c3                   	ret
4e292b:	90                   	nop
4e292c:	53                   	push   %ebx
4e292d:	56                   	push   %esi
4e292e:	57                   	push   %edi
4e292f:	83 c4 e0             	add    $0xffffffe0,%esp
4e2932:	89 04 24             	mov    %eax,(%esp)
4e2935:	8b 04 24             	mov    (%esp),%eax
4e2938:	8b 90 cc 01 00 00    	mov    0x1cc(%eax),%edx
4e293e:	89 54 24 04          	mov    %edx,0x4(%esp)
4e2942:	8b 0c 24             	mov    (%esp),%ecx
4e2945:	8b 41 58             	mov    0x58(%ecx),%eax
4e2948:	48                   	dec    %eax
4e2949:	75 15                	jne    0x4e2960
4e294b:	c7 44 24 14 fe 01 00 	movl   $0x1fe,0x14(%esp)
4e2952:	00
4e2953:	8b 54 24 04          	mov    0x4(%esp),%edx
4e2957:	c7 42 1c 01 00 00 00 	movl   $0x1,0x1c(%edx)
4e295e:	eb 0f                	jmp    0x4e296f
4e2960:	33 c9                	xor    %ecx,%ecx
4e2962:	89 4c 24 14          	mov    %ecx,0x14(%esp)
4e2966:	8b 44 24 04          	mov    0x4(%esp),%eax
4e296a:	33 d2                	xor    %edx,%edx
4e296c:	89 50 1c             	mov    %edx,0x1c(%eax)
4e296f:	8b 0c 24             	mov    (%esp),%ecx
4e2972:	ba 01 00 00 00       	mov    $0x1,%edx
4e2977:	8b 41 78             	mov    0x78(%ecx),%eax
4e297a:	50                   	push   %eax
4e297b:	8b 44 24 04          	mov    0x4(%esp),%eax
4e297f:	8b 4c 24 18          	mov    0x18(%esp),%ecx
4e2983:	81 c1 00 01 00 00    	add    $0x100,%ecx
4e2989:	8b 58 04             	mov    0x4(%eax),%ebx
4e298c:	ff 53 08             	call   *0x8(%ebx)
4e298f:	8b 54 24 04          	mov    0x4(%esp),%edx
4e2993:	89 42 18             	mov    %eax,0x18(%edx)
4e2996:	8b 44 24 04          	mov    0x4(%esp),%eax
4e299a:	8b 48 14             	mov    0x14(%eax),%ecx
4e299d:	89 4c 24 10          	mov    %ecx,0x10(%esp)
4e29a1:	33 ff                	xor    %edi,%edi
4e29a3:	8b 44 24 04          	mov    0x4(%esp),%eax
4e29a7:	8d 50 20             	lea    0x20(%eax),%edx
4e29aa:	89 54 24 18          	mov    %edx,0x18(%esp)
4e29ae:	e9 d6 00 00 00       	jmp    0x4e2a89
4e29b3:	8b 4c 24 18          	mov    0x18(%esp),%ecx
4e29b7:	8b 01                	mov    (%ecx),%eax
4e29b9:	89 44 24 0c          	mov    %eax,0xc(%esp)
4e29bd:	8b 44 24 10          	mov    0x10(%esp),%eax
4e29c1:	99                   	cltd
4e29c2:	f7 7c 24 0c          	idivl  0xc(%esp)
4e29c6:	89 44 24 10          	mov    %eax,0x10(%esp)
4e29ca:	8b 4c 24 14          	mov    0x14(%esp),%ecx
4e29ce:	85 c9                	test   %ecx,%ecx
4e29d0:	74 0e                	je     0x4e29e0
4e29d2:	8b 44 24 04          	mov    0x4(%esp),%eax
4e29d6:	8b 50 18             	mov    0x18(%eax),%edx
4e29d9:	81 04 ba ff 00 00 00 	addl   $0xff,(%edx,%edi,4)
4e29e0:	8b 4c 24 04          	mov    0x4(%esp),%ecx
4e29e4:	33 f6                	xor    %esi,%esi
4e29e6:	8b 41 18             	mov    0x18(%ecx),%eax
4e29e9:	8b 14 b8             	mov    (%eax,%edi,4),%edx
4e29ec:	89 54 24 08          	mov    %edx,0x8(%esp)
4e29f0:	8b d7                	mov    %edi,%edx
4e29f2:	8b 44 24 0c          	mov    0xc(%esp),%eax
4e29f6:	48                   	dec    %eax
4e29f7:	33 c9                	xor    %ecx,%ecx
4e29f9:	50                   	push   %eax
4e29fa:	8b 44 24 04          	mov    0x4(%esp),%eax
4e29fe:	e8 45 fd ff ff       	call   0x4e2748
4e2a03:	33 db                	xor    %ebx,%ebx
4e2a05:	8b 54 24 08          	mov    0x8(%esp),%edx
4e2a09:	8b ca                	mov    %edx,%ecx
4e2a0b:	89 4c 24 1c          	mov    %ecx,0x1c(%esp)
4e2a0f:	3b c3                	cmp    %ebx,%eax
4e2a11:	7d 18                	jge    0x4e2a2b
4e2a13:	8b 44 24 0c          	mov    0xc(%esp),%eax
4e2a17:	8b d7                	mov    %edi,%edx
4e2a19:	48                   	dec    %eax
4e2a1a:	46                   	inc    %esi
4e2a1b:	50                   	push   %eax
4e2a1c:	8b ce                	mov    %esi,%ecx
4e2a1e:	8b 44 24 04          	mov    0x4(%esp),%eax
4e2a22:	e8 21 fd ff ff       	call   0x4e2748
4e2a27:	3b c3                	cmp    %ebx,%eax
4e2a29:	7c e8                	jl     0x4e2a13
4e2a2b:	8b d6                	mov    %esi,%edx
4e2a2d:	8b 4c 24 1c          	mov    0x1c(%esp),%ecx
4e2a31:	0f af 54 24 10       	imul   0x10(%esp),%edx
4e2a36:	88 11                	mov    %dl,(%ecx)
4e2a38:	43                   	inc    %ebx
4e2a39:	ff 44 24 1c          	incl   0x1c(%esp)
4e2a3d:	81 fb ff 00 00 00    	cmp    $0xff,%ebx
4e2a43:	7e ca                	jle    0x4e2a0f
4e2a45:	8b 44 24 14          	mov    0x14(%esp),%eax
4e2a49:	85 c0                	test   %eax,%eax
4e2a4b:	74 36                	je     0x4e2a83
4e2a4d:	bb 01 00 00 00       	mov    $0x1,%ebx
4e2a52:	8b 44 24 08          	mov    0x8(%esp),%eax
4e2a56:	05 00 01 00 00       	add    $0x100,%eax
4e2a5b:	8b d3                	mov    %ebx,%edx
4e2a5d:	8b 4c 24 08          	mov    0x8(%esp),%ecx
4e2a61:	f7 da                	neg    %edx
4e2a63:	03 ca                	add    %edx,%ecx
4e2a65:	8b 54 24 08          	mov    0x8(%esp),%edx
4e2a69:	43                   	inc    %ebx
4e2a6a:	8a 12                	mov    (%edx),%dl
4e2a6c:	88 11                	mov    %dl,(%ecx)
4e2a6e:	8b 4c 24 08          	mov    0x8(%esp),%ecx
4e2a72:	8a 91 ff 00 00 00    	mov    0xff(%ecx),%dl
4e2a78:	88 10                	mov    %dl,(%eax)
4e2a7a:	40                   	inc    %eax
4e2a7b:	81 fb ff 00 00 00    	cmp    $0xff,%ebx
4e2a81:	7e d8                	jle    0x4e2a5b
4e2a83:	47                   	inc    %edi
4e2a84:	83 44 24 18 04       	addl   $0x4,0x18(%esp)
4e2a89:	8b 04 24             	mov    (%esp),%eax
4e2a8c:	8b 48 78             	mov    0x78(%eax),%ecx
4e2a8f:	3b f9                	cmp    %ecx,%edi
4e2a91:	0f 8c 1c ff ff ff    	jl     0x4e29b3
4e2a97:	83 c4 20             	add    $0x20,%esp
4e2a9a:	5f                   	pop    %edi
4e2a9b:	5e                   	pop    %esi
4e2a9c:	5b                   	pop    %ebx
4e2a9d:	c3                   	ret
4e2a9e:	90                   	nop
4e2a9f:	90                   	nop
4e2aa0:	53                   	push   %ebx
4e2aa1:	56                   	push   %esi
4e2aa2:	57                   	push   %edi
4e2aa3:	55                   	push   %ebp
4e2aa4:	8b 70 04             	mov    0x4(%eax),%esi
4e2aa7:	8b da                	mov    %edx,%ebx
4e2aa9:	ba 01 00 00 00       	mov    $0x1,%edx
4e2aae:	83 c4 f0             	add    $0xfffffff0,%esp
4e2ab1:	b9 00 04 00 00       	mov    $0x400,%ecx
4e2ab6:	ff 16                	call   *(%esi)
4e2ab8:	89 04 24             	mov    %eax,(%esp)
4e2abb:	8b eb                	mov    %ebx,%ebp
4e2abd:	c1 e5 09             	shl    $0x9,%ebp
4e2ac0:	81 c5 00 fe ff ff    	add    $0xfffffe00,%ebp
4e2ac6:	33 c0                	xor    %eax,%eax
4e2ac8:	89 44 24 04          	mov    %eax,0x4(%esp)
4e2acc:	c7 44 24 0c 64 cd 68 	movl   $0x68cd64,0xc(%esp)
4e2ad3:	00
4e2ad4:	8b 14 24             	mov    (%esp),%edx
4e2ad7:	8b ca                	mov    %edx,%ecx
4e2ad9:	89 4c 24 08          	mov    %ecx,0x8(%esp)
4e2add:	33 ff                	xor    %edi,%edi
4e2adf:	8b 44 24 08          	mov    0x8(%esp),%eax
4e2ae3:	8b f0                	mov    %eax,%esi
4e2ae5:	8b 44 24 0c          	mov    0xc(%esp),%eax
4e2ae9:	8b d8                	mov    %eax,%ebx
4e2aeb:	33 c0                	xor    %eax,%eax
4e2aed:	8a 03                	mov    (%ebx),%al
4e2aef:	03 c0                	add    %eax,%eax
4e2af1:	ba ff 00 00 00       	mov    $0xff,%edx
4e2af6:	2b d0                	sub    %eax,%edx
4e2af8:	8b ca                	mov    %edx,%ecx
4e2afa:	c1 e1 08             	shl    $0x8,%ecx
4e2afd:	2b ca                	sub    %edx,%ecx
4e2aff:	85 c9                	test   %ecx,%ecx
4e2b01:	7d 0b                	jge    0x4e2b0e
4e2b03:	8b c1                	mov    %ecx,%eax
4e2b05:	f7 d8                	neg    %eax