5f2ed9:	7c 04                	jl     0x5f2edf
5f2edb:	85 c9                	test   %ecx,%ecx
5f2edd:	7d 04                	jge    0x5f2ee3
5f2edf:	33 c0                	xor    %eax,%eax
5f2ee1:	5b                   	pop    %ebx
5f2ee2:	c3                   	ret
5f2ee3:	8b 58 0c             	mov    0xc(%eax),%ebx
5f2ee6:	4b                   	dec    %ebx
5f2ee7:	74 07                	je     0x5f2ef0
5f2ee9:	83 eb 07             	sub    $0x7,%ebx
5f2eec:	74 18                	je     0x5f2f06
5f2eee:	eb 2b                	jmp    0x5f2f1b
5f2ef0:	8b 58 08             	mov    0x8(%eax),%ebx
5f2ef3:	2b d9                	sub    %ecx,%ebx
5f2ef5:	4b                   	dec    %ebx
5f2ef6:	0f af 58 10          	imul   0x10(%eax),%ebx
5f2efa:	03 58 14             	add    0x14(%eax),%ebx
5f2efd:	8b c3                	mov    %ebx,%eax
5f2eff:	e8 fc cb fb ff       	call   0x5afb00
5f2f04:	eb 17                	jmp    0x5f2f1d
5f2f06:	8b 58 08             	mov    0x8(%eax),%ebx
5f2f09:	2b d9                	sub    %ecx,%ebx
5f2f0b:	4b                   	dec    %ebx
5f2f0c:	0f af 58 10          	imul   0x10(%eax),%ebx
5f2f10:	03 58 14             	add    0x14(%eax),%ebx
5f2f13:	03 d3                	add    %ebx,%edx
5f2f15:	33 c0                	xor    %eax,%eax
5f2f17:	8a 02                	mov    (%edx),%al
5f2f19:	eb 02                	jmp    0x5f2f1d
5f2f1b:	33 c0                	xor    %eax,%eax
5f2f1d:	5b                   	pop    %ebx
5f2f1e:	c3                   	ret
5f2f1f:	90                   	nop
5f2f20:	53                   	push   %ebx
5f2f21:	56                   	push   %esi
5f2f22:	57                   	push   %edi
5f2f23:	8b f9                	mov    %ecx,%edi
5f2f25:	8b f2                	mov    %edx,%esi
5f2f27:	8b d8                	mov    %eax,%ebx
5f2f29:	8b cf                	mov    %edi,%ecx
5f2f2b:	8b d6                	mov    %esi,%edx
5f2f2d:	8b c3                	mov    %ebx,%eax
5f2f2f:	e8 98 ff ff ff       	call   0x5f2ecc
5f2f34:	85 c0                	test   %eax,%eax
5f2f36:	0f 95 c0             	setne  %al
5f2f39:	5f                   	pop    %edi
5f2f3a:	5e                   	pop    %esi
5f2f3b:	5b                   	pop    %ebx
5f2f3c:	c3                   	ret
5f2f3d:	8d 40 00             	lea    0x0(%eax),%eax
5f2f40:	55                   	push   %ebp
5f2f41:	8b ec                	mov    %esp,%ebp
5f2f43:	53                   	push   %ebx
5f2f44:	56                   	push   %esi
5f2f45:	57                   	push   %edi
5f2f46:	8b f9                	mov    %ecx,%edi
5f2f48:	8b f2                	mov    %edx,%esi
5f2f4a:	8b d8                	mov    %eax,%ebx
5f2f4c:	8b c3                	mov    %ebx,%eax
5f2f4e:	e8 49 01 00 00       	call   0x5f309c
5f2f53:	89 73 04             	mov    %esi,0x4(%ebx)
5f2f56:	89 7b 08             	mov    %edi,0x8(%ebx)
5f2f59:	8b 45 08             	mov    0x8(%ebp),%eax
5f2f5c:	89 43 0c             	mov    %eax,0xc(%ebx)
5f2f5f:	b9 20 00 00 00       	mov    $0x20,%ecx
5f2f64:	8b 53 0c             	mov    0xc(%ebx),%edx
5f2f67:	8b c6                	mov    %esi,%eax
5f2f69:	e8 72 db ff ff       	call   0x5f0ae0
5f2f6e:	89 43 10             	mov    %eax,0x10(%ebx)
5f2f71:	8b c7                	mov    %edi,%eax
5f2f73:	f7 6b 10             	imull  0x10(%ebx)
5f2f76:	e8 39 61 e1 ff       	call   0x4090b4
5f2f7b:	89 43 14             	mov    %eax,0x14(%ebx)
5f2f7e:	c7 43 18 ff ff ff 7f 	movl   $0x7fffffff,0x18(%ebx)
5f2f85:	c7 43 1c ff ff ff 7f 	movl   $0x7fffffff,0x1c(%ebx)
5f2f8c:	33 c0                	xor    %eax,%eax
5f2f8e:	89 43 20             	mov    %eax,0x20(%ebx)
5f2f91:	33 c0                	xor    %eax,%eax
5f2f93:	89 43 24             	mov    %eax,0x24(%ebx)
5f2f96:	c6 43 68 00          	movb   $0x0,0x68(%ebx)
5f2f9a:	5f                   	pop    %edi
5f2f9b:	5e                   	pop    %esi
5f2f9c:	5b                   	pop    %ebx
5f2f9d:	5d                   	pop    %ebp
5f2f9e:	c2 04 00             	ret    $0x4
5f2fa1:	8d 40 00             	lea    0x0(%eax),%eax
5f2fa4:	53                   	push   %ebx
5f2fa5:	56                   	push   %esi
5f2fa6:	57                   	push   %edi
5f2fa7:	55                   	push   %ebp
5f2fa8:	83 c4 ec             	add    $0xffffffec,%esp
5f2fab:	89 4c 24 04          	mov    %ecx,0x4(%esp)
5f2faf:	89 14 24             	mov    %edx,(%esp)
5f2fb2:	8b d8                	mov    %eax,%ebx
5f2fb4:	8b 43 14             	mov    0x14(%ebx),%eax
5f2fb7:	89 44 24 08          	mov    %eax,0x8(%esp)
5f2fbb:	8b 43 10             	mov    0x10(%ebx),%eax
5f2fbe:	89 44 24 0c          	mov    %eax,0xc(%esp)
5f2fc2:	b9 20 00 00 00       	mov    $0x20,%ecx
5f2fc7:	8b 53 0c             	mov    0xc(%ebx),%edx
5f2fca:	8b 04 24             	mov    (%esp),%eax
5f2fcd:	e8 0e db ff ff       	call   0x5f0ae0
5f2fd2:	8b f0                	mov    %eax,%esi
5f2fd4:	89 73 10             	mov    %esi,0x10(%ebx)
5f2fd7:	8b 44 24 04          	mov    0x4(%esp),%eax
5f2fdb:	f7 ee                	imul   %esi
5f2fdd:	e8 d2 60 e1 ff       	call   0x4090b4
5f2fe2:	89 43 14             	mov    %eax,0x14(%ebx)
5f2fe5:	8b 53 10             	mov    0x10(%ebx),%edx
5f2fe8:	8b 44 24 0c          	mov    0xc(%esp),%eax
5f2fec:	e8 2b 64 fb ff       	call   0x5a941c
5f2ff1:	89 44 24 10          	mov    %eax,0x10(%esp)
5f2ff5:	8b 43 08             	mov    0x8(%ebx),%eax
5f2ff8:	8b f8                	mov    %eax,%edi
5f2ffa:	4f                   	dec    %edi
5f2ffb:	0f af 7c 24 0c       	imul   0xc(%esp),%edi
5f3000:	03 7c 24 08          	add    0x8(%esp),%edi
5f3004:	8b 6c 24 04          	mov    0x4(%esp),%ebp
5f3008:	4d                   	dec    %ebp
5f3009:	0f af 6b 10          	imul   0x10(%ebx),%ebp
5f300d:	03 6b 14             	add    0x14(%ebx),%ebp
5f3010:	8b 54 24 04          	mov    0x4(%esp),%edx
5f3014:	e8 03 64 fb ff       	call   0x5a941c
5f3019:	8b f0                	mov    %eax,%esi
5f301b:	4e                   	dec    %esi
5f301c:	85 f6                	test   %esi,%esi
5f301e:	7c 18                	jl     0x5f3038
5f3020:	46                   	inc    %esi
5f3021:	8b 4c 24 10          	mov    0x10(%esp),%ecx
5f3025:	8b d7                	mov    %edi,%edx
5f3027:	8b c5                	mov    %ebp,%eax
5f3029:	e8 92 4e e1 ff       	call   0x407ec0
5f302e:	2b 7c 24 0c          	sub    0xc(%esp),%edi
5f3032:	2b 6b 10             	sub    0x10(%ebx),%ebp
5f3035:	4e                   	dec    %esi
5f3036:	75 e9                	jne    0x5f3021
5f3038:	8b 44 24 08          	mov    0x8(%esp),%eax
5f303c:	e8 8b f7 e0 ff       	call   0x4027cc
5f3041:	8b 04 24             	mov    (%esp),%eax
5f3044:	89 43 04             	mov    %eax,0x4(%ebx)
5f3047:	8b 44 24 04          	mov    0x4(%esp),%eax
5f304b:	89 43 08             	mov    %eax,0x8(%ebx)
5f304e:	8b 73 18             	mov    0x18(%ebx),%esi
5f3051:	3b 73 20             	cmp    0x20(%ebx),%esi
5f3054:	7d 3b                	jge    0x5f3091
5f3056:	8b 53 04             	mov    0x4(%ebx),%edx
5f3059:	4a                   	dec    %edx
5f305a:	8b c6                	mov    %esi,%eax
5f305c:	e8 bb 63 fb ff       	call   0x5a941c
5f3061:	89 43 18             	mov    %eax,0x18(%ebx)
5f3064:	8b 53 08             	mov    0x8(%ebx),%edx
5f3067:	4a                   	dec    %edx
5f3068:	8b 43 1c             	mov    0x1c(%ebx),%eax
5f306b:	e8 ac 63 fb ff       	call   0x5a941c
5f3070:	89 43 1c             	mov    %eax,0x1c(%ebx)
5f3073:	8b 53 04             	mov    0x4(%ebx),%edx
5f3076:	4a                   	dec    %edx
5f3077:	8b 43 20             	mov    0x20(%ebx),%eax
5f307a:	e8 9d 63 fb ff       	call   0x5a941c
5f307f:	89 43 20             	mov    %eax,0x20(%ebx)
5f3082:	8b 53 08             	mov    0x8(%ebx),%edx
5f3085:	4a                   	dec    %edx
5f3086:	8b 43 24             	mov    0x24(%ebx),%eax
5f3089:	e8 8e 63 fb ff       	call   0x5a941c
5f308e:	89 43 24             	mov    %eax,0x24(%ebx)
5f3091:	83 c4 14             	add    $0x14,%esp
5f3094:	5d                   	pop    %ebp
5f3095:	5f                   	pop    %edi
5f3096:	5e                   	pop    %esi
5f3097:	5b                   	pop    %ebx
5f3098:	c3                   	ret
5f3099:	8d 40 00             	lea    0x0(%eax),%eax
5f309c:	53                   	push   %ebx
5f309d:	8b d8                	mov    %eax,%ebx
5f309f:	8b 43 58             	mov    0x58(%ebx),%eax
5f30a2:	85 c0                	test   %eax,%eax
5f30a4:	74 0d                	je     0x5f30b3
5f30a6:	e8 21 f7 e0 ff       	call   0x4027cc
5f30ab:	8b 43 64             	mov    0x64(%ebx),%eax
5f30ae:	e8 19 f7 e0 ff       	call   0x4027cc
5f30b3:	33 c0                	xor    %eax,%eax
5f30b5:	89 43 58             	mov    %eax,0x58(%ebx)
5f30b8:	33 c0                	xor    %eax,%eax
5f30ba:	89 43 64             	mov    %eax,0x64(%ebx)
5f30bd:	33 c0                	xor    %eax,%eax
5f30bf:	89 43 5c             	mov    %eax,0x5c(%ebx)
5f30c2:	33 c0                	xor    %eax,%eax
5f30c4:	89 43 60             	mov    %eax,0x60(%ebx)
5f30c7:	8b 43 14             	mov    0x14(%ebx),%eax
5f30ca:	85 c0                	test   %eax,%eax
5f30cc:	74 05                	je     0x5f30d3
5f30ce:	e8 f9 f6 e0 ff       	call   0x4027cc
5f30d3:	33 c0                	xor    %eax,%eax
5f30d5:	89 43 14             	mov    %eax,0x14(%ebx)
5f30d8:	33 c0                	xor    %eax,%eax
5f30da:	89 43 04             	mov    %eax,0x4(%ebx)
5f30dd:	33 c0                	xor    %eax,%eax
5f30df:	89 43 08             	mov    %eax,0x8(%ebx)
5f30e2:	33 c0                	xor    %eax,%eax
5f30e4:	89 43 0c             	mov    %eax,0xc(%ebx)
5f30e7:	33 c0                	xor    %eax,%eax
5f30e9:	89 43 10             	mov    %eax,0x10(%ebx)
5f30ec:	5b                   	pop    %ebx
5f30ed:	c3                   	ret
5f30ee:	8b c0                	mov    %eax,%eax
5f30f0:	55                   	push   %ebp
5f30f1:	8b ec                	mov    %esp,%ebp
5f30f3:	83 c4 f8             	add    $0xfffffff8,%esp
5f30f6:	53                   	push   %ebx
5f30f7:	56                   	push   %esi
5f30f8:	57                   	push   %edi
5f30f9:	89 4d f8             	mov    %ecx,-0x8(%ebp)
5f30fc:	89 55 fc             	mov    %edx,-0x4(%ebp)
5f30ff:	8b d8                	mov    %eax,%ebx
5f3101:	8b 75 08             	mov    0x8(%ebp),%esi
5f3104:	81 7b 18 ff ff ff 7f 	cmpl   $0x7fffffff,0x18(%ebx)
5f310b:	74 5d                	je     0x5f316a
5f310d:	81 7b 1c ff ff ff 7f 	cmpl   $0x7fffffff,0x1c(%ebx)
5f3114:	74 54                	je     0x5f316a
5f3116:	83 7b 0c 01          	cmpl   $0x1,0xc(%ebx)
5f311a:	75 4e                	jne    0x5f316a
5f311c:	8d 43 28             	lea    0x28(%ebx),%eax
5f311f:	8b 53 04             	mov    0x4(%ebx),%edx
5f3122:	89 50 04             	mov    %edx,0x4(%eax)
5f3125:	8b 53 08             	mov    0x8(%ebx),%edx
5f3128:	89 50 08             	mov    %edx,0x8(%eax)
5f312b:	8d 7b 28             	lea    0x28(%ebx),%edi
5f312e:	68 46 00 66 00       	push   $0x660046
5f3133:	6a 00                	push   $0x0
5f3135:	57                   	push   %edi
5f3136:	8b 43 14             	mov    0x14(%ebx),%eax
5f3139:	50                   	push   %eax
5f313a:	56                   	push   %esi
5f313b:	8b 45 0c             	mov    0xc(%ebp),%eax
5f313e:	50                   	push   %eax
5f313f:	8b 43 08             	mov    0x8(%ebx),%eax
5f3142:	2b c6                	sub    %esi,%eax
5f3144:	2b 45 10             	sub    0x10(%ebp),%eax
5f3147:	50                   	push   %eax
5f3148:	8b 45 14             	mov    0x14(%ebp),%eax
5f314b:	50                   	push   %eax
5f314c:	8b 45 18             	mov    0x18(%ebp),%eax
5f314f:	50                   	push   %eax
5f3150:	8b 45 1c             	mov    0x1c(%ebp),%eax
5f3153:	50                   	push   %eax
5f3154:	8b 45 20             	mov    0x20(%ebp),%eax
5f3157:	50                   	push   %eax
5f3158:	8b 45 f8             	mov    -0x8(%ebp),%eax
5f315b:	50                   	push   %eax
5f315c:	8b 45 fc             	mov    -0x4(%ebp),%eax
5f315f:	e8 5c 5b e3 ff       	call   0x428cc0
5f3164:	50                   	push   %eax
5f3165:	e8 5e 46 e1 ff       	call   0x4077c8
5f316a:	5f                   	pop    %edi
5f316b:	5e                   	pop    %esi
5f316c:	5b                   	pop    %ebx
5f316d:	59                   	pop    %ecx
5f316e:	59                   	pop    %ecx
5f316f:	5d                   	pop    %ebp
5f3170:	c2 1c 00             	ret    $0x1c
5f3173:	90                   	nop
5f3174:	55                   	push   %ebp
5f3175:	8b ec                	mov    %esp,%ebp
5f3177:	83 c4 9c             	add    $0xffffff9c,%esp
5f317a:	53                   	push   %ebx
5f317b:	56                   	push   %esi
5f317c:	57                   	push   %edi
5f317d:	8b d9                	mov    %ecx,%ebx
5f317f:	89 55 f8             	mov    %edx,-0x8(%ebp)
5f3182:	89 45 fc             	mov    %eax,-0x4(%ebp)
5f3185:	8b 7d 24             	mov    0x24(%ebp),%edi
5f3188:	8b 75 28             	mov    0x28(%ebp),%esi
5f318b:	83 fb 01             	cmp    $0x1,%ebx
5f318e:	0f 8c 39 02 00 00    	jl     0x5f33cd
5f3194:	83 7d 34 01          	cmpl   $0x1,0x34(%ebp)
5f3198:	0f 8c 2f 02 00 00    	jl     0x5f33cd
5f319e:	b9 20 00 00 00       	mov    $0x20,%ecx
5f31a3:	8b 55 fc             	mov    -0x4(%ebp),%edx
5f31a6:	8b c3                	mov    %ebx,%eax
5f31a8:	e8 33 d9 ff ff       	call   0x5f0ae0
5f31ad:	89 45 d4             	mov    %eax,-0x2c(%ebp)
5f31b0:	8b 55 d4             	mov    -0x2c(%ebp),%edx
5f31b3:	0f af 55 34          	imul   0x34(%ebp),%edx
5f31b7:	8b 45 f8             	mov    -0x8(%ebp),%eax
5f31ba:	e8 15 4d e1 ff       	call   0x407ed4
5f31bf:	b9 20 00 00 00       	mov    $0x20,%ecx
5f31c4:	8b 55 fc             	mov    -0x4(%ebp),%edx
5f31c7:	8b 45 1c             	mov    0x1c(%ebp),%eax
5f31ca:	e8 11 d9 ff ff       	call   0x5f0ae0
5f31cf:	89 45 d0             	mov    %eax,-0x30(%ebp)
5f31d2:	89 7d a0             	mov    %edi,-0x60(%ebp)
5f31d5:	db 45 a0             	fildl  -0x60(%ebp)
5f31d8:	db 45 34             	fildl  0x34(%ebp)
5f31db:	de f9                	fdivrp %st,%st(1)
5f31dd:	d8 0d d8 33 5f 00    	fmuls  0x5f33d8
5f31e3:	e8 e4 fa e0 ff       	call   0x402ccc
5f31e8:	89 45 f0             	mov    %eax,-0x10(%ebp)
5f31eb:	89 75 a0             	mov    %esi,-0x60(%ebp)
5f31ee:	db 45 a0             	fildl  -0x60(%ebp)
5f31f1:	89 5d 9c             	mov    %ebx,-0x64(%ebp)
5f31f4:	db 45 9c             	fildl  -0x64(%ebp)
5f31f7:	de f9                	fdivrp %st,%st(1)
5f31f9:	d8 0d d8 33 5f 00    	fmuls  0x5f33d8
5f31ff:	e8 c8 fa e0 ff       	call   0x402ccc
5f3204:	89 45 f4             	mov    %eax,-0xc(%ebp)
5f3207:	8b 45 34             	mov    0x34(%ebp),%eax
5f320a:	48                   	dec    %eax
5f320b:	89 45 ec             	mov    %eax,-0x14(%ebp)
5f320e:	8b c3                	mov    %ebx,%eax
5f3210:	48                   	dec    %eax
5f3211:	89 45 e8             	mov    %eax,-0x18(%ebp)
5f3214:	89 5d a0             	mov    %ebx,-0x60(%ebp)
5f3217:	db 45 a0             	fildl  -0x60(%ebp)
5f321a:	89 75 9c             	mov    %esi,-0x64(%ebp)
5f321d:	db 45 9c             	fildl  -0x64(%ebp)
5f3220:	de f9                	fdivrp %st,%st(1)
5f3222:	dd 5d b0             	fstpl  -0x50(%ebp)
5f3225:	9b db 45 34          	fildl  0x34(%ebp)
5f3229:	89 7d a0             	mov    %edi,-0x60(%ebp)
5f322c:	db 45 a0             	fildl  -0x60(%ebp)
5f322f:	de f9                	fdivrp %st,%st(1)
5f3231:	dd 5d a8             	fstpl  -0x58(%ebp)
5f3234:	9b                   	fwait
5f3235:	8b 45 10             	mov    0x10(%ebp),%eax
5f3238:	2b 45 2c             	sub    0x2c(%ebp),%eax
5f323b:	89 45 a0             	mov    %eax,-0x60(%ebp)
5f323e:	db 45 a0             	fildl  -0x60(%ebp)
5f3241:	dc 4d a8             	fmull  -0x58(%ebp)
5f3244:	e8 83 fa e0 ff       	call   0x402ccc
5f3249:	33 d2                	xor    %edx,%edx
5f324b:	e8 c4 61 fb ff       	call   0x5a9414
5f3250:	89 45 c4             	mov    %eax,-0x3c(%ebp)
5f3253:	8b 45 14             	mov    0x14(%ebp),%eax
5f3256:	2b 45 30             	sub    0x30(%ebp),%eax
5f3259:	89 45 a0             	mov    %eax,-0x60(%ebp)
5f325c:	db 45 a0             	fildl  -0x60(%ebp)
5f325f:	dc 4d b0             	fmull  -0x50(%ebp)
5f3262:	e8 65 fa e0 ff       	call   0x402ccc
5f3267:	33 d2                	xor    %edx,%edx
5f3269:	e8 a6 61 fb ff       	call   0x5a9414
5f326e:	89 45 c8             	mov    %eax,-0x38(%ebp)
5f3271:	8b 45 08             	mov    0x8(%ebp),%eax
5f3274:	2b 45 2c             	sub    0x2c(%ebp),%eax
5f3277:	40                   	inc    %eax
5f3278:	89 45 a0             	mov    %eax,-0x60(%ebp)
5f327b:	db 45 a0             	fildl  -0x60(%ebp)
5f327e:	dc 4d a8             	fmull  -0x58(%ebp)
5f3281:	e8 46 fa e0 ff       	call   0x402ccc
5f3286:	8b 55 ec             	mov    -0x14(%ebp),%edx
5f3289:	e8 8e 61 fb ff       	call   0x5a941c