46babf:	ad                   	lods   %ds:(%esi),%eax
46bac0:	56                   	push   %esi
46bac1:	57                   	push   %edi
46bac2:	50                   	push   %eax
46bac3:	50                   	push   %eax
46bac4:	8b d8                	mov    %eax,%ebx
46bac6:	e8 28 7c f9 ff       	call   0x4036f3
46bacb:	58                   	pop    %eax
46bacc:	2b d8                	sub    %eax,%ebx
46bace:	c1 e1 02             	shl    $0x2,%ecx
46bad1:	03 cb                	add    %ebx,%ecx
46bad3:	51                   	push   %ecx
46bad4:	e8 c5 4a 03 00       	call   0x4a059e
46bad9:	59                   	pop    %ecx
46bada:	5e                   	pop    %esi
46badb:	8b f8                	mov    %eax,%edi
46badd:	f3 a4                	rep movsb %ds:(%esi),%es:(%edi)
46badf:	5f                   	pop    %edi
46bae0:	5e                   	pop    %esi
46bae1:	ab                   	stos   %eax,%es:(%edi)
46bae2:	b9 07 00 00 00       	mov    $0x7,%ecx
46bae7:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
46bae9:	ad                   	lods   %ds:(%esi),%eax
46baea:	56                   	push   %esi
46baeb:	57                   	push   %edi
46baec:	50                   	push   %eax
46baed:	68 08 00 00 00       	push   $0x8
46baf2:	e8 a7 4a 03 00       	call   0x4a059e
46baf7:	59                   	pop    %ecx
46baf8:	5e                   	pop    %esi
46baf9:	8b f8                	mov    %eax,%edi
46bafb:	f3 a4                	rep movsb %ds:(%esi),%es:(%edi)
46bafd:	5f                   	pop    %edi
46bafe:	5e                   	pop    %esi
46baff:	ab                   	stos   %eax,%es:(%edi)
46bb00:	58                   	pop    %eax
46bb01:	5f                   	pop    %edi
46bb02:	89 07                	mov    %eax,(%edi)
46bb04:	8b 5d 08             	mov    0x8(%ebp),%ebx
46bb07:	8b 1b                	mov    (%ebx),%ebx
46bb09:	81 c3 28 01 00 00    	add    $0x128,%ebx
46bb0f:	89 5d f4             	mov    %ebx,-0xc(%ebp)
46bb12:	8b 5d f4             	mov    -0xc(%ebp),%ebx
46bb15:	83 3b 00             	cmpl   $0x0,(%ebx)
46bb18:	0f 85 55 00 00 00    	jne    0x46bb73
46bb1e:	8b 5d 08             	mov    0x8(%ebp),%ebx
46bb21:	8b 1b                	mov    (%ebx),%ebx
46bb23:	81 c3 5c 01 00 00    	add    $0x15c,%ebx
46bb29:	89 5d f4             	mov    %ebx,-0xc(%ebp)
46bb2c:	8b 5d 08             	mov    0x8(%ebp),%ebx
46bb2f:	8b 1b                	mov    (%ebx),%ebx
46bb31:	81 c3 5c 01 00 00    	add    $0x15c,%ebx
46bb37:	89 5d f0             	mov    %ebx,-0x10(%ebp)
46bb3a:	8b 5d 08             	mov    0x8(%ebp),%ebx
46bb3d:	8b 1b                	mov    (%ebx),%ebx
46bb3f:	81 c3 4c 01 00 00    	add    $0x14c,%ebx
46bb45:	89 5d ec             	mov    %ebx,-0x14(%ebp)
46bb48:	8b 5d f0             	mov    -0x10(%ebp),%ebx
46bb4b:	db 03                	fildl  (%ebx)
46bb4d:	dd 5d e4             	fstpl  -0x1c(%ebp)
46bb50:	dd 45 e4             	fldl   -0x1c(%ebp)
46bb53:	8b 5d ec             	mov    -0x14(%ebp),%ebx
46bb56:	db 03                	fildl  (%ebx)
46bb58:	dd 5d dc             	fstpl  -0x24(%ebp)
46bb5b:	dc 45 dc             	faddl  -0x24(%ebp)
46bb5e:	dd 5d d4             	fstpl  -0x2c(%ebp)
46bb61:	dd 45 d4             	fldl   -0x2c(%ebp)
46bb64:	e8 86 56 f9 ff       	call   0x4011ef
46bb69:	8b 5d f4             	mov    -0xc(%ebp),%ebx
46bb6c:	89 03                	mov    %eax,(%ebx)
46bb6e:	e9 00 00 00 00       	jmp    0x46bb73
46bb73:	8b 5d 08             	mov    0x8(%ebp),%ebx
46bb76:	8b 1b                	mov    (%ebx),%ebx
46bb78:	81 c3 78 01 00 00    	add    $0x178,%ebx
46bb7e:	89 5d f4             	mov    %ebx,-0xc(%ebp)
46bb81:	c7 45 f0 00 00 00 00 	movl   $0x0,-0x10(%ebp)
46bb88:	6a 00                	push   $0x0
46bb8a:	ff 75 f0             	push   -0x10(%ebp)
46bb8d:	ff 75 f4             	push   -0xc(%ebp)
46bb90:	8b 04 24             	mov    (%esp),%eax
46bb93:	8b 00                	mov    (%eax),%eax
46bb95:	8b 00                	mov    (%eax),%eax
46bb97:	ff 90 ac 00 00 00    	call   *0xac(%eax)
46bb9d:	83 e0 01             	and    $0x1,%eax
46bba0:	83 f0 01             	xor    $0x1,%eax
46bba3:	85 c0                	test   %eax,%eax
46bba5:	0f 84 25 01 00 00    	je     0x46bcd0
46bbab:	8b 5d 08             	mov    0x8(%ebp),%ebx
46bbae:	8b 1b                	mov    (%ebx),%ebx
46bbb0:	81 c3 5c 01 00 00    	add    $0x15c,%ebx
46bbb6:	89 5d f4             	mov    %ebx,-0xc(%ebp)
46bbb9:	8b 5d 08             	mov    0x8(%ebp),%ebx
46bbbc:	8b 1b                	mov    (%ebx),%ebx
46bbbe:	8b 9b 64 01 00 00    	mov    0x164(%ebx),%ebx
46bbc4:	83 c3 0c             	add    $0xc,%ebx
46bbc7:	89 5d f0             	mov    %ebx,-0x10(%ebp)
46bbca:	8b 5d f4             	mov    -0xc(%ebp),%ebx
46bbcd:	db 03                	fildl  (%ebx)
46bbcf:	dd 5d e8             	fstpl  -0x18(%ebp)
46bbd2:	8b 5d f0             	mov    -0x10(%ebp),%ebx
46bbd5:	d9 03                	flds   (%ebx)
46bbd7:	dd 5d e0             	fstpl  -0x20(%ebp)
46bbda:	dd 45 e8             	fldl   -0x18(%ebp)
46bbdd:	dc 65 e0             	fsubl  -0x20(%ebp)
46bbe0:	dc 1d 7a 0a 4e 00    	fcompl 0x4e0a7a
46bbe6:	df e0                	fnstsw %ax
46bbe8:	f6 c4 41             	test   $0x41,%ah
46bbeb:	0f 85 df 00 00 00    	jne    0x46bcd0
46bbf1:	8b 5d 08             	mov    0x8(%ebp),%ebx
46bbf4:	8b 1b                	mov    (%ebx),%ebx
46bbf6:	81 c3 78 01 00 00    	add    $0x178,%ebx
46bbfc:	89 5d f4             	mov    %ebx,-0xc(%ebp)
46bbff:	ff 75 f4             	push   -0xc(%ebp)
46bc02:	8b 04 24             	mov    (%esp),%eax
46bc05:	8b 00                	mov    (%eax),%eax
46bc07:	8b 00                	mov    (%eax),%eax
46bc09:	ff 50 68             	call   *0x68(%eax)
46bc0c:	89 45 f0             	mov    %eax,-0x10(%ebp)
46bc0f:	68 00 80 00 00       	push   $0x8000
46bc14:	ff 75 f0             	push   -0x10(%ebp)
46bc17:	e8 88 43 fc ff       	call   0x42ffa4
46bc1c:	8b 5d 08             	mov    0x8(%ebp),%ebx
46bc1f:	8b 1b                	mov    (%ebx),%ebx
46bc21:	81 c3 7c 01 00 00    	add    $0x17c,%ebx
46bc27:	89 5d f4             	mov    %ebx,-0xc(%ebp)
46bc2a:	c7 45 f0 00 00 00 00 	movl   $0x0,-0x10(%ebp)
46bc31:	6a 00                	push   $0x0
46bc33:	ff 75 f0             	push   -0x10(%ebp)
46bc36:	ff 75 f4             	push   -0xc(%ebp)
46bc39:	8b 04 24             	mov    (%esp),%eax
46bc3c:	8b 00                	mov    (%eax),%eax
46bc3e:	8b 00                	mov    (%eax),%eax
46bc40:	ff 90 ac 00 00 00    	call   *0xac(%eax)
46bc46:	85 c0                	test   %eax,%eax
46bc48:	0f 84 82 00 00 00    	je     0x46bcd0
46bc4e:	8b 5d 08             	mov    0x8(%ebp),%ebx
46bc51:	8b 1b                	mov    (%ebx),%ebx
46bc53:	81 c3 7c 01 00 00    	add    $0x17c,%ebx
46bc59:	89 5d f4             	mov    %ebx,-0xc(%ebp)
46bc5c:	8b 5d 08             	mov    0x8(%ebp),%ebx
46bc5f:	8b 1b                	mov    (%ebx),%ebx
46bc61:	81 c3 58 01 00 00    	add    $0x158,%ebx
46bc67:	89 5d f0             	mov    %ebx,-0x10(%ebp)
46bc6a:	8b 5d 08             	mov    0x8(%ebp),%ebx
46bc6d:	8b 1b                	mov    (%ebx),%ebx
46bc6f:	81 c3 78 01 00 00    	add    $0x178,%ebx
46bc75:	89 5d ec             	mov    %ebx,-0x14(%ebp)
46bc78:	c7 45 e8 00 00 00 00 	movl   $0x0,-0x18(%ebp)
46bc7f:	6a 00                	push   $0x0
46bc81:	ff 75 e8             	push   -0x18(%ebp)
46bc84:	ff 75 ec             	push   -0x14(%ebp)
46bc87:	8b 04 24             	mov    (%esp),%eax
46bc8a:	8b 00                	mov    (%eax),%eax
46bc8c:	8b 00                	mov    (%eax),%eax
46bc8e:	ff 90 bc 00 00 00    	call   *0xbc(%eax)
46bc94:	89 45 e4             	mov    %eax,-0x1c(%ebp)
46bc97:	8b 5d f0             	mov    -0x10(%ebp),%ebx
46bc9a:	db 03                	fildl  (%ebx)
46bc9c:	dd 5d dc             	fstpl  -0x24(%ebp)
46bc9f:	dd 45 dc             	fldl   -0x24(%ebp)
46bca2:	db 45 e4             	fildl  -0x1c(%ebp)
46bca5:	dd 5d d4             	fstpl  -0x2c(%ebp)
46bca8:	dc 45 d4             	faddl  -0x2c(%ebp)
46bcab:	dd 5d cc             	fstpl  -0x34(%ebp)
46bcae:	6a 01                	push   $0x1
46bcb0:	68 00 00 00 00       	push   $0x0
46bcb5:	6a 01                	push   $0x1
46bcb7:	dd 45 cc             	fldl   -0x34(%ebp)
46bcba:	e8 30 55 f9 ff       	call   0x4011ef
46bcbf:	50                   	push   %eax
46bcc0:	ff 75 f4             	push   -0xc(%ebp)
46bcc3:	8b 04 24             	mov    (%esp),%eax
46bcc6:	8b 00                	mov    (%eax),%eax
46bcc8:	8b 00                	mov    (%eax),%eax
46bcca:	ff 90 9c 01 00 00    	call   *0x19c(%eax)
46bcd0:	8b 5d 08             	mov    0x8(%ebp),%ebx
46bcd3:	8b 1b                	mov    (%ebx),%ebx
46bcd5:	81 c3 78 01 00 00    	add    $0x178,%ebx
46bcdb:	89 5d f4             	mov    %ebx,-0xc(%ebp)
46bcde:	8b 5d 08             	mov    0x8(%ebp),%ebx
46bce1:	8b 1b                	mov    (%ebx),%ebx
46bce3:	81 c3 5c 01 00 00    	add    $0x15c,%ebx
46bce9:	89 5d f0             	mov    %ebx,-0x10(%ebp)
46bcec:	8b 5d 08             	mov    0x8(%ebp),%ebx
46bcef:	8b 1b                	mov    (%ebx),%ebx
46bcf1:	81 c3 7c 01 00 00    	add    $0x17c,%ebx
46bcf7:	89 5d ec             	mov    %ebx,-0x14(%ebp)
46bcfa:	c7 45 e8 00 00 00 00 	movl   $0x0,-0x18(%ebp)
46bd01:	6a 00                	push   $0x0
46bd03:	ff 75 e8             	push   -0x18(%ebp)
46bd06:	ff 75 ec             	push   -0x14(%ebp)
46bd09:	8b 04 24             	mov    (%esp),%eax
46bd0c:	8b 00                	mov    (%eax),%eax
46bd0e:	8b 00                	mov    (%eax),%eax
46bd10:	ff 90 ac 00 00 00    	call   *0xac(%eax)
46bd16:	89 45 e4             	mov    %eax,-0x1c(%ebp)
46bd19:	8b 5d 08             	mov    0x8(%ebp),%ebx
46bd1c:	8b 1b                	mov    (%ebx),%ebx
46bd1e:	81 c3 7c 01 00 00    	add    $0x17c,%ebx
46bd24:	89 5d e0             	mov    %ebx,-0x20(%ebp)
46bd27:	c7 45 dc 00 00 00 00 	movl   $0x0,-0x24(%ebp)
46bd2e:	6a 00                	push   $0x0
46bd30:	ff 75 dc             	push   -0x24(%ebp)
46bd33:	ff 75 e0             	push   -0x20(%ebp)
46bd36:	8b 04 24             	mov    (%esp),%eax
46bd39:	8b 00                	mov    (%eax),%eax
46bd3b:	8b 00                	mov    (%eax),%eax
46bd3d:	ff 90 c0 00 00 00    	call   *0xc0(%eax)
46bd43:	89 45 d8             	mov    %eax,-0x28(%ebp)
46bd46:	83 7d e4 00          	cmpl   $0x0,-0x1c(%ebp)
46bd4a:	0f 84 08 00 00 00    	je     0x46bd58
46bd50:	8b 45 d8             	mov    -0x28(%ebp),%eax
46bd53:	e9 05 00 00 00       	jmp    0x46bd5d
46bd58:	b8 00 00 00 00       	mov    $0x0,%eax
46bd5d:	89 45 d4             	mov    %eax,-0x2c(%ebp)
46bd60:	8b 5d f0             	mov    -0x10(%ebp),%ebx
46bd63:	db 03                	fildl  (%ebx)
46bd65:	dd 5d cc             	fstpl  -0x34(%ebp)
46bd68:	dd 45 cc             	fldl   -0x34(%ebp)
46bd6b:	db 45 d4             	fildl  -0x2c(%ebp)
46bd6e:	dd 5d c4             	fstpl  -0x3c(%ebp)
46bd71:	dc 45 c4             	faddl  -0x3c(%ebp)
46bd74:	dd 5d bc             	fstpl  -0x44(%ebp)
46bd77:	c7 45 b8 00 00 00 00 	movl   $0x0,-0x48(%ebp)
46bd7e:	6a 00                	push   $0x0
46bd80:	ff 75 b8             	push   -0x48(%ebp)
46bd83:	ff 75 08             	push   0x8(%ebp)
46bd86:	e8 0e ca fc ff       	call   0x438799
46bd8b:	89 45 b4             	mov    %eax,-0x4c(%ebp)
46bd8e:	6a 01                	push   $0x1
46bd90:	ff 75 b4             	push   -0x4c(%ebp)
46bd93:	6a 01                	push   $0x1
46bd95:	dd 45 bc             	fldl   -0x44(%ebp)
46bd98:	e8 52 54 f9 ff       	call   0x4011ef
46bd9d:	50                   	push   %eax
46bd9e:	ff 75 f4             	push   -0xc(%ebp)
46bda1:	8b 04 24             	mov    (%esp),%eax
46bda4:	8b 00                	mov    (%eax),%eax
46bda6:	8b 00                	mov    (%eax),%eax
46bda8:	ff 90 9c 01 00 00    	call   *0x19c(%eax)
46bdae:	ff 75 44             	push   0x44(%ebp)
46bdb1:	ff 75 0c             	push   0xc(%ebp)
46bdb4:	ff 75 08             	push   0x8(%ebp)
46bdb7:	8b 04 24             	mov    (%esp),%eax
46bdba:	8b 00                	mov    (%eax),%eax
46bdbc:	8b 00                	mov    (%eax),%eax
46bdbe:	ff 90 dc 01 00 00    	call   *0x1dc(%eax)
46bdc4:	8b 45 0c             	mov    0xc(%ebp),%eax
46bdc7:	e9 00 00 00 00       	jmp    0x46bdcc
46bdcc:	50                   	push   %eax
46bdcd:	8b 5d f8             	mov    -0x8(%ebp),%ebx
46bdd0:	53                   	push   %ebx
46bdd1:	53                   	push   %ebx
46bdd2:	8b 1b                	mov    (%ebx),%ebx
46bdd4:	53                   	push   %ebx
46bdd5:	8b 0b                	mov    (%ebx),%ecx
46bdd7:	83 c3 04             	add    $0x4,%ebx
46bdda:	85 c9                	test   %ecx,%ecx
46bddc:	74 11                	je     0x46bdef
46bdde:	8b 03                	mov    (%ebx),%eax
46bde0:	83 c3 04             	add    $0x4,%ebx
46bde3:	49                   	dec    %ecx
46bde4:	74 05                	je     0x46bdeb
46bde6:	0f af 03             	imul   (%ebx),%eax
46bde9:	eb f5                	jmp    0x46bde0
46bdeb:	8b c8                	mov    %eax,%ecx
46bded:	85 c9                	test   %ecx,%ecx
46bdef:	0f 84 19 00 00 00    	je     0x46be0e
46bdf5:	51                   	push   %ecx
46bdf6:	8b 03                	mov    (%ebx),%eax
46bdf8:	85 c0                	test   %eax,%eax
46bdfa:	74 0b                	je     0x46be07
46bdfc:	53                   	push   %ebx
46bdfd:	50                   	push   %eax
46bdfe:	e8 a1 47 03 00       	call   0x4a05a4
46be03:	83 c4 04             	add    $0x4,%esp
46be06:	5b                   	pop    %ebx
46be07:	83 c3 04             	add    $0x4,%ebx
46be0a:	59                   	pop    %ecx
46be0b:	49                   	dec    %ecx
46be0c:	75 e7                	jne    0x46bdf5
46be0e:	e8 91 47 03 00       	call   0x4a05a4
46be13:	83 c4 04             	add    $0x4,%esp
46be16:	5b                   	pop    %ebx
46be17:	83 c3 04             	add    $0x4,%ebx
46be1a:	53                   	push   %ebx
46be1b:	8b 1b                	mov    (%ebx),%ebx
46be1d:	53                   	push   %ebx
46be1e:	e8 81 47 03 00       	call   0x4a05a4
46be23:	83 c4 04             	add    $0x4,%esp
46be26:	5b                   	pop    %ebx
46be27:	83 c3 20             	add    $0x20,%ebx
46be2a:	53                   	push   %ebx
46be2b:	8b 1b                	mov    (%ebx),%ebx
46be2d:	53                   	push   %ebx
46be2e:	e8 71 47 03 00       	call   0x4a05a4
46be33:	83 c4 04             	add    $0x4,%esp
46be36:	5b                   	pop    %ebx
46be37:	e8 68 47 03 00       	call   0x4a05a4
46be3c:	83 c4 04             	add    $0x4,%esp
46be3f:	58                   	pop    %eax
46be40:	8b e5                	mov    %ebp,%esp
46be42:	5d                   	pop    %ebp
46be43:	c2 44 00             	ret    $0x44
46be46:	55                   	push   %ebp
46be47:	8b ec                	mov    %esp,%ebp
46be49:	81 ec 70 00 00 00    	sub    $0x70,%esp
46be4f:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
46be56:	c7 45 f8 00 00 00 00 	movl   $0x0,-0x8(%ebp)
46be5d:	8b 5d 08             	mov    0x8(%ebp),%ebx
46be60:	8b 1b                	mov    (%ebx),%ebx
46be62:	81 c3 34 01 00 00    	add    $0x134,%ebx
46be68:	89 5d f4             	mov    %ebx,-0xc(%ebp)
46be6b:	8b 5d f4             	mov    -0xc(%ebp),%ebx
46be6e:	8b 03                	mov    (%ebx),%eax
46be70:	39 45 0c             	cmp    %eax,0xc(%ebp)
46be73:	0f 8d 6c 01 00 00    	jge    0x46bfe5
46be79:	8b 5d 08             	mov    0x8(%ebp),%ebx
46be7c:	8b 1b                	mov    (%ebx),%ebx
46be7e:	81 c3 b0 01 00 00    	add    $0x1b0,%ebx
46be84:	89 5d f4             	mov    %ebx,-0xc(%ebp)
46be87:	c7 45 f0 00 00 00 00 	movl   $0x0,-0x10(%ebp)
46be8e:	6a 00                	push   $0x0
46be90:	ff 75 f0             	push   -0x10(%ebp)
46be93:	c7 45 ec 00 00 00 00 	movl   $0x0,-0x14(%ebp)
46be9a:	6a 00                	push   $0x0
46be9c:	ff 75 ec             	push   -0x14(%ebp)
46be9f:	c7 45 e8 00 00 00 00 	movl   $0x0,-0x18(%ebp)
46bea6:	6a 00                	push   $0x0
46bea8:	ff 75 e8             	push   -0x18(%ebp)
46beab:	c7 45 e4 00 00 00 00 	movl   $0x0,-0x1c(%ebp)
46beb2:	6a 00                	push   $0x0
46beb4:	ff 75 e4             	push   -0x1c(%ebp)
46beb7:	8b 5d f4             	mov    -0xc(%ebp),%ebx
46beba:	ff 33                	push   (%ebx)
46bebc:	e8 2f c2 fa ff       	call   0x4180f0
46bec1:	89 45 fc             	mov    %eax,-0x4(%ebp)
46bec4:	8b 5d 08             	mov    0x8(%ebp),%ebx
46bec7:	8b 1b                	mov    (%ebx),%ebx
46bec9:	81 c3 b4 01 00 00    	add    $0x1b4,%ebx
46becf:	89 5d f4             	mov    %ebx,-0xc(%ebp)
46bed2:	6a 01                	push   $0x1
46bed4:	68 00 00 00 00       	push   $0x0
46bed9:	8b 5d f4             	mov    -0xc(%ebp),%ebx
46bedc:	ff 33                	push   (%ebx)
46bede:	e8 08 e9 fc ff       	call   0x43a7eb
46bee3:	8b 5d 08             	mov    0x8(%ebp),%ebx
46bee6:	8b 1b                	mov    (%ebx),%ebx
46bee8:	81 c3 b4 01 00 00    	add    $0x1b4,%ebx
46beee:	89 5d f4             	mov    %ebx,-0xc(%ebp)