47fdc6:	dd 1c 24             	fstpl  (%esp)
47fdc9:	6a 17                	push   $0x17
47fdcb:	6a 08                	push   $0x8
47fdcd:	eb 44                	jmp    0x47fe13
47fdcf:	53                   	push   %ebx
47fdd0:	57                   	push   %edi
47fdd1:	e8 54 a6 00 00       	call   0x48a42a
47fdd6:	dd 45 08             	fldl   0x8(%ebp)
47fdd9:	59                   	pop    %ecx
47fdda:	59                   	pop    %ecx
47fddb:	eb 5e                	jmp    0x47fe3b
47fddd:	d9 ee                	fldz
47fddf:	dd e9                	fucomp %st(1)
47fde1:	df e0                	fnstsw %ax
47fde3:	f6 c4 44             	test   $0x44,%ah
47fde6:	7a 38                	jp     0x47fe20
47fde8:	51                   	push   %ecx
47fde9:	51                   	push   %ecx
47fdea:	dd 1c 24             	fstpl  (%esp)
47fded:	e8 cb a6 00 00       	call   0x48a4bd
47fdf2:	59                   	pop    %ecx
47fdf3:	59                   	pop    %ecx
47fdf4:	85 c0                	test   %eax,%eax
47fdf6:	74 25                	je     0x47fe1d
47fdf8:	83 26 00             	andl   $0x0,(%esi)
47fdfb:	dd 05 30 28 4a 00    	fldl   0x4a2830
47fe01:	57                   	push   %edi
47fe02:	83 ec 10             	sub    $0x10,%esp
47fe05:	dd 5c 24 08          	fstpl  0x8(%esp)
47fe09:	dd 45 08             	fldl   0x8(%ebp)
47fe0c:	dd 1c 24             	fstpl  (%esp)
47fe0f:	6a 17                	push   $0x17
47fe11:	6a 00                	push   $0x0
47fe13:	e8 5f 9d 00 00       	call   0x489b77
47fe18:	83 c4 1c             	add    $0x1c,%esp
47fe1b:	eb 1e                	jmp    0x47fe3b
47fe1d:	dd 45 08             	fldl   0x8(%ebp)
47fe20:	56                   	push   %esi
47fe21:	51                   	push   %ecx
47fe22:	51                   	push   %ecx
47fe23:	dd 1c 24             	fstpl  (%esp)
47fe26:	e8 b6 9b 00 00       	call   0x4899e1
47fe2b:	53                   	push   %ebx
47fe2c:	57                   	push   %edi
47fe2d:	dd 5d f8             	fstpl  -0x8(%ebp)
47fe30:	e8 f5 a5 00 00       	call   0x48a42a
47fe35:	dd 45 f8             	fldl   -0x8(%ebp)
47fe38:	83 c4 14             	add    $0x14,%esp
47fe3b:	5f                   	pop    %edi
47fe3c:	5b                   	pop    %ebx
47fe3d:	5e                   	pop    %esi
47fe3e:	c9                   	leave
47fe3f:	c3                   	ret
47fe40:	8b ff                	mov    %edi,%edi
47fe42:	55                   	push   %ebp
47fe43:	8b ec                	mov    %esp,%ebp
47fe45:	51                   	push   %ecx
47fe46:	8b 4d 08             	mov    0x8(%ebp),%ecx
47fe49:	53                   	push   %ebx
47fe4a:	8b 5d 10             	mov    0x10(%ebp),%ebx
47fe4d:	56                   	push   %esi
47fe4e:	8b 75 14             	mov    0x14(%ebp),%esi
47fe51:	57                   	push   %edi
47fe52:	85 f6                	test   %esi,%esi
47fe54:	75 1f                	jne    0x47fe75
47fe56:	85 c9                	test   %ecx,%ecx
47fe58:	75 1f                	jne    0x47fe79
47fe5a:	39 75 0c             	cmp    %esi,0xc(%ebp)
47fe5d:	74 2a                	je     0x47fe89
47fe5f:	e8 d1 a0 ff ff       	call   0x479f35
47fe64:	6a 16                	push   $0x16
47fe66:	5e                   	pop    %esi
47fe67:	89 30                	mov    %esi,(%eax)
47fe69:	e8 b3 97 ff ff       	call   0x479621
47fe6e:	8b c6                	mov    %esi,%eax
47fe70:	5f                   	pop    %edi
47fe71:	5e                   	pop    %esi
47fe72:	5b                   	pop    %ebx
47fe73:	c9                   	leave
47fe74:	c3                   	ret
47fe75:	85 c9                	test   %ecx,%ecx
47fe77:	74 e6                	je     0x47fe5f
47fe79:	8b 45 0c             	mov    0xc(%ebp),%eax
47fe7c:	85 c0                	test   %eax,%eax
47fe7e:	74 df                	je     0x47fe5f
47fe80:	85 f6                	test   %esi,%esi
47fe82:	75 09                	jne    0x47fe8d
47fe84:	33 c0                	xor    %eax,%eax
47fe86:	66 89 01             	mov    %ax,(%ecx)
47fe89:	33 c0                	xor    %eax,%eax
47fe8b:	eb e3                	jmp    0x47fe70
47fe8d:	85 db                	test   %ebx,%ebx
47fe8f:	75 07                	jne    0x47fe98
47fe91:	33 c0                	xor    %eax,%eax
47fe93:	66 89 01             	mov    %ax,(%ecx)
47fe96:	eb c7                	jmp    0x47fe5f
47fe98:	2b d9                	sub    %ecx,%ebx
47fe9a:	89 75 fc             	mov    %esi,-0x4(%ebp)
47fe9d:	8b d1                	mov    %ecx,%edx
47fe9f:	8b f8                	mov    %eax,%edi
47fea1:	83 fe ff             	cmp    $0xffffffff,%esi
47fea4:	75 16                	jne    0x47febc
47fea6:	0f b7 04 13          	movzwl (%ebx,%edx,1),%eax
47feaa:	66 89 02             	mov    %ax,(%edx)
47fead:	8d 52 02             	lea    0x2(%edx),%edx
47feb0:	66 85 c0             	test   %ax,%ax
47feb3:	74 d4                	je     0x47fe89
47feb5:	83 ef 01             	sub    $0x1,%edi
47feb8:	75 ec                	jne    0x47fea6
47feba:	eb 26                	jmp    0x47fee2
47febc:	0f b7 04 13          	movzwl (%ebx,%edx,1),%eax
47fec0:	66 89 02             	mov    %ax,(%edx)
47fec3:	8d 52 02             	lea    0x2(%edx),%edx
47fec6:	66 85 c0             	test   %ax,%ax
47fec9:	74 be                	je     0x47fe89
47fecb:	8b 45 fc             	mov    -0x4(%ebp),%eax
47fece:	83 ef 01             	sub    $0x1,%edi
47fed1:	74 08                	je     0x47fedb
47fed3:	83 e8 01             	sub    $0x1,%eax
47fed6:	89 45 fc             	mov    %eax,-0x4(%ebp)
47fed9:	75 e1                	jne    0x47febc
47fedb:	85 c0                	test   %eax,%eax
47fedd:	75 03                	jne    0x47fee2
47fedf:	66 89 02             	mov    %ax,(%edx)
47fee2:	85 ff                	test   %edi,%edi
47fee4:	75 a3                	jne    0x47fe89
47fee6:	83 fe ff             	cmp    $0xffffffff,%esi
47fee9:	75 12                	jne    0x47fefd
47feeb:	8b 45 0c             	mov    0xc(%ebp),%eax
47feee:	33 d2                	xor    %edx,%edx
47fef0:	6a 50                	push   $0x50
47fef2:	66 89 54 41 fe       	mov    %dx,-0x2(%ecx,%eax,2)
47fef7:	58                   	pop    %eax
47fef8:	e9 73 ff ff ff       	jmp    0x47fe70
47fefd:	33 c0                	xor    %eax,%eax
47feff:	66 89 01             	mov    %ax,(%ecx)
47ff02:	e8 2e a0 ff ff       	call   0x479f35
47ff07:	6a 22                	push   $0x22
47ff09:	e9 58 ff ff ff       	jmp    0x47fe66
47ff0e:	8b ff                	mov    %edi,%edi
47ff10:	55                   	push   %ebp
47ff11:	8b ec                	mov    %esp,%ebp
47ff13:	5d                   	pop    %ebp
47ff14:	e9 27 ff ff ff       	jmp    0x47fe40
47ff19:	8b ff                	mov    %edi,%edi
47ff1b:	55                   	push   %ebp
47ff1c:	8b ec                	mov    %esp,%ebp
47ff1e:	83 ec 14             	sub    $0x14,%esp
47ff21:	56                   	push   %esi
47ff22:	8b 75 08             	mov    0x8(%ebp),%esi
47ff25:	85 f6                	test   %esi,%esi
47ff27:	75 13                	jne    0x47ff3c
47ff29:	e8 07 a0 ff ff       	call   0x479f35
47ff2e:	6a 16                	push   $0x16
47ff30:	5e                   	pop    %esi
47ff31:	89 30                	mov    %esi,(%eax)
47ff33:	e8 e9 96 ff ff       	call   0x479621
47ff38:	8b c6                	mov    %esi,%eax
47ff3a:	eb 53                	jmp    0x47ff8f
47ff3c:	57                   	push   %edi
47ff3d:	6a 09                	push   $0x9
47ff3f:	83 c8 ff             	or     $0xffffffff,%eax
47ff42:	8b fe                	mov    %esi,%edi
47ff44:	59                   	pop    %ecx
47ff45:	f3 ab                	rep stos %eax,%es:(%edi)
47ff47:	8b 7d 0c             	mov    0xc(%ebp),%edi
47ff4a:	85 ff                	test   %edi,%edi
47ff4c:	75 13                	jne    0x47ff61
47ff4e:	e8 e2 9f ff ff       	call   0x479f35
47ff53:	6a 16                	push   $0x16
47ff55:	5e                   	pop    %esi
47ff56:	89 30                	mov    %esi,(%eax)
47ff58:	e8 c4 96 ff ff       	call   0x479621
47ff5d:	8b c6                	mov    %esi,%eax
47ff5f:	eb 2d                	jmp    0x47ff8e
47ff61:	53                   	push   %ebx
47ff62:	33 db                	xor    %ebx,%ebx
47ff64:	39 5f 04             	cmp    %ebx,0x4(%edi)
47ff67:	7f 06                	jg     0x47ff6f
47ff69:	7c 16                	jl     0x47ff81
47ff6b:	39 1f                	cmp    %ebx,(%edi)
47ff6d:	72 12                	jb     0x47ff81
47ff6f:	6a 07                	push   $0x7
47ff71:	58                   	pop    %eax
47ff72:	39 47 04             	cmp    %eax,0x4(%edi)
47ff75:	7c 1b                	jl     0x47ff92
47ff77:	7f 08                	jg     0x47ff81
47ff79:	81 3f ff 2a 58 93    	cmpl   $0x93582aff,(%edi)
47ff7f:	76 11                	jbe    0x47ff92
47ff81:	e8 af 9f ff ff       	call   0x479f35
47ff86:	6a 16                	push   $0x16
47ff88:	5e                   	pop    %esi
47ff89:	89 30                	mov    %esi,(%eax)
47ff8b:	8b c6                	mov    %esi,%eax
47ff8d:	5b                   	pop    %ebx
47ff8e:	5f                   	pop    %edi
47ff8f:	5e                   	pop    %esi
47ff90:	c9                   	leave
47ff91:	c3                   	ret
47ff92:	e8 0e af 00 00       	call   0x48aea5
47ff97:	8d 45 f8             	lea    -0x8(%ebp),%eax
47ff9a:	89 5d f8             	mov    %ebx,-0x8(%ebp)
47ff9d:	50                   	push   %eax
47ff9e:	89 5d f4             	mov    %ebx,-0xc(%ebp)
47ffa1:	89 5d fc             	mov    %ebx,-0x4(%ebp)
47ffa4:	e8 7a a5 00 00       	call   0x48a523
47ffa9:	59                   	pop    %ecx
47ffaa:	85 c0                	test   %eax,%eax
47ffac:	0f 85 ed 01 00 00    	jne    0x48019f
47ffb2:	8d 45 f4             	lea    -0xc(%ebp),%eax
47ffb5:	50                   	push   %eax
47ffb6:	e8 94 a5 00 00       	call   0x48a54f
47ffbb:	59                   	pop    %ecx
47ffbc:	85 c0                	test   %eax,%eax
47ffbe:	0f 85 db 01 00 00    	jne    0x48019f
47ffc4:	8d 45 fc             	lea    -0x4(%ebp),%eax
47ffc7:	50                   	push   %eax
47ffc8:	e8 ae a5 00 00       	call   0x48a57b
47ffcd:	59                   	pop    %ecx
47ffce:	85 c0                	test   %eax,%eax
47ffd0:	0f 85 c9 01 00 00    	jne    0x48019f
47ffd6:	8b 0f                	mov    (%edi),%ecx
47ffd8:	8b d1                	mov    %ecx,%edx
47ffda:	8b 5f 04             	mov    0x4(%edi),%ebx
47ffdd:	81 c2 7f 0b fc ff    	add    $0xfffc0b7f,%edx
47ffe3:	8b c3                	mov    %ebx,%eax
47ffe5:	83 d0 ff             	adc    $0xffffffff,%eax
47ffe8:	83 f8 07             	cmp    $0x7,%eax
47ffeb:	77 6e                	ja     0x48005b
47ffed:	72 08                	jb     0x47fff7
47ffef:	81 fa fd 41 50 93    	cmp    $0x935041fd,%edx
47fff5:	77 64                	ja     0x48005b
47fff7:	8b 45 fc             	mov    -0x4(%ebp),%eax
47fffa:	99                   	cltd
47fffb:	2b c8                	sub    %eax,%ecx
47fffd:	8d 45 ec             	lea    -0x14(%ebp),%eax
480000:	50                   	push   %eax
480001:	1b da                	sbb    %edx,%ebx
480003:	89 4d ec             	mov    %ecx,-0x14(%ebp)
480006:	56                   	push   %esi
480007:	89 5d f0             	mov    %ebx,-0x10(%ebp)
48000a:	e8 97 1d 00 00       	call   0x481da6
48000f:	59                   	pop    %ecx
480010:	59                   	pop    %ecx
480011:	85 c0                	test   %eax,%eax
480013:	0f 85 74 ff ff ff    	jne    0x47ff8d
480019:	39 45 f8             	cmp    %eax,-0x8(%ebp)
48001c:	0f 84 76 01 00 00    	je     0x480198
480022:	56                   	push   %esi
480023:	e8 da ae 00 00       	call   0x48af02
480028:	59                   	pop    %ecx
480029:	85 c0                	test   %eax,%eax
48002b:	0f 84 67 01 00 00    	je     0x480198
480031:	8b 45 f4             	mov    -0xc(%ebp),%eax
480034:	99                   	cltd
480035:	29 45 ec             	sub    %eax,-0x14(%ebp)
480038:	8d 45 ec             	lea    -0x14(%ebp),%eax
48003b:	50                   	push   %eax
48003c:	19 55 f0             	sbb    %edx,-0x10(%ebp)
48003f:	56                   	push   %esi
480040:	e8 61 1d 00 00       	call   0x481da6
480045:	59                   	pop    %ecx
480046:	59                   	pop    %ecx
480047:	85 c0                	test   %eax,%eax
480049:	0f 85 3e ff ff ff    	jne    0x47ff8d
48004f:	c7 46 20 01 00 00 00 	movl   $0x1,0x20(%esi)
480056:	e9 3d 01 00 00       	jmp    0x480198
48005b:	57                   	push   %edi
48005c:	56                   	push   %esi
48005d:	e8 44 1d 00 00       	call   0x481da6
480062:	59                   	pop    %ecx
480063:	59                   	pop    %ecx
480064:	85 c0                	test   %eax,%eax
480066:	0f 85 21 ff ff ff    	jne    0x47ff8d
48006c:	83 7d f8 00          	cmpl   $0x0,-0x8(%ebp)
480070:	8b 06                	mov    (%esi),%eax
480072:	99                   	cltd
480073:	8b f8                	mov    %eax,%edi
480075:	8b da                	mov    %edx,%ebx
480077:	74 1a                	je     0x480093
480079:	56                   	push   %esi
48007a:	e8 83 ae 00 00       	call   0x48af02
48007f:	59                   	pop    %ecx
480080:	85 c0                	test   %eax,%eax
480082:	74 0f                	je     0x480093
480084:	8b 45 fc             	mov    -0x4(%ebp),%eax
480087:	03 45 f4             	add    -0xc(%ebp),%eax
48008a:	c7 46 20 01 00 00 00 	movl   $0x1,0x20(%esi)
480091:	eb 03                	jmp    0x480096
480093:	8b 45 fc             	mov    -0x4(%ebp),%eax
480096:	99                   	cltd
480097:	2b f8                	sub    %eax,%edi
480099:	6a 00                	push   $0x0
48009b:	6a 3c                	push   $0x3c
48009d:	1b da                	sbb    %edx,%ebx
48009f:	53                   	push   %ebx
4800a0:	57                   	push   %edi
4800a1:	e8 9a 5a 01 00       	call   0x495b40
4800a6:	89 06                	mov    %eax,(%esi)
4800a8:	85 c0                	test   %eax,%eax
4800aa:	79 0b                	jns    0x4800b7
4800ac:	83 c0 3c             	add    $0x3c,%eax
4800af:	83 c7 c4             	add    $0xffffffc4,%edi
4800b2:	89 06                	mov    %eax,(%esi)
4800b4:	83 d3 ff             	adc    $0xffffffff,%ebx
4800b7:	6a 00                	push   $0x0
4800b9:	6a 3c                	push   $0x3c
4800bb:	53                   	push   %ebx
4800bc:	57                   	push   %edi
4800bd:	e8 ce 59 01 00       	call   0x495a90
4800c2:	8b f8                	mov    %eax,%edi
4800c4:	8b da                	mov    %edx,%ebx
4800c6:	8b 46 04             	mov    0x4(%esi),%eax
4800c9:	99                   	cltd
4800ca:	03 f8                	add    %eax,%edi
4800cc:	6a 00                	push   $0x0
4800ce:	6a 3c                	push   $0x3c
4800d0:	13 da                	adc    %edx,%ebx
4800d2:	53                   	push   %ebx
4800d3:	57                   	push   %edi
4800d4:	e8 67 5a 01 00       	call   0x495b40
4800d9:	89 46 04             	mov    %eax,0x4(%esi)
4800dc:	85 c0                	test   %eax,%eax
4800de:	79 0c                	jns    0x4800ec
4800e0:	83 c0 3c             	add    $0x3c,%eax
4800e3:	83 c7 c4             	add    $0xffffffc4,%edi
4800e6:	89 46 04             	mov    %eax,0x4(%esi)
4800e9:	83 d3 ff             	adc    $0xffffffff,%ebx
4800ec:	6a 00                	push   $0x0
4800ee:	6a 3c                	push   $0x3c
4800f0:	53                   	push   %ebx
4800f1:	57                   	push   %edi
4800f2:	e8 99 59 01 00       	call   0x495a90
4800f7:	8b f8                	mov    %eax,%edi
4800f9:	8b da                	mov    %edx,%ebx
4800fb:	8b 46 08             	mov    0x8(%esi),%eax
4800fe:	99                   	cltd
4800ff:	03 f8                	add    %eax,%edi
480101:	6a 00                	push   $0x0
480103:	6a 18                	push   $0x18
480105:	13 da                	adc    %edx,%ebx
480107:	53                   	push   %ebx
480108:	57                   	push   %edi
480109:	e8 32 5a 01 00       	call   0x495b40
48010e:	89 46 08             	mov    %eax,0x8(%esi)
480111:	85 c0                	test   %eax,%eax
480113:	79 0c                	jns    0x480121
480115:	83 c0 18             	add    $0x18,%eax
480118:	83 c7 e8             	add    $0xffffffe8,%edi
48011b:	89 46 08             	mov    %eax,0x8(%esi)