88db4d:	f6 c4 44             	test   $0x44,%ah
88db50:	7a 04                	jp     0x88db56
88db52:	dd d8                	fstp   %st(0)
88db54:	eb e4                	jmp    0x88db3a
88db56:	d9 e8                	fld1
88db58:	dd e9                	fucomp %st(1)
88db5a:	df e0                	fnstsw %ax
88db5c:	f6 c4 44             	test   $0x44,%ah
88db5f:	7a 0d                	jp     0x88db6e
88db61:	dd d8                	fstp   %st(0)
88db63:	33 c0                	xor    %eax,%eax
88db65:	40                   	inc    %eax
88db66:	e8 ac 08 b8 ff       	call   0x40e417
88db6b:	c2 08 00             	ret    $0x8
88db6e:	8b 46 58             	mov    0x58(%esi),%eax
88db71:	89 45 e0             	mov    %eax,-0x20(%ebp)
88db74:	db 45 e0             	fildl  -0x20(%ebp)
88db77:	89 45 c4             	mov    %eax,-0x3c(%ebp)
88db7a:	dd 5d 8c             	fstpl  -0x74(%ebp)
88db7d:	dd 45 8c             	fldl   -0x74(%ebp)
88db80:	d8 c9                	fmul   %st(1),%st
88db82:	dd 05 f0 b7 bd 00    	fldl   0xbdb7f0
88db88:	dc c1                	fadd   %st,%st(1)
88db8a:	d9 c9                	fxch   %st(1)
88db8c:	e8 8b 5e b7 ff       	call   0x403a1c
88db91:	8b 5e 54             	mov    0x54(%esi),%ebx
88db94:	89 5d e0             	mov    %ebx,-0x20(%ebp)
88db97:	db 45 e0             	fildl  -0x20(%ebp)
88db9a:	89 45 ec             	mov    %eax,-0x14(%ebp)
88db9d:	dd 5d 8c             	fstpl  -0x74(%ebp)
88dba0:	dd 45 8c             	fldl   -0x74(%ebp)
88dba3:	de ca                	fmulp  %st,%st(2)
88dba5:	de c1                	faddp  %st,%st(1)
88dba7:	e8 70 5e b7 ff       	call   0x403a1c
88dbac:	8b c8                	mov    %eax,%ecx
88dbae:	8b 45 ec             	mov    -0x14(%ebp),%eax
88dbb1:	89 4d d4             	mov    %ecx,-0x2c(%ebp)
88dbb4:	3b 4e 54             	cmp    0x54(%esi),%ecx
88dbb7:	75 05                	jne    0x88dbbe
88dbb9:	3b 46 58             	cmp    0x58(%esi),%eax
88dbbc:	74 a5                	je     0x88db63
88dbbe:	85 db                	test   %ebx,%ebx
88dbc0:	7e a1                	jle    0x88db63
88dbc2:	83 7d c4 00          	cmpl   $0x0,-0x3c(%ebp)
88dbc6:	7e 9b                	jle    0x88db63
88dbc8:	85 c9                	test   %ecx,%ecx
88dbca:	7e 97                	jle    0x88db63
88dbcc:	85 c0                	test   %eax,%eax
88dbce:	7e 93                	jle    0x88db63
88dbd0:	8b 46 04             	mov    0x4(%esi),%eax
88dbd3:	89 45 d8             	mov    %eax,-0x28(%ebp)
88dbd6:	85 c0                	test   %eax,%eax
88dbd8:	74 89                	je     0x88db63
88dbda:	8d 85 d8 fe ff ff    	lea    -0x128(%ebp),%eax
88dbe0:	50                   	push   %eax
88dbe1:	6a 18                	push   $0x18
88dbe3:	57                   	push   %edi
88dbe4:	ff 15 44 32 d8 00    	call   *0xd83244
88dbea:	85 c0                	test   %eax,%eax
88dbec:	0f 84 48 ff ff ff    	je     0x88db3a
88dbf2:	ff b5 e0 fe ff ff    	push   -0x120(%ebp)
88dbf8:	e8 c8 7a ba ff       	call   0x4356c5
88dbfd:	dd 86 b8 00 00 00    	fldl   0xb8(%esi)
88dc03:	33 db                	xor    %ebx,%ebx
88dc05:	39 9d e0 fe ff ff    	cmp    %ebx,-0x120(%ebp)
88dc0b:	dc 4d 08             	fmull  0x8(%ebp)
88dc0e:	8b 7d d8             	mov    -0x28(%ebp),%edi
88dc11:	0f 9c c3             	setl   %bl
88dc14:	59                   	pop    %ecx
88dc15:	8b 4e 54             	mov    0x54(%esi),%ecx
88dc18:	89 4d c0             	mov    %ecx,-0x40(%ebp)
88dc1b:	33 c9                	xor    %ecx,%ecx
88dc1d:	89 4d e0             	mov    %ecx,-0x20(%ebp)
88dc20:	89 4d e8             	mov    %ecx,-0x18(%ebp)
88dc23:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
88dc26:	dd 9e b8 00 00 00    	fstpl  0xb8(%esi)
88dc2c:	83 ff 01             	cmp    $0x1,%edi
88dc2f:	75 17                	jne    0x88dc48
88dc31:	3b 46 58             	cmp    0x58(%esi),%eax
88dc34:	7e 12                	jle    0x88dc48
88dc36:	99                   	cltd
88dc37:	f7 7e 58             	idivl  0x58(%esi)
88dc3a:	89 4d c0             	mov    %ecx,-0x40(%ebp)
88dc3d:	8b f8                	mov    %eax,%edi
88dc3f:	8b 46 58             	mov    0x58(%esi),%eax
88dc42:	89 7d d8             	mov    %edi,-0x28(%ebp)
88dc45:	89 45 e0             	mov    %eax,-0x20(%ebp)
88dc48:	ff b6 a8 00 00 00    	push   0xa8(%esi)
88dc4e:	ff b6 8c 00 00 00    	push   0x8c(%esi)
88dc54:	e8 d1 16 b9 ff       	call   0x41f32a
88dc59:	89 45 b0             	mov    %eax,-0x50(%ebp)
88dc5c:	85 c0                	test   %eax,%eax
88dc5e:	0f 84 d6 fe ff ff    	je     0x88db3a
88dc64:	83 7d c0 00          	cmpl   $0x0,-0x40(%ebp)
88dc68:	8b 45 ec             	mov    -0x14(%ebp),%eax
88dc6b:	8b c8                	mov    %eax,%ecx
88dc6d:	8b 55 d4             	mov    -0x2c(%ebp),%edx
88dc70:	89 55 a8             	mov    %edx,-0x58(%ebp)
88dc73:	89 4d ac             	mov    %ecx,-0x54(%ebp)
88dc76:	7e 0d                	jle    0x88dc85
88dc78:	8b c7                	mov    %edi,%eax
88dc7a:	89 55 e8             	mov    %edx,-0x18(%ebp)
88dc7d:	0f af c2             	imul   %edx,%eax
88dc80:	89 45 a8             	mov    %eax,-0x58(%ebp)
88dc83:	eb 09                	jmp    0x88dc8e
88dc85:	0f af cf             	imul   %edi,%ecx
88dc88:	89 45 e4             	mov    %eax,-0x1c(%ebp)
88dc8b:	89 4d ac             	mov    %ecx,-0x54(%ebp)
88dc8e:	85 db                	test   %ebx,%ebx
88dc90:	74 05                	je     0x88dc97
88dc92:	f7 d9                	neg    %ecx
88dc94:	89 4d ac             	mov    %ecx,-0x54(%ebp)
88dc97:	6a 00                	push   $0x0
88dc99:	8d 45 a8             	lea    -0x58(%ebp),%eax
88dc9c:	50                   	push   %eax
88dc9d:	e8 1e 4e b9 ff       	call   0x422ac0
88dca2:	ff 75 ac             	push   -0x54(%ebp)
88dca5:	8b d8                	mov    %eax,%ebx
88dca7:	89 5d 90             	mov    %ebx,-0x70(%ebp)
88dcaa:	e8 16 7a ba ff       	call   0x4356c5
88dcaf:	89 45 ac             	mov    %eax,-0x54(%ebp)
88dcb2:	59                   	pop    %ecx
88dcb3:	85 db                	test   %ebx,%ebx
88dcb5:	75 0e                	jne    0x88dcc5
88dcb7:	ff 75 b0             	push   -0x50(%ebp)
88dcba:	ff 15 78 31 d8 00    	call   *0xd83178
88dcc0:	e9 75 fe ff ff       	jmp    0x88db3a
88dcc5:	dd 45 08             	fldl   0x8(%ebp)
88dcc8:	d9 e8                	fld1
88dcca:	de d9                	fcompp
88dccc:	df e0                	fnstsw %ax
88dcce:	f6 c4 41             	test   $0x41,%ah
88dcd1:	75 04                	jne    0x88dcd7
88dcd3:	6a 05                	push   $0x5
88dcd5:	eb 02                	jmp    0x88dcd9
88dcd7:	6a 06                	push   $0x6
88dcd9:	33 c0                	xor    %eax,%eax
88dcdb:	5f                   	pop    %edi
88dcdc:	89 85 24 ff ff ff    	mov    %eax,-0xdc(%ebp)
88dce2:	89 85 30 ff ff ff    	mov    %eax,-0xd0(%ebp)
88dce8:	89 85 34 ff ff ff    	mov    %eax,-0xcc(%ebp)
88dcee:	89 85 38 ff ff ff    	mov    %eax,-0xc8(%ebp)
88dcf4:	89 85 3c ff ff ff    	mov    %eax,-0xc4(%ebp)
88dcfa:	89 85 40 ff ff ff    	mov    %eax,-0xc0(%ebp)
88dd00:	89 85 44 ff ff ff    	mov    %eax,-0xbc(%ebp)
88dd06:	89 85 4c ff ff ff    	mov    %eax,-0xb4(%ebp)
88dd0c:	89 85 28 ff ff ff    	mov    %eax,-0xd8(%ebp)
88dd12:	89 85 2c ff ff ff    	mov    %eax,-0xd4(%ebp)
88dd18:	89 45 fc             	mov    %eax,-0x4(%ebp)
88dd1b:	8d 8d 24 ff ff ff    	lea    -0xdc(%ebp),%ecx
88dd21:	89 85 58 ff ff ff    	mov    %eax,-0xa8(%ebp)
88dd27:	89 85 5c ff ff ff    	mov    %eax,-0xa4(%ebp)
88dd2d:	8d 85 58 ff ff ff    	lea    -0xa8(%ebp),%eax
88dd33:	50                   	push   %eax
88dd34:	ff 75 b0             	push   -0x50(%ebp)
88dd37:	e8 0d be ba ff       	call   0x439b49
88dd3c:	33 c0                	xor    %eax,%eax
88dd3e:	89 85 f8 fe ff ff    	mov    %eax,-0x108(%ebp)
88dd44:	89 85 04 ff ff ff    	mov    %eax,-0xfc(%ebp)
88dd4a:	89 85 08 ff ff ff    	mov    %eax,-0xf8(%ebp)
88dd50:	89 85 0c ff ff ff    	mov    %eax,-0xf4(%ebp)
88dd56:	89 85 10 ff ff ff    	mov    %eax,-0xf0(%ebp)
88dd5c:	89 85 14 ff ff ff    	mov    %eax,-0xec(%ebp)
88dd62:	89 85 18 ff ff ff    	mov    %eax,-0xe8(%ebp)
88dd68:	89 85 20 ff ff ff    	mov    %eax,-0xe0(%ebp)
88dd6e:	89 85 fc fe ff ff    	mov    %eax,-0x104(%ebp)
88dd74:	89 85 00 ff ff ff    	mov    %eax,-0x100(%ebp)
88dd7a:	89 85 50 ff ff ff    	mov    %eax,-0xb0(%ebp)
88dd80:	8d 8d f8 fe ff ff    	lea    -0x108(%ebp),%ecx
88dd86:	89 85 54 ff ff ff    	mov    %eax,-0xac(%ebp)
88dd8c:	8d 85 50 ff ff ff    	lea    -0xb0(%ebp),%eax
88dd92:	50                   	push   %eax
88dd93:	53                   	push   %ebx
88dd94:	e8 b0 bd ba ff       	call   0x439b49
88dd99:	0f b6 85 48 ff ff ff 	movzbl -0xb8(%ebp),%eax
88dda0:	33 db                	xor    %ebx,%ebx
88dda2:	89 45 f0             	mov    %eax,-0x10(%ebp)
88dda5:	c7 85 70 ff ff ff 08 	movl   $0xc44708,-0x90(%ebp)
88ddac:	47 c4 00
88ddaf:	89 9d 74 ff ff ff    	mov    %ebx,-0x8c(%ebp)
88ddb5:	89 9d 78 ff ff ff    	mov    %ebx,-0x88(%ebp)
88ddbb:	57                   	push   %edi
88ddbc:	ff 76 54             	push   0x54(%esi)
88ddbf:	8d 8d 70 ff ff ff    	lea    -0x90(%ebp),%ecx
88ddc5:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
88ddc9:	53                   	push   %ebx
88ddca:	ff 75 d4             	push   -0x2c(%ebp)
88ddcd:	ff 76 54             	push   0x54(%esi)
88ddd0:	e8 14 e3 b8 ff       	call   0x41c0e9
88ddd5:	c7 85 7c ff ff ff 08 	movl   $0xc44708,-0x84(%ebp)
88dddc:	47 c4 00
88dddf:	89 5d 80             	mov    %ebx,-0x80(%ebp)
88dde2:	89 5d 84             	mov    %ebx,-0x7c(%ebp)
88dde5:	57                   	push   %edi
88dde6:	ff 76 58             	push   0x58(%esi)
88dde9:	8d 8d 7c ff ff ff    	lea    -0x84(%ebp),%ecx
88ddef:	c6 45 fc 03          	movb   $0x3,-0x4(%ebp)
88ddf3:	53                   	push   %ebx
88ddf4:	8b 5d ec             	mov    -0x14(%ebp),%ebx
88ddf7:	53                   	push   %ebx
88ddf8:	ff 76 58             	push   0x58(%esi)
88ddfb:	e8 e9 e2 b8 ff       	call   0x41c0e9
88de00:	8b 45 f0             	mov    -0x10(%ebp),%eax
88de03:	33 c9                	xor    %ecx,%ecx
88de05:	6a 08                	push   $0x8
88de07:	5a                   	pop    %edx
88de08:	f7 e2                	mul    %edx
88de0a:	0f 90 c1             	seto   %cl
88de0d:	f7 d9                	neg    %ecx
88de0f:	0b c8                	or     %eax,%ecx
88de11:	51                   	push   %ecx
88de12:	e8 80 79 ba ff       	call   0x435797
88de17:	8b f8                	mov    %eax,%edi
88de19:	33 c9                	xor    %ecx,%ecx
88de1b:	89 7d a0             	mov    %edi,-0x60(%ebp)
88de1e:	8b 45 f0             	mov    -0x10(%ebp),%eax
88de21:	6a 08                	push   $0x8
88de23:	5a                   	pop    %edx
88de24:	f7 e2                	mul    %edx
88de26:	0f 90 c1             	seto   %cl
88de29:	f7 d9                	neg    %ecx
88de2b:	0b c8                	or     %eax,%ecx
88de2d:	51                   	push   %ecx
88de2e:	e8 64 79 ba ff       	call   0x435797
88de33:	33 d2                	xor    %edx,%edx
88de35:	89 45 c8             	mov    %eax,-0x38(%ebp)
88de38:	8b 45 d8             	mov    -0x28(%ebp),%eax
88de3b:	89 55 bc             	mov    %edx,-0x44(%ebp)
88de3e:	89 55 b8             	mov    %edx,-0x48(%ebp)
88de41:	59                   	pop    %ecx
88de42:	59                   	pop    %ecx
88de43:	85 c0                	test   %eax,%eax
88de45:	0f 8e 6d 02 00 00    	jle    0x88e0b8
88de4b:	8b 75 f0             	mov    -0x10(%ebp),%esi
88de4e:	8b ce                	mov    %esi,%ecx
88de50:	c1 e1 03             	shl    $0x3,%ecx
88de53:	89 55 b4             	mov    %edx,-0x4c(%ebp)
88de56:	89 8d 64 ff ff ff    	mov    %ecx,-0x9c(%ebp)
88de5c:	8b 8d 18 ff ff ff    	mov    -0xe8(%ebp),%ecx
88de62:	8b d1                	mov    %ecx,%edx
88de64:	0f af 55 e4          	imul   -0x1c(%ebp),%edx
88de68:	89 95 6c ff ff ff    	mov    %edx,-0x94(%ebp)
88de6e:	8b d6                	mov    %esi,%edx
88de70:	0f af 55 e8          	imul   -0x18(%ebp),%edx
88de74:	89 95 60 ff ff ff    	mov    %edx,-0xa0(%ebp)
88de7a:	8b 95 fc fe ff ff    	mov    -0x104(%ebp),%edx
88de80:	89 55 e4             	mov    %edx,-0x1c(%ebp)
88de83:	8b 55 84             	mov    -0x7c(%ebp),%edx
88de86:	89 55 d0             	mov    %edx,-0x30(%ebp)
88de89:	33 d2                	xor    %edx,%edx
88de8b:	89 55 dc             	mov    %edx,-0x24(%ebp)
88de8e:	85 db                	test   %ebx,%ebx
88de90:	0f 84 ef 01 00 00    	je     0x88e085
88de96:	8b 45 b4             	mov    -0x4c(%ebp),%eax
88de99:	03 45 e4             	add    -0x1c(%ebp),%eax
88de9c:	89 45 e8             	mov    %eax,-0x18(%ebp)
88de9f:	8b 45 d4             	mov    -0x2c(%ebp),%eax
88dea2:	8b 7d e8             	mov    -0x18(%ebp),%edi
88dea5:	89 7d a4             	mov    %edi,-0x5c(%ebp)
88dea8:	8b 7d a0             	mov    -0x60(%ebp),%edi
88deab:	85 c0                	test   %eax,%eax
88dead:	0f 84 c0 01 00 00    	je     0x88e073
88deb3:	8b 8d 78 ff ff ff    	mov    -0x88(%ebp),%ecx
88deb9:	89 4d cc             	mov    %ecx,-0x34(%ebp)
88debc:	89 45 c4             	mov    %eax,-0x3c(%ebp)
88debf:	8b c6                	mov    %esi,%eax
88dec1:	c1 e0 03             	shl    $0x3,%eax
88dec4:	50                   	push   %eax
88dec5:	6a 00                	push   $0x0
88dec7:	57                   	push   %edi
88dec8:	e8 eb 68 b8 ff       	call   0x4147b8
88decd:	8b 45 dc             	mov    -0x24(%ebp),%eax
88ded0:	83 c4 0c             	add    $0xc,%esp
88ded3:	8b 4d d0             	mov    -0x30(%ebp),%ecx
88ded6:	83 65 9c 00          	andl   $0x0,-0x64(%ebp)
88deda:	83 3c c1 00          	cmpl   $0x0,(%ecx,%eax,8)
88dede:	0f 86 e8 00 00 00    	jbe    0x88dfcc
88dee4:	33 f6                	xor    %esi,%esi
88dee6:	89 75 88             	mov    %esi,-0x78(%ebp)
88dee9:	8b 44 c1 04          	mov    0x4(%ecx,%eax,8),%eax
88deed:	ff b5 64 ff ff ff    	push   -0x9c(%ebp)
88def3:	6a 00                	push   $0x0
88def5:	8b 1c 30             	mov    (%eax,%esi,1),%ebx
88def8:	03 5d b8             	add    -0x48(%ebp),%ebx
88defb:	0f af 9d 44 ff ff ff 	imul   -0xbc(%ebp),%ebx
88df02:	dd 44 30 08          	fldl   0x8(%eax,%esi,1)
88df06:	ff 75 c8             	push   -0x38(%ebp)
88df09:	dd 9d f0 fe ff ff    	fstpl  -0x110(%ebp)
88df0f:	03 9d 28 ff ff ff    	add    -0xd8(%ebp),%ebx
88df15:	e8 9e 68 b8 ff       	call   0x4147b8
88df1a:	8b 45 cc             	mov    -0x34(%ebp),%eax
88df1d:	83 c4 0c             	add    $0xc,%esp
88df20:	83 65 98 00          	andl   $0x0,-0x68(%ebp)
88df24:	83 38 00             	cmpl   $0x0,(%eax)
88df27:	76 53                	jbe    0x88df7c
88df29:	8b 7d 98             	mov    -0x68(%ebp),%edi
88df2c:	33 d2                	xor    %edx,%edx
88df2e:	8b 40 04             	mov    0x4(%eax),%eax
88df31:	33 f6                	xor    %esi,%esi
88df33:	8b 0c 10             	mov    (%eax,%edx,1),%ecx
88df36:	03 4d bc             	add    -0x44(%ebp),%ecx
88df39:	0f af 4d f0          	imul   -0x10(%ebp),%ecx
88df3d:	dd 44 10 08          	fldl   0x8(%eax,%edx,1)
88df41:	03 cb                	add    %ebx,%ecx
88df43:	39 75 f0             	cmp    %esi,-0x10(%ebp)
88df46:	76 21                	jbe    0x88df69
88df48:	0f b6 01             	movzbl (%ecx),%eax
88df4b:	41                   	inc    %ecx
88df4c:	89 45 98             	mov    %eax,-0x68(%ebp)
88df4f:	db 45 98             	fildl  -0x68(%ebp)
88df52:	8b 45 c8             	mov    -0x38(%ebp),%eax
88df55:	dd 5d 94             	fstpl  -0x6c(%ebp)
88df58:	dd 45 94             	fldl   -0x6c(%ebp)
88df5b:	d8 c9                	fmul   %st(1),%st
88df5d:	dc 04 f0             	faddl  (%eax,%esi,8)
88df60:	dd 1c f0             	fstpl  (%eax,%esi,8)
88df63:	46                   	inc    %esi
88df64:	3b 75 f0             	cmp    -0x10(%ebp),%esi
88df67:	72 df                	jb     0x88df48
88df69:	8b 45 cc             	mov    -0x34(%ebp),%eax
88df6c:	47                   	inc    %edi
88df6d:	83 c2 10             	add    $0x10,%edx
88df70:	dd d8                	fstp   %st(0)
88df72:	3b 38                	cmp    (%eax),%edi
88df74:	72 b8                	jb     0x88df2e
88df76:	8b 7d a0             	mov    -0x60(%ebp),%edi
88df79:	8b 75 88             	mov    -0x78(%ebp),%esi
88df7c:	8b 55 f0             	mov    -0x10(%ebp),%edx
88df7f:	85 d2                	test   %edx,%edx
88df81:	74 20                	je     0x88dfa3
88df83:	8b 4d c8             	mov    -0x38(%ebp),%ecx
88df86:	8b c7                	mov    %edi,%eax
88df88:	dd 85 f0 fe ff ff    	fldl   -0x110(%ebp)
88df8e:	2b cf                	sub    %edi,%ecx
88df90:	dd 04 01             	fldl   (%ecx,%eax,1)
88df93:	d8 c9                	fmul   %st(1),%st
88df95:	dc 00                	faddl  (%eax)
88df97:	dd 18                	fstpl  (%eax)
88df99:	83 c0 08             	add    $0x8,%eax
88df9c:	83 ea 01             	sub    $0x1,%edx
88df9f:	75 ef                	jne    0x88df90
88dfa1:	dd d8                	fstp   %st(0)
88dfa3:	8b 4d dc             	mov    -0x24(%ebp),%ecx
88dfa6:	83 c6 10             	add    $0x10,%esi
88dfa9:	8b 55 d0             	mov    -0x30(%ebp),%edx
88dfac:	8b 45 9c             	mov    -0x64(%ebp),%eax
88dfaf:	40                   	inc    %eax
88dfb0:	89 75 88             	mov    %esi,-0x78(%ebp)
88dfb3:	89 45 9c             	mov    %eax,-0x64(%ebp)
88dfb6:	3b 04 ca             	cmp    (%edx,%ecx,8),%eax