4d860f:	83 e8 04             	sub    $0x4,%eax
4d8612:	0f 84 f9 00 00 00    	je     0x4d8711
4d8618:	83 e8 10             	sub    $0x10,%eax
4d861b:	0f 84 3f 01 00 00    	je     0x4d8760
4d8621:	e9 56 01 00 00       	jmp    0x4d877c
4d8626:	c6 85 4b ff ff ff 01 	movb   $0x1,-0xb5(%ebp)
4d862d:	c6 45 89 01          	movb   $0x1,-0x77(%ebp)
4d8631:	8b c6                	mov    %esi,%eax
4d8633:	8b 10                	mov    (%eax),%edx
4d8635:	ff 52 0c             	call   *0xc(%edx)
4d8638:	85 c0                	test   %eax,%eax
4d863a:	79 03                	jns    0x4d863f
4d863c:	83 c0 07             	add    $0x7,%eax
4d863f:	c1 f8 03             	sar    $0x3,%eax
4d8642:	66 89 45 8a          	mov    %ax,-0x76(%ebp)
4d8646:	8b c6                	mov    %esi,%eax
4d8648:	8b 10                	mov    (%eax),%edx
4d864a:	ff 52 0c             	call   *0xc(%edx)
4d864d:	25 07 00 00 80       	and    $0x80000007,%eax
4d8652:	79 05                	jns    0x4d8659
4d8654:	48                   	dec    %eax
4d8655:	83 c8 f8             	or     $0xfffffff8,%eax
4d8658:	40                   	inc    %eax
4d8659:	85 c0                	test   %eax,%eax
4d865b:	74 04                	je     0x4d8661
4d865d:	66 ff 45 8a          	incw   -0x76(%ebp)
4d8661:	66 8b 45 f0          	mov    -0x10(%ebp),%ax
4d8665:	66 89 85 58 ff ff ff 	mov    %ax,-0xa8(%ebp)
4d866c:	8a 45 f2             	mov    -0xe(%ebp),%al
4d866f:	88 85 5a ff ff ff    	mov    %al,-0xa6(%ebp)
4d8675:	66 8b 45 ed          	mov    -0x13(%ebp),%ax
4d8679:	66 89 85 5b ff ff ff 	mov    %ax,-0xa5(%ebp)
4d8680:	8a 45 ef             	mov    -0x11(%ebp),%al
4d8683:	88 85 5d ff ff ff    	mov    %al,-0xa3(%ebp)
4d8689:	8d 85 58 ff ff ff    	lea    -0xa8(%ebp),%eax
4d868f:	b9 02 00 00 00       	mov    $0x2,%ecx
4d8694:	ba 0f 00 00 00       	mov    $0xf,%edx
4d8699:	e8 2a 93 0d 00       	call   0x5b19c8
4d869e:	e9 d9 00 00 00       	jmp    0x4d877c
4d86a3:	c6 85 4b ff ff ff 04 	movb   $0x4,-0xb5(%ebp)
4d86aa:	c6 45 89 01          	movb   $0x1,-0x77(%ebp)
4d86ae:	8b c6                	mov    %esi,%eax
4d86b0:	8b 10                	mov    (%eax),%edx
4d86b2:	ff 52 0c             	call   *0xc(%edx)
4d86b5:	d1 f8                	sar    $1,%eax
4d86b7:	79 03                	jns    0x4d86bc
4d86b9:	83 d0 00             	adc    $0x0,%eax
4d86bc:	66 89 45 8a          	mov    %ax,-0x76(%ebp)
4d86c0:	8b c6                	mov    %esi,%eax
4d86c2:	8b 10                	mov    (%eax),%edx
4d86c4:	ff 52 0c             	call   *0xc(%edx)
4d86c7:	25 01 00 00 80       	and    $0x80000001,%eax
4d86cc:	79 05                	jns    0x4d86d3
4d86ce:	48                   	dec    %eax
4d86cf:	83 c8 fe             	or     $0xfffffffe,%eax
4d86d2:	40                   	inc    %eax
4d86d3:	85 c0                	test   %eax,%eax
4d86d5:	74 04                	je     0x4d86db
4d86d7:	66 ff 45 8a          	incw   -0x76(%ebp)
4d86db:	8d 85 58 ff ff ff    	lea    -0xa8(%ebp),%eax
4d86e1:	50                   	push   %eax
4d86e2:	6a 0f                	push   $0xf
4d86e4:	57                   	push   %edi
4d86e5:	6a ff                	push   $0xffffffff
4d86e7:	6a 00                	push   $0x0
4d86e9:	8b ce                	mov    %esi,%ecx
4d86eb:	b2 01                	mov    $0x1,%dl
4d86ed:	a1 08 ee 53 00       	mov    0x53ee08,%eax
4d86f2:	e8 6d 72 06 00       	call   0x53f964
4d86f7:	89 45 f8             	mov    %eax,-0x8(%ebp)
4d86fa:	8d 85 58 ff ff ff    	lea    -0xa8(%ebp),%eax
4d8700:	b9 10 00 00 00       	mov    $0x10,%ecx
4d8705:	ba 0f 00 00 00       	mov    $0xf,%edx
4d870a:	e8 b9 92 0d 00       	call   0x5b19c8
4d870f:	eb 6b                	jmp    0x4d877c
4d8711:	c6 85 4b ff ff ff 08 	movb   $0x8,-0xb5(%ebp)
4d8718:	c6 45 89 01          	movb   $0x1,-0x77(%ebp)
4d871c:	8b c6                	mov    %esi,%eax
4d871e:	8b 10                	mov    (%eax),%edx
4d8720:	ff 52 0c             	call   *0xc(%edx)
4d8723:	66 89 45 8a          	mov    %ax,-0x76(%ebp)
4d8727:	8d 85 48 fc ff ff    	lea    -0x3b8(%ebp),%eax
4d872d:	50                   	push   %eax
4d872e:	68 ff 00 00 00       	push   $0xff
4d8733:	57                   	push   %edi
4d8734:	6a ff                	push   $0xffffffff
4d8736:	6a 00                	push   $0x0
4d8738:	8b ce                	mov    %esi,%ecx
4d873a:	b2 01                	mov    $0x1,%dl
4d873c:	a1 08 ee 53 00       	mov    0x53ee08,%eax
4d8741:	e8 1e 72 06 00       	call   0x53f964
4d8746:	89 45 f8             	mov    %eax,-0x8(%ebp)
4d8749:	8d 85 48 fc ff ff    	lea    -0x3b8(%ebp),%eax
4d874f:	b9 00 01 00 00       	mov    $0x100,%ecx
4d8754:	ba ff 00 00 00       	mov    $0xff,%edx
4d8759:	e8 6a 92 0d 00       	call   0x5b19c8
4d875e:	eb 1c                	jmp    0x4d877c
4d8760:	c6 85 4b ff ff ff 08 	movb   $0x8,-0xb5(%ebp)
4d8767:	c6 45 89 03          	movb   $0x3,-0x77(%ebp)
4d876b:	8b c6                	mov    %esi,%eax
4d876d:	8b 10                	mov    (%eax),%edx
4d876f:	ff 52 0c             	call   *0xc(%edx)
4d8772:	66 89 45 8a          	mov    %ax,-0x76(%ebp)
4d8776:	66 c7 45 8c 00 00    	movw   $0x0,-0x74(%ebp)
4d877c:	f6 45 8a 01          	testb  $0x1,-0x76(%ebp)
4d8780:	74 04                	je     0x4d8786
4d8782:	66 ff 45 8a          	incw   -0x76(%ebp)
4d8786:	68 80 00 00 00       	push   $0x80
4d878b:	8d 8d 48 ff ff ff    	lea    -0xb8(%ebp),%ecx
4d8791:	8b 55 08             	mov    0x8(%ebp),%edx
4d8794:	8b 52 28             	mov    0x28(%edx),%edx
4d8797:	8b 45 fc             	mov    -0x4(%ebp),%eax
4d879a:	e8 5d d7 11 00       	call   0x5f5efc
4d879f:	8b c6                	mov    %esi,%eax
4d87a1:	8b 10                	mov    (%eax),%edx
4d87a3:	ff 52 0c             	call   *0xc(%edx)
4d87a6:	8d 04 40             	lea    (%eax,%eax,2),%eax
4d87a9:	83 c0 08             	add    $0x8,%eax
4d87ac:	e8 fb 9f f2 ff       	call   0x4027ac
4d87b1:	89 45 dc             	mov    %eax,-0x24(%ebp)
4d87b4:	8b c6                	mov    %esi,%eax
4d87b6:	8b 10                	mov    (%eax),%edx
4d87b8:	ff 52 0c             	call   *0xc(%edx)
4d87bb:	83 c0 08             	add    $0x8,%eax
4d87be:	e8 e9 9f f2 ff       	call   0x4027ac
4d87c3:	89 45 d8             	mov    %eax,-0x28(%ebp)
4d87c6:	8b c6                	mov    %esi,%eax
4d87c8:	8b 10                	mov    (%eax),%edx
4d87ca:	ff 52 08             	call   *0x8(%edx)
4d87cd:	89 85 14 fc ff ff    	mov    %eax,-0x3ec(%ebp)
4d87d3:	db 85 14 fc ff ff    	fildl  -0x3ec(%ebp)
4d87d9:	d8 3d 08 8b 4d 00    	fdivrs 0x4d8b08
4d87df:	8b 45 08             	mov    0x8(%ebp),%eax
4d87e2:	dd 58 18             	fstpl  0x18(%eax)
4d87e5:	9b                   	fwait
4d87e6:	8b c6                	mov    %esi,%eax
4d87e8:	8b 10                	mov    (%eax),%edx
4d87ea:	ff 52 08             	call   *0x8(%edx)
4d87ed:	8b d8                	mov    %eax,%ebx
4d87ef:	4b                   	dec    %ebx
4d87f0:	8b c6                	mov    %esi,%eax
4d87f2:	8b 10                	mov    (%eax),%edx
4d87f4:	ff 52 0c             	call   *0xc(%edx)
4d87f7:	48                   	dec    %eax
4d87f8:	89 45 d0             	mov    %eax,-0x30(%ebp)
4d87fb:	85 db                	test   %ebx,%ebx
4d87fd:	0f 8c 90 02 00 00    	jl     0x4d8a93
4d8803:	43                   	inc    %ebx
4d8804:	89 5d c8             	mov    %ebx,-0x38(%ebp)
4d8807:	c7 45 e4 00 00 00 00 	movl   $0x0,-0x1c(%ebp)
4d880e:	8b 45 08             	mov    0x8(%ebp),%eax
4d8811:	66 83 78 02 00       	cmpw   $0x0,0x2(%eax)
4d8816:	74 1e                	je     0x4d8836
4d8818:	db 45 e4             	fildl  -0x1c(%ebp)
4d881b:	8b 45 08             	mov    0x8(%ebp),%eax
4d881e:	dc 48 18             	fmull  0x18(%eax)
4d8821:	e8 a6 a4 f2 ff       	call   0x402ccc
4d8826:	8b c8                	mov    %eax,%ecx
4d8828:	8b 5d 08             	mov    0x8(%ebp),%ebx
4d882b:	8b 55 08             	mov    0x8(%ebp),%edx
4d882e:	8b 52 08             	mov    0x8(%edx),%edx
4d8831:	8b 43 04             	mov    0x4(%ebx),%eax
4d8834:	ff 13                	call   *(%ebx)
4d8836:	8b 45 08             	mov    0x8(%ebp),%eax
4d8839:	8b 40 28             	mov    0x28(%eax),%eax
4d883c:	80 38 00             	cmpb   $0x0,(%eax)
4d883f:	0f 85 4e 02 00 00    	jne    0x4d8a93
4d8845:	8b 55 e4             	mov    -0x1c(%ebp),%edx
4d8848:	8b c6                	mov    %esi,%eax
4d884a:	8b 08                	mov    (%eax),%ecx
4d884c:	ff 11                	call   *(%ecx)
4d884e:	89 45 e8             	mov    %eax,-0x18(%ebp)
4d8851:	8b 45 f4             	mov    -0xc(%ebp),%eax
4d8854:	48                   	dec    %eax
4d8855:	0f 84 c4 01 00 00    	je     0x4d8a1f
4d885b:	83 e8 03             	sub    $0x3,%eax
4d885e:	0f 84 ff 00 00 00    	je     0x4d8963
4d8864:	83 e8 04             	sub    $0x4,%eax
4d8867:	74 79                	je     0x4d88e2
4d8869:	83 e8 10             	sub    $0x10,%eax
4d886c:	0f 85 15 02 00 00    	jne    0x4d8a87
4d8872:	c7 45 d4 02 00 00 00 	movl   $0x2,-0x2c(%ebp)
4d8879:	80 bd 4a ff ff ff 01 	cmpb   $0x1,-0xb6(%ebp)
4d8880:	75 1c                	jne    0x4d889e
4d8882:	8b 45 d4             	mov    -0x2c(%ebp),%eax
4d8885:	50                   	push   %eax
4d8886:	6a 03                	push   $0x3
4d8888:	8b c6                	mov    %esi,%eax
4d888a:	8b 10                	mov    (%eax),%edx
4d888c:	ff 52 0c             	call   *0xc(%edx)
4d888f:	8b c8                	mov    %eax,%ecx
4d8891:	8b 55 e8             	mov    -0x18(%ebp),%edx
4d8894:	8b 45 dc             	mov    -0x24(%ebp),%eax
4d8897:	e8 48 fb ff ff       	call   0x4d83e4
4d889c:	eb 24                	jmp    0x4d88c2
4d889e:	8b 5d d0             	mov    -0x30(%ebp),%ebx
4d88a1:	85 db                	test   %ebx,%ebx
4d88a3:	7c 19                	jl     0x4d88be
4d88a5:	43                   	inc    %ebx
4d88a6:	33 ff                	xor    %edi,%edi
4d88a8:	8d 04 7f             	lea    (%edi,%edi,2),%eax
4d88ab:	03 45 d4             	add    -0x2c(%ebp),%eax
4d88ae:	8b 55 e8             	mov    -0x18(%ebp),%edx
4d88b1:	8a 04 02             	mov    (%edx,%eax,1),%al
4d88b4:	8b 55 dc             	mov    -0x24(%ebp),%edx
4d88b7:	88 04 3a             	mov    %al,(%edx,%edi,1)
4d88ba:	47                   	inc    %edi
4d88bb:	4b                   	dec    %ebx
4d88bc:	75 ea                	jne    0x4d88a8
4d88be:	0f b7 45 8a          	movzwl -0x76(%ebp),%eax
4d88c2:	50                   	push   %eax
4d88c3:	8b 4d dc             	mov    -0x24(%ebp),%ecx
4d88c6:	8b 55 08             	mov    0x8(%ebp),%edx
4d88c9:	8b 52 28             	mov    0x28(%edx),%edx
4d88cc:	8b 45 fc             	mov    -0x4(%ebp),%eax
4d88cf:	e8 28 d6 11 00       	call   0x5f5efc
4d88d4:	ff 4d d4             	decl   -0x2c(%ebp)
4d88d7:	83 7d d4 ff          	cmpl   $0xffffffff,-0x2c(%ebp)
4d88db:	75 9c                	jne    0x4d8879
4d88dd:	e9 a5 01 00 00       	jmp    0x4d8a87
4d88e2:	8b 5d d0             	mov    -0x30(%ebp),%ebx
4d88e5:	85 db                	test   %ebx,%ebx
4d88e7:	7c 27                	jl     0x4d8910
4d88e9:	43                   	inc    %ebx
4d88ea:	33 ff                	xor    %edi,%edi
4d88ec:	8d 04 7f             	lea    (%edi,%edi,2),%eax
4d88ef:	8b 55 e8             	mov    -0x18(%ebp),%edx
4d88f2:	8a 4c 02 02          	mov    0x2(%edx,%eax,1),%cl
4d88f6:	c1 e1 10             	shl    $0x10,%ecx
4d88f9:	66 8b 0c 02          	mov    (%edx,%eax,1),%cx
4d88fd:	51                   	push   %ecx
4d88fe:	8b 45 f8             	mov    -0x8(%ebp),%eax
4d8901:	e8 9a 72 06 00       	call   0x53fba0
4d8906:	8b 55 d8             	mov    -0x28(%ebp),%edx
4d8909:	88 04 3a             	mov    %al,(%edx,%edi,1)
4d890c:	47                   	inc    %edi
4d890d:	4b                   	dec    %ebx
4d890e:	75 dc                	jne    0x4d88ec
4d8910:	80 bd 4a ff ff ff 01 	cmpb   $0x1,-0xb6(%ebp)
4d8917:	75 2f                	jne    0x4d8948
4d8919:	6a 00                	push   $0x0
4d891b:	6a 01                	push   $0x1
4d891d:	8b c6                	mov    %esi,%eax
4d891f:	8b 10                	mov    (%eax),%edx
4d8921:	ff 52 0c             	call   *0xc(%edx)
4d8924:	8b c8                	mov    %eax,%ecx
4d8926:	8b 55 d8             	mov    -0x28(%ebp),%edx
4d8929:	8b 45 dc             	mov    -0x24(%ebp),%eax
4d892c:	e8 b3 fa ff ff       	call   0x4d83e4
4d8931:	50                   	push   %eax
4d8932:	8b 4d dc             	mov    -0x24(%ebp),%ecx
4d8935:	8b 55 08             	mov    0x8(%ebp),%edx
4d8938:	8b 52 28             	mov    0x28(%edx),%edx
4d893b:	8b 45 fc             	mov    -0x4(%ebp),%eax
4d893e:	e8 b9 d5 11 00       	call   0x5f5efc
4d8943:	e9 3f 01 00 00       	jmp    0x4d8a87
4d8948:	0f b7 45 8a          	movzwl -0x76(%ebp),%eax
4d894c:	50                   	push   %eax
4d894d:	8b 4d d8             	mov    -0x28(%ebp),%ecx
4d8950:	8b 55 08             	mov    0x8(%ebp),%edx
4d8953:	8b 52 28             	mov    0x28(%edx),%edx
4d8956:	8b 45 fc             	mov    -0x4(%ebp),%eax
4d8959:	e8 9e d5 11 00       	call   0x5f5efc
4d895e:	e9 24 01 00 00       	jmp    0x4d8a87
4d8963:	33 ff                	xor    %edi,%edi
4d8965:	33 c0                	xor    %eax,%eax
4d8967:	89 45 e0             	mov    %eax,-0x20(%ebp)
4d896a:	eb 5e                	jmp    0x4d89ca
4d896c:	8d 04 7f             	lea    (%edi,%edi,2),%eax
4d896f:	8b 55 e8             	mov    -0x18(%ebp),%edx
4d8972:	8a 4c 02 02          	mov    0x2(%edx,%eax,1),%cl
4d8976:	c1 e1 10             	shl    $0x10,%ecx
4d8979:	66 8b 0c 02          	mov    (%edx,%eax,1),%cx
4d897d:	51                   	push   %ecx
4d897e:	8b 45 f8             	mov    -0x8(%ebp),%eax
4d8981:	e8 1a 72 06 00       	call   0x53fba0
4d8986:	c1 e0 04             	shl    $0x4,%eax
4d8989:	8b 55 d8             	mov    -0x28(%ebp),%edx
4d898c:	8b 4d e0             	mov    -0x20(%ebp),%ecx
4d898f:	88 04 0a             	mov    %al,(%edx,%ecx,1)
4d8992:	47                   	inc    %edi
4d8993:	8b c6                	mov    %esi,%eax
4d8995:	8b 10                	mov    (%eax),%edx
4d8997:	ff 52 0c             	call   *0xc(%edx)
4d899a:	3b f8                	cmp    %eax,%edi
4d899c:	75 05                	jne    0x4d89a3
4d899e:	ff 45 e0             	incl   -0x20(%ebp)
4d89a1:	eb 32                	jmp    0x4d89d5
4d89a3:	8d 04 7f             	lea    (%edi,%edi,2),%eax
4d89a6:	8b 55 e8             	mov    -0x18(%ebp),%edx
4d89a9:	8a 4c 02 02          	mov    0x2(%edx,%eax,1),%cl
4d89ad:	c1 e1 10             	shl    $0x10,%ecx
4d89b0:	66 8b 0c 02          	mov    (%edx,%eax,1),%cx
4d89b4:	51                   	push   %ecx
4d89b5:	8b 45 f8             	mov    -0x8(%ebp),%eax
4d89b8:	e8 e3 71 06 00       	call   0x53fba0
4d89bd:	8b 55 d8             	mov    -0x28(%ebp),%edx
4d89c0:	8b 4d e0             	mov    -0x20(%ebp),%ecx
4d89c3:	08 04 0a             	or     %al,(%edx,%ecx,1)
4d89c6:	47                   	inc    %edi
4d89c7:	ff 45 e0             	incl   -0x20(%ebp)
4d89ca:	8b c6                	mov    %esi,%eax
4d89cc:	8b 10                	mov    (%eax),%edx
4d89ce:	ff 52 0c             	call   *0xc(%edx)
4d89d1:	3b f8                	cmp    %eax,%edi
4d89d3:	7c 97                	jl     0x4d896c
4d89d5:	80 bd 4a ff ff ff 01 	cmpb   $0x1,-0xb6(%ebp)
4d89dc:	75 29                	jne    0x4d8a07
4d89de:	6a 00                	push   $0x0
4d89e0:	6a 01                	push   $0x1
4d89e2:	8b 4d e0             	mov    -0x20(%ebp),%ecx
4d89e5:	8b 55 d8             	mov    -0x28(%ebp),%edx
4d89e8:	8b 45 dc             	mov    -0x24(%ebp),%eax
4d89eb:	e8 f4 f9 ff ff       	call   0x4d83e4
4d89f0:	50                   	push   %eax
4d89f1:	8b 4d dc             	mov    -0x24(%ebp),%ecx
4d89f4:	8b 55 08             	mov    0x8(%ebp),%edx
4d89f7:	8b 52 28             	mov    0x28(%edx),%edx
4d89fa:	8b 45 fc             	mov    -0x4(%ebp),%eax
4d89fd:	e8 fa d4 11 00       	call   0x5f5efc
4d8a02:	e9 80 00 00 00       	jmp    0x4d8a87
4d8a07:	0f b7 45 8a          	movzwl -0x76(%ebp),%eax
4d8a0b:	50                   	push   %eax
4d8a0c:	8b 4d d8             	mov    -0x28(%ebp),%ecx
4d8a0f:	8b 55 08             	mov    0x8(%ebp),%edx
4d8a12:	8b 52 28             	mov    0x28(%edx),%edx
4d8a15:	8b 45 fc             	mov    -0x4(%ebp),%eax
4d8a18:	e8 df d4 11 00       	call   0x5f5efc
4d8a1d:	eb 68                	jmp    0x4d8a87
4d8a1f:	8b c6                	mov    %esi,%eax
4d8a21:	8b 10                	mov    (%eax),%edx
4d8a23:	ff 52 0c             	call   *0xc(%edx)
4d8a26:	8b f8                	mov    %eax,%edi
4d8a28:	c1 ef 03             	shr    $0x3,%edi
4d8a2b:	8b c6                	mov    %esi,%eax
4d8a2d:	8b 10                	mov    (%eax),%edx
4d8a2f:	ff 52 0c             	call   *0xc(%edx)
4d8a32:	25 07 00 00 80       	and    $0x80000007,%eax
4d8a37:	79 05                	jns    0x4d8a3e
4d8a39:	48                   	dec    %eax
4d8a3a:	83 c8 f8             	or     $0xfffffff8,%eax
4d8a3d:	40                   	inc    %eax
4d8a3e:	85 c0                	test   %eax,%eax
4d8a40:	74 01                	je     0x4d8a43
4d8a42:	47                   	inc    %edi
4d8a43:	80 bd 4a ff ff ff 01 	cmpb   $0x1,-0xb6(%ebp)
4d8a4a:	75 25                	jne    0x4d8a71
4d8a4c:	6a 00                	push   $0x0
4d8a4e:	6a 01                	push   $0x1
4d8a50:	8b cf                	mov    %edi,%ecx