47f85e:	8b 45 b4             	mov    -0x4c(%ebp),%eax
47f861:	66 3b f0             	cmp    %ax,%si
47f864:	0f 82 81 00 00 00    	jb     0x47f8eb
47f86a:	66 3b 75 b0          	cmp    -0x50(%ebp),%si
47f86e:	72 71                	jb     0x47f8e1
47f870:	8b 45 ac             	mov    -0x54(%ebp),%eax
47f873:	66 3b f0             	cmp    %ax,%si
47f876:	72 73                	jb     0x47f8eb
47f878:	66 3b 75 a8          	cmp    -0x58(%ebp),%si
47f87c:	72 63                	jb     0x47f8e1
47f87e:	8b 45 a4             	mov    -0x5c(%ebp),%eax
47f881:	66 3b f0             	cmp    %ax,%si
47f884:	72 65                	jb     0x47f8eb
47f886:	66 3b 75 a0          	cmp    -0x60(%ebp),%si
47f88a:	72 55                	jb     0x47f8e1
47f88c:	8b 45 9c             	mov    -0x64(%ebp),%eax
47f88f:	66 3b f0             	cmp    %ax,%si
47f892:	72 57                	jb     0x47f8eb
47f894:	66 3b 75 98          	cmp    -0x68(%ebp),%si
47f898:	72 47                	jb     0x47f8e1
47f89a:	8b 45 94             	mov    -0x6c(%ebp),%eax
47f89d:	66 3b f0             	cmp    %ax,%si
47f8a0:	72 49                	jb     0x47f8eb
47f8a2:	66 3b 75 90          	cmp    -0x70(%ebp),%si
47f8a6:	72 39                	jb     0x47f8e1
47f8a8:	8b 45 8c             	mov    -0x74(%ebp),%eax
47f8ab:	66 3b f0             	cmp    %ax,%si
47f8ae:	72 3b                	jb     0x47f8eb
47f8b0:	66 3b 75 88          	cmp    -0x78(%ebp),%si
47f8b4:	72 2b                	jb     0x47f8e1
47f8b6:	8b 45 84             	mov    -0x7c(%ebp),%eax
47f8b9:	66 3b f0             	cmp    %ax,%si
47f8bc:	72 2d                	jb     0x47f8eb
47f8be:	66 3b 75 80          	cmp    -0x80(%ebp),%si
47f8c2:	72 1d                	jb     0x47f8e1
47f8c4:	8b 85 7c ff ff ff    	mov    -0x84(%ebp),%eax
47f8ca:	66 3b f0             	cmp    %ax,%si
47f8cd:	72 1c                	jb     0x47f8eb
47f8cf:	66 3b b5 78 ff ff ff 	cmp    -0x88(%ebp),%si
47f8d6:	eb 07                	jmp    0x47f8df
47f8d8:	66 3b b5 74 ff ff ff 	cmp    -0x8c(%ebp),%si
47f8df:	73 0a                	jae    0x47f8eb
47f8e1:	0f b7 fe             	movzwl %si,%edi
47f8e4:	2b f8                	sub    %eax,%edi
47f8e6:	83 ff ff             	cmp    $0xffffffff,%edi
47f8e9:	75 2a                	jne    0x47f915
47f8eb:	0f b7 fe             	movzwl %si,%edi
47f8ee:	83 ff 41             	cmp    $0x41,%edi
47f8f1:	72 0a                	jb     0x47f8fd
47f8f3:	83 ff 5a             	cmp    $0x5a,%edi
47f8f6:	77 05                	ja     0x47f8fd
47f8f8:	8d 47 9f             	lea    -0x61(%edi),%eax
47f8fb:	eb 08                	jmp    0x47f905
47f8fd:	8d 47 9f             	lea    -0x61(%edi),%eax
47f900:	83 f8 19             	cmp    $0x19,%eax
47f903:	77 0d                	ja     0x47f912
47f905:	83 f8 19             	cmp    $0x19,%eax
47f908:	77 03                	ja     0x47f90d
47f90a:	83 c7 e0             	add    $0xffffffe0,%edi
47f90d:	83 c7 c9             	add    $0xffffffc9,%edi
47f910:	eb 03                	jmp    0x47f915
47f912:	83 cf ff             	or     $0xffffffff,%edi
47f915:	3b 7d 14             	cmp    0x14(%ebp),%edi
47f918:	73 66                	jae    0x47f980
47f91a:	53                   	push   %ebx
47f91b:	ff 75 f8             	push   -0x8(%ebp)
47f91e:	ff 75 f4             	push   -0xc(%ebp)
47f921:	ff b5 6c ff ff ff    	push   -0x94(%ebp)
47f927:	e8 f4 a9 fe ff       	call   0x46a320
47f92c:	33 f6                	xor    %esi,%esi
47f92e:	03 f8                	add    %eax,%edi
47f930:	13 f2                	adc    %edx,%esi
47f932:	3b 9d 68 ff ff ff    	cmp    -0x98(%ebp),%ebx
47f938:	72 12                	jb     0x47f94c
47f93a:	77 0b                	ja     0x47f947
47f93c:	8b 8d 64 ff ff ff    	mov    -0x9c(%ebp),%ecx
47f942:	39 4d f8             	cmp    %ecx,-0x8(%ebp)
47f945:	76 05                	jbe    0x47f94c
47f947:	33 c9                	xor    %ecx,%ecx
47f949:	41                   	inc    %ecx
47f94a:	eb 02                	jmp    0x47f94e
47f94c:	33 c9                	xor    %ecx,%ecx
47f94e:	3b f2                	cmp    %edx,%esi
47f950:	77 0b                	ja     0x47f95d
47f952:	72 04                	jb     0x47f958
47f954:	3b f8                	cmp    %eax,%edi
47f956:	73 05                	jae    0x47f95d
47f958:	33 c0                	xor    %eax,%eax
47f95a:	40                   	inc    %eax
47f95b:	eb 02                	jmp    0x47f95f
47f95d:	33 c0                	xor    %eax,%eax
47f95f:	0b c1                	or     %ecx,%eax
47f961:	89 7d f8             	mov    %edi,-0x8(%ebp)
47f964:	8b 7d 0c             	mov    0xc(%ebp),%edi
47f967:	8b de                	mov    %esi,%ebx
47f969:	c1 e0 02             	shl    $0x2,%eax
47f96c:	83 c8 08             	or     $0x8,%eax
47f96f:	09 45 fc             	or     %eax,-0x4(%ebp)
47f972:	0f b7 37             	movzwl (%edi),%esi
47f975:	83 c7 02             	add    $0x2,%edi
47f978:	89 7d 0c             	mov    %edi,0xc(%ebp)
47f97b:	e9 05 fe ff ff       	jmp    0x47f785
47f980:	56                   	push   %esi
47f981:	8d 4d 0c             	lea    0xc(%ebp),%ecx
47f984:	e8 51 97 ff ff       	call   0x4790da
47f989:	8b 45 fc             	mov    -0x4(%ebp),%eax
47f98c:	a8 08                	test   $0x8,%al
47f98e:	75 15                	jne    0x47f9a5
47f990:	8b 45 10             	mov    0x10(%ebp),%eax
47f993:	85 c0                	test   %eax,%eax
47f995:	74 08                	je     0x47f99f
47f997:	8b 8d 60 ff ff ff    	mov    -0xa0(%ebp),%ecx
47f99d:	89 08                	mov    %ecx,(%eax)
47f99f:	33 c0                	xor    %eax,%eax
47f9a1:	33 d2                	xor    %edx,%edx
47f9a3:	eb 78                	jmp    0x47fa1d
47f9a5:	8b 7d f8             	mov    -0x8(%ebp),%edi
47f9a8:	53                   	push   %ebx
47f9a9:	57                   	push   %edi
47f9aa:	50                   	push   %eax
47f9ab:	e8 56 f1 ff ff       	call   0x47eb06
47f9b0:	83 c4 0c             	add    $0xc,%esp
47f9b3:	84 c0                	test   %al,%al
47f9b5:	74 49                	je     0x47fa00
47f9b7:	8b 45 08             	mov    0x8(%ebp),%eax
47f9ba:	c6 40 1c 01          	movb   $0x1,0x1c(%eax)
47f9be:	c7 40 18 22 00 00 00 	movl   $0x22,0x18(%eax)
47f9c5:	8b 45 fc             	mov    -0x4(%ebp),%eax
47f9c8:	a8 01                	test   $0x1,%al
47f9ca:	75 08                	jne    0x47f9d4
47f9cc:	83 cf ff             	or     $0xffffffff,%edi
47f9cf:	83 cb ff             	or     $0xffffffff,%ebx
47f9d2:	eb 39                	jmp    0x47fa0d
47f9d4:	8b 4d 10             	mov    0x10(%ebp),%ecx
47f9d7:	a8 02                	test   $0x2,%al
47f9d9:	74 12                	je     0x47f9ed
47f9db:	85 c9                	test   %ecx,%ecx
47f9dd:	74 05                	je     0x47f9e4
47f9df:	8b 45 0c             	mov    0xc(%ebp),%eax
47f9e2:	89 01                	mov    %eax,(%ecx)
47f9e4:	33 c0                	xor    %eax,%eax
47f9e6:	ba 00 00 00 80       	mov    $0x80000000,%edx
47f9eb:	eb 30                	jmp    0x47fa1d
47f9ed:	85 c9                	test   %ecx,%ecx
47f9ef:	74 05                	je     0x47f9f6
47f9f1:	8b 45 0c             	mov    0xc(%ebp),%eax
47f9f4:	89 01                	mov    %eax,(%ecx)
47f9f6:	83 c8 ff             	or     $0xffffffff,%eax
47f9f9:	ba ff ff ff 7f       	mov    $0x7fffffff,%edx
47f9fe:	eb 1d                	jmp    0x47fa1d
47fa00:	f6 45 fc 02          	testb  $0x2,-0x4(%ebp)
47fa04:	74 07                	je     0x47fa0d
47fa06:	f7 df                	neg    %edi
47fa08:	83 d3 00             	adc    $0x0,%ebx
47fa0b:	f7 db                	neg    %ebx
47fa0d:	8b 75 10             	mov    0x10(%ebp),%esi
47fa10:	85 f6                	test   %esi,%esi
47fa12:	74 05                	je     0x47fa19
47fa14:	8b 4d 0c             	mov    0xc(%ebp),%ecx
47fa17:	89 0e                	mov    %ecx,(%esi)
47fa19:	8b c7                	mov    %edi,%eax
47fa1b:	8b d3                	mov    %ebx,%edx
47fa1d:	5f                   	pop    %edi
47fa1e:	5e                   	pop    %esi
47fa1f:	5b                   	pop    %ebx
47fa20:	c9                   	leave
47fa21:	c3                   	ret
47fa22:	8b ff                	mov    %edi,%edi
47fa24:	55                   	push   %ebp
47fa25:	8b ec                	mov    %esp,%ebp
47fa27:	83 ec 2c             	sub    $0x2c,%esp
47fa2a:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
47fa2d:	56                   	push   %esi
47fa2e:	57                   	push   %edi
47fa2f:	6a 00                	push   $0x0
47fa31:	e8 aa 78 ff ff       	call   0x4772e0
47fa36:	8b 45 08             	mov    0x8(%ebp),%eax
47fa39:	6a 01                	push   $0x1
47fa3b:	6a 0a                	push   $0xa
47fa3d:	51                   	push   %ecx
47fa3e:	51                   	push   %ecx
47fa3f:	8b cc                	mov    %esp,%ecx
47fa41:	83 61 04 00          	andl   $0x0,0x4(%ecx)
47fa45:	89 01                	mov    %eax,(%ecx)
47fa47:	8d 45 d4             	lea    -0x2c(%ebp),%eax
47fa4a:	50                   	push   %eax
47fa4b:	e8 4c f9 ff ff       	call   0x47f39c
47fa50:	83 c4 14             	add    $0x14,%esp
47fa53:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
47fa56:	8b f0                	mov    %eax,%esi
47fa58:	8b fa                	mov    %edx,%edi
47fa5a:	e8 e1 78 ff ff       	call   0x477340
47fa5f:	8b d7                	mov    %edi,%edx
47fa61:	8b c6                	mov    %esi,%eax
47fa63:	5f                   	pop    %edi
47fa64:	5e                   	pop    %esi
47fa65:	c9                   	leave
47fa66:	c3                   	ret
47fa67:	8b ff                	mov    %edi,%edi
47fa69:	55                   	push   %ebp
47fa6a:	8b ec                	mov    %esp,%ebp
47fa6c:	83 ec 2c             	sub    $0x2c,%esp
47fa6f:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
47fa72:	56                   	push   %esi
47fa73:	6a 00                	push   $0x0
47fa75:	e8 66 78 ff ff       	call   0x4772e0
47fa7a:	8b 45 08             	mov    0x8(%ebp),%eax
47fa7d:	6a 01                	push   $0x1
47fa7f:	6a 0a                	push   $0xa
47fa81:	51                   	push   %ecx
47fa82:	51                   	push   %ecx
47fa83:	8b cc                	mov    %esp,%ecx
47fa85:	83 61 04 00          	andl   $0x0,0x4(%ecx)
47fa89:	89 01                	mov    %eax,(%ecx)
47fa8b:	8d 45 d4             	lea    -0x2c(%ebp),%eax
47fa8e:	50                   	push   %eax
47fa8f:	e8 fa f2 ff ff       	call   0x47ed8e
47fa94:	83 c4 14             	add    $0x14,%esp
47fa97:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
47fa9a:	8b f0                	mov    %eax,%esi
47fa9c:	e8 9f 78 ff ff       	call   0x477340
47faa1:	8b c6                	mov    %esi,%eax
47faa3:	5e                   	pop    %esi
47faa4:	c9                   	leave
47faa5:	c3                   	ret
47faa6:	8b ff                	mov    %edi,%edi
47faa8:	55                   	push   %ebp
47faa9:	8b ec                	mov    %esp,%ebp
47faab:	83 ec 2c             	sub    $0x2c,%esp
47faae:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
47fab1:	56                   	push   %esi
47fab2:	6a 00                	push   $0x0
47fab4:	e8 27 78 ff ff       	call   0x4772e0
47fab9:	8b 45 08             	mov    0x8(%ebp),%eax
47fabc:	6a 01                	push   $0x1
47fabe:	6a 0a                	push   $0xa
47fac0:	51                   	push   %ecx
47fac1:	51                   	push   %ecx
47fac2:	8b cc                	mov    %esp,%ecx
47fac4:	83 61 04 00          	andl   $0x0,0x4(%ecx)
47fac8:	89 01                	mov    %eax,(%ecx)
47faca:	8d 45 d4             	lea    -0x2c(%ebp),%eax
47facd:	50                   	push   %eax
47face:	e8 74 f0 ff ff       	call   0x47eb47
47fad3:	83 c4 14             	add    $0x14,%esp
47fad6:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
47fad9:	8b f0                	mov    %eax,%esi
47fadb:	e8 60 78 ff ff       	call   0x477340
47fae0:	8b c6                	mov    %esi,%eax
47fae2:	5e                   	pop    %esi
47fae3:	c9                   	leave
47fae4:	c3                   	ret
47fae5:	8b ff                	mov    %edi,%edi
47fae7:	55                   	push   %ebp
47fae8:	8b ec                	mov    %esp,%ebp
47faea:	51                   	push   %ecx
47faeb:	e8 c9 6f 00 00       	call   0x486ab9
47faf0:	8b 48 4c             	mov    0x4c(%eax),%ecx
47faf3:	89 4d fc             	mov    %ecx,-0x4(%ebp)
47faf6:	8d 4d fc             	lea    -0x4(%ebp),%ecx
47faf9:	51                   	push   %ecx
47fafa:	50                   	push   %eax
47fafb:	e8 80 5d 00 00       	call   0x485880
47fb00:	8b 45 fc             	mov    -0x4(%ebp),%eax
47fb03:	59                   	pop    %ecx
47fb04:	59                   	pop    %ecx
47fb05:	8b 80 88 00 00 00    	mov    0x88(%eax),%eax
47fb0b:	c9                   	leave
47fb0c:	c3                   	ret
47fb0d:	8b ff                	mov    %edi,%edi
47fb0f:	55                   	push   %ebp
47fb10:	8b ec                	mov    %esp,%ebp
47fb12:	83 ec 2c             	sub    $0x2c,%esp
47fb15:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
47fb18:	56                   	push   %esi
47fb19:	6a 00                	push   $0x0
47fb1b:	e8 c0 77 ff ff       	call   0x4772e0
47fb20:	6a 01                	push   $0x1
47fb22:	ff 75 10             	push   0x10(%ebp)
47fb25:	51                   	push   %ecx
47fb26:	51                   	push   %ecx
47fb27:	8b c4                	mov    %esp,%eax
47fb29:	ff 75 0c             	push   0xc(%ebp)
47fb2c:	ff 75 08             	push   0x8(%ebp)
47fb2f:	50                   	push   %eax
47fb30:	e8 dc 5e ff ff       	call   0x475a11
47fb35:	83 c4 0c             	add    $0xc,%esp
47fb38:	8d 45 d4             	lea    -0x2c(%ebp),%eax
47fb3b:	50                   	push   %eax
47fb3c:	e8 4d f2 ff ff       	call   0x47ed8e
47fb41:	83 c4 14             	add    $0x14,%esp
47fb44:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
47fb47:	8b f0                	mov    %eax,%esi
47fb49:	e8 f2 77 ff ff       	call   0x477340
47fb4e:	8b c6                	mov    %esi,%eax
47fb50:	5e                   	pop    %esi
47fb51:	c9                   	leave
47fb52:	c3                   	ret
47fb53:	8b ff                	mov    %edi,%edi
47fb55:	55                   	push   %ebp
47fb56:	8b ec                	mov    %esp,%ebp
47fb58:	83 ec 0c             	sub    $0xc,%esp
47fb5b:	56                   	push   %esi
47fb5c:	57                   	push   %edi
47fb5d:	bf ff ff 00 00       	mov    $0xffff,%edi
47fb62:	57                   	push   %edi
47fb63:	68 3f 13 00 00       	push   $0x133f
47fb68:	e8 bd a8 00 00       	call   0x48a42a
47fb6d:	dd 45 08             	fldl   0x8(%ebp)
47fb70:	8b f0                	mov    %eax,%esi
47fb72:	59                   	pop    %ecx
47fb73:	59                   	pop    %ecx
47fb74:	0f b7 4d 0e          	movzwl 0xe(%ebp),%ecx
47fb78:	b8 f0 7f 00 00       	mov    $0x7ff0,%eax
47fb7d:	23 c8                	and    %eax,%ecx
47fb7f:	66 3b c8             	cmp    %ax,%cx
47fb82:	75 77                	jne    0x47fbfb
47fb84:	51                   	push   %ecx
47fb85:	51                   	push   %ecx
47fb86:	dd 1c 24             	fstpl  (%esp)
47fb89:	e8 52 9f 00 00       	call   0x489ae0
47fb8e:	59                   	pop    %ecx
47fb8f:	59                   	pop    %ecx
47fb90:	83 e8 01             	sub    $0x1,%eax
47fb93:	74 73                	je     0x47fc08
47fb95:	83 e8 01             	sub    $0x1,%eax
47fb98:	74 6e                	je     0x47fc08
47fb9a:	83 e8 01             	sub    $0x1,%eax
47fb9d:	74 2c                	je     0x47fbcb
47fb9f:	dd 45 08             	fldl   0x8(%ebp)
47fba2:	dd 05 68 73 4b 00    	fldl   0x4b7368
47fba8:	d8 c1                	fadd   %st(1),%st
47fbaa:	56                   	push   %esi
47fbab:	83 ec 18             	sub    $0x18,%esp
47fbae:	dd 5c 24 10          	fstpl  0x10(%esp)
47fbb2:	db 45 10             	fildl  0x10(%ebp)
47fbb5:	dd 5d f4             	fstpl  -0xc(%ebp)
47fbb8:	dd 45 f4             	fldl   -0xc(%ebp)
47fbbb:	dd 5c 24 08          	fstpl  0x8(%esp)
47fbbf:	dd 1c 24             	fstpl  (%esp)
47fbc2:	6a 19                	push   $0x19
47fbc4:	6a 08                	push   $0x8
47fbc6:	e9 6f 01 00 00       	jmp    0x47fd3a
47fbcb:	db 45 10             	fildl  0x10(%ebp)
47fbce:	83 ec 10             	sub    $0x10,%esp
47fbd1:	dd 5d f4             	fstpl  -0xc(%ebp)
47fbd4:	dd 45 f4             	fldl   -0xc(%ebp)
47fbd7:	dd 5c 24 08          	fstpl  0x8(%esp)
47fbdb:	dd 45 08             	fldl   0x8(%ebp)
47fbde:	dd 1c 24             	fstpl  (%esp)