4f2f11:	8b 45 0c             	mov    0xc(%ebp),%eax
4f2f14:	48                   	dec    %eax
4f2f15:	85 c0                	test   %eax,%eax
4f2f17:	0f 8c f4 00 00 00    	jl     0x4f3011
4f2f1d:	40                   	inc    %eax
4f2f1e:	89 45 a8             	mov    %eax,-0x58(%ebp)
4f2f21:	c7 45 f4 00 00 00 00 	movl   $0x0,-0xc(%ebp)
4f2f28:	8b 55 f8             	mov    -0x8(%ebp),%edx
4f2f2b:	03 55 f4             	add    -0xc(%ebp),%edx
4f2f2e:	8b 45 fc             	mov    -0x4(%ebp),%eax
4f2f31:	8b 08                	mov    (%eax),%ecx
4f2f33:	ff 11                	call   *(%ecx)
4f2f35:	8b f0                	mov    %eax,%esi
4f2f37:	8b 45 1c             	mov    0x1c(%ebp),%eax
4f2f3a:	01 c6                	add    %eax,%esi
4f2f3c:	53                   	push   %ebx
4f2f3d:	8b 45 10             	mov    0x10(%ebp),%eax
4f2f40:	50                   	push   %eax
4f2f41:	8b 45 d0             	mov    -0x30(%ebp),%eax
4f2f44:	50                   	push   %eax
4f2f45:	8d 45 c4             	lea    -0x3c(%ebp),%eax
4f2f48:	50                   	push   %eax
4f2f49:	8b 45 e0             	mov    -0x20(%ebp),%eax
4f2f4c:	50                   	push   %eax
4f2f4d:	8d 45 cc             	lea    -0x34(%ebp),%eax
4f2f50:	50                   	push   %eax
4f2f51:	8d 55 18             	lea    0x18(%ebp),%edx
4f2f54:	8d 45 e4             	lea    -0x1c(%ebp),%eax
4f2f57:	8b 4d 14             	mov    0x14(%ebp),%ecx
4f2f5a:	e8 89 ee ff ff       	call   0x4f1de8
4f2f5f:	84 c0                	test   %al,%al
4f2f61:	0f 84 93 00 00 00    	je     0x4f2ffa
4f2f67:	8b 7d e4             	mov    -0x1c(%ebp),%edi
4f2f6a:	8b 45 fc             	mov    -0x4(%ebp),%eax
4f2f6d:	8b 10                	mov    (%eax),%edx
4f2f6f:	ff 52 10             	call   *0x10(%edx)
4f2f72:	3c 02                	cmp    $0x2,%al
4f2f74:	75 19                	jne    0x4f2f8f
4f2f76:	8b 45 10             	mov    0x10(%ebp),%eax
4f2f79:	48                   	dec    %eax
4f2f7a:	85 c0                	test   %eax,%eax
4f2f7c:	7c 3e                	jl     0x4f2fbc
4f2f7e:	40                   	inc    %eax
4f2f7f:	89 45 a4             	mov    %eax,-0x5c(%ebp)
4f2f82:	8a 07                	mov    (%edi),%al
4f2f84:	88 06                	mov    %al,(%esi)
4f2f86:	47                   	inc    %edi
4f2f87:	46                   	inc    %esi
4f2f88:	ff 4d a4             	decl   -0x5c(%ebp)
4f2f8b:	75 f5                	jne    0x4f2f82
4f2f8d:	eb 2d                	jmp    0x4f2fbc
4f2f8f:	8b 45 10             	mov    0x10(%ebp),%eax
4f2f92:	48                   	dec    %eax
4f2f93:	85 c0                	test   %eax,%eax
4f2f95:	7c 25                	jl     0x4f2fbc
4f2f97:	40                   	inc    %eax
4f2f98:	89 45 a4             	mov    %eax,-0x5c(%ebp)
4f2f9b:	33 c0                	xor    %eax,%eax
4f2f9d:	8a 07                	mov    (%edi),%al
4f2f9f:	8d 04 40             	lea    (%eax,%eax,2),%eax
4f2fa2:	8b 53 44             	mov    0x44(%ebx),%edx
4f2fa5:	66 8b 0c 02          	mov    (%edx,%eax,1),%cx
4f2fa9:	66 89 0e             	mov    %cx,(%esi)
4f2fac:	8a 4c 02 02          	mov    0x2(%edx,%eax,1),%cl
4f2fb0:	88 4e 02             	mov    %cl,0x2(%esi)
4f2fb3:	47                   	inc    %edi
4f2fb4:	83 c6 03             	add    $0x3,%esi
4f2fb7:	ff 4d a4             	decl   -0x5c(%ebp)
4f2fba:	75 df                	jne    0x4f2f9b
4f2fbc:	8b 45 08             	mov    0x8(%ebp),%eax
4f2fbf:	ff 40 0c             	incl   0xc(%eax)
4f2fc2:	8b 45 08             	mov    0x8(%ebp),%eax
4f2fc5:	66 83 78 02 00       	cmpw   $0x0,0x2(%eax)
4f2fca:	74 21                	je     0x4f2fed
4f2fcc:	8b 45 08             	mov    0x8(%ebp),%eax
4f2fcf:	db 40 0c             	fildl  0xc(%eax)
4f2fd2:	8b 45 08             	mov    0x8(%ebp),%eax
4f2fd5:	dc 48 18             	fmull  0x18(%eax)
4f2fd8:	e8 ef fc f0 ff       	call   0x402ccc
4f2fdd:	8b c8                	mov    %eax,%ecx
4f2fdf:	8b 75 08             	mov    0x8(%ebp),%esi
4f2fe2:	8b 55 08             	mov    0x8(%ebp),%edx
4f2fe5:	8b 52 08             	mov    0x8(%edx),%edx
4f2fe8:	8b 46 04             	mov    0x4(%esi),%eax
4f2feb:	ff 16                	call   *(%esi)
4f2fed:	8b 45 08             	mov    0x8(%ebp),%eax
4f2ff0:	8b 40 28             	mov    0x28(%eax),%eax
4f2ff3:	80 38 00             	cmpb   $0x0,(%eax)
4f2ff6:	75 19                	jne    0x4f3011
4f2ff8:	eb 0b                	jmp    0x4f3005
4f2ffa:	8b 45 08             	mov    0x8(%ebp),%eax
4f2ffd:	8b 40 28             	mov    0x28(%eax),%eax
4f3000:	c6 00 01             	movb   $0x1,(%eax)
4f3003:	eb 0c                	jmp    0x4f3011
4f3005:	ff 45 f4             	incl   -0xc(%ebp)
4f3008:	ff 4d a8             	decl   -0x58(%ebp)
4f300b:	0f 85 17 ff ff ff    	jne    0x4f2f28
4f3011:	66 83 7b 22 01       	cmpw   $0x1,0x22(%ebx)
4f3016:	75 0a                	jne    0x4f3022
4f3018:	83 7b 0c 08          	cmpl   $0x8,0xc(%ebx)
4f301c:	0f 8d 6c 0e 00 00    	jge    0x4f3e8e
4f3022:	8b 45 e4             	mov    -0x1c(%ebp),%eax
4f3025:	e8 a2 f7 f0 ff       	call   0x4027cc
4f302a:	e9 5f 0e 00 00       	jmp    0x4f3e8e
4f302f:	66 83 7b 1c 01       	cmpw   $0x1,0x1c(%ebx)
4f3034:	0f 87 83 01 00 00    	ja     0x4f31bd
4f303a:	83 7b 08 01          	cmpl   $0x1,0x8(%ebx)
4f303e:	0f 85 79 01 00 00    	jne    0x4f31bd
4f3044:	83 7b 0c 08          	cmpl   $0x8,0xc(%ebx)
4f3048:	74 0a                	je     0x4f3054
4f304a:	83 7b 0c 04          	cmpl   $0x4,0xc(%ebx)
4f304e:	0f 85 69 01 00 00    	jne    0x4f31bd
4f3054:	66 83 7b 22 01       	cmpw   $0x1,0x22(%ebx)
4f3059:	75 06                	jne    0x4f3061
4f305b:	83 7b 0c 04          	cmpl   $0x4,0xc(%ebx)
4f305f:	75 0b                	jne    0x4f306c
4f3061:	8b 45 10             	mov    0x10(%ebp),%eax
4f3064:	e8 43 f7 f0 ff       	call   0x4027ac
4f3069:	89 45 e4             	mov    %eax,-0x1c(%ebp)
4f306c:	8b 45 0c             	mov    0xc(%ebp),%eax
4f306f:	48                   	dec    %eax
4f3070:	85 c0                	test   %eax,%eax
4f3072:	0f 8c 27 01 00 00    	jl     0x4f319f
4f3078:	40                   	inc    %eax
4f3079:	89 45 a8             	mov    %eax,-0x58(%ebp)
4f307c:	c7 45 f4 00 00 00 00 	movl   $0x0,-0xc(%ebp)
4f3083:	8b 55 f8             	mov    -0x8(%ebp),%edx
4f3086:	03 55 f4             	add    -0xc(%ebp),%edx
4f3089:	8b 45 fc             	mov    -0x4(%ebp),%eax
4f308c:	8b 08                	mov    (%eax),%ecx
4f308e:	ff 11                	call   *(%ecx)
4f3090:	8b f0                	mov    %eax,%esi
4f3092:	8b 45 1c             	mov    0x1c(%ebp),%eax
4f3095:	01 c6                	add    %eax,%esi
4f3097:	53                   	push   %ebx
4f3098:	8b 45 10             	mov    0x10(%ebp),%eax
4f309b:	50                   	push   %eax
4f309c:	8b 45 d0             	mov    -0x30(%ebp),%eax
4f309f:	50                   	push   %eax
4f30a0:	8d 45 c4             	lea    -0x3c(%ebp),%eax
4f30a3:	50                   	push   %eax
4f30a4:	8b 45 e0             	mov    -0x20(%ebp),%eax
4f30a7:	50                   	push   %eax
4f30a8:	8d 45 cc             	lea    -0x34(%ebp),%eax
4f30ab:	50                   	push   %eax
4f30ac:	8d 55 18             	lea    0x18(%ebp),%edx
4f30af:	8d 45 e4             	lea    -0x1c(%ebp),%eax
4f30b2:	8b 4d 14             	mov    0x14(%ebp),%ecx
4f30b5:	e8 2e ed ff ff       	call   0x4f1de8
4f30ba:	84 c0                	test   %al,%al
4f30bc:	0f 84 c6 00 00 00    	je     0x4f3188
4f30c2:	8b 7d e4             	mov    -0x1c(%ebp),%edi
4f30c5:	8b 45 fc             	mov    -0x4(%ebp),%eax
4f30c8:	8b 10                	mov    (%eax),%edx
4f30ca:	ff 52 10             	call   *0x10(%edx)
4f30cd:	3c 03                	cmp    $0x3,%al
4f30cf:	75 19                	jne    0x4f30ea
4f30d1:	8b 45 10             	mov    0x10(%ebp),%eax
4f30d4:	48                   	dec    %eax
4f30d5:	85 c0                	test   %eax,%eax
4f30d7:	7c 71                	jl     0x4f314a
4f30d9:	40                   	inc    %eax
4f30da:	89 45 a4             	mov    %eax,-0x5c(%ebp)
4f30dd:	8a 07                	mov    (%edi),%al
4f30df:	88 06                	mov    %al,(%esi)
4f30e1:	47                   	inc    %edi
4f30e2:	46                   	inc    %esi
4f30e3:	ff 4d a4             	decl   -0x5c(%ebp)
4f30e6:	75 f5                	jne    0x4f30dd
4f30e8:	eb 60                	jmp    0x4f314a
4f30ea:	66 83 7b 1c 00       	cmpw   $0x0,0x1c(%ebx)
4f30ef:	75 36                	jne    0x4f3127
4f30f1:	8b 45 10             	mov    0x10(%ebp),%eax
4f30f4:	48                   	dec    %eax
4f30f5:	85 c0                	test   %eax,%eax
4f30f7:	7c 51                	jl     0x4f314a
4f30f9:	40                   	inc    %eax
4f30fa:	89 45 a4             	mov    %eax,-0x5c(%ebp)
4f30fd:	33 c0                	xor    %eax,%eax
4f30ff:	8a 07                	mov    (%edi),%al
4f3101:	ba ff 00 00 00       	mov    $0xff,%edx
4f3106:	2b d0                	sub    %eax,%edx
4f3108:	89 55 ec             	mov    %edx,-0x14(%ebp)
4f310b:	8a 45 ec             	mov    -0x14(%ebp),%al
4f310e:	88 46 02             	mov    %al,0x2(%esi)
4f3111:	8a 45 ec             	mov    -0x14(%ebp),%al
4f3114:	88 46 01             	mov    %al,0x1(%esi)
4f3117:	8a 45 ec             	mov    -0x14(%ebp),%al
4f311a:	88 06                	mov    %al,(%esi)
4f311c:	47                   	inc    %edi
4f311d:	83 c6 03             	add    $0x3,%esi
4f3120:	ff 4d a4             	decl   -0x5c(%ebp)
4f3123:	75 d8                	jne    0x4f30fd
4f3125:	eb 23                	jmp    0x4f314a
4f3127:	8b 45 10             	mov    0x10(%ebp),%eax
4f312a:	48                   	dec    %eax
4f312b:	85 c0                	test   %eax,%eax
4f312d:	7c 1b                	jl     0x4f314a
4f312f:	40                   	inc    %eax
4f3130:	89 45 a4             	mov    %eax,-0x5c(%ebp)
4f3133:	8a 07                	mov    (%edi),%al
4f3135:	88 46 02             	mov    %al,0x2(%esi)
4f3138:	8a 07                	mov    (%edi),%al
4f313a:	88 46 01             	mov    %al,0x1(%esi)
4f313d:	8a 07                	mov    (%edi),%al
4f313f:	88 06                	mov    %al,(%esi)
4f3141:	47                   	inc    %edi
4f3142:	83 c6 03             	add    $0x3,%esi
4f3145:	ff 4d a4             	decl   -0x5c(%ebp)
4f3148:	75 e9                	jne    0x4f3133
4f314a:	8b 45 08             	mov    0x8(%ebp),%eax
4f314d:	ff 40 0c             	incl   0xc(%eax)
4f3150:	8b 45 08             	mov    0x8(%ebp),%eax
4f3153:	66 83 78 02 00       	cmpw   $0x0,0x2(%eax)
4f3158:	74 21                	je     0x4f317b
4f315a:	8b 45 08             	mov    0x8(%ebp),%eax
4f315d:	db 40 0c             	fildl  0xc(%eax)
4f3160:	8b 45 08             	mov    0x8(%ebp),%eax
4f3163:	dc 48 18             	fmull  0x18(%eax)
4f3166:	e8 61 fb f0 ff       	call   0x402ccc
4f316b:	8b c8                	mov    %eax,%ecx
4f316d:	8b 75 08             	mov    0x8(%ebp),%esi
4f3170:	8b 55 08             	mov    0x8(%ebp),%edx
4f3173:	8b 52 08             	mov    0x8(%edx),%edx
4f3176:	8b 46 04             	mov    0x4(%esi),%eax
4f3179:	ff 16                	call   *(%esi)
4f317b:	8b 45 08             	mov    0x8(%ebp),%eax
4f317e:	8b 40 28             	mov    0x28(%eax),%eax
4f3181:	80 38 00             	cmpb   $0x0,(%eax)
4f3184:	75 19                	jne    0x4f319f
4f3186:	eb 0b                	jmp    0x4f3193
4f3188:	8b 45 08             	mov    0x8(%ebp),%eax
4f318b:	8b 40 28             	mov    0x28(%eax),%eax
4f318e:	c6 00 01             	movb   $0x1,(%eax)
4f3191:	eb 0c                	jmp    0x4f319f
4f3193:	ff 45 f4             	incl   -0xc(%ebp)
4f3196:	ff 4d a8             	decl   -0x58(%ebp)
4f3199:	0f 85 e4 fe ff ff    	jne    0x4f3083
4f319f:	66 83 7b 22 01       	cmpw   $0x1,0x22(%ebx)
4f31a4:	75 0a                	jne    0x4f31b0
4f31a6:	83 7b 0c 04          	cmpl   $0x4,0xc(%ebx)
4f31aa:	0f 85 de 0c 00 00    	jne    0x4f3e8e
4f31b0:	8b 45 e4             	mov    -0x1c(%ebp),%eax
4f31b3:	e8 14 f6 f0 ff       	call   0x4027cc
4f31b8:	e9 d1 0c 00 00       	jmp    0x4f3e8e
4f31bd:	66 83 7b 1c 01       	cmpw   $0x1,0x1c(%ebx)
4f31c2:	0f 87 d1 01 00 00    	ja     0x4f3399
4f31c8:	83 7b 08 02          	cmpl   $0x2,0x8(%ebx)
4f31cc:	0f 85 c7 01 00 00    	jne    0x4f3399
4f31d2:	83 7b 0c 08          	cmpl   $0x8,0xc(%ebx)
4f31d6:	0f 85 bd 01 00 00    	jne    0x4f3399
4f31dc:	8a 83 80 01 00 00    	mov    0x180(%ebx),%al
4f31e2:	34 01                	xor    $0x1,%al
4f31e4:	88 45 c3             	mov    %al,-0x3d(%ebp)
4f31e7:	80 7d c3 00          	cmpb   $0x0,-0x3d(%ebp)
4f31eb:	74 0a                	je     0x4f31f7
4f31ed:	8b 83 7c 01 00 00    	mov    0x17c(%ebx),%eax
4f31f3:	c6 40 68 00          	movb   $0x0,0x68(%eax)
4f31f7:	66 83 7b 22 01       	cmpw   $0x1,0x22(%ebx)
4f31fc:	74 0d                	je     0x4f320b
4f31fe:	8b 45 10             	mov    0x10(%ebp),%eax
4f3201:	03 c0                	add    %eax,%eax
4f3203:	e8 a4 f5 f0 ff       	call   0x4027ac
4f3208:	89 45 e4             	mov    %eax,-0x1c(%ebp)
4f320b:	8b 45 0c             	mov    0xc(%ebp),%eax
4f320e:	48                   	dec    %eax
4f320f:	85 c0                	test   %eax,%eax
4f3211:	0f 8c 64 01 00 00    	jl     0x4f337b
4f3217:	40                   	inc    %eax
4f3218:	89 45 a8             	mov    %eax,-0x58(%ebp)
4f321b:	c7 45 f4 00 00 00 00 	movl   $0x0,-0xc(%ebp)
4f3222:	8b 55 f8             	mov    -0x8(%ebp),%edx
4f3225:	03 55 f4             	add    -0xc(%ebp),%edx
4f3228:	8b 45 fc             	mov    -0x4(%ebp),%eax
4f322b:	8b 08                	mov    (%eax),%ecx
4f322d:	ff 11                	call   *(%ecx)
4f322f:	8b f0                	mov    %eax,%esi
4f3231:	8b 45 1c             	mov    0x1c(%ebp),%eax
4f3234:	01 c6                	add    %eax,%esi
4f3236:	53                   	push   %ebx
4f3237:	8b 45 10             	mov    0x10(%ebp),%eax
4f323a:	50                   	push   %eax
4f323b:	8b 45 d0             	mov    -0x30(%ebp),%eax
4f323e:	50                   	push   %eax
4f323f:	8d 45 c4             	lea    -0x3c(%ebp),%eax
4f3242:	50                   	push   %eax
4f3243:	8b 45 e0             	mov    -0x20(%ebp),%eax
4f3246:	50                   	push   %eax
4f3247:	8d 45 cc             	lea    -0x34(%ebp),%eax
4f324a:	50                   	push   %eax
4f324b:	8d 55 18             	lea    0x18(%ebp),%edx
4f324e:	8d 45 e4             	lea    -0x1c(%ebp),%eax
4f3251:	8b 4d 14             	mov    0x14(%ebp),%ecx
4f3254:	e8 8f eb ff ff       	call   0x4f1de8
4f3259:	84 c0                	test   %al,%al
4f325b:	0f 84 03 01 00 00    	je     0x4f3364
4f3261:	8b 7d e4             	mov    -0x1c(%ebp),%edi
4f3264:	66 83 7b 1c 00       	cmpw   $0x0,0x1c(%ebx)
4f3269:	75 69                	jne    0x4f32d4
4f326b:	8b 45 10             	mov    0x10(%ebp),%eax
4f326e:	48                   	dec    %eax
4f326f:	85 c0                	test   %eax,%eax
4f3271:	0f 8c af 00 00 00    	jl     0x4f3326
4f3277:	40                   	inc    %eax
4f3278:	89 45 a4             	mov    %eax,-0x5c(%ebp)
4f327b:	c7 45 f0 00 00 00 00 	movl   $0x0,-0x10(%ebp)
4f3282:	33 c0                	xor    %eax,%eax
4f3284:	8a 07                	mov    (%edi),%al
4f3286:	ba ff 00 00 00       	mov    $0xff,%edx
4f328b:	2b d0                	sub    %eax,%edx
4f328d:	89 55 ec             	mov    %edx,-0x14(%ebp)
4f3290:	8a 45 ec             	mov    -0x14(%ebp),%al
4f3293:	88 46 02             	mov    %al,0x2(%esi)
4f3296:	8a 45 ec             	mov    -0x14(%ebp),%al
4f3299:	88 46 01             	mov    %al,0x1(%esi)
4f329c:	8a 45 ec             	mov    -0x14(%ebp),%al
4f329f:	88 06                	mov    %al,(%esi)
4f32a1:	80 7d c3 00          	cmpb   $0x0,-0x3d(%ebp)
4f32a5:	74 1d                	je     0x4f32c4
4f32a7:	47                   	inc    %edi
4f32a8:	33 c0                	xor    %eax,%eax
4f32aa:	8a 07                	mov    (%edi),%al
4f32ac:	50                   	push   %eax
4f32ad:	8b 4d f4             	mov    -0xc(%ebp),%ecx
4f32b0:	03 4d f8             	add    -0x8(%ebp),%ecx
4f32b3:	8b 83 7c 01 00 00    	mov    0x17c(%ebx),%eax
4f32b9:	8b 55 f0             	mov    -0x10(%ebp),%edx
4f32bc:	e8 97 f9 0f 00       	call   0x5f2c58
4f32c1:	47                   	inc    %edi
4f32c2:	eb 03                	jmp    0x4f32c7
4f32c4:	83 c7 02             	add    $0x2,%edi
4f32c7:	83 c6 03             	add    $0x3,%esi
4f32ca:	ff 45 f0             	incl   -0x10(%ebp)
4f32cd:	ff 4d a4             	decl   -0x5c(%ebp)
4f32d0:	75 b0                	jne    0x4f3282
4f32d2:	eb 52                	jmp    0x4f3326
4f32d4:	8b 45 10             	mov    0x10(%ebp),%eax
4f32d7:	48                   	dec    %eax
4f32d8:	85 c0                	test   %eax,%eax
4f32da:	7c 4a                	jl     0x4f3326
4f32dc:	40                   	inc    %eax
4f32dd:	89 45 a4             	mov    %eax,-0x5c(%ebp)
4f32e0:	c7 45 f0 00 00 00 00 	movl   $0x0,-0x10(%ebp)
4f32e7:	8a 07                	mov    (%edi),%al
4f32e9:	88 46 02             	mov    %al,0x2(%esi)
4f32ec:	8a 07                	mov    (%edi),%al
4f32ee:	88 46 01             	mov    %al,0x1(%esi)
4f32f1:	8a 07                	mov    (%edi),%al
4f32f3:	88 06                	mov    %al,(%esi)
4f32f5:	80 7d c3 00          	cmpb   $0x0,-0x3d(%ebp)