46b8ec:	8b 5d f8             	mov    -0x8(%ebp),%ebx
46b8ef:	83 c3 08             	add    $0x8,%ebx
46b8f2:	89 5d f4             	mov    %ebx,-0xc(%ebp)
46b8f5:	8b 5d f4             	mov    -0xc(%ebp),%ebx
46b8f8:	c7 03 00 00 00 00    	movl   $0x0,(%ebx)
46b8fe:	8b 5d f8             	mov    -0x8(%ebp),%ebx
46b901:	83 c3 1c             	add    $0x1c,%ebx
46b904:	89 5d f4             	mov    %ebx,-0xc(%ebp)
46b907:	8b 45 34             	mov    0x34(%ebp),%eax
46b90a:	8b 5d f4             	mov    -0xc(%ebp),%ebx
46b90d:	89 03                	mov    %eax,(%ebx)
46b90f:	8b 5d f8             	mov    -0x8(%ebp),%ebx
46b912:	83 c3 20             	add    $0x20,%ebx
46b915:	89 5d f4             	mov    %ebx,-0xc(%ebp)
46b918:	8b 45 3c             	mov    0x3c(%ebp),%eax
46b91b:	8b 5d f4             	mov    -0xc(%ebp),%ebx
46b91e:	89 03                	mov    %eax,(%ebx)
46b920:	8b 5d f8             	mov    -0x8(%ebp),%ebx
46b923:	8b 5b 24             	mov    0x24(%ebx),%ebx
46b926:	89 5d f4             	mov    %ebx,-0xc(%ebp)
46b929:	8b 5d 08             	mov    0x8(%ebp),%ebx
46b92c:	8b 1b                	mov    (%ebx),%ebx
46b92e:	81 c3 48 01 00 00    	add    $0x148,%ebx
46b934:	89 5d f0             	mov    %ebx,-0x10(%ebp)
46b937:	8b 5d f0             	mov    -0x10(%ebp),%ebx
46b93a:	8b 03                	mov    (%ebx),%eax
46b93c:	8b 5d f4             	mov    -0xc(%ebp),%ebx
46b93f:	89 03                	mov    %eax,(%ebx)
46b941:	8b 5d f8             	mov    -0x8(%ebp),%ebx
46b944:	8b 5b 24             	mov    0x24(%ebx),%ebx
46b947:	83 c3 04             	add    $0x4,%ebx
46b94a:	89 5d f4             	mov    %ebx,-0xc(%ebp)
46b94d:	8b 5d 08             	mov    0x8(%ebp),%ebx
46b950:	8b 1b                	mov    (%ebx),%ebx
46b952:	81 c3 4c 01 00 00    	add    $0x14c,%ebx
46b958:	89 5d f0             	mov    %ebx,-0x10(%ebp)
46b95b:	8b 5d f0             	mov    -0x10(%ebp),%ebx
46b95e:	8b 03                	mov    (%ebx),%eax
46b960:	8b 5d f4             	mov    -0xc(%ebp),%ebx
46b963:	89 03                	mov    %eax,(%ebx)
46b965:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
46b969:	0f 85 38 00 00 00    	jne    0x46b9a7
46b96f:	8b 5d 08             	mov    0x8(%ebp),%ebx
46b972:	8b 1b                	mov    (%ebx),%ebx
46b974:	81 c3 1c 01 00 00    	add    $0x11c,%ebx
46b97a:	89 5d f4             	mov    %ebx,-0xc(%ebp)
46b97d:	8b 5d f4             	mov    -0xc(%ebp),%ebx
46b980:	8b 1b                	mov    (%ebx),%ebx
46b982:	e8 c3 2a fa ff       	call   0x40e44a
46b987:	89 45 e8             	mov    %eax,-0x18(%ebp)
46b98a:	db 45 e8             	fildl  -0x18(%ebp)
46b98d:	dd 5d e8             	fstpl  -0x18(%ebp)
46b990:	dd 45 e8             	fldl   -0x18(%ebp)
46b993:	dc 05 9a bb 4c 00    	faddl  0x4cbb9a
46b999:	dd 5d e0             	fstpl  -0x20(%ebp)
46b99c:	dd 45 e0             	fldl   -0x20(%ebp)
46b99f:	e8 4b 58 f9 ff       	call   0x4011ef
46b9a4:	89 45 0c             	mov    %eax,0xc(%ebp)
46b9a7:	8b 5d 08             	mov    0x8(%ebp),%ebx
46b9aa:	8b 1b                	mov    (%ebx),%ebx
46b9ac:	81 c3 1c 01 00 00    	add    $0x11c,%ebx
46b9b2:	89 5d f4             	mov    %ebx,-0xc(%ebp)
46b9b5:	ff 75 f4             	push   -0xc(%ebp)
46b9b8:	6a 04                	push   $0x4
46b9ba:	b8 02 00 00 00       	mov    $0x2,%eax
46b9bf:	e8 ac 54 03 00       	call   0x4a0e70
46b9c4:	83 c4 08             	add    $0x8,%esp
46b9c7:	8b 45 f8             	mov    -0x8(%ebp),%eax
46b9ca:	89 45 f0             	mov    %eax,-0x10(%ebp)
46b9cd:	8b 45 0c             	mov    0xc(%ebp),%eax
46b9d0:	48                   	dec    %eax
46b9d1:	0f 8c 2d 01 00 00    	jl     0x46bb04
46b9d7:	89 45 ec             	mov    %eax,-0x14(%ebp)
46b9da:	8b 5d f4             	mov    -0xc(%ebp),%ebx
46b9dd:	8b 1b                	mov    (%ebx),%ebx
46b9df:	89 5d e8             	mov    %ebx,-0x18(%ebp)
46b9e2:	e8 0c 7d f9 ff       	call   0x4036f3
46b9e7:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
46b9ea:	39 4d ec             	cmp    %ecx,-0x14(%ebp)
46b9ed:	0f 8f 11 01 00 00    	jg     0x46bb04
46b9f3:	8b 7d e8             	mov    -0x18(%ebp),%edi
46b9f6:	c7 07 01 00 00 00    	movl   $0x1,(%edi)
46b9fc:	83 c7 04             	add    $0x4,%edi
46b9ff:	8b c1                	mov    %ecx,%eax
46ba01:	40                   	inc    %eax
46ba02:	89 07                	mov    %eax,(%edi)
46ba04:	83 c7 04             	add    $0x4,%edi
46ba07:	3b fb                	cmp    %ebx,%edi
46ba09:	74 04                	je     0x46ba0f
46ba0b:	8b f3                	mov    %ebx,%esi
46ba0d:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
46ba0f:	8b 45 e4             	mov    -0x1c(%ebp),%eax
46ba12:	40                   	inc    %eax
46ba13:	c1 e0 02             	shl    $0x2,%eax
46ba16:	83 c0 08             	add    $0x8,%eax
46ba19:	50                   	push   %eax
46ba1a:	ff 75 e8             	push   -0x18(%ebp)
46ba1d:	e8 8e 4b 03 00       	call   0x4a05b0
46ba22:	83 c4 08             	add    $0x8,%esp
46ba25:	8b 5d f4             	mov    -0xc(%ebp),%ebx
46ba28:	89 03                	mov    %eax,(%ebx)
46ba2a:	8b f0                	mov    %eax,%esi
46ba2c:	83 c6 08             	add    $0x8,%esi
46ba2f:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
46ba32:	8b d9                	mov    %ecx,%ebx
46ba34:	c1 e3 02             	shl    $0x2,%ebx
46ba37:	03 f3                	add    %ebx,%esi
46ba39:	83 ee 04             	sub    $0x4,%esi
46ba3c:	2b 4d ec             	sub    -0x14(%ebp),%ecx
46ba3f:	8b fe                	mov    %esi,%edi
46ba41:	83 c7 04             	add    $0x4,%edi
46ba44:	fd                   	std
46ba45:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
46ba47:	8b fe                	mov    %esi,%edi
46ba49:	83 c7 04             	add    $0x4,%edi
46ba4c:	fc                   	cld
46ba4d:	8b 45 f0             	mov    -0x10(%ebp),%eax
46ba50:	57                   	push   %edi
46ba51:	50                   	push   %eax
46ba52:	68 28 00 00 00       	push   $0x28
46ba57:	e8 42 4b 03 00       	call   0x4a059e
46ba5c:	83 c4 04             	add    $0x4,%esp
46ba5f:	5e                   	pop    %esi
46ba60:	8b f8                	mov    %eax,%edi
46ba62:	50                   	push   %eax
46ba63:	ad                   	lods   %ds:(%esi),%eax
46ba64:	56                   	push   %esi
46ba65:	57                   	push   %edi
46ba66:	50                   	push   %eax
46ba67:	8b d8                	mov    %eax,%ebx
46ba69:	e8 85 7c f9 ff       	call   0x4036f3
46ba6e:	58                   	pop    %eax
46ba6f:	2b d8                	sub    %eax,%ebx
46ba71:	51                   	push   %ecx
46ba72:	53                   	push   %ebx
46ba73:	50                   	push   %eax
46ba74:	c1 e1 02             	shl    $0x2,%ecx
46ba77:	03 cb                	add    %ebx,%ecx
46ba79:	51                   	push   %ecx
46ba7a:	e8 1f 4b 03 00       	call   0x4a059e
46ba7f:	83 c4 04             	add    $0x4,%esp
46ba82:	5e                   	pop    %esi
46ba83:	8b f8                	mov    %eax,%edi
46ba85:	59                   	pop    %ecx
46ba86:	c1 e9 02             	shr    $0x2,%ecx
46ba89:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
46ba8b:	59                   	pop    %ecx
46ba8c:	85 c9                	test   %ecx,%ecx
46ba8e:	0f 84 28 00 00 00    	je     0x46babc
46ba94:	50                   	push   %eax
46ba95:	ad                   	lods   %ds:(%esi),%eax
46ba96:	56                   	push   %esi
46ba97:	57                   	push   %edi
46ba98:	51                   	push   %ecx
46ba99:	85 c0                	test   %eax,%eax
46ba9b:	74 13                	je     0x46bab0
46ba9d:	50                   	push   %eax
46ba9e:	8b 40 04             	mov    0x4(%eax),%eax
46baa1:	83 c0 08             	add    $0x8,%eax
46baa4:	50                   	push   %eax
46baa5:	e8 f4 4a 03 00       	call   0x4a059e
46baaa:	59                   	pop    %ecx
46baab:	5e                   	pop    %esi
46baac:	8b f8                	mov    %eax,%edi
46baae:	f3 a4                	rep movsb %ds:(%esi),%es:(%edi)
46bab0:	59                   	pop    %ecx
46bab1:	5f                   	pop    %edi
46bab2:	5e                   	pop    %esi
46bab3:	ab                   	stos   %eax,%es:(%edi)
46bab4:	49                   	dec    %ecx
46bab5:	0f 85 da ff ff ff    	jne    0x46ba95
46babb:	58                   	pop    %eax
46babc:	5f                   	pop    %edi
46babd:	5e                   	pop    %esi
46babe:	ab                   	stos   %eax,%es:(%edi)
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)