5f30cf:	8b f1                	mov    %ecx,%esi
5f30d1:	8b 46 04             	mov    0x4(%esi),%eax
5f30d4:	8b 0e                	mov    (%esi),%ecx
5f30d6:	0f b6 00             	movzbl (%eax),%eax
5f30d9:	50                   	push   %eax
5f30da:	e8 c8 32 00 00       	call   0x5f63a7
5f30df:	8b 46 04             	mov    0x4(%esi),%eax
5f30e2:	c6 00 00             	movb   $0x0,(%eax)
5f30e5:	8b 46 08             	mov    0x8(%esi),%eax
5f30e8:	8b 0e                	mov    (%esi),%ecx
5f30ea:	ff 70 04             	push   0x4(%eax)
5f30ed:	ff 30                	push   (%eax)
5f30ef:	e8 34 2d 00 00       	call   0x5f5e28
5f30f4:	5e                   	pop    %esi
5f30f5:	c3                   	ret
5f30f6:	8b ff                	mov    %edi,%edi
5f30f8:	53                   	push   %ebx
5f30f9:	56                   	push   %esi
5f30fa:	8b f1                	mov    %ecx,%esi
5f30fc:	33 db                	xor    %ebx,%ebx
5f30fe:	39 5e 0c             	cmp    %ebx,0xc(%esi)
5f3101:	75 29                	jne    0x5f312c
5f3103:	8b 46 08             	mov    0x8(%esi),%eax
5f3106:	89 5e 10             	mov    %ebx,0x10(%esi)
5f3109:	66 89 5e 14          	mov    %bx,0x14(%esi)
5f310d:	88 5e 16             	mov    %bl,0x16(%esi)
5f3110:	89 5e 18             	mov    %ebx,0x18(%esi)
5f3113:	89 5e 1c             	mov    %ebx,0x1c(%esi)
5f3116:	89 5e 20             	mov    %ebx,0x20(%esi)
5f3119:	88 5e 24             	mov    %bl,0x24(%esi)
5f311c:	89 5e 28             	mov    %ebx,0x28(%esi)
5f311f:	8a 00                	mov    (%eax),%al
5f3121:	84 c0                	test   %al,%al
5f3123:	75 0c                	jne    0x5f3131
5f3125:	c7 46 10 01 00 00 00 	movl   $0x1,0x10(%esi)
5f312c:	32 c0                	xor    %al,%al
5f312e:	5e                   	pop    %esi
5f312f:	5b                   	pop    %ebx
5f3130:	c3                   	ret
5f3131:	0f b6 c0             	movzbl %al,%eax
5f3134:	50                   	push   %eax
5f3135:	e8 a9 3d 00 00       	call   0x5f6ee3
5f313a:	59                   	pop    %ecx
5f313b:	8b 4e 08             	mov    0x8(%esi),%ecx
5f313e:	85 c0                	test   %eax,%eax
5f3140:	74 24                	je     0x5f3166
5f3142:	c7 46 10 02 00 00 00 	movl   $0x2,0x10(%esi)
5f3149:	0f b6 01             	movzbl (%ecx),%eax
5f314c:	eb 09                	jmp    0x5f3157
5f314e:	ff 46 08             	incl   0x8(%esi)
5f3151:	8b 46 08             	mov    0x8(%esi),%eax
5f3154:	0f b6 00             	movzbl (%eax),%eax
5f3157:	50                   	push   %eax
5f3158:	e8 86 3d 00 00       	call   0x5f6ee3
5f315d:	59                   	pop    %ecx
5f315e:	85 c0                	test   %eax,%eax
5f3160:	75 ec                	jne    0x5f314e
5f3162:	b0 01                	mov    $0x1,%al
5f3164:	eb c8                	jmp    0x5f312e
5f3166:	80 39 25             	cmpb   $0x25,(%ecx)
5f3169:	75 7c                	jne    0x5f31e7
5f316b:	8d 41 01             	lea    0x1(%ecx),%eax
5f316e:	80 38 25             	cmpb   $0x25,(%eax)
5f3171:	74 74                	je     0x5f31e7
5f3173:	c7 46 10 04 00 00 00 	movl   $0x4,0x10(%esi)
5f317a:	89 46 08             	mov    %eax,0x8(%esi)
5f317d:	80 38 2a             	cmpb   $0x2a,(%eax)
5f3180:	75 08                	jne    0x5f318a
5f3182:	40                   	inc    %eax
5f3183:	c6 46 16 01          	movb   $0x1,0x16(%esi)
5f3187:	89 46 08             	mov    %eax,0x8(%esi)
5f318a:	8b ce                	mov    %esi,%ecx
5f318c:	e8 2c 2e 00 00       	call   0x5f5fbd
5f3191:	84 c0                	test   %al,%al
5f3193:	74 97                	je     0x5f312c
5f3195:	8b ce                	mov    %esi,%ecx
5f3197:	e8 be 2e 00 00       	call   0x5f605a
5f319c:	8b ce                	mov    %esi,%ecx
5f319e:	e8 18 30 00 00       	call   0x5f61bb
5f31a3:	8b ce                	mov    %esi,%ecx
5f31a5:	e8 a3 2c 00 00       	call   0x5f5e4d
5f31aa:	84 c0                	test   %al,%al
5f31ac:	0f 84 7a ff ff ff    	je     0x5f312c
5f31b2:	6b 4e 28 0c          	imul   $0xc,0x28(%esi),%ecx
5f31b6:	8b 46 20             	mov    0x20(%esi),%eax
5f31b9:	38 9c 01 d0 33 6d 00 	cmp    %bl,0x6d33d0(%ecx,%eax,1)
5f31c0:	75 a0                	jne    0x5f3162
5f31c2:	89 5e 10             	mov    %ebx,0x10(%esi)
5f31c5:	66 89 5e 14          	mov    %bx,0x14(%esi)
5f31c9:	88 5e 16             	mov    %bl,0x16(%esi)
5f31cc:	89 5e 18             	mov    %ebx,0x18(%esi)
5f31cf:	89 5e 1c             	mov    %ebx,0x1c(%esi)
5f31d2:	89 5e 20             	mov    %ebx,0x20(%esi)
5f31d5:	88 5e 24             	mov    %bl,0x24(%esi)
5f31d8:	89 5e 28             	mov    %ebx,0x28(%esi)
5f31db:	c7 46 0c 16 00 00 00 	movl   $0x16,0xc(%esi)
5f31e2:	e9 45 ff ff ff       	jmp    0x5f312c
5f31e7:	c7 46 10 03 00 00 00 	movl   $0x3,0x10(%esi)
5f31ee:	8a 01                	mov    (%ecx),%al
5f31f0:	88 46 14             	mov    %al,0x14(%esi)
5f31f3:	33 c0                	xor    %eax,%eax
5f31f5:	80 39 25             	cmpb   $0x25,(%ecx)
5f31f8:	53                   	push   %ebx
5f31f9:	0f 94 c0             	sete   %al
5f31fc:	41                   	inc    %ecx
5f31fd:	03 c1                	add    %ecx,%eax
5f31ff:	8b ce                	mov    %esi,%ecx
5f3201:	89 46 08             	mov    %eax,0x8(%esi)
5f3204:	e8 60 2f 00 00       	call   0x5f6169
5f3209:	e9 20 ff ff ff       	jmp    0x5f312e
5f320e:	80 79 04 00          	cmpb   $0x0,0x4(%ecx)
5f3212:	74 03                	je     0x5f3217
5f3214:	8b 01                	mov    (%ecx),%eax
5f3216:	c3                   	ret
5f3217:	6a 00                	push   $0x0
5f3219:	68 9f 01 00 00       	push   $0x19f
5f321e:	68 78 32 6d 00       	push   $0x6d3278
5f3223:	68 e0 32 6d 00       	push   $0x6d32e0
5f3228:	68 3c 33 6d 00       	push   $0x6d333c
5f322d:	e8 1a 9d ff ff       	call   0x5ecf4c
5f3232:	cc                   	int3
5f3233:	80 79 04 00          	cmpb   $0x0,0x4(%ecx)
5f3237:	75 03                	jne    0x5f323c
5f3239:	8b 01                	mov    (%ecx),%eax
5f323b:	c3                   	ret
5f323c:	6a 00                	push   $0x0
5f323e:	68 a5 01 00 00       	push   $0x1a5
5f3243:	68 78 32 6d 00       	push   $0x6d3278
5f3248:	68 58 33 6d 00       	push   $0x6d3358
5f324d:	68 b4 33 6d 00       	push   $0x6d33b4
5f3252:	e8 f5 9c ff ff       	call   0x5ecf4c
5f3257:	cc                   	int3
5f3258:	8b ff                	mov    %edi,%edi
5f325a:	55                   	push   %ebp
5f325b:	8b ec                	mov    %esp,%ebp
5f325d:	8b 4d 0c             	mov    0xc(%ebp),%ecx
5f3260:	80 79 04 00          	cmpb   $0x0,0x4(%ecx)
5f3264:	74 1c                	je     0x5f3282
5f3266:	e8 a3 ff ff ff       	call   0x5f320e
5f326b:	8b c8                	mov    %eax,%ecx
5f326d:	0f b6 45 08          	movzbl 0x8(%ebp),%eax
5f3271:	99                   	cltd
5f3272:	c1 e0 1f             	shl    $0x1f,%eax
5f3275:	0d 00 00 f0 7f       	or     $0x7ff00000,%eax
5f327a:	83 21 00             	andl   $0x0,(%ecx)
5f327d:	89 41 04             	mov    %eax,0x4(%ecx)
5f3280:	5d                   	pop    %ebp
5f3281:	c3                   	ret
5f3282:	e8 ac ff ff ff       	call   0x5f3233
5f3287:	0f b6 4d 08          	movzbl 0x8(%ebp),%ecx
5f328b:	c1 e1 1f             	shl    $0x1f,%ecx
5f328e:	81 c9 00 00 80 7f    	or     $0x7f800000,%ecx
5f3294:	89 08                	mov    %ecx,(%eax)
5f3296:	5d                   	pop    %ebp
5f3297:	c3                   	ret
5f3298:	8b ff                	mov    %edi,%edi
5f329a:	55                   	push   %ebp
5f329b:	8b ec                	mov    %esp,%ebp
5f329d:	83 ec 24             	sub    $0x24,%esp
5f32a0:	53                   	push   %ebx
5f32a1:	56                   	push   %esi
5f32a2:	8b 75 0c             	mov    0xc(%ebp),%esi
5f32a5:	33 db                	xor    %ebx,%ebx
5f32a7:	57                   	push   %edi
5f32a8:	8b 7d 08             	mov    0x8(%ebp),%edi
5f32ab:	3b f3                	cmp    %ebx,%esi
5f32ad:	77 14                	ja     0x5f32c3
5f32af:	83 ff ff             	cmp    $0xffffffff,%edi
5f32b2:	77 0f                	ja     0x5f32c3
5f32b4:	0f bd c7             	bsr    %edi,%eax
5f32b7:	89 5d dc             	mov    %ebx,-0x24(%ebp)
5f32ba:	74 03                	je     0x5f32bf
5f32bc:	40                   	inc    %eax
5f32bd:	eb 14                	jmp    0x5f32d3
5f32bf:	8b c3                	mov    %ebx,%eax
5f32c1:	eb 10                	jmp    0x5f32d3
5f32c3:	0f bd c6             	bsr    %esi,%eax
5f32c6:	89 5d dc             	mov    %ebx,-0x24(%ebp)
5f32c9:	74 03                	je     0x5f32ce
5f32cb:	40                   	inc    %eax
5f32cc:	eb 02                	jmp    0x5f32d0
5f32ce:	8b c3                	mov    %ebx,%eax
5f32d0:	83 c0 20             	add    $0x20,%eax
5f32d3:	8b 4d 1c             	mov    0x1c(%ebp),%ecx
5f32d6:	33 d2                	xor    %edx,%edx
5f32d8:	8a 49 04             	mov    0x4(%ecx),%cl
5f32db:	84 c9                	test   %cl,%cl
5f32dd:	88 4d ff             	mov    %cl,-0x1(%ebp)
5f32e0:	8b 4d 10             	mov    0x10(%ebp),%ecx
5f32e3:	0f 94 c2             	sete   %dl
5f32e6:	4a                   	dec    %edx
5f32e7:	83 e2 1d             	and    $0x1d,%edx
5f32ea:	83 c2 18             	add    $0x18,%edx
5f32ed:	2b d0                	sub    %eax,%edx
5f32ef:	33 c0                	xor    %eax,%eax
5f32f1:	2b ca                	sub    %edx,%ecx
5f32f3:	89 55 f4             	mov    %edx,-0xc(%ebp)
5f32f6:	38 45 ff             	cmp    %al,-0x1(%ebp)
5f32f9:	89 4d f8             	mov    %ecx,-0x8(%ebp)
5f32fc:	0f 94 c0             	sete   %al
5f32ff:	48                   	dec    %eax
5f3300:	25 80 03 00 00       	and    $0x380,%eax
5f3305:	83 c0 7f             	add    $0x7f,%eax
5f3308:	89 45 ec             	mov    %eax,-0x14(%ebp)
5f330b:	3b c8                	cmp    %eax,%ecx
5f330d:	0f 8f 64 02 00 00    	jg     0x5f3577
5f3313:	33 c0                	xor    %eax,%eax
5f3315:	38 45 ff             	cmp    %al,-0x1(%ebp)
5f3318:	0f 94 c0             	sete   %al
5f331b:	48                   	dec    %eax
5f331c:	25 80 fc ff ff       	and    $0xfffffc80,%eax
5f3321:	83 c0 82             	add    $0xffffff82,%eax
5f3324:	3b c8                	cmp    %eax,%ecx
5f3326:	0f 8d 38 01 00 00    	jge    0x5f3464
5f332c:	8b 45 10             	mov    0x10(%ebp),%eax
5f332f:	8b 4d ec             	mov    -0x14(%ebp),%ecx
5f3332:	48                   	dec    %eax
5f3333:	03 c1                	add    %ecx,%eax
5f3335:	f7 d9                	neg    %ecx
5f3337:	89 45 ec             	mov    %eax,-0x14(%ebp)
5f333a:	89 4d f8             	mov    %ecx,-0x8(%ebp)
5f333d:	85 c0                	test   %eax,%eax
5f333f:	0f 89 17 01 00 00    	jns    0x5f345c
5f3345:	f7 d8                	neg    %eax
5f3347:	89 45 f0             	mov    %eax,-0x10(%ebp)
5f334a:	83 f8 40             	cmp    $0x40,%eax
5f334d:	0f 83 f5 00 00 00    	jae    0x5f3448
5f3353:	8d 48 ff             	lea    -0x1(%eax),%ecx
5f3356:	33 d2                	xor    %edx,%edx
5f3358:	33 c0                	xor    %eax,%eax
5f335a:	40                   	inc    %eax
5f335b:	e8 30 ef fe ff       	call   0x5e2290
5f3360:	89 45 e8             	mov    %eax,-0x18(%ebp)
5f3363:	8b ca                	mov    %edx,%ecx
5f3365:	83 c0 ff             	add    $0xffffffff,%eax
5f3368:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
5f336b:	89 45 e0             	mov    %eax,-0x20(%ebp)
5f336e:	83 d1 ff             	adc    $0xffffffff,%ecx
5f3371:	33 c0                	xor    %eax,%eax
5f3373:	89 4d dc             	mov    %ecx,-0x24(%ebp)
5f3376:	40                   	inc    %eax
5f3377:	8b 4d f0             	mov    -0x10(%ebp),%ecx
5f337a:	33 d2                	xor    %edx,%edx
5f337c:	e8 0f ef fe ff       	call   0x5e2290
5f3381:	23 c7                	and    %edi,%eax
5f3383:	c6 45 fd 01          	movb   $0x1,-0x3(%ebp)
5f3387:	23 d6                	and    %esi,%edx
5f3389:	0b c2                	or     %edx,%eax
5f338b:	8b d7                	mov    %edi,%edx
5f338d:	8b c6                	mov    %esi,%eax
5f338f:	75 03                	jne    0x5f3394
5f3391:	88 5d fd             	mov    %bl,-0x3(%ebp)
5f3394:	23 45 e4             	and    -0x1c(%ebp),%eax
5f3397:	8b ca                	mov    %edx,%ecx
5f3399:	23 4d e8             	and    -0x18(%ebp),%ecx
5f339c:	0b c8                	or     %eax,%ecx
5f339e:	c6 45 ff 01          	movb   $0x1,-0x1(%ebp)
5f33a2:	8b c6                	mov    %esi,%eax
5f33a4:	75 03                	jne    0x5f33a9
5f33a6:	88 5d ff             	mov    %bl,-0x1(%ebp)
5f33a9:	38 5d 18             	cmp    %bl,0x18(%ebp)
5f33ac:	74 10                	je     0x5f33be
5f33ae:	8b 4d e0             	mov    -0x20(%ebp),%ecx
5f33b1:	23 ca                	and    %edx,%ecx
5f33b3:	8b 55 dc             	mov    -0x24(%ebp),%edx
5f33b6:	23 d0                	and    %eax,%edx
5f33b8:	8a c3                	mov    %bl,%al
5f33ba:	0b ca                	or     %edx,%ecx
5f33bc:	74 02                	je     0x5f33c0
5f33be:	b0 01                	mov    $0x1,%al
5f33c0:	88 45 fe             	mov    %al,-0x2(%ebp)
5f33c3:	38 5d ff             	cmp    %bl,-0x1(%ebp)
5f33c6:	75 04                	jne    0x5f33cc
5f33c8:	84 c0                	test   %al,%al
5f33ca:	74 35                	je     0x5f3401
5f33cc:	e8 ce 37 01 00       	call   0x606b9f
5f33d1:	85 c0                	test   %eax,%eax
5f33d3:	74 1b                	je     0x5f33f0
5f33d5:	3d 00 01 00 00       	cmp    $0x100,%eax
5f33da:	74 0f                	je     0x5f33eb
5f33dc:	3d 00 02 00 00       	cmp    $0x200,%eax
5f33e1:	75 1e                	jne    0x5f3401
5f33e3:	8a 5d 14             	mov    0x14(%ebp),%bl
5f33e6:	80 f3 01             	xor    $0x1,%bl
5f33e9:	eb 16                	jmp    0x5f3401
5f33eb:	8a 5d 14             	mov    0x14(%ebp),%bl
5f33ee:	eb 11                	jmp    0x5f3401
5f33f0:	38 5d ff             	cmp    %bl,-0x1(%ebp)
5f33f3:	74 0c                	je     0x5f3401
5f33f5:	38 5d fe             	cmp    %bl,-0x2(%ebp)
5f33f8:	75 05                	jne    0x5f33ff
5f33fa:	38 5d fd             	cmp    %bl,-0x3(%ebp)
5f33fd:	74 02                	je     0x5f3401
5f33ff:	b3 01                	mov    $0x1,%bl
5f3401:	8b 4d f0             	mov    -0x10(%ebp),%ecx
5f3404:	8b c7                	mov    %edi,%eax
5f3406:	8b d6                	mov    %esi,%edx
5f3408:	e8 53 ec fe ff       	call   0x5e2060
5f340d:	8b f8                	mov    %eax,%edi
5f340f:	8b f2                	mov    %edx,%esi
5f3411:	0f b6 c3             	movzbl %bl,%eax
5f3414:	99                   	cltd
5f3415:	03 f8                	add    %eax,%edi
5f3417:	8b c7                	mov    %edi,%eax
5f3419:	13 f2                	adc    %edx,%esi
5f341b:	0b c6                	or     %esi,%eax
5f341d:	74 29                	je     0x5f3448
5f341f:	8b 4d 1c             	mov    0x1c(%ebp),%ecx
5f3422:	e8 68 21 00 00       	call   0x5f558f
5f3427:	3b f2                	cmp    %edx,%esi
5f3429:	0f 82 6f 01 00 00    	jb     0x5f359e
5f342f:	77 08                	ja     0x5f3439
5f3431:	3b f8                	cmp    %eax,%edi
5f3433:	0f 86 65 01 00 00    	jbe    0x5f359e
5f3439:	8b 5d 10             	mov    0x10(%ebp),%ebx
5f343c:	2b 5d ec             	sub    -0x14(%ebp),%ebx
5f343f:	2b 5d f4             	sub    -0xc(%ebp),%ebx
5f3442:	4b                   	dec    %ebx
5f3443:	e9 59 01 00 00       	jmp    0x5f35a1
5f3448:	ff 75 1c             	push   0x1c(%ebp)
5f344b:	ff 75 14             	push   0x14(%ebp)
5f344e:	e8 22 03 00 00       	call   0x5f3775
5f3453:	59                   	pop    %ecx
5f3454:	59                   	pop    %ecx
5f3455:	6a 02                	push   $0x2
5f3457:	e9 2a 01 00 00       	jmp    0x5f3586
5f345c:	8b 4d ec             	mov    -0x14(%ebp),%ecx
5f345f:	e9 2d 01 00 00       	jmp    0x5f3591
5f3464:	85 d2                	test   %edx,%edx
5f3466:	0f 89 20 01 00 00    	jns    0x5f358c
5f346c:	f7 da                	neg    %edx
5f346e:	89 55 f4             	mov    %edx,-0xc(%ebp)
5f3471:	83 fa 40             	cmp    $0x40,%edx
5f3474:	72 09                	jb     0x5f347f
5f3476:	8b fb                	mov    %ebx,%edi
5f3478:	8b f3                	mov    %ebx,%esi
5f347a:	e9 c4 00 00 00       	jmp    0x5f3543
5f347f:	33 c0                	xor    %eax,%eax
5f3481:	8d 4a ff             	lea    -0x1(%edx),%ecx
5f3484:	40                   	inc    %eax
5f3485:	33 d2                	xor    %edx,%edx
5f3487:	e8 04 ee fe ff       	call   0x5e2290
5f348c:	8b 4d f4             	mov    -0xc(%ebp),%ecx
5f348f:	89 45 dc             	mov    %eax,-0x24(%ebp)
5f3492:	83 c0 ff             	add    $0xffffffff,%eax
5f3495:	89 55 e0             	mov    %edx,-0x20(%ebp)
5f3498:	83 d2 ff             	adc    $0xffffffff,%edx
5f349b:	89 45 e4             	mov    %eax,-0x1c(%ebp)
5f349e:	33 c0                	xor    %eax,%eax
5f34a0:	89 55 e8             	mov    %edx,-0x18(%ebp)