5a237a:	3b e9                	cmp    %ecx,%ebp
5a237c:	76 b4                	jbe    0x5a2332
5a237e:	5f                   	pop    %edi
5a237f:	5e                   	pop    %esi
5a2380:	33 c0                	xor    %eax,%eax
5a2382:	5d                   	pop    %ebp
5a2383:	83 c4 0c             	add    $0xc,%esp
5a2386:	c3                   	ret
5a2387:	8d 0c 2b             	lea    (%ebx,%ebp,1),%ecx
5a238a:	8b c6                	mov    %esi,%eax
5a238c:	8b de                	mov    %esi,%ebx
5a238e:	33 c1                	xor    %ecx,%eax
5a2390:	2b d9                	sub    %ecx,%ebx
5a2392:	33 d9                	xor    %ecx,%ebx
5a2394:	0b d8                	or     %eax,%ebx
5a2396:	b8 00 01 00 00       	mov    $0x100,%eax
5a239b:	33 de                	xor    %esi,%ebx
5a239d:	c1 eb 1f             	shr    $0x1f,%ebx
5a23a0:	4b                   	dec    %ebx
5a23a1:	3b f0                	cmp    %eax,%esi
5a23a3:	0f 42 c6             	cmovb  %esi,%eax
5a23a6:	33 ed                	xor    %ebp,%ebp
5a23a8:	89 44 24 10          	mov    %eax,0x10(%esp)
5a23ac:	85 c0                	test   %eax,%eax
5a23ae:	74 55                	je     0x5a2405
5a23b0:	8b 54 24 20          	mov    0x20(%esp),%edx
5a23b4:	4e                   	dec    %esi
5a23b5:	8b 7f 14             	mov    0x14(%edi),%edi
5a23b8:	c1 ea 1f             	shr    $0x1f,%edx
5a23bb:	03 fe                	add    %esi,%edi
5a23bd:	8b 74 24 20          	mov    0x20(%esp),%esi
5a23c1:	89 54 24 14          	mov    %edx,0x14(%esp)
5a23c5:	8b ce                	mov    %esi,%ecx
5a23c7:	8d 7f ff             	lea    -0x1(%edi),%edi
5a23ca:	2b cd                	sub    %ebp,%ecx
5a23cc:	8b c5                	mov    %ebp,%eax
5a23ce:	c1 e9 1f             	shr    $0x1f,%ecx
5a23d1:	45                   	inc    %ebp
5a23d2:	c1 e8 1f             	shr    $0x1f,%eax
5a23d5:	32 c8                	xor    %al,%cl
5a23d7:	32 c2                	xor    %dl,%al
5a23d9:	0a c8                	or     %al,%cl
5a23db:	0f b6 44 24 2c       	movzbl 0x2c(%esp),%eax
5a23e0:	32 ca                	xor    %dl,%cl
5a23e2:	fe c9                	dec    %cl
5a23e4:	0f b6 d1             	movzbl %cl,%edx
5a23e7:	0f b6 4f 01          	movzbl 0x1(%edi),%ecx
5a23eb:	33 c8                	xor    %eax,%ecx
5a23ed:	23 d1                	and    %ecx,%edx
5a23ef:	f7 d2                	not    %edx
5a23f1:	23 da                	and    %edx,%ebx
5a23f3:	8b 54 24 14          	mov    0x14(%esp),%edx
5a23f7:	3b 6c 24 10          	cmp    0x10(%esp),%ebp
5a23fb:	72 c8                	jb     0x5a23c5
5a23fd:	8b 74 24 18          	mov    0x18(%esp),%esi
5a2401:	8b 7c 24 24          	mov    0x24(%esp),%edi
5a2405:	8b 44 24 20          	mov    0x20(%esp),%eax
5a2409:	f7 d3                	not    %ebx
5a240b:	0f b6 cb             	movzbl %bl,%ecx
5a240e:	40                   	inc    %eax
5a240f:	49                   	dec    %ecx
5a2410:	c1 e9 1f             	shr    $0x1f,%ecx
5a2413:	f7 d9                	neg    %ecx
5a2415:	23 c1                	and    %ecx,%eax
5a2417:	2b f0                	sub    %eax,%esi
5a2419:	89 77 08             	mov    %esi,0x8(%edi)
5a241c:	89 4c 24 2c          	mov    %ecx,0x2c(%esp)
5a2420:	f7 d1                	not    %ecx
5a2422:	5b                   	pop    %ebx
5a2423:	89 4c 24 1c          	mov    %ecx,0x1c(%esp)
5a2427:	8b 4c 24 28          	mov    0x28(%esp),%ecx
5a242b:	8b 44 24 1c          	mov    0x1c(%esp),%eax
5a242f:	83 e1 01             	and    $0x1,%ecx
5a2432:	5f                   	pop    %edi
5a2433:	5e                   	pop    %esi
5a2434:	0b c1                	or     %ecx,%eax
5a2436:	5d                   	pop    %ebp
5a2437:	83 c4 0c             	add    $0xc,%esp
5a243a:	c3                   	ret
5a243b:	cc                   	int3
5a243c:	cc                   	int3
5a243d:	cc                   	int3
5a243e:	cc                   	int3
5a243f:	cc                   	int3
5a2440:	b8 d4 02 00 00       	mov    $0x2d4,%eax
5a2445:	e8 66 f3 02 00       	call   0x5d17b0
5a244a:	a1 c0 14 69 00       	mov    0x6914c0,%eax
5a244f:	33 c4                	xor    %esp,%eax
5a2451:	89 84 24 d0 02 00 00 	mov    %eax,0x2d0(%esp)
5a2458:	8b 84 24 dc 02 00 00 	mov    0x2dc(%esp),%eax
5a245f:	53                   	push   %ebx
5a2460:	55                   	push   %ebp
5a2461:	8b ac 24 e0 02 00 00 	mov    0x2e0(%esp),%ebp
5a2468:	33 db                	xor    %ebx,%ebx
5a246a:	57                   	push   %edi
5a246b:	8b bc 24 ec 02 00 00 	mov    0x2ec(%esp),%edi
5a2472:	89 44 24 20          	mov    %eax,0x20(%esp)
5a2476:	89 5c 24 28          	mov    %ebx,0x28(%esp)
5a247a:	89 5c 24 2c          	mov    %ebx,0x2c(%esp)
5a247e:	85 ff                	test   %edi,%edi
5a2480:	75 36                	jne    0x5a24b8
5a2482:	68 b6 03 00 00       	push   $0x3b6
5a2487:	68 5c 7c 66 00       	push   $0x667c5c
5a248c:	6a 44                	push   $0x44
5a248e:	68 91 01 00 00       	push   $0x191
5a2493:	6a 50                	push   $0x50
5a2495:	55                   	push   %ebp
5a2496:	e8 75 cc fe ff       	call   0x58f110
5a249b:	83 c4 18             	add    $0x18,%esp
5a249e:	33 c0                	xor    %eax,%eax
5a24a0:	5f                   	pop    %edi
5a24a1:	5d                   	pop    %ebp
5a24a2:	5b                   	pop    %ebx
5a24a3:	8b 8c 24 d0 02 00 00 	mov    0x2d0(%esp),%ecx
5a24aa:	33 cc                	xor    %esp,%ecx
5a24ac:	e8 75 f5 02 00       	call   0x5d1a26
5a24b1:	81 c4 d4 02 00 00    	add    $0x2d4,%esp
5a24b7:	c3                   	ret
5a24b8:	56                   	push   %esi
5a24b9:	39 9c 24 f4 02 00 00 	cmp    %ebx,0x2f4(%esp)
5a24c0:	0f 84 49 01 00 00    	je     0x5a260f
5a24c6:	ff b5 00 04 00 00    	push   0x400(%ebp)
5a24cc:	e8 9f e2 f4 ff       	call   0x4f0770
5a24d1:	83 c4 04             	add    $0x4,%esp
5a24d4:	85 c0                	test   %eax,%eax
5a24d6:	74 22                	je     0x5a24fa
5a24d8:	ff b5 00 04 00 00    	push   0x400(%ebp)
5a24de:	e8 8d e2 f4 ff       	call   0x4f0770
5a24e3:	50                   	push   %eax
5a24e4:	e8 d7 e3 f4 ff       	call   0x4f08c0
5a24e9:	83 c4 08             	add    $0x8,%esp
5a24ec:	85 c0                	test   %eax,%eax
5a24ee:	79 0a                	jns    0x5a24fa
5a24f0:	68 bf 03 00 00       	push   $0x3bf
5a24f5:	e9 41 05 00 00       	jmp    0x5a2a3b
5a24fa:	8b b5 ec 03 00 00    	mov    0x3ec(%ebp),%esi
5a2500:	89 74 24 18          	mov    %esi,0x18(%esp)
5a2504:	85 f6                	test   %esi,%esi
5a2506:	75 0b                	jne    0x5a2513
5a2508:	33 c9                	xor    %ecx,%ecx
5a250a:	89 4c 24 10          	mov    %ecx,0x10(%esp)
5a250e:	e9 81 00 00 00       	jmp    0x5a2594
5a2513:	56                   	push   %esi
5a2514:	e8 a7 db f4 ff       	call   0x4f00c0
5a2519:	8b c8                	mov    %eax,%ecx
5a251b:	83 c4 04             	add    $0x4,%esp
5a251e:	8b 45 04             	mov    0x4(%ebp),%eax
5a2521:	89 4c 24 10          	mov    %ecx,0x10(%esp)
5a2525:	8b 40 64             	mov    0x64(%eax),%eax
5a2528:	f6 40 30 01          	testb  $0x1,0x30(%eax)
5a252c:	74 66                	je     0x5a2594
5a252e:	51                   	push   %ecx
5a252f:	e8 7c dd f4 ff       	call   0x4f02b0
5a2534:	25 07 00 0f 00       	and    $0xf0007,%eax
5a2539:	83 c4 04             	add    $0x4,%esp
5a253c:	83 f8 02             	cmp    $0x2,%eax
5a253f:	75 4f                	jne    0x5a2590
5a2541:	ff 74 24 10          	push   0x10(%esp)
5a2545:	e8 f6 4c f4 ff       	call   0x4e7240
5a254a:	8b c8                	mov    %eax,%ecx
5a254c:	83 c4 04             	add    $0x4,%esp
5a254f:	89 4c 24 1c          	mov    %ecx,0x1c(%esp)
5a2553:	83 f9 01             	cmp    $0x1,%ecx
5a2556:	7e 38                	jle    0x5a2590
5a2558:	33 db                	xor    %ebx,%ebx
5a255a:	85 ff                	test   %edi,%edi
5a255c:	74 30                	je     0x5a258e
5a255e:	8b 74 24 24          	mov    0x24(%esp),%esi
5a2562:	83 c6 14             	add    $0x14,%esi
5a2565:	8b 46 04             	mov    0x4(%esi),%eax
5a2568:	39 06                	cmp    %eax,(%esi)
5a256a:	0f 85 95 00 00 00    	jne    0x5a2605
5a2570:	51                   	push   %ecx
5a2571:	50                   	push   %eax
5a2572:	e8 d9 ec f3 ff       	call   0x4e1250
5a2577:	83 c4 08             	add    $0x8,%esp
5a257a:	85 c0                	test   %eax,%eax
5a257c:	7e 7d                	jle    0x5a25fb
5a257e:	8b 4c 24 1c          	mov    0x1c(%esp),%ecx
5a2582:	43                   	inc    %ebx
5a2583:	83 c6 30             	add    $0x30,%esi
5a2586:	3b df                	cmp    %edi,%ebx
5a2588:	72 db                	jb     0x5a2565
5a258a:	8b 74 24 18          	mov    0x18(%esp),%esi
5a258e:	33 db                	xor    %ebx,%ebx
5a2590:	8b 4c 24 10          	mov    0x10(%esp),%ecx
5a2594:	83 bd 74 04 00 00 00 	cmpl   $0x0,0x474(%ebp)
5a259b:	0f 84 52 05 00 00    	je     0x5a2af3
5a25a1:	85 f6                	test   %esi,%esi
5a25a3:	0f 84 4a 05 00 00    	je     0x5a2af3
5a25a9:	85 c9                	test   %ecx,%ecx
5a25ab:	0f 84 42 05 00 00    	je     0x5a2af3
5a25b1:	56                   	push   %esi
5a25b2:	e8 09 db f4 ff       	call   0x4f00c0
5a25b7:	50                   	push   %eax
5a25b8:	e8 13 70 f3 ff       	call   0x4d95d0
5a25bd:	83 c4 08             	add    $0x8,%esp
5a25c0:	89 44 24 28          	mov    %eax,0x28(%esp)
5a25c4:	83 ff 01             	cmp    $0x1,%edi
5a25c7:	0f 86 a3 00 00 00    	jbe    0x5a2670
5a25cd:	56                   	push   %esi
5a25ce:	e8 ed da f4 ff       	call   0x4f00c0
5a25d3:	50                   	push   %eax
5a25d4:	e8 d7 dc f4 ff       	call   0x4f02b0
5a25d9:	83 c4 08             	add    $0x8,%esp
5a25dc:	a9 00 00 80 00       	test   $0x800000,%eax
5a25e1:	0f 85 89 00 00 00    	jne    0x5a2670
5a25e7:	68 02 04 00 00       	push   $0x402
5a25ec:	68 5c 7c 66 00       	push   $0x667c5c
5a25f1:	68 96 01 00 00       	push   $0x196
5a25f6:	e9 47 04 00 00       	jmp    0x5a2a42
5a25fb:	68 db 03 00 00       	push   $0x3db
5a2600:	e9 36 04 00 00       	jmp    0x5a2a3b
5a2605:	68 d7 03 00 00       	push   $0x3d7
5a260a:	e9 2c 04 00 00       	jmp    0x5a2a3b
5a260f:	ff b5 e0 03 00 00    	push   0x3e0(%ebp)
5a2615:	e8 56 e1 f4 ff       	call   0x4f0770
5a261a:	83 c4 04             	add    $0x4,%esp
5a261d:	85 c0                	test   %eax,%eax
5a261f:	74 22                	je     0x5a2643
5a2621:	ff b5 e0 03 00 00    	push   0x3e0(%ebp)
5a2627:	e8 44 e1 f4 ff       	call   0x4f0770
5a262c:	50                   	push   %eax
5a262d:	e8 8e e2 f4 ff       	call   0x4f08c0
5a2632:	83 c4 08             	add    $0x8,%esp
5a2635:	85 c0                	test   %eax,%eax
5a2637:	79 0a                	jns    0x5a2643
5a2639:	68 e6 03 00 00       	push   $0x3e6
5a263e:	e9 f8 03 00 00       	jmp    0x5a2a3b
5a2643:	8b b5 cc 03 00 00    	mov    0x3cc(%ebp),%esi
5a2649:	89 74 24 18          	mov    %esi,0x18(%esp)
5a264d:	85 f6                	test   %esi,%esi
5a264f:	75 0b                	jne    0x5a265c
5a2651:	33 c9                	xor    %ecx,%ecx
5a2653:	89 4c 24 10          	mov    %ecx,0x10(%esp)
5a2657:	e9 38 ff ff ff       	jmp    0x5a2594
5a265c:	56                   	push   %esi
5a265d:	e8 5e da f4 ff       	call   0x4f00c0
5a2662:	8b c8                	mov    %eax,%ecx
5a2664:	83 c4 04             	add    $0x4,%esp
5a2667:	89 4c 24 10          	mov    %ecx,0x10(%esp)
5a266b:	e9 24 ff ff ff       	jmp    0x5a2594
5a2670:	33 c9                	xor    %ecx,%ecx
5a2672:	89 4c 24 14          	mov    %ecx,0x14(%esp)
5a2676:	85 ff                	test   %edi,%edi
5a2678:	0f 84 ec 01 00 00    	je     0x5a286a
5a267e:	8b 74 24 24          	mov    0x24(%esp),%esi
5a2682:	8d 84 24 49 01 00 00 	lea    0x149(%esp),%eax
5a2689:	89 44 24 1c          	mov    %eax,0x1c(%esp)
5a268d:	83 c6 08             	add    $0x8,%esi
5a2690:	8b 06                	mov    (%esi),%eax
5a2692:	ff 74 24 18          	push   0x18(%esp)
5a2696:	89 44 8c 38          	mov    %eax,0x38(%esp,%ecx,4)
5a269a:	e8 21 da f4 ff       	call   0x4f00c0
5a269f:	50                   	push   %eax
5a26a0:	e8 0b dc f4 ff       	call   0x4f02b0
5a26a5:	83 c4 08             	add    $0x8,%esp
5a26a8:	a9 00 00 20 00       	test   $0x200000,%eax
5a26ad:	0f 84 f4 00 00 00    	je     0x5a27a7
5a26b3:	8b 9c 24 f4 02 00 00 	mov    0x2f4(%esp),%ebx
5a26ba:	8d 8d 20 0f 00 00    	lea    0xf20(%ebp),%ecx
5a26c0:	33 c0                	xor    %eax,%eax
5a26c2:	85 db                	test   %ebx,%ebx
5a26c4:	0f 95 c0             	setne  %al
5a26c7:	8d 0c c1             	lea    (%ecx,%eax,8),%ecx
5a26ca:	8b 45 04             	mov    0x4(%ebp),%eax
5a26cd:	8b 40 64             	mov    0x64(%eax),%eax
5a26d0:	f6 40 30 08          	testb  $0x8,0x30(%eax)
5a26d4:	74 52                	je     0x5a2728
5a26d6:	8b 95 38 0f 00 00    	mov    0xf38(%ebp),%edx
5a26dc:	85 db                	test   %ebx,%ebx
5a26de:	74 03                	je     0x5a26e3
5a26e0:	83 c2 02             	add    $0x2,%edx
5a26e3:	8a 42 01             	mov    0x1(%edx),%al
5a26e6:	8b 5c 24 1c          	mov    0x1c(%esp),%ebx
5a26ea:	88 84 24 34 01 00 00 	mov    %al,0x134(%esp)
5a26f1:	8a 02                	mov    (%edx),%al
5a26f3:	8d 53 f7             	lea    -0x9(%ebx),%edx
5a26f6:	88 84 24 35 01 00 00 	mov    %al,0x135(%esp)
5a26fd:	8b 41 02             	mov    0x2(%ecx),%eax
5a2700:	89 84 24 36 01 00 00 	mov    %eax,0x136(%esp)
5a2707:	66 8b 41 06          	mov    0x6(%ecx),%ax
5a270b:	66 89 84 24 3a 01 00 	mov    %ax,0x13a(%esp)
5a2712:	00
5a2713:	8b 84 24 34 01 00 00 	mov    0x134(%esp),%eax
5a271a:	89 02                	mov    %eax,(%edx)
5a271c:	8b 84 24 38 01 00 00 	mov    0x138(%esp),%eax
5a2723:	89 42 04             	mov    %eax,0x4(%edx)
5a2726:	eb 23                	jmp    0x5a274b
5a2728:	8b 5c 24 1c          	mov    0x1c(%esp),%ebx
5a272c:	8b 01                	mov    (%ecx),%eax
5a272e:	8d 53 f7             	lea    -0x9(%ebx),%edx
5a2731:	89 02                	mov    %eax,(%edx)
5a2733:	8b 41 04             	mov    0x4(%ecx),%eax
5a2736:	89 42 04             	mov    %eax,0x4(%edx)
5a2739:	b8 07 00 00 00       	mov    $0x7,%eax
5a273e:	66 90                	xchg   %ax,%ax
5a2740:	80 04 01 01          	addb   $0x1,(%ecx,%eax,1)
5a2744:	75 05                	jne    0x5a274b
5a2746:	83 e8 01             	sub    $0x1,%eax
5a2749:	79 f5                	jns    0x5a2740
5a274b:	8a 46 fc             	mov    -0x4(%esi),%al
5a274e:	8b 4d 00             	mov    0x0(%ebp),%ecx
5a2751:	88 43 ff             	mov    %al,-0x1(%ebx)
5a2754:	8b c1                	mov    %ecx,%eax
5a2756:	52                   	push   %edx
5a2757:	c1 f8 08             	sar    $0x8,%eax
5a275a:	88 03                	mov    %al,(%ebx)
5a275c:	88 4b 01             	mov    %cl,0x1(%ebx)
5a275f:	8b 0e                	mov    (%esi),%ecx
5a2761:	8b c1                	mov    %ecx,%eax
5a2763:	6a 0d                	push   $0xd
5a2765:	6a 16                	push   $0x16
5a2767:	ff 74 24 24          	push   0x24(%esp)
5a276b:	c1 e8 08             	shr    $0x8,%eax
5a276e:	88 43 02             	mov    %al,0x2(%ebx)
5a2771:	88 4b 03             	mov    %cl,0x3(%ebx)
5a2774:	e8 e7 9b f3 ff       	call   0x4dc360
5a2779:	8b d8                	mov    %eax,%ebx
5a277b:	83 c4 10             	add    $0x10,%esp
5a277e:	89 5c 24 2c          	mov    %ebx,0x2c(%esp)
5a2782:	85 db                	test   %ebx,%ebx
5a2784:	0f 8e 33 01 00 00    	jle    0x5a28bd
5a278a:	83 bc 24 f4 02 00 00 	cmpl   $0x0,0x2f4(%esp)
5a2791:	00
5a2792:	0f 84 98 00 00 00    	je     0x5a2830
5a2798:	8b 4c 24 14          	mov    0x14(%esp),%ecx
5a279c:	01 5c 8c 34          	add    %ebx,0x34(%esp,%ecx,4)
5a27a0:	01 1e                	add    %ebx,(%esi)
5a27a2:	e9 aa 00 00 00       	jmp    0x5a2851
5a27a7:	83 7c 24 28 01       	cmpl   $0x1,0x28(%esp)
5a27ac:	74 74                	je     0x5a2822
5a27ae:	83 bc 24 f4 02 00 00 	cmpl   $0x0,0x2f4(%esp)
5a27b5:	00
5a27b6:	74 78                	je     0x5a2830
5a27b8:	8b 4c 24 14          	mov    0x14(%esp),%ecx
5a27bc:	33 d2                	xor    %edx,%edx
5a27be:	8b 5c 24 28          	mov    0x28(%esp),%ebx
5a27c2:	8b 4c 8c 34          	mov    0x34(%esp,%ecx,4),%ecx
5a27c6:	8b c1                	mov    %ecx,%eax
5a27c8:	f7 f3                	div    %ebx
5a27ca:	2b da                	sub    %edx,%ebx
5a27cc:	81 fb 00 01 00 00    	cmp    $0x100,%ebx
5a27d2:	0f 87 ef 00 00 00    	ja     0x5a28c7
5a27d8:	8d 43 ff             	lea    -0x1(%ebx),%eax
5a27db:	88 44 24 23          	mov    %al,0x23(%esp)
5a27df:	8d 04 19             	lea    (%ecx,%ebx,1),%eax
5a27e2:	3b c8                	cmp    %eax,%ecx
5a27e4:	73 29                	jae    0x5a280f
5a27e6:	8b 7c 24 14          	mov    0x14(%esp),%edi