46d9a4:	85 c0                	test   %eax,%eax
46d9a6:	74 10                	je     0x46d9b8
46d9a8:	8b 08                	mov    (%eax),%ecx
46d9aa:	50                   	push   %eax
46d9ab:	8b 71 08             	mov    0x8(%ecx),%esi
46d9ae:	8b ce                	mov    %esi,%ecx
46d9b0:	ff 15 2c 81 4a 00    	call   *0x4a812c
46d9b6:	ff d6                	call   *%esi
46d9b8:	57                   	push   %edi
46d9b9:	ff 15 3c 7c 4a 00    	call   *0x4a7c3c
46d9bf:	c7 45 fc 05 00 00 00 	movl   $0x5,-0x4(%ebp)
46d9c6:	8b 45 e8             	mov    -0x18(%ebp),%eax
46d9c9:	85 c0                	test   %eax,%eax
46d9cb:	74 10                	je     0x46d9dd
46d9cd:	8b 08                	mov    (%eax),%ecx
46d9cf:	50                   	push   %eax
46d9d0:	8b 71 08             	mov    0x8(%ecx),%esi
46d9d3:	8b ce                	mov    %esi,%ecx
46d9d5:	ff 15 2c 81 4a 00    	call   *0x4a812c
46d9db:	ff d6                	call   *%esi
46d9dd:	8b c3                	mov    %ebx,%eax
46d9df:	e8 bd 2a 02 00       	call   0x4904a1
46d9e4:	c3                   	ret
46d9e5:	cc                   	int3
46d9e6:	cc                   	int3
46d9e7:	cc                   	int3
46d9e8:	cc                   	int3
46d9e9:	cc                   	int3
46d9ea:	cc                   	int3
46d9eb:	cc                   	int3
46d9ec:	cc                   	int3
46d9ed:	cc                   	int3
46d9ee:	cc                   	int3
46d9ef:	cc                   	int3
46d9f0:	8b ff                	mov    %edi,%edi
46d9f2:	55                   	push   %ebp
46d9f3:	8b ec                	mov    %esp,%ebp
46d9f5:	8b 45 0c             	mov    0xc(%ebp),%eax
46d9f8:	8a 48 38             	mov    0x38(%eax),%cl
46d9fb:	8b 45 14             	mov    0x14(%ebp),%eax
46d9fe:	88 08                	mov    %cl,(%eax)
46da00:	33 c0                	xor    %eax,%eax
46da02:	5d                   	pop    %ebp
46da03:	c2 10 00             	ret    $0x10
46da06:	8b ff                	mov    %edi,%edi
46da08:	56                   	push   %esi
46da09:	57                   	push   %edi
46da0a:	6a 00                	push   $0x0
46da0c:	8b f9                	mov    %ecx,%edi
46da0e:	ff 15 54 7d 4a 00    	call   *0x4a7d54
46da14:	8b f0                	mov    %eax,%esi
46da16:	85 f6                	test   %esi,%esi
46da18:	74 1c                	je     0x46da36
46da1a:	6a 00                	push   $0x0
46da1c:	8d 4f 17             	lea    0x17(%edi),%ecx
46da1f:	51                   	push   %ecx
46da20:	68 f0 d9 46 00       	push   $0x46d9f0
46da25:	57                   	push   %edi
46da26:	56                   	push   %esi
46da27:	ff 15 64 70 4a 00    	call   *0x4a7064
46da2d:	56                   	push   %esi
46da2e:	6a 00                	push   $0x0
46da30:	ff 15 94 7d 4a 00    	call   *0x4a7d94
46da36:	5f                   	pop    %edi
46da37:	5e                   	pop    %esi
46da38:	c3                   	ret
46da39:	8b ff                	mov    %edi,%edi
46da3b:	55                   	push   %ebp
46da3c:	8b ec                	mov    %esp,%ebp
46da3e:	81 ec 10 01 00 00    	sub    $0x110,%esp
46da44:	a1 dc 38 4a 00       	mov    0x4a38dc,%eax
46da49:	33 c5                	xor    %ebp,%eax
46da4b:	89 45 f8             	mov    %eax,-0x8(%ebp)
46da4e:	53                   	push   %ebx
46da4f:	56                   	push   %esi
46da50:	57                   	push   %edi
46da51:	6a 74                	push   $0x74
46da53:	8d 85 2c ff ff ff    	lea    -0xd4(%ebp),%eax
46da59:	89 8d 0c ff ff ff    	mov    %ecx,-0xf4(%ebp)
46da5f:	6a 00                	push   $0x0
46da61:	50                   	push   %eax
46da62:	8b da                	mov    %edx,%ebx
46da64:	e8 d0 35 02 00       	call   0x491039
46da69:	83 c4 0c             	add    $0xc,%esp
46da6c:	8d b5 2c ff ff ff    	lea    -0xd4(%ebp),%esi
46da72:	8b fb                	mov    %ebx,%edi
46da74:	33 c0                	xor    %eax,%eax
46da76:	6a 1d                	push   $0x1d
46da78:	59                   	pop    %ecx
46da79:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
46da7b:	83 63 04 00          	andl   $0x0,0x4(%ebx)
46da7f:	8d bd 14 ff ff ff    	lea    -0xec(%ebp),%edi
46da85:	83 63 08 00          	andl   $0x0,0x8(%ebx)
46da89:	ab                   	stos   %eax,%es:(%edi)
46da8a:	c7 03 74 00 00 00    	movl   $0x74,(%ebx)
46da90:	ab                   	stos   %eax,%es:(%edi)
46da91:	ab                   	stos   %eax,%es:(%edi)
46da92:	ab                   	stos   %eax,%es:(%edi)
46da93:	8d 85 14 ff ff ff    	lea    -0xec(%ebp),%eax
46da99:	8b bd 0c ff ff ff    	mov    -0xf4(%ebp),%edi
46da9f:	50                   	push   %eax
46daa0:	68 30 f8 40 00       	push   $0x40f830
46daa5:	57                   	push   %edi
46daa6:	8b 37                	mov    (%edi),%esi
46daa8:	8b 4e 14             	mov    0x14(%esi),%ecx
46daab:	ff 15 2c 81 4a 00    	call   *0x4a812c
46dab1:	ff 56 14             	call   *0x14(%esi)
46dab4:	85 c0                	test   %eax,%eax
46dab6:	78 30                	js     0x46dae8
46dab8:	8d 85 28 ff ff ff    	lea    -0xd8(%ebp),%eax
46dabe:	50                   	push   %eax
46dabf:	8d 85 14 ff ff ff    	lea    -0xec(%ebp),%eax
46dac5:	50                   	push   %eax
46dac6:	ff 15 5c 7c 4a 00    	call   *0x4a7c5c
46dacc:	83 bd 28 ff ff ff 00 	cmpl   $0x0,-0xd8(%ebp)
46dad3:	74 13                	je     0x46dae8
46dad5:	83 4b 04 01          	orl    $0x1,0x4(%ebx)
46dad9:	33 c0                	xor    %eax,%eax
46dadb:	83 bd 28 ff ff ff 02 	cmpl   $0x2,-0xd8(%ebp)
46dae2:	0f 94 c0             	sete   %al
46dae5:	09 43 08             	or     %eax,0x8(%ebx)
46dae8:	8d 85 14 ff ff ff    	lea    -0xec(%ebp),%eax
46daee:	50                   	push   %eax
46daef:	ff 15 64 7e 4a 00    	call   *0x4a7e64
46daf5:	8b 37                	mov    (%edi),%esi
46daf7:	8d 85 14 ff ff ff    	lea    -0xec(%ebp),%eax
46dafd:	50                   	push   %eax
46dafe:	68 e0 f7 40 00       	push   $0x40f7e0
46db03:	57                   	push   %edi
46db04:	8b 4e 14             	mov    0x14(%esi),%ecx
46db07:	ff 15 2c 81 4a 00    	call   *0x4a812c
46db0d:	ff 56 14             	call   *0x14(%esi)
46db10:	85 c0                	test   %eax,%eax
46db12:	78 34                	js     0x46db48
46db14:	8d 85 28 ff ff ff    	lea    -0xd8(%ebp),%eax
46db1a:	50                   	push   %eax
46db1b:	8d 85 14 ff ff ff    	lea    -0xec(%ebp),%eax
46db21:	50                   	push   %eax
46db22:	ff 15 5c 7c 4a 00    	call   *0x4a7c5c
46db28:	83 bd 28 ff ff ff 00 	cmpl   $0x0,-0xd8(%ebp)
46db2f:	74 17                	je     0x46db48
46db31:	83 4b 04 02          	orl    $0x2,0x4(%ebx)
46db35:	83 bd 28 ff ff ff 02 	cmpl   $0x2,-0xd8(%ebp)
46db3c:	75 05                	jne    0x46db43
46db3e:	6a 02                	push   $0x2
46db40:	58                   	pop    %eax
46db41:	eb 02                	jmp    0x46db45
46db43:	33 c0                	xor    %eax,%eax
46db45:	09 43 08             	or     %eax,0x8(%ebx)
46db48:	8d 85 14 ff ff ff    	lea    -0xec(%ebp),%eax
46db4e:	50                   	push   %eax
46db4f:	ff 15 64 7e 4a 00    	call   *0x4a7e64
46db55:	8b 37                	mov    (%edi),%esi
46db57:	8d 85 14 ff ff ff    	lea    -0xec(%ebp),%eax
46db5d:	50                   	push   %eax
46db5e:	68 88 f4 40 00       	push   $0x40f488
46db63:	57                   	push   %edi
46db64:	8b 4e 14             	mov    0x14(%esi),%ecx
46db67:	ff 15 2c 81 4a 00    	call   *0x4a812c
46db6d:	ff 56 14             	call   *0x14(%esi)
46db70:	85 c0                	test   %eax,%eax
46db72:	78 31                	js     0x46dba5
46db74:	8d 85 28 ff ff ff    	lea    -0xd8(%ebp),%eax
46db7a:	50                   	push   %eax
46db7b:	8d 85 14 ff ff ff    	lea    -0xec(%ebp),%eax
46db81:	50                   	push   %eax
46db82:	ff 15 5c 7c 4a 00    	call   *0x4a7c5c
46db88:	83 bd 28 ff ff ff 00 	cmpl   $0x0,-0xd8(%ebp)
46db8f:	74 14                	je     0x46dba5
46db91:	6a 04                	push   $0x4
46db93:	58                   	pop    %eax
46db94:	09 43 04             	or     %eax,0x4(%ebx)
46db97:	83 bd 28 ff ff ff 02 	cmpl   $0x2,-0xd8(%ebp)
46db9e:	74 02                	je     0x46dba2
46dba0:	33 c0                	xor    %eax,%eax
46dba2:	09 43 08             	or     %eax,0x8(%ebx)
46dba5:	8d 85 14 ff ff ff    	lea    -0xec(%ebp),%eax
46dbab:	50                   	push   %eax
46dbac:	ff 15 64 7e 4a 00    	call   *0x4a7e64
46dbb2:	8b 37                	mov    (%edi),%esi
46dbb4:	8d 85 14 ff ff ff    	lea    -0xec(%ebp),%eax
46dbba:	50                   	push   %eax
46dbbb:	68 f4 f7 40 00       	push   $0x40f7f4
46dbc0:	57                   	push   %edi
46dbc1:	8b 4e 14             	mov    0x14(%esi),%ecx
46dbc4:	ff 15 2c 81 4a 00    	call   *0x4a812c
46dbca:	ff 56 14             	call   *0x14(%esi)
46dbcd:	85 c0                	test   %eax,%eax
46dbcf:	78 31                	js     0x46dc02
46dbd1:	8d 85 28 ff ff ff    	lea    -0xd8(%ebp),%eax
46dbd7:	50                   	push   %eax
46dbd8:	8d 85 14 ff ff ff    	lea    -0xec(%ebp),%eax
46dbde:	50                   	push   %eax
46dbdf:	ff 15 5c 7c 4a 00    	call   *0x4a7c5c
46dbe5:	83 bd 28 ff ff ff 00 	cmpl   $0x0,-0xd8(%ebp)
46dbec:	74 14                	je     0x46dc02
46dbee:	6a 08                	push   $0x8
46dbf0:	58                   	pop    %eax
46dbf1:	09 43 04             	or     %eax,0x4(%ebx)
46dbf4:	83 bd 28 ff ff ff 02 	cmpl   $0x2,-0xd8(%ebp)
46dbfb:	74 02                	je     0x46dbff
46dbfd:	33 c0                	xor    %eax,%eax
46dbff:	09 43 08             	or     %eax,0x8(%ebx)
46dc02:	8d 85 14 ff ff ff    	lea    -0xec(%ebp),%eax
46dc08:	50                   	push   %eax
46dc09:	ff 15 64 7e 4a 00    	call   *0x4a7e64
46dc0f:	8b 37                	mov    (%edi),%esi
46dc11:	8d 85 14 ff ff ff    	lea    -0xec(%ebp),%eax
46dc17:	50                   	push   %eax
46dc18:	68 6c f6 40 00       	push   $0x40f66c
46dc1d:	57                   	push   %edi
46dc1e:	8b 4e 14             	mov    0x14(%esi),%ecx
46dc21:	ff 15 2c 81 4a 00    	call   *0x4a812c
46dc27:	ff 56 14             	call   *0x14(%esi)
46dc2a:	85 c0                	test   %eax,%eax
46dc2c:	78 3f                	js     0x46dc6d
46dc2e:	8d 85 28 ff ff ff    	lea    -0xd8(%ebp),%eax
46dc34:	50                   	push   %eax
46dc35:	8d 85 14 ff ff ff    	lea    -0xec(%ebp),%eax
46dc3b:	50                   	push   %eax
46dc3c:	ff 15 5c 7c 4a 00    	call   *0x4a7c5c
46dc42:	8b 8d 28 ff ff ff    	mov    -0xd8(%ebp),%ecx
46dc48:	85 c9                	test   %ecx,%ecx
46dc4a:	74 21                	je     0x46dc6d
46dc4c:	81 4b 04 00 00 03 00 	orl    $0x30000,0x4(%ebx)
46dc53:	83 f9 01             	cmp    $0x1,%ecx
46dc56:	74 15                	je     0x46dc6d
46dc58:	33 c0                	xor    %eax,%eax
46dc5a:	83 f9 02             	cmp    $0x2,%ecx
46dc5d:	b9 00 00 01 00       	mov    $0x10000,%ecx
46dc62:	0f 95 c0             	setne  %al
46dc65:	48                   	dec    %eax
46dc66:	23 c1                	and    %ecx,%eax
46dc68:	03 c1                	add    %ecx,%eax
46dc6a:	09 43 08             	or     %eax,0x8(%ebx)
46dc6d:	8d 85 14 ff ff ff    	lea    -0xec(%ebp),%eax
46dc73:	50                   	push   %eax
46dc74:	ff 15 64 7e 4a 00    	call   *0x4a7e64
46dc7a:	8b 37                	mov    (%edi),%esi
46dc7c:	8d 85 14 ff ff ff    	lea    -0xec(%ebp),%eax
46dc82:	50                   	push   %eax
46dc83:	68 a8 f5 40 00       	push   $0x40f5a8
46dc88:	57                   	push   %edi
46dc89:	8b 4e 14             	mov    0x14(%esi),%ecx
46dc8c:	ff 15 2c 81 4a 00    	call   *0x4a812c
46dc92:	ff 56 14             	call   *0x14(%esi)
46dc95:	85 c0                	test   %eax,%eax
46dc97:	0f 88 87 00 00 00    	js     0x46dd24
46dc9d:	6a 20                	push   $0x20
46dc9f:	8d 45 b4             	lea    -0x4c(%ebp),%eax
46dca2:	50                   	push   %eax
46dca3:	8d 85 14 ff ff ff    	lea    -0xec(%ebp),%eax
46dca9:	50                   	push   %eax
46dcaa:	ff 15 50 7c 4a 00    	call   *0x4a7c50
46dcb0:	68 80 fa 40 00       	push   $0x40fa80
46dcb5:	8d 45 b4             	lea    -0x4c(%ebp),%eax
46dcb8:	50                   	push   %eax
46dcb9:	ff 15 c0 72 4a 00    	call   *0x4a72c0
46dcbf:	85 c0                	test   %eax,%eax
46dcc1:	74 61                	je     0x46dd24
46dcc3:	8d 45 b4             	lea    -0x4c(%ebp),%eax
46dcc6:	50                   	push   %eax
46dcc7:	6a 20                	push   $0x20
46dcc9:	8d 4b 1a             	lea    0x1a(%ebx),%ecx
46dccc:	5a                   	pop    %edx
46dccd:	e8 da 9a fa ff       	call   0x4177ac
46dcd2:	81 4b 04 00 00 00 20 	orl    $0x20000000,0x4(%ebx)
46dcd9:	8d 85 44 ff ff ff    	lea    -0xbc(%ebp),%eax
46dcdf:	6a 5c                	push   $0x5c
46dce1:	6a 00                	push   $0x0
46dce3:	50                   	push   %eax
46dce4:	e8 50 33 02 00       	call   0x491039
46dce9:	83 c4 0c             	add    $0xc,%esp
46dcec:	8d 45 b4             	lea    -0x4c(%ebp),%eax
46dcef:	8d 8d 60 ff ff ff    	lea    -0xa0(%ebp),%ecx
46dcf5:	50                   	push   %eax
46dcf6:	6a 20                	push   $0x20
46dcf8:	5a                   	pop    %edx
46dcf9:	e8 ae 9a fa ff       	call   0x4177ac
46dcfe:	8d 8d 44 ff ff ff    	lea    -0xbc(%ebp),%ecx
46dd04:	c6 85 5b ff ff ff 01 	movb   $0x1,-0xa5(%ebp)
46dd0b:	e8 f6 fc ff ff       	call   0x46da06
46dd10:	8a 85 5b ff ff ff    	mov    -0xa5(%ebp),%al
46dd16:	3c 01                	cmp    $0x1,%al
46dd18:	74 0a                	je     0x46dd24
46dd1a:	81 4b 04 00 00 00 08 	orl    $0x8000000,0x4(%ebx)
46dd21:	88 43 18             	mov    %al,0x18(%ebx)
46dd24:	8d 85 14 ff ff ff    	lea    -0xec(%ebp),%eax
46dd2a:	50                   	push   %eax
46dd2b:	ff 15 64 7e 4a 00    	call   *0x4a7e64
46dd31:	8b 37                	mov    (%edi),%esi
46dd33:	8d 85 14 ff ff ff    	lea    -0xec(%ebp),%eax
46dd39:	50                   	push   %eax
46dd3a:	68 60 f4 40 00       	push   $0x40f460
46dd3f:	57                   	push   %edi
46dd40:	8b 4e 14             	mov    0x14(%esi),%ecx
46dd43:	ff 15 2c 81 4a 00    	call   *0x4a812c
46dd49:	ff 56 14             	call   *0x14(%esi)
46dd4c:	85 c0                	test   %eax,%eax
46dd4e:	78 5e                	js     0x46ddae
46dd50:	8d 85 28 ff ff ff    	lea    -0xd8(%ebp),%eax
46dd56:	50                   	push   %eax
46dd57:	8d 85 14 ff ff ff    	lea    -0xec(%ebp),%eax
46dd5d:	50                   	push   %eax
46dd5e:	ff 15 5c 7c 4a 00    	call   *0x4a7c5c
46dd64:	8d b5 14 ff ff ff    	lea    -0xec(%ebp),%esi
46dd6a:	8d 7d a4             	lea    -0x5c(%ebp),%edi
46dd6d:	a5                   	movsl  %ds:(%esi),%es:(%edi)
46dd6e:	8d 85 f4 fe ff ff    	lea    -0x10c(%ebp),%eax
46dd74:	50                   	push   %eax
46dd75:	8d 45 a4             	lea    -0x5c(%ebp),%eax
46dd78:	50                   	push   %eax
46dd79:	a5                   	movsl  %ds:(%esi),%es:(%edi)
46dd7a:	a5                   	movsl  %ds:(%esi),%es:(%edi)
46dd7b:	a5                   	movsl  %ds:(%esi),%es:(%edi)
46dd7c:	ff 15 44 7c 4a 00    	call   *0x4a7c44
46dd82:	d9 ee                	fldz
46dd84:	dd 85 f4 fe ff ff    	fldl   -0x10c(%ebp)
46dd8a:	d8 d1                	fcom   %st(1)
46dd8c:	df e0                	fnstsw %ax
46dd8e:	dd d9                	fstp   %st(1)
46dd90:	f6 c4 41             	test   $0x41,%ah
46dd93:	75 17                	jne    0x46ddac
46dd95:	dc 0d 48 42 41 00    	fmull  0x414248
46dd9b:	81 4b 04 00 00 00 80 	orl    $0x80000000,0x4(%ebx)
46dda2:	e8 7a 32 02 00       	call   0x491021
46dda7:	89 43 0c             	mov    %eax,0xc(%ebx)
46ddaa:	eb 02                	jmp    0x46ddae
46ddac:	dd d8                	fstp   %st(0)
46ddae:	8d 85 14 ff ff ff    	lea    -0xec(%ebp),%eax
46ddb4:	50                   	push   %eax
46ddb5:	ff 15 64 7e 4a 00    	call   *0x4a7e64
46ddbb:	33 c0                	xor    %eax,%eax
46ddbd:	8d bd fc fe ff ff    	lea    -0x104(%ebp),%edi
46ddc3:	ab                   	stos   %eax,%es:(%edi)
46ddc4:	ab                   	stos   %eax,%es:(%edi)
46ddc5:	ab                   	stos   %eax,%es:(%edi)
46ddc6:	ab                   	stos   %eax,%es:(%edi)
46ddc7:	8d 85 14 ff ff ff    	lea    -0xec(%ebp),%eax
46ddcd:	8b bd 0c ff ff ff    	mov    -0xf4(%ebp),%edi
46ddd3:	50                   	push   %eax
46ddd4:	68 78 f8 40 00       	push   $0x40f878
46ddd9:	57                   	push   %edi
46ddda:	8b 37                	mov    (%edi),%esi
46dddc:	8b 4e 14             	mov    0x14(%esi),%ecx
46dddf:	ff 15 2c 81 4a 00    	call   *0x4a812c
46dde5:	ff 56 14             	call   *0x14(%esi)
46dde8:	be 00 00 00 40       	mov    $0x40000000,%esi
46dded:	85 c0                	test   %eax,%eax
46ddef:	78 23                	js     0x46de14