4b22d4:	ba ff 7f 00 00       	mov    $0x7fff,%edx
4b22d9:	33 f8                	xor    %eax,%edi
4b22db:	23 c2                	and    %edx,%eax
4b22dd:	23 ca                	and    %edx,%ecx
4b22df:	81 e7 00 80 00 00    	and    $0x8000,%edi
4b22e5:	66 3d ff 7f          	cmp    $0x7fff,%ax
4b22e9:	8d 14 01             	lea    (%ecx,%eax,1),%edx
4b22ec:	89 55 08             	mov    %edx,0x8(%ebp)
4b22ef:	0f 83 b8 01 00 00    	jae    0x4b24ad
4b22f5:	66 81 f9 ff 7f       	cmp    $0x7fff,%cx
4b22fa:	0f 83 ad 01 00 00    	jae    0x4b24ad
4b2300:	66 81 fa fd bf       	cmp    $0xbffd,%dx
4b2305:	0f 87 a2 01 00 00    	ja     0x4b24ad
4b230b:	66 81 fa bf 3f       	cmp    $0x3fbf,%dx
4b2310:	77 04                	ja     0x4b2316
4b2312:	33 c0                	xor    %eax,%eax
4b2314:	eb 3a                	jmp    0x4b2350
4b2316:	66 85 c0             	test   %ax,%ax
4b2319:	ba ff ff ff 7f       	mov    $0x7fffffff,%edx
4b231e:	75 18                	jne    0x4b2338
4b2320:	ff 45 08             	incl   0x8(%ebp)
4b2323:	85 56 08             	test   %edx,0x8(%esi)
4b2326:	75 10                	jne    0x4b2338
4b2328:	33 c0                	xor    %eax,%eax
4b232a:	39 46 04             	cmp    %eax,0x4(%esi)
4b232d:	75 0b                	jne    0x4b233a
4b232f:	39 06                	cmp    %eax,(%esi)
4b2331:	75 07                	jne    0x4b233a
4b2333:	e9 6f 01 00 00       	jmp    0x4b24a7
4b2338:	33 c0                	xor    %eax,%eax
4b233a:	66 3b c8             	cmp    %ax,%cx
4b233d:	75 1e                	jne    0x4b235d
4b233f:	ff 45 08             	incl   0x8(%ebp)
4b2342:	85 53 08             	test   %edx,0x8(%ebx)
4b2345:	75 16                	jne    0x4b235d
4b2347:	39 43 04             	cmp    %eax,0x4(%ebx)
4b234a:	75 11                	jne    0x4b235d
4b234c:	39 03                	cmp    %eax,(%ebx)
4b234e:	75 0d                	jne    0x4b235d
4b2350:	89 46 08             	mov    %eax,0x8(%esi)
4b2353:	89 46 04             	mov    %eax,0x4(%esi)
4b2356:	89 06                	mov    %eax,(%esi)
4b2358:	e9 6b 01 00 00       	jmp    0x4b24c8
4b235d:	89 45 f0             	mov    %eax,-0x10(%ebp)
4b2360:	8d 45 e0             	lea    -0x20(%ebp),%eax
4b2363:	89 45 fc             	mov    %eax,-0x4(%ebp)
4b2366:	c7 45 0c 05 00 00 00 	movl   $0x5,0xc(%ebp)
4b236d:	8b 45 f0             	mov    -0x10(%ebp),%eax
4b2370:	03 c0                	add    %eax,%eax
4b2372:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
4b2376:	7e 49                	jle    0x4b23c1
4b2378:	03 c6                	add    %esi,%eax
4b237a:	8d 4b 08             	lea    0x8(%ebx),%ecx
4b237d:	89 45 f8             	mov    %eax,-0x8(%ebp)
4b2380:	8b 45 0c             	mov    0xc(%ebp),%eax
4b2383:	89 4d f4             	mov    %ecx,-0xc(%ebp)
4b2386:	89 45 e8             	mov    %eax,-0x18(%ebp)
4b2389:	8b 45 f8             	mov    -0x8(%ebp),%eax
4b238c:	8b 4d f4             	mov    -0xc(%ebp),%ecx
4b238f:	0f b7 00             	movzwl (%eax),%eax
4b2392:	0f b7 09             	movzwl (%ecx),%ecx
4b2395:	0f af c1             	imul   %ecx,%eax
4b2398:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4b239b:	83 c1 fc             	add    $0xfffffffc,%ecx
4b239e:	51                   	push   %ecx
4b239f:	50                   	push   %eax
4b23a0:	ff 31                	push   (%ecx)
4b23a2:	e8 d2 fa ff ff       	call   0x4b1e79
4b23a7:	83 c4 0c             	add    $0xc,%esp
4b23aa:	85 c0                	test   %eax,%eax
4b23ac:	74 06                	je     0x4b23b4
4b23ae:	8b 45 fc             	mov    -0x4(%ebp),%eax
4b23b1:	66 ff 00             	incw   (%eax)
4b23b4:	83 45 f8 02          	addl   $0x2,-0x8(%ebp)
4b23b8:	83 6d f4 02          	subl   $0x2,-0xc(%ebp)
4b23bc:	ff 4d e8             	decl   -0x18(%ebp)
4b23bf:	75 c8                	jne    0x4b2389
4b23c1:	83 45 fc 02          	addl   $0x2,-0x4(%ebp)
4b23c5:	ff 45 f0             	incl   -0x10(%ebp)
4b23c8:	ff 4d 0c             	decl   0xc(%ebp)
4b23cb:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
4b23cf:	7f 9c                	jg     0x4b236d
4b23d1:	81 45 08 02 c0 00 00 	addl   $0xc002,0x8(%ebp)
4b23d8:	66 83 7d 08 00       	cmpw   $0x0,0x8(%ebp)
4b23dd:	7e 25                	jle    0x4b2404
4b23df:	f6 45 e7 80          	testb  $0x80,-0x19(%ebp)
4b23e3:	75 18                	jne    0x4b23fd
4b23e5:	8d 45 dc             	lea    -0x24(%ebp),%eax
4b23e8:	50                   	push   %eax
4b23e9:	e8 0a fb ff ff       	call   0x4b1ef8
4b23ee:	81 45 08 ff ff 00 00 	addl   $0xffff,0x8(%ebp)
4b23f5:	59                   	pop    %ecx
4b23f6:	66 83 7d 08 00       	cmpw   $0x0,0x8(%ebp)
4b23fb:	7f e2                	jg     0x4b23df
4b23fd:	66 83 7d 08 00       	cmpw   $0x0,0x8(%ebp)
4b2402:	7f 39                	jg     0x4b243d
4b2404:	81 45 08 ff ff 00 00 	addl   $0xffff,0x8(%ebp)
4b240b:	66 83 7d 08 00       	cmpw   $0x0,0x8(%ebp)
4b2410:	7d 2b                	jge    0x4b243d
4b2412:	0f bf 45 08          	movswl 0x8(%ebp),%eax
4b2416:	f7 d8                	neg    %eax
4b2418:	01 45 08             	add    %eax,0x8(%ebp)
4b241b:	8b d8                	mov    %eax,%ebx
4b241d:	f6 45 dc 01          	testb  $0x1,-0x24(%ebp)
4b2421:	74 03                	je     0x4b2426
4b2423:	ff 45 ec             	incl   -0x14(%ebp)
4b2426:	8d 45 dc             	lea    -0x24(%ebp),%eax
4b2429:	50                   	push   %eax
4b242a:	e8 f7 fa ff ff       	call   0x4b1f26
4b242f:	4b                   	dec    %ebx
4b2430:	59                   	pop    %ecx
4b2431:	75 ea                	jne    0x4b241d
4b2433:	83 7d ec 00          	cmpl   $0x0,-0x14(%ebp)
4b2437:	74 04                	je     0x4b243d
4b2439:	80 4d dc 01          	orb    $0x1,-0x24(%ebp)
4b243d:	66 81 7d dc 00 80    	cmpw   $0x8000,-0x24(%ebp)
4b2443:	77 0f                	ja     0x4b2454
4b2445:	8b 45 dc             	mov    -0x24(%ebp),%eax
4b2448:	25 ff ff 01 00       	and    $0x1ffff,%eax
4b244d:	3d 00 80 01 00       	cmp    $0x18000,%eax
4b2452:	75 35                	jne    0x4b2489
4b2454:	83 7d de ff          	cmpl   $0xffffffff,-0x22(%ebp)
4b2458:	75 2c                	jne    0x4b2486
4b245a:	83 65 de 00          	andl   $0x0,-0x22(%ebp)
4b245e:	83 7d e2 ff          	cmpl   $0xffffffff,-0x1e(%ebp)
4b2462:	75 1d                	jne    0x4b2481
4b2464:	83 65 e2 00          	andl   $0x0,-0x1e(%ebp)
4b2468:	66 81 7d e6 ff ff    	cmpw   $0xffff,-0x1a(%ebp)
4b246e:	75 0b                	jne    0x4b247b
4b2470:	ff 45 08             	incl   0x8(%ebp)
4b2473:	66 c7 45 e6 00 80    	movw   $0x8000,-0x1a(%ebp)
4b2479:	eb 0e                	jmp    0x4b2489
4b247b:	66 ff 45 e6          	incw   -0x1a(%ebp)
4b247f:	eb 08                	jmp    0x4b2489
4b2481:	ff 45 e2             	incl   -0x1e(%ebp)
4b2484:	eb 03                	jmp    0x4b2489
4b2486:	ff 45 de             	incl   -0x22(%ebp)
4b2489:	8b 45 08             	mov    0x8(%ebp),%eax
4b248c:	66 3d ff 7f          	cmp    $0x7fff,%ax
4b2490:	73 1b                	jae    0x4b24ad
4b2492:	66 8b 4d de          	mov    -0x22(%ebp),%cx
4b2496:	0b c7                	or     %edi,%eax
4b2498:	66 89 0e             	mov    %cx,(%esi)
4b249b:	8b 4d e0             	mov    -0x20(%ebp),%ecx
4b249e:	89 4e 02             	mov    %ecx,0x2(%esi)
4b24a1:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
4b24a4:	89 4e 06             	mov    %ecx,0x6(%esi)
4b24a7:	66 89 46 0a          	mov    %ax,0xa(%esi)
4b24ab:	eb 1b                	jmp    0x4b24c8
4b24ad:	66 f7 df             	neg    %di
4b24b0:	1b ff                	sbb    %edi,%edi
4b24b2:	83 66 04 00          	andl   $0x0,0x4(%esi)
4b24b6:	81 e7 00 00 00 80    	and    $0x80000000,%edi
4b24bc:	81 c7 00 80 ff 7f    	add    $0x7fff8000,%edi
4b24c2:	83 26 00             	andl   $0x0,(%esi)
4b24c5:	89 7e 08             	mov    %edi,0x8(%esi)
4b24c8:	5f                   	pop    %edi
4b24c9:	5e                   	pop    %esi
4b24ca:	5b                   	pop    %ebx
4b24cb:	c9                   	leave
4b24cc:	c3                   	ret
4b24cd:	55                   	push   %ebp
4b24ce:	8b ec                	mov    %esp,%ebp
4b24d0:	83 ec 0c             	sub    $0xc,%esp
4b24d3:	53                   	push   %ebx
4b24d4:	bb 30 d1 50 00       	mov    $0x50d130,%ebx
4b24d9:	33 c9                	xor    %ecx,%ecx
4b24db:	83 eb 60             	sub    $0x60,%ebx
4b24de:	39 4d 0c             	cmp    %ecx,0xc(%ebp)
4b24e1:	74 63                	je     0x4b2546
4b24e3:	7d 10                	jge    0x4b24f5
4b24e5:	8b 45 0c             	mov    0xc(%ebp),%eax
4b24e8:	bb 90 d2 50 00       	mov    $0x50d290,%ebx
4b24ed:	f7 d8                	neg    %eax
4b24ef:	89 45 0c             	mov    %eax,0xc(%ebp)
4b24f2:	83 eb 60             	sub    $0x60,%ebx
4b24f5:	39 4d 10             	cmp    %ecx,0x10(%ebp)
4b24f8:	75 06                	jne    0x4b2500
4b24fa:	8b 45 08             	mov    0x8(%ebp),%eax
4b24fd:	66 89 08             	mov    %cx,(%eax)
4b2500:	39 4d 0c             	cmp    %ecx,0xc(%ebp)
4b2503:	74 41                	je     0x4b2546
4b2505:	56                   	push   %esi
4b2506:	57                   	push   %edi
4b2507:	8b 45 0c             	mov    0xc(%ebp),%eax
4b250a:	83 c3 54             	add    $0x54,%ebx
4b250d:	c1 7d 0c 03          	sarl   $0x3,0xc(%ebp)
4b2511:	83 e0 07             	and    $0x7,%eax
4b2514:	3b c1                	cmp    %ecx,%eax
4b2516:	74 27                	je     0x4b253f
4b2518:	8d 04 40             	lea    (%eax,%eax,2),%eax
4b251b:	66 81 3c 83 00 80    	cmpw   $0x8000,(%ebx,%eax,4)
4b2521:	8d 34 83             	lea    (%ebx,%eax,4),%esi
4b2524:	72 0c                	jb     0x4b2532
4b2526:	8d 7d f4             	lea    -0xc(%ebp),%edi
4b2529:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4b252a:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4b252b:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4b252c:	ff 4d f6             	decl   -0xa(%ebp)
4b252f:	8d 75 f4             	lea    -0xc(%ebp),%esi
4b2532:	56                   	push   %esi
4b2533:	ff 75 08             	push   0x8(%ebp)
4b2536:	e8 72 fd ff ff       	call   0x4b22ad
4b253b:	59                   	pop    %ecx
4b253c:	59                   	pop    %ecx
4b253d:	33 c9                	xor    %ecx,%ecx
4b253f:	39 4d 0c             	cmp    %ecx,0xc(%ebp)
4b2542:	75 c3                	jne    0x4b2507
4b2544:	5f                   	pop    %edi
4b2545:	5e                   	pop    %esi
4b2546:	5b                   	pop    %ebx
4b2547:	c9                   	leave
4b2548:	c3                   	ret
4b2549:	cc                   	int3
4b254a:	cc                   	int3
4b254b:	cc                   	int3
4b254c:	cc                   	int3
4b254d:	cc                   	int3
4b254e:	cc                   	int3
4b254f:	cc                   	int3
4b2550:	55                   	push   %ebp
4b2551:	8b ec                	mov    %esp,%ebp
4b2553:	57                   	push   %edi
4b2554:	56                   	push   %esi
4b2555:	53                   	push   %ebx
4b2556:	8b 75 0c             	mov    0xc(%ebp),%esi
4b2559:	8b 7d 08             	mov    0x8(%ebp),%edi
4b255c:	8d 05 60 cb 51 00    	lea    0x51cb60,%eax
4b2562:	83 78 08 00          	cmpl   $0x0,0x8(%eax)
4b2566:	75 3b                	jne    0x4b25a3
4b2568:	b0 ff                	mov    $0xff,%al
4b256a:	8b ff                	mov    %edi,%edi
4b256c:	0a c0                	or     %al,%al
4b256e:	74 2e                	je     0x4b259e
4b2570:	8a 06                	mov    (%esi),%al
4b2572:	46                   	inc    %esi
4b2573:	8a 27                	mov    (%edi),%ah
4b2575:	47                   	inc    %edi
4b2576:	38 c4                	cmp    %al,%ah
4b2578:	74 f2                	je     0x4b256c
4b257a:	2c 41                	sub    $0x41,%al
4b257c:	3c 1a                	cmp    $0x1a,%al
4b257e:	1a c9                	sbb    %cl,%cl
4b2580:	80 e1 20             	and    $0x20,%cl
4b2583:	02 c1                	add    %cl,%al
4b2585:	04 41                	add    $0x41,%al
4b2587:	86 e0                	xchg   %ah,%al
4b2589:	2c 41                	sub    $0x41,%al
4b258b:	3c 1a                	cmp    $0x1a,%al
4b258d:	1a c9                	sbb    %cl,%cl
4b258f:	80 e1 20             	and    $0x20,%cl
4b2592:	02 c1                	add    %cl,%al
4b2594:	04 41                	add    $0x41,%al
4b2596:	38 e0                	cmp    %ah,%al
4b2598:	74 d2                	je     0x4b256c
4b259a:	1a c0                	sbb    %al,%al
4b259c:	1c ff                	sbb    $0xff,%al
4b259e:	0f be c0             	movsbl %al,%eax
4b25a1:	eb 78                	jmp    0x4b261b
4b25a3:	f0 ff 05 2c cf 51 00 	lock incl 0x51cf2c
4b25aa:	83 3d 28 cf 51 00 00 	cmpl   $0x0,0x51cf28
4b25b1:	7f 04                	jg     0x4b25b7
4b25b3:	6a 00                	push   $0x0
4b25b5:	eb 15                	jmp    0x4b25cc
4b25b7:	f0 ff 0d 2c cf 51 00 	lock decl 0x51cf2c
4b25be:	6a 13                	push   $0x13
4b25c0:	e8 79 b1 ff ff       	call   0x4ad73e
4b25c5:	c7 04 24 01 00 00 00 	movl   $0x1,(%esp)
4b25cc:	b8 ff 00 00 00       	mov    $0xff,%eax
4b25d1:	33 db                	xor    %ebx,%ebx
4b25d3:	90                   	nop
4b25d4:	0a c0                	or     %al,%al
4b25d6:	74 27                	je     0x4b25ff
4b25d8:	8a 06                	mov    (%esi),%al
4b25da:	46                   	inc    %esi
4b25db:	8a 1f                	mov    (%edi),%bl
4b25dd:	47                   	inc    %edi
4b25de:	38 d8                	cmp    %bl,%al
4b25e0:	74 f2                	je     0x4b25d4
4b25e2:	50                   	push   %eax
4b25e3:	53                   	push   %ebx
4b25e4:	e8 88 6f ff ff       	call   0x4a9571
4b25e9:	8b d8                	mov    %eax,%ebx
4b25eb:	83 c4 04             	add    $0x4,%esp
4b25ee:	e8 7e 6f ff ff       	call   0x4a9571
4b25f3:	83 c4 04             	add    $0x4,%esp
4b25f6:	38 c3                	cmp    %al,%bl
4b25f8:	74 da                	je     0x4b25d4
4b25fa:	1b c0                	sbb    %eax,%eax
4b25fc:	83 d8 ff             	sbb    $0xffffffff,%eax
4b25ff:	8b d8                	mov    %eax,%ebx
4b2601:	58                   	pop    %eax
4b2602:	0b c0                	or     %eax,%eax
4b2604:	75 09                	jne    0x4b260f
4b2606:	f0 ff 0d 2c cf 51 00 	lock decl 0x51cf2c
4b260d:	eb 0a                	jmp    0x4b2619
4b260f:	6a 13                	push   $0x13
4b2611:	e8 89 b1 ff ff       	call   0x4ad79f
4b2616:	83 c4 04             	add    $0x4,%esp
4b2619:	8b c3                	mov    %ebx,%eax
4b261b:	5b                   	pop    %ebx
4b261c:	5e                   	pop    %esi
4b261d:	5f                   	pop    %edi
4b261e:	c9                   	leave
4b261f:	c3                   	ret
4b2620:	55                   	push   %ebp
4b2621:	8b ec                	mov    %esp,%ebp
4b2623:	57                   	push   %edi
4b2624:	56                   	push   %esi
4b2625:	53                   	push   %ebx
4b2626:	8b 4d 10             	mov    0x10(%ebp),%ecx
4b2629:	0b c9                	or     %ecx,%ecx
4b262b:	0f 84 e9 00 00 00    	je     0x4b271a
4b2631:	8b 75 08             	mov    0x8(%ebp),%esi
4b2634:	8b 7d 0c             	mov    0xc(%ebp),%edi
4b2637:	8d 05 60 cb 51 00    	lea    0x51cb60,%eax
4b263d:	83 78 08 00          	cmpl   $0x0,0x8(%eax)
4b2641:	75 4e                	jne    0x4b2691
4b2643:	b7 41                	mov    $0x41,%bh
4b2645:	b3 5a                	mov    $0x5a,%bl
4b2647:	b6 20                	mov    $0x20,%dh
4b2649:	8d 49 00             	lea    0x0(%ecx),%ecx
4b264c:	8a 26                	mov    (%esi),%ah
4b264e:	0a e4                	or     %ah,%ah
4b2650:	8a 07                	mov    (%edi),%al
4b2652:	74 21                	je     0x4b2675
4b2654:	0a c0                	or     %al,%al
4b2656:	74 1d                	je     0x4b2675
4b2658:	46                   	inc    %esi
4b2659:	47                   	inc    %edi
4b265a:	38 fc                	cmp    %bh,%ah
4b265c:	72 06                	jb     0x4b2664
4b265e:	38 dc                	cmp    %bl,%ah
4b2660:	77 02                	ja     0x4b2664
4b2662:	02 e6                	add    %dh,%ah
4b2664:	38 f8                	cmp    %bh,%al
4b2666:	72 06                	jb     0x4b266e
4b2668:	38 d8                	cmp    %bl,%al
4b266a:	77 02                	ja     0x4b266e
4b266c:	02 c6                	add    %dh,%al
4b266e:	38 c4                	cmp    %al,%ah
4b2670:	75 0d                	jne    0x4b267f
4b2672:	49                   	dec    %ecx
4b2673:	75 d7                	jne    0x4b264c
4b2675:	33 c9                	xor    %ecx,%ecx
4b2677:	38 c4                	cmp    %al,%ah
4b2679:	0f 84 9b 00 00 00    	je     0x4b271a
4b267f:	b9 ff ff ff ff       	mov    $0xffffffff,%ecx
4b2684:	0f 82 90 00 00 00    	jb     0x4b271a
4b268a:	f7 d9                	neg    %ecx