4f6f37:	dc 48 18             	fmull  0x18(%eax)
4f6f3a:	e8 8d bd f0 ff       	call   0x402ccc
4f6f3f:	8b c8                	mov    %eax,%ecx
4f6f41:	8b 7d 08             	mov    0x8(%ebp),%edi
4f6f44:	8b 55 08             	mov    0x8(%ebp),%edx
4f6f47:	8b 52 08             	mov    0x8(%edx),%edx
4f6f4a:	8b 47 04             	mov    0x4(%edi),%eax
4f6f4d:	ff 17                	call   *(%edi)
4f6f4f:	8b 45 0c             	mov    0xc(%ebp),%eax
4f6f52:	83 78 14 02          	cmpl   $0x2,0x14(%eax)
4f6f56:	0f 85 96 00 00 00    	jne    0x4f6ff2
4f6f5c:	8b 45 a4             	mov    -0x5c(%ebp),%eax
4f6f5f:	03 c0                	add    %eax,%eax
4f6f61:	8d 04 40             	lea    (%eax,%eax,2),%eax
4f6f64:	03 45 d4             	add    -0x2c(%ebp),%eax
4f6f67:	89 45 b8             	mov    %eax,-0x48(%ebp)
4f6f6a:	8b 55 e4             	mov    -0x1c(%ebp),%edx
4f6f6d:	8b c3                	mov    %ebx,%eax
4f6f6f:	8b 08                	mov    (%eax),%ecx
4f6f71:	ff 11                	call   *(%ecx)
4f6f73:	8b d0                	mov    %eax,%edx
4f6f75:	8b 45 a4             	mov    -0x5c(%ebp),%eax
4f6f78:	03 c0                	add    %eax,%eax
4f6f7a:	8d 04 40             	lea    (%eax,%eax,2),%eax
4f6f7d:	03 d0                	add    %eax,%edx
4f6f7f:	89 55 b4             	mov    %edx,-0x4c(%ebp)
4f6f82:	83 6d b4 06          	subl   $0x6,-0x4c(%ebp)
4f6f86:	8b 45 a4             	mov    -0x5c(%ebp),%eax
4f6f89:	83 f8 01             	cmp    $0x1,%eax
4f6f8c:	7c 43                	jl     0x4f6fd1
4f6f8e:	66 8b 4a 04          	mov    0x4(%edx),%cx
4f6f92:	8b 7d b4             	mov    -0x4c(%ebp),%edi
4f6f95:	66 2b 4f 04          	sub    0x4(%edi),%cx
4f6f99:	8b 7d b8             	mov    -0x48(%ebp),%edi
4f6f9c:	66 89 4f 04          	mov    %cx,0x4(%edi)
4f6fa0:	66 8b 4a 02          	mov    0x2(%edx),%cx
4f6fa4:	8b 7d b4             	mov    -0x4c(%ebp),%edi
4f6fa7:	66 2b 4f 02          	sub    0x2(%edi),%cx
4f6fab:	8b 7d b8             	mov    -0x48(%ebp),%edi
4f6fae:	66 89 4f 02          	mov    %cx,0x2(%edi)
4f6fb2:	66 8b 0a             	mov    (%edx),%cx
4f6fb5:	8b 7d b4             	mov    -0x4c(%ebp),%edi
4f6fb8:	66 2b 0f             	sub    (%edi),%cx
4f6fbb:	8b 7d b8             	mov    -0x48(%ebp),%edi
4f6fbe:	66 89 0f             	mov    %cx,(%edi)
4f6fc1:	83 6d b8 06          	subl   $0x6,-0x48(%ebp)
4f6fc5:	83 ea 06             	sub    $0x6,%edx
4f6fc8:	83 6d b4 06          	subl   $0x6,-0x4c(%ebp)
4f6fcc:	48                   	dec    %eax
4f6fcd:	85 c0                	test   %eax,%eax
4f6fcf:	75 bd                	jne    0x4f6f8e
4f6fd1:	66 8b 42 04          	mov    0x4(%edx),%ax
4f6fd5:	8b 4d b8             	mov    -0x48(%ebp),%ecx
4f6fd8:	66 89 41 04          	mov    %ax,0x4(%ecx)
4f6fdc:	66 8b 42 02          	mov    0x2(%edx),%ax
4f6fe0:	8b 4d b8             	mov    -0x48(%ebp),%ecx
4f6fe3:	66 89 41 02          	mov    %ax,0x2(%ecx)
4f6fe7:	66 8b 02             	mov    (%edx),%ax
4f6fea:	8b 55 b8             	mov    -0x48(%ebp),%edx
4f6fed:	66 89 02             	mov    %ax,(%edx)
4f6ff0:	eb 21                	jmp    0x4f7013
4f6ff2:	8b 55 e4             	mov    -0x1c(%ebp),%edx
4f6ff5:	8b c3                	mov    %ebx,%eax
4f6ff7:	8b 08                	mov    (%eax),%ecx
4f6ff9:	ff 11                	call   *(%ecx)
4f6ffb:	50                   	push   %eax
4f6ffc:	8b c3                	mov    %ebx,%eax
4f6ffe:	8b 10                	mov    (%eax),%edx
4f7000:	ff 52 0c             	call   *0xc(%edx)
4f7003:	f7 6d a8             	imull  -0x58(%ebp)
4f7006:	8b c8                	mov    %eax,%ecx
4f7008:	03 c9                	add    %ecx,%ecx
4f700a:	8b 45 d4             	mov    -0x2c(%ebp),%eax
4f700d:	5a                   	pop    %edx
4f700e:	e8 ad 0e f1 ff       	call   0x407ec0
4f7013:	8b 45 0c             	mov    0xc(%ebp),%eax
4f7016:	8b 40 04             	mov    0x4(%eax),%eax
4f7019:	48                   	dec    %eax
4f701a:	74 0e                	je     0x4f702a
4f701c:	83 e8 04             	sub    $0x4,%eax
4f701f:	74 20                	je     0x4f7041
4f7021:	2d 00 80 00 00       	sub    $0x8000,%eax
4f7026:	74 2d                	je     0x4f7055
4f7028:	eb 40                	jmp    0x4f706a
4f702a:	8b 45 e0             	mov    -0x20(%ebp),%eax
4f702d:	50                   	push   %eax
4f702e:	8b 4d d4             	mov    -0x2c(%ebp),%ecx
4f7031:	8b 55 08             	mov    0x8(%ebp),%edx
4f7034:	8b 52 28             	mov    0x28(%edx),%edx
4f7037:	8b 45 ec             	mov    -0x14(%ebp),%eax
4f703a:	e8 bd ee 0f 00       	call   0x5f5efc
4f703f:	eb 29                	jmp    0x4f706a
4f7041:	8d 45 f0             	lea    -0x10(%ebp),%eax
4f7044:	50                   	push   %eax
4f7045:	8b 7d 0c             	mov    0xc(%ebp),%edi
4f7048:	8b 4d ec             	mov    -0x14(%ebp),%ecx
4f704b:	8b 55 e0             	mov    -0x20(%ebp),%edx
4f704e:	8b 45 d4             	mov    -0x2c(%ebp),%eax
4f7051:	ff 17                	call   *(%edi)
4f7053:	eb 15                	jmp    0x4f706a
4f7055:	8b 45 08             	mov    0x8(%ebp),%eax
4f7058:	8b 40 28             	mov    0x28(%eax),%eax
4f705b:	50                   	push   %eax
4f705c:	8b 4d ec             	mov    -0x14(%ebp),%ecx
4f705f:	8b 55 e0             	mov    -0x20(%ebp),%edx
4f7062:	8b 45 d4             	mov    -0x2c(%ebp),%eax
4f7065:	e8 b2 f1 ff ff       	call   0x4f621c
4f706a:	8b 45 08             	mov    0x8(%ebp),%eax
4f706d:	8b 40 28             	mov    0x28(%eax),%eax
4f7070:	80 38 00             	cmpb   $0x0,(%eax)
4f7073:	75 6a                	jne    0x4f70df
4f7075:	ff 45 98             	incl   -0x68(%ebp)
4f7078:	8b 45 98             	mov    -0x68(%ebp),%eax
4f707b:	3b 45 9c             	cmp    -0x64(%ebp),%eax
4f707e:	74 08                	je     0x4f7088
4f7080:	8b 45 e4             	mov    -0x1c(%ebp),%eax
4f7083:	3b 45 a0             	cmp    -0x60(%ebp),%eax
4f7086:	75 4b                	jne    0x4f70d3
4f7088:	55                   	push   %ebp
4f7089:	e8 b2 f2 ff ff       	call   0x4f6340
4f708e:	59                   	pop    %ecx
4f708f:	33 c0                	xor    %eax,%eax
4f7091:	89 45 f0             	mov    %eax,-0x10(%ebp)
4f7094:	8b 45 ec             	mov    -0x14(%ebp),%eax
4f7097:	e8 1c 76 f2 ff       	call   0x41e6b8
4f709c:	8b 55 90             	mov    -0x70(%ebp),%edx
4f709f:	8b 4d 94             	mov    -0x6c(%ebp),%ecx
4f70a2:	2b 04 8a             	sub    (%edx,%ecx,4),%eax
4f70a5:	8b 55 8c             	mov    -0x74(%ebp),%edx
4f70a8:	8b 4d 94             	mov    -0x6c(%ebp),%ecx
4f70ab:	89 04 8a             	mov    %eax,(%edx,%ecx,4)
4f70ae:	8b 75 94             	mov    -0x6c(%ebp),%esi
4f70b1:	46                   	inc    %esi
4f70b2:	33 c0                	xor    %eax,%eax
4f70b4:	89 45 98             	mov    %eax,-0x68(%ebp)
4f70b7:	8b 45 e4             	mov    -0x1c(%ebp),%eax
4f70ba:	3b 45 a0             	cmp    -0x60(%ebp),%eax
4f70bd:	7d 14                	jge    0x4f70d3
4f70bf:	ff 45 94             	incl   -0x6c(%ebp)
4f70c2:	8b 45 ec             	mov    -0x14(%ebp),%eax
4f70c5:	e8 ee 75 f2 ff       	call   0x41e6b8
4f70ca:	8b 55 90             	mov    -0x70(%ebp),%edx
4f70cd:	8b 4d 94             	mov    -0x6c(%ebp),%ecx
4f70d0:	89 04 8a             	mov    %eax,(%edx,%ecx,4)
4f70d3:	ff 45 e4             	incl   -0x1c(%ebp)
4f70d6:	ff 4d 84             	decl   -0x7c(%ebp)
4f70d9:	0f 85 48 fe ff ff    	jne    0x4f6f27
4f70df:	8b 45 d4             	mov    -0x2c(%ebp),%eax
4f70e2:	e8 e5 b6 f0 ff       	call   0x4027cc
4f70e7:	e9 9c 02 00 00       	jmp    0x4f7388
4f70ec:	8b c3                	mov    %ebx,%eax
4f70ee:	8b 10                	mov    (%eax),%edx
4f70f0:	ff 52 08             	call   *0x8(%edx)
4f70f3:	89 45 80             	mov    %eax,-0x80(%ebp)
4f70f6:	db 45 80             	fildl  -0x80(%ebp)
4f70f9:	d8 3d 24 74 4f 00    	fdivrs 0x4f7424
4f70ff:	8b 45 08             	mov    0x8(%ebp),%eax
4f7102:	dd 58 18             	fstpl  0x18(%eax)
4f7105:	9b                   	fwait
4f7106:	8b c3                	mov    %ebx,%eax
4f7108:	8b 10                	mov    (%eax),%edx
4f710a:	ff 52 0c             	call   *0xc(%edx)
4f710d:	85 c0                	test   %eax,%eax
4f710f:	79 03                	jns    0x4f7114
4f7111:	83 c0 07             	add    $0x7,%eax
4f7114:	c1 f8 03             	sar    $0x3,%eax
4f7117:	89 45 e0             	mov    %eax,-0x20(%ebp)
4f711a:	8b c3                	mov    %ebx,%eax
4f711c:	8b 10                	mov    (%eax),%edx
4f711e:	ff 52 0c             	call   *0xc(%edx)
4f7121:	25 07 00 00 80       	and    $0x80000007,%eax
4f7126:	79 05                	jns    0x4f712d
4f7128:	48                   	dec    %eax
4f7129:	83 c8 f8             	or     $0xfffffff8,%eax
4f712c:	40                   	inc    %eax
4f712d:	85 c0                	test   %eax,%eax
4f712f:	74 03                	je     0x4f7134
4f7131:	ff 45 e0             	incl   -0x20(%ebp)
4f7134:	33 c0                	xor    %eax,%eax
4f7136:	89 45 98             	mov    %eax,-0x68(%ebp)
4f7139:	33 c0                	xor    %eax,%eax
4f713b:	89 45 94             	mov    %eax,-0x6c(%ebp)
4f713e:	8b 45 ec             	mov    -0x14(%ebp),%eax
4f7141:	e8 72 75 f2 ff       	call   0x41e6b8
4f7146:	8b 55 90             	mov    -0x70(%ebp),%edx
4f7149:	89 02                	mov    %eax,(%edx)
4f714b:	33 c0                	xor    %eax,%eax
4f714d:	89 45 f8             	mov    %eax,-0x8(%ebp)
4f7150:	c6 45 ff 00          	movb   $0x0,-0x1(%ebp)
4f7154:	33 c0                	xor    %eax,%eax
4f7156:	89 45 f4             	mov    %eax,-0xc(%ebp)
4f7159:	8b 45 a0             	mov    -0x60(%ebp),%eax
4f715c:	85 c0                	test   %eax,%eax
4f715e:	0f 8c 24 02 00 00    	jl     0x4f7388
4f7164:	40                   	inc    %eax
4f7165:	89 45 84             	mov    %eax,-0x7c(%ebp)
4f7168:	c7 45 e4 00 00 00 00 	movl   $0x0,-0x1c(%ebp)
4f716f:	8b 45 08             	mov    0x8(%ebp),%eax
4f7172:	66 83 78 02 00       	cmpw   $0x0,0x2(%eax)
4f7177:	74 1e                	je     0x4f7197
4f7179:	db 45 e4             	fildl  -0x1c(%ebp)
4f717c:	8b 45 08             	mov    0x8(%ebp),%eax
4f717f:	dc 48 18             	fmull  0x18(%eax)
4f7182:	e8 45 bb f0 ff       	call   0x402ccc
4f7187:	8b c8                	mov    %eax,%ecx
4f7189:	8b 7d 08             	mov    0x8(%ebp),%edi
4f718c:	8b 55 08             	mov    0x8(%ebp),%edx
4f718f:	8b 52 08             	mov    0x8(%edx),%edx
4f7192:	8b 47 04             	mov    0x4(%edi),%eax
4f7195:	ff 17                	call   *(%edi)
4f7197:	8b 45 0c             	mov    0xc(%ebp),%eax
4f719a:	8b 40 04             	mov    0x4(%eax),%eax
4f719d:	83 f8 04             	cmp    $0x4,%eax
4f71a0:	7f 14                	jg     0x4f71b6
4f71a2:	0f 84 f0 00 00 00    	je     0x4f7298
4f71a8:	48                   	dec    %eax
4f71a9:	74 24                	je     0x4f71cf
4f71ab:	48                   	dec    %eax
4f71ac:	74 43                	je     0x4f71f1
4f71ae:	48                   	dec    %eax
4f71af:	74 6f                	je     0x4f7220
4f71b1:	e9 4f 01 00 00       	jmp    0x4f7305
4f71b6:	83 e8 05             	sub    $0x5,%eax
4f71b9:	0f 84 11 01 00 00    	je     0x4f72d0
4f71bf:	2d 00 80 00 00       	sub    $0x8000,%eax
4f71c4:	0f 84 20 01 00 00    	je     0x4f72ea
4f71ca:	e9 36 01 00 00       	jmp    0x4f7305
4f71cf:	8b 45 e0             	mov    -0x20(%ebp),%eax
4f71d2:	50                   	push   %eax
4f71d3:	8b 55 e4             	mov    -0x1c(%ebp),%edx
4f71d6:	8b c3                	mov    %ebx,%eax
4f71d8:	8b 08                	mov    (%eax),%ecx
4f71da:	ff 11                	call   *(%ecx)
4f71dc:	8b c8                	mov    %eax,%ecx
4f71de:	8b 55 08             	mov    0x8(%ebp),%edx
4f71e1:	8b 52 28             	mov    0x28(%edx),%edx
4f71e4:	8b 45 ec             	mov    -0x14(%ebp),%eax
4f71e7:	e8 10 ed 0f 00       	call   0x5f5efc
4f71ec:	e9 14 01 00 00       	jmp    0x4f7305
4f71f1:	8b 45 08             	mov    0x8(%ebp),%eax
4f71f4:	8b 40 28             	mov    0x28(%eax),%eax
4f71f7:	50                   	push   %eax
4f71f8:	8b 45 0c             	mov    0xc(%ebp),%eax
4f71fb:	8b 40 0c             	mov    0xc(%eax),%eax
4f71fe:	50                   	push   %eax
4f71ff:	8b 55 e4             	mov    -0x1c(%ebp),%edx
4f7202:	8b c3                	mov    %ebx,%eax
4f7204:	8b 08                	mov    (%eax),%ecx
4f7206:	ff 11                	call   *(%ecx)
4f7208:	50                   	push   %eax
4f7209:	8b c3                	mov    %ebx,%eax
4f720b:	8b 10                	mov    (%eax),%edx
4f720d:	ff 52 0c             	call   *0xc(%edx)
4f7210:	8b d0                	mov    %eax,%edx
4f7212:	8b 4d ec             	mov    -0x14(%ebp),%ecx
4f7215:	58                   	pop    %eax
4f7216:	e8 65 27 fe ff       	call   0x4d9980
4f721b:	e9 e5 00 00 00       	jmp    0x4f7305
4f7220:	8b 45 0c             	mov    0xc(%ebp),%eax
4f7223:	83 78 08 00          	cmpl   $0x0,0x8(%eax)
4f7227:	75 37                	jne    0x4f7260
4f7229:	8d 45 ff             	lea    -0x1(%ebp),%eax
4f722c:	50                   	push   %eax
4f722d:	8d 45 f8             	lea    -0x8(%ebp),%eax
4f7230:	50                   	push   %eax
4f7231:	8b 45 08             	mov    0x8(%ebp),%eax
4f7234:	8b 40 28             	mov    0x28(%eax),%eax
4f7237:	50                   	push   %eax
4f7238:	8b 45 0c             	mov    0xc(%ebp),%eax
4f723b:	8b 40 0c             	mov    0xc(%eax),%eax
4f723e:	50                   	push   %eax
4f723f:	8b 55 e4             	mov    -0x1c(%ebp),%edx
4f7242:	8b c3                	mov    %ebx,%eax
4f7244:	8b 08                	mov    (%eax),%ecx
4f7246:	ff 11                	call   *(%ecx)
4f7248:	50                   	push   %eax
4f7249:	8b c3                	mov    %ebx,%eax
4f724b:	8b 10                	mov    (%eax),%edx
4f724d:	ff 52 0c             	call   *0xc(%edx)
4f7250:	8b d0                	mov    %eax,%edx
4f7252:	8b 4d ec             	mov    -0x14(%ebp),%ecx
4f7255:	58                   	pop    %eax
4f7256:	e8 6d 27 fe ff       	call   0x4d99c8
4f725b:	e9 a5 00 00 00       	jmp    0x4f7305
4f7260:	8d 45 ff             	lea    -0x1(%ebp),%eax
4f7263:	50                   	push   %eax
4f7264:	8d 45 f8             	lea    -0x8(%ebp),%eax
4f7267:	50                   	push   %eax
4f7268:	8d 45 f4             	lea    -0xc(%ebp),%eax
4f726b:	50                   	push   %eax
4f726c:	8b 45 08             	mov    0x8(%ebp),%eax
4f726f:	8b 40 28             	mov    0x28(%eax),%eax
4f7272:	50                   	push   %eax
4f7273:	8b 45 0c             	mov    0xc(%ebp),%eax
4f7276:	8b 40 0c             	mov    0xc(%eax),%eax
4f7279:	50                   	push   %eax
4f727a:	8b 55 e4             	mov    -0x1c(%ebp),%edx
4f727d:	8b c3                	mov    %ebx,%eax
4f727f:	8b 08                	mov    (%eax),%ecx
4f7281:	ff 11                	call   *(%ecx)
4f7283:	50                   	push   %eax
4f7284:	8b c3                	mov    %ebx,%eax
4f7286:	8b 10                	mov    (%eax),%edx
4f7288:	ff 52 0c             	call   *0xc(%edx)
4f728b:	8b d0                	mov    %eax,%edx
4f728d:	8b 4d ec             	mov    -0x14(%ebp),%ecx
4f7290:	58                   	pop    %eax
4f7291:	e8 72 2a fe ff       	call   0x4d9d08
4f7296:	eb 6d                	jmp    0x4f7305
4f7298:	8d 45 ff             	lea    -0x1(%ebp),%eax
4f729b:	50                   	push   %eax
4f729c:	8d 45 f8             	lea    -0x8(%ebp),%eax
4f729f:	50                   	push   %eax
4f72a0:	8d 45 f4             	lea    -0xc(%ebp),%eax
4f72a3:	50                   	push   %eax
4f72a4:	8b 45 08             	mov    0x8(%ebp),%eax
4f72a7:	8b 40 28             	mov    0x28(%eax),%eax
4f72aa:	50                   	push   %eax
4f72ab:	8b 45 0c             	mov    0xc(%ebp),%eax
4f72ae:	8b 40 0c             	mov    0xc(%eax),%eax
4f72b1:	50                   	push   %eax
4f72b2:	8b 55 e4             	mov    -0x1c(%ebp),%edx
4f72b5:	8b c3                	mov    %ebx,%eax
4f72b7:	8b 08                	mov    (%eax),%ecx
4f72b9:	ff 11                	call   *(%ecx)
4f72bb:	50                   	push   %eax
4f72bc:	8b c3                	mov    %ebx,%eax
4f72be:	8b 10                	mov    (%eax),%edx
4f72c0:	ff 52 0c             	call   *0xc(%edx)
4f72c3:	8b d0                	mov    %eax,%edx
4f72c5:	8b 4d ec             	mov    -0x14(%ebp),%ecx
4f72c8:	58                   	pop    %eax
4f72c9:	e8 aa 2b fe ff       	call   0x4d9e78
4f72ce:	eb 35                	jmp    0x4f7305
4f72d0:	8d 45 f0             	lea    -0x10(%ebp),%eax
4f72d3:	50                   	push   %eax
4f72d4:	8b 55 e4             	mov    -0x1c(%ebp),%edx
4f72d7:	8b c3                	mov    %ebx,%eax
4f72d9:	8b 08                	mov    (%eax),%ecx
4f72db:	ff 11                	call   *(%ecx)
4f72dd:	8b 7d 0c             	mov    0xc(%ebp),%edi
4f72e0:	8b 4d ec             	mov    -0x14(%ebp),%ecx
4f72e3:	8b 55 e0             	mov    -0x20(%ebp),%edx
4f72e6:	ff 17                	call   *(%edi)
4f72e8:	eb 1b                	jmp    0x4f7305
4f72ea:	8b 45 08             	mov    0x8(%ebp),%eax
4f72ed:	8b 40 28             	mov    0x28(%eax),%eax
4f72f0:	50                   	push   %eax
4f72f1:	8b 55 e4             	mov    -0x1c(%ebp),%edx
4f72f4:	8b c3                	mov    %ebx,%eax