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
5a27ea:	66 0f 1f 44 00 00    	nopw   0x0(%eax,%eax,1)
5a27f0:	8b 46 10             	mov    0x10(%esi),%eax
5a27f3:	8a 54 24 23          	mov    0x23(%esp),%dl
5a27f7:	88 14 01             	mov    %dl,(%ecx,%eax,1)
5a27fa:	41                   	inc    %ecx
5a27fb:	8b 54 bc 34          	mov    0x34(%esp,%edi,4),%edx
5a27ff:	8d 04 1a             	lea    (%edx,%ebx,1),%eax
5a2802:	3b c8                	cmp    %eax,%ecx
5a2804:	72 ea                	jb     0x5a27f0
5a2806:	8b bc 24 f0 02 00 00 	mov    0x2f0(%esp),%edi
5a280d:	8b ca                	mov    %edx,%ecx
5a280f:	01 1e                	add    %ebx,(%esi)
5a2811:	8d 04 19             	lea    (%ecx,%ebx,1),%eax
5a2814:	8b 4c 24 14          	mov    0x14(%esp),%ecx
5a2818:	8b 5c 24 2c          	mov    0x2c(%esp),%ebx
5a281c:	89 44 8c 34          	mov    %eax,0x34(%esp,%ecx,4)
5a2820:	eb 2f                	jmp    0x5a2851
5a2822:	83 bc 24 f4 02 00 00 	cmpl   $0x0,0x2f4(%esp)
5a2829:	00
5a282a:	89 5c 24 2c          	mov    %ebx,0x2c(%esp)
5a282e:	75 1d                	jne    0x5a284d
5a2830:	8b 4c 24 14          	mov    0x14(%esp),%ecx
5a2834:	8b 44 8c 34          	mov    0x34(%esp,%ecx,4),%eax
5a2838:	85 c0                	test   %eax,%eax
5a283a:	74 0a                	je     0x5a2846
5a283c:	33 d2                	xor    %edx,%edx
5a283e:	f7 74 24 28          	divl   0x28(%esp)
5a2842:	85 d2                	test   %edx,%edx
5a2844:	74 0b                	je     0x5a2851
5a2846:	33 c0                	xor    %eax,%eax
5a2848:	e9 d7 02 00 00       	jmp    0x5a2b24
5a284d:	8b 4c 24 14          	mov    0x14(%esp),%ecx
5a2851:	83 44 24 1c 0d       	addl   $0xd,0x1c(%esp)
5a2856:	41                   	inc    %ecx
5a2857:	83 c6 30             	add    $0x30,%esi
5a285a:	89 4c 24 14          	mov    %ecx,0x14(%esp)
5a285e:	3b cf                	cmp    %edi,%ecx
5a2860:	0f 82 2a fe ff ff    	jb     0x5a2690
5a2866:	8b 74 24 18          	mov    0x18(%esp),%esi
5a286a:	8b 5c 24 24          	mov    0x24(%esp),%ebx
5a286e:	83 ff 01             	cmp    $0x1,%edi
5a2871:	0f 86 bb 00 00 00    	jbe    0x5a2932
5a2877:	33 c9                	xor    %ecx,%ecx
5a2879:	8d 53 14             	lea    0x14(%ebx),%edx
5a287c:	0f 1f 40 00          	nopl   0x0(%eax)
5a2880:	8b 02                	mov    (%edx),%eax
5a2882:	8d 52 30             	lea    0x30(%edx),%edx
5a2885:	89 84 8c b4 00 00 00 	mov    %eax,0xb4(%esp,%ecx,4)
5a288c:	41                   	inc    %ecx
5a288d:	3b cf                	cmp    %edi,%ecx
5a288f:	72 ef                	jb     0x5a2880
5a2891:	8d 84 24 b4 00 00 00 	lea    0xb4(%esp),%eax
5a2898:	50                   	push   %eax
5a2899:	57                   	push   %edi
5a289a:	6a 22                	push   $0x22
5a289c:	56                   	push   %esi
5a289d:	e8 be 9a f3 ff       	call   0x4dc360
5a28a2:	83 c4 10             	add    $0x10,%esp
5a28a5:	85 c0                	test   %eax,%eax
5a28a7:	7f 28                	jg     0x5a28d1
5a28a9:	68 54 04 00 00       	push   $0x454
5a28ae:	68 5c 7c 66 00       	push   $0x667c5c
5a28b3:	68 96 01 00 00       	push   $0x196
5a28b8:	e9 85 01 00 00       	jmp    0x5a2a42
5a28bd:	68 2a 04 00 00       	push   $0x42a
5a28c2:	e9 74 01 00 00       	jmp    0x5a2a3b
5a28c7:	68 3a 04 00 00       	push   $0x43a
5a28cc:	e9 6a 01 00 00       	jmp    0x5a2a3b
5a28d1:	33 c9                	xor    %ecx,%ecx
5a28d3:	8d 53 18             	lea    0x18(%ebx),%edx
5a28d6:	66 66 0f 1f 84 00 00 	data16 nopw 0x0(%eax,%eax,1)
5a28dd:	00 00 00
5a28e0:	8b 02                	mov    (%edx),%eax
5a28e2:	8d 52 30             	lea    0x30(%edx),%edx
5a28e5:	89 84 8c b4 00 00 00 	mov    %eax,0xb4(%esp,%ecx,4)
5a28ec:	41                   	inc    %ecx
5a28ed:	3b cf                	cmp    %edi,%ecx
5a28ef:	72 ef                	jb     0x5a28e0
5a28f1:	8d 84 24 b4 00 00 00 	lea    0xb4(%esp),%eax
5a28f8:	50                   	push   %eax
5a28f9:	57                   	push   %edi
5a28fa:	6a 23                	push   $0x23
5a28fc:	56                   	push   %esi
5a28fd:	e8 5e 9a f3 ff       	call   0x4dc360
5a2902:	83 c4 10             	add    $0x10,%esp
5a2905:	85 c0                	test   %eax,%eax
5a2907:	7e 15                	jle    0x5a291e
5a2909:	8d 44 24 34          	lea    0x34(%esp),%eax
5a290d:	50                   	push   %eax
5a290e:	57                   	push   %edi
5a290f:	6a 24                	push   $0x24
5a2911:	56                   	push   %esi
5a2912:	e8 49 9a f3 ff       	call   0x4dc360
5a2917:	83 c4 10             	add    $0x10,%esp
5a291a:	85 c0                	test   %eax,%eax
5a291c:	7f 14                	jg     0x5a2932
5a291e:	68 60 04 00 00       	push   $0x460
5a2923:	68 5c 7c 66 00       	push   $0x667c5c
5a2928:	68 96 01 00 00       	push   $0x196
5a292d:	e9 10 01 00 00       	jmp    0x5a2a42
5a2932:	ff 74 24 34          	push   0x34(%esp)
5a2936:	8d 73 18             	lea    0x18(%ebx),%esi
5a2939:	ff 36                	push   (%esi)
5a293b:	ff 73 14             	push   0x14(%ebx)
5a293e:	ff 74 24 24          	push   0x24(%esp)
5a2942:	e8 09 de f4 ff       	call   0x4f0750
5a2947:	ff 74 24 28          	push   0x28(%esp)
5a294b:	8b d8                	mov    %eax,%ebx
5a294d:	e8 6e d7 f4 ff       	call   0x4f00c0
5a2952:	50                   	push   %eax
5a2953:	e8 58 d9 f4 ff       	call   0x4f02b0
5a2958:	83 c4 18             	add    $0x18,%esp
5a295b:	a9 00 00 10 00       	test   $0x100000,%eax
5a2960:	74 09                	je     0x5a296b
5a2962:	33 c0                	xor    %eax,%eax
5a2964:	85 db                	test   %ebx,%ebx
5a2966:	0f 98 c0             	sets   %al
5a2969:	eb 07                	jmp    0x5a2972
5a296b:	33 c0                	xor    %eax,%eax
5a296d:	85 db                	test   %ebx,%ebx
5a296f:	0f 94 c0             	sete   %al
5a2972:	85 c0                	test   %eax,%eax
5a2974:	74 0a                	je     0x5a2980
5a2976:	b8 ff ff ff ff       	mov    $0xffffffff,%eax
5a297b:	e9 a4 01 00 00       	jmp    0x5a2b24
5a2980:	8b 9c 24 f4 02 00 00 	mov    0x2f4(%esp),%ebx
5a2987:	85 db                	test   %ebx,%ebx
5a2989:	75 6b                	jne    0x5a29f6
5a298b:	ff 74 24 10          	push   0x10(%esp)
5a298f:	e8 1c d9 f4 ff       	call   0x4f02b0
5a2994:	25 07 00 0f 00       	and    $0xf0007,%eax
5a2999:	83 c4 04             	add    $0x4,%esp
5a299c:	83 f8 06             	cmp    $0x6,%eax
5a299f:	75 25                	jne    0x5a29c6
5a29a1:	85 ff                	test   %edi,%edi
5a29a3:	74 51                	je     0x5a29f6
5a29a5:	8b c7                	mov    %edi,%eax
5a29a7:	66 0f 1f 84 00 00 00 	nopw   0x0(%eax,%eax,1)
5a29ae:	00 00
5a29b0:	83 46 fc 08          	addl   $0x8,-0x4(%esi)
5a29b4:	8d 76 30             	lea    0x30(%esi),%esi
5a29b7:	83 46 d0 08          	addl   $0x8,-0x30(%esi)
5a29bb:	83 46 c0 f8          	addl   $0xfffffff8,-0x40(%esi)
5a29bf:	83 e8 01             	sub    $0x1,%eax
5a29c2:	75 ec                	jne    0x5a29b0
5a29c4:	eb 30                	jmp    0x5a29f6
5a29c6:	ff 74 24 10          	push   0x10(%esp)
5a29ca:	e8 e1 d8 f4 ff       	call   0x4f02b0
5a29cf:	25 07 00 0f 00       	and    $0xf0007,%eax
5a29d4:	83 c4 04             	add    $0x4,%esp
5a29d7:	83 f8 07             	cmp    $0x7,%eax
5a29da:	75 1a                	jne    0x5a29f6
5a29dc:	85 ff                	test   %edi,%edi
5a29de:	74 16                	je     0x5a29f6
5a29e0:	8b c7                	mov    %edi,%eax
5a29e2:	83 46 fc 08          	addl   $0x8,-0x4(%esi)
5a29e6:	8d 76 30             	lea    0x30(%esi),%esi
5a29e9:	83 46 d0 08          	addl   $0x8,-0x30(%esi)
5a29ed:	83 46 c0 f8          	addl   $0xfffffff8,-0x40(%esi)
5a29f1:	83 e8 01             	sub    $0x1,%eax
5a29f4:	75 ec                	jne    0x5a29e2
5a29f6:	8b 45 7c             	mov    0x7c(%ebp),%eax
5a29f9:	be 01 00 00 00       	mov    $0x1,%esi
5a29fe:	f7 00 00 01 00 00    	testl  $0x100,(%eax)
5a2a04:	75 54                	jne    0x5a2a5a
5a2a06:	ff b5 e0 03 00 00    	push   0x3e0(%ebp)
5a2a0c:	e8 5f dd f4 ff       	call   0x4f0770
5a2a11:	83 c4 04             	add    $0x4,%esp
5a2a14:	85 c0                	test   %eax,%eax
5a2a16:	74 42                	je     0x5a2a5a
5a2a18:	ff b5 e0 03 00 00    	push   0x3e0(%ebp)
5a2a1e:	e8 4d dd f4 ff       	call   0x4f0770
5a2a23:	50                   	push   %eax
5a2a24:	e8 97 de f4 ff       	call   0x4f08c0
5a2a29:	8b c8                	mov    %eax,%ecx