4a2467:	8b 0a                	mov    (%edx),%ecx
4a2469:	3b c8                	cmp    %eax,%ecx
4a246b:	74 7b                	je     0x4a24e8
4a246d:	8b 44 24 10          	mov    0x10(%esp),%eax
4a2471:	52                   	push   %edx
4a2472:	50                   	push   %eax
4a2473:	8b 08                	mov    (%eax),%ecx
4a2475:	ff 51 50             	call   *0x50(%ecx)
4a2478:	8b 44 24 14          	mov    0x14(%esp),%eax
4a247c:	33 d2                	xor    %edx,%edx
4a247e:	89 7c 24 18          	mov    %edi,0x18(%esp)
4a2482:	46                   	inc    %esi
4a2483:	66 8b 50 2c          	mov    0x2c(%eax),%dx
4a2487:	3b f2                	cmp    %edx,%esi
4a2489:	7c c0                	jl     0x4a244b
4a248b:	8b 54 24 14          	mov    0x14(%esp),%edx
4a248f:	89 7c 24 18          	mov    %edi,0x18(%esp)
4a2493:	33 f6                	xor    %esi,%esi
4a2495:	66 39 7a 2e          	cmp    %di,0x2e(%edx)
4a2499:	0f 86 fb 00 00 00    	jbe    0x4a259a
4a249f:	8b 44 24 10          	mov    0x10(%esp),%eax
4a24a3:	8d 54 24 18          	lea    0x18(%esp),%edx
4a24a7:	52                   	push   %edx
4a24a8:	56                   	push   %esi
4a24a9:	8b 08                	mov    (%eax),%ecx
4a24ab:	50                   	push   %eax
4a24ac:	ff 51 18             	call   *0x18(%ecx)
4a24af:	8b 4c 24 18          	mov    0x18(%esp),%ecx
4a24b3:	85 c0                	test   %eax,%eax
4a24b5:	75 0e                	jne    0x4a24c5
4a24b7:	8b 44 24 4c          	mov    0x4c(%esp),%eax
4a24bb:	8b 11                	mov    (%ecx),%edx
4a24bd:	3b d0                	cmp    %eax,%edx
4a24bf:	0f 84 9d 00 00 00    	je     0x4a2562
4a24c5:	8b 44 24 10          	mov    0x10(%esp),%eax
4a24c9:	51                   	push   %ecx
4a24ca:	50                   	push   %eax
4a24cb:	8b 10                	mov    (%eax),%edx
4a24cd:	ff 52 54             	call   *0x54(%edx)
4a24d0:	8b 4c 24 14          	mov    0x14(%esp),%ecx
4a24d4:	33 c0                	xor    %eax,%eax
4a24d6:	89 7c 24 18          	mov    %edi,0x18(%esp)
4a24da:	46                   	inc    %esi
4a24db:	66 8b 41 2e          	mov    0x2e(%ecx),%ax
4a24df:	3b f0                	cmp    %eax,%esi
4a24e1:	7c bc                	jl     0x4a249f
4a24e3:	e9 b2 00 00 00       	jmp    0x4a259a
4a24e8:	0f bf 42 18          	movswl 0x18(%edx),%eax
4a24ec:	8b 4c 24 58          	mov    0x58(%esp),%ecx
4a24f0:	3b c8                	cmp    %eax,%ecx
4a24f2:	7d 02                	jge    0x4a24f6
4a24f4:	8b c1                	mov    %ecx,%eax
4a24f6:	3b c7                	cmp    %edi,%eax
4a24f8:	7e 31                	jle    0x4a252b
4a24fa:	33 c9                	xor    %ecx,%ecx
4a24fc:	8b f5                	mov    %ebp,%esi
4a24fe:	8b f8                	mov    %eax,%edi
4a2500:	8b 42 08             	mov    0x8(%edx),%eax
4a2503:	66 8b 44 08 04       	mov    0x4(%eax,%ecx,1),%ax
4a2508:	66 3d 1a 00          	cmp    $0x1a,%ax
4a250c:	74 0c                	je     0x4a251a
4a250e:	25 00 40 00 00       	and    $0x4000,%eax
4a2513:	3d 00 40 00 00       	cmp    $0x4000,%eax
4a2518:	75 06                	jne    0x4a2520
4a251a:	c7 06 01 00 00 00    	movl   $0x1,(%esi)
4a2520:	83 c1 10             	add    $0x10,%ecx
4a2523:	83 c6 04             	add    $0x4,%esi
4a2526:	4f                   	dec    %edi
4a2527:	75 d7                	jne    0x4a2500
4a2529:	33 ff                	xor    %edi,%edi
4a252b:	83 7a 10 04          	cmpl   $0x4,0x10(%edx)
4a252f:	75 1b                	jne    0x4a254c
4a2531:	39 7c 24 58          	cmp    %edi,0x58(%esp)
4a2535:	75 15                	jne    0x4a254c
4a2537:	8b 44 24 10          	mov    0x10(%esp),%eax
4a253b:	52                   	push   %edx
4a253c:	50                   	push   %eax
4a253d:	c7 44 24 58 02 00 00 	movl   $0x2,0x58(%esp)
4a2544:	00
4a2545:	8b 08                	mov    (%eax),%ecx
4a2547:	ff 51 50             	call   *0x50(%ecx)
4a254a:	eb 4e                	jmp    0x4a259a
4a254c:	66 8b 4a 10          	mov    0x10(%edx),%cx
4a2550:	8b 44 24 10          	mov    0x10(%esp),%eax
4a2554:	66 89 4c 24 50       	mov    %cx,0x50(%esp)
4a2559:	52                   	push   %edx
4a255a:	8b 08                	mov    (%eax),%ecx
4a255c:	50                   	push   %eax
4a255d:	ff 51 50             	call   *0x50(%ecx)
4a2560:	eb 38                	jmp    0x4a259a
4a2562:	66 8b 41 10          	mov    0x10(%ecx),%ax
4a2566:	66 3d 1a 00          	cmp    $0x1a,%ax
4a256a:	74 0c                	je     0x4a2578
4a256c:	25 00 40 00 00       	and    $0x4000,%eax
4a2571:	3d 00 40 00 00       	cmp    $0x4000,%eax
4a2576:	75 07                	jne    0x4a257f
4a2578:	c7 45 00 01 00 00 00 	movl   $0x1,0x0(%ebp)
4a257f:	66 83 7c 24 50 01    	cmpw   $0x1,0x50(%esp)
4a2585:	75 08                	jne    0x4a258f
4a2587:	c7 44 24 50 02 00 00 	movl   $0x2,0x50(%esp)
4a258e:	00
4a258f:	8b 44 24 10          	mov    0x10(%esp),%eax
4a2593:	51                   	push   %ecx
4a2594:	50                   	push   %eax
4a2595:	8b 10                	mov    (%eax),%edx
4a2597:	ff 52 54             	call   *0x54(%edx)
4a259a:	8b 44 24 10          	mov    0x10(%esp),%eax
4a259e:	8b 54 24 14          	mov    0x14(%esp),%edx
4a25a2:	52                   	push   %edx
4a25a3:	50                   	push   %eax
4a25a4:	8b 08                	mov    (%eax),%ecx
4a25a6:	ff 51 4c             	call   *0x4c(%ecx)
4a25a9:	8b 44 24 10          	mov    0x10(%esp),%eax
4a25ad:	50                   	push   %eax
4a25ae:	8b 08                	mov    (%eax),%ecx
4a25b0:	ff 51 08             	call   *0x8(%ecx)
4a25b3:	8a 4c 24 50          	mov    0x50(%esp),%cl
4a25b7:	8b 44 24 58          	mov    0x58(%esp),%eax
4a25bb:	f6 c1 0c             	test   $0xc,%cl
4a25be:	89 44 24 3c          	mov    %eax,0x3c(%esp)
4a25c2:	c7 44 24 24 fd ff ff 	movl   $0xfffffffd,0x24(%esp)
4a25c9:	ff
4a25ca:	74 10                	je     0x4a25dc
4a25cc:	8d 54 24 24          	lea    0x24(%esp),%edx
4a25d0:	c7 44 24 40 01 00 00 	movl   $0x1,0x40(%esp)
4a25d7:	00
4a25d8:	89 54 24 38          	mov    %edx,0x38(%esp)
4a25dc:	3b c7                	cmp    %edi,%eax
4a25de:	0f 84 4e 05 00 00    	je     0x4a2b32
4a25e4:	8b 44 24 58          	mov    0x58(%esp),%eax
4a25e8:	c1 e0 04             	shl    $0x4,%eax
4a25eb:	50                   	push   %eax
4a25ec:	e8 ff 60 00 00       	call   0x4a86f0
4a25f1:	8b 4c 24 40          	mov    0x40(%esp),%ecx
4a25f5:	8b d0                	mov    %eax,%edx
4a25f7:	c1 e1 04             	shl    $0x4,%ecx
4a25fa:	8b f1                	mov    %ecx,%esi
4a25fc:	33 c0                	xor    %eax,%eax
4a25fe:	8b fa                	mov    %edx,%edi
4a2600:	89 54 24 38          	mov    %edx,0x38(%esp)
4a2604:	c1 e9 02             	shr    $0x2,%ecx
4a2607:	f3 ab                	rep stos %eax,%es:(%edi)
4a2609:	8b ce                	mov    %esi,%ecx
4a260b:	83 c4 04             	add    $0x4,%esp
4a260e:	83 e1 03             	and    $0x3,%ecx
4a2611:	33 db                	xor    %ebx,%ebx
4a2613:	f3 aa                	rep stos %al,%es:(%edi)
4a2615:	8b 4c 24 3c          	mov    0x3c(%esp),%ecx
4a2619:	8b 44 24 58          	mov    0x58(%esp),%eax
4a261d:	c1 e1 04             	shl    $0x4,%ecx
4a2620:	85 c0                	test   %eax,%eax
4a2622:	8d 74 0a f0          	lea    -0x10(%edx,%ecx,1),%esi
4a2626:	0f 8e f7 04 00 00    	jle    0x4a2b23
4a262c:	8b 44 24 5c          	mov    0x5c(%esp),%eax
4a2630:	8d 14 5b             	lea    (%ebx,%ebx,2),%edx
4a2633:	8b 4c 90 08          	mov    0x8(%eax,%edx,4),%ecx
4a2637:	8d 04 90             	lea    (%eax,%edx,4),%eax
4a263a:	f7 c1 00 00 00 20    	test   $0x20000000,%ecx
4a2640:	0f 85 d2 01 00 00    	jne    0x4a2818
4a2646:	81 f9 01 01 00 80    	cmp    $0x80000101,%ecx
4a264c:	0f 87 40 01 00 00    	ja     0x4a2792
4a2652:	0f 84 2e 01 00 00    	je     0x4a2786
4a2658:	81 f9 03 00 00 80    	cmp    $0x80000003,%ecx
4a265e:	0f 87 a0 00 00 00    	ja     0x4a2704
4a2664:	0f 84 85 00 00 00    	je     0x4a26ef
4a266a:	81 f9 30 00 01 00    	cmp    $0x10030,%ecx
4a2670:	74 4d                	je     0x4a26bf
4a2672:	81 f9 31 00 01 00    	cmp    $0x10031,%ecx
4a2678:	74 20                	je     0x4a269a
4a267a:	81 f9 02 00 00 80    	cmp    $0x80000002,%ecx
4a2680:	0f 85 8d 04 00 00    	jne    0x4a2b13
4a2686:	66 c7 06 0b 00       	movw   $0xb,(%esi)
4a268b:	8b 08                	mov    (%eax),%ecx
4a268d:	f7 d9                	neg    %ecx
4a268f:	1b c9                	sbb    %ecx,%ecx
4a2691:	66 89 4e 08          	mov    %cx,0x8(%esi)
4a2695:	e9 79 04 00 00       	jmp    0x4a2b13
4a269a:	83 7c 9d 00 00       	cmpl   $0x0,0x0(%ebp,%ebx,4)
4a269f:	74 0f                	je     0x4a26b0
4a26a1:	66 c7 06 0c 40       	movw   $0x400c,(%esi)
4a26a6:	8b 10                	mov    (%eax),%edx
4a26a8:	89 56 08             	mov    %edx,0x8(%esi)
4a26ab:	e9 63 04 00 00       	jmp    0x4a2b13
4a26b0:	8b 00                	mov    (%eax),%eax
4a26b2:	50                   	push   %eax
4a26b3:	56                   	push   %esi
4a26b4:	ff 15 d8 31 4b 00    	call   *0x4b31d8
4a26ba:	e9 54 04 00 00       	jmp    0x4a2b13
4a26bf:	83 7c 9d 00 00       	cmpl   $0x0,0x0(%ebp,%ebx,4)
4a26c4:	74 1f                	je     0x4a26e5
4a26c6:	66 83 7c 24 50 04    	cmpw   $0x4,0x50(%esp)
4a26cc:	75 08                	jne    0x4a26d6
4a26ce:	c7 44 24 50 08 00 00 	movl   $0x8,0x50(%esp)
4a26d5:	00
4a26d6:	66 c7 06 09 40       	movw   $0x4009,(%esi)
4a26db:	8b 08                	mov    (%eax),%ecx
4a26dd:	89 4e 08             	mov    %ecx,0x8(%esi)
4a26e0:	e9 2e 04 00 00       	jmp    0x4a2b13
4a26e5:	66 c7 06 09 00       	movw   $0x9,(%esi)
4a26ea:	e9 1d 04 00 00       	jmp    0x4a2b0c
4a26ef:	66 c7 06 07 00       	movw   $0x7,(%esi)
4a26f4:	8b 08                	mov    (%eax),%ecx
4a26f6:	89 4e 08             	mov    %ecx,0x8(%esi)
4a26f9:	8b 50 04             	mov    0x4(%eax),%edx
4a26fc:	89 56 0c             	mov    %edx,0xc(%esi)
4a26ff:	e9 0f 04 00 00       	jmp    0x4a2b13
4a2704:	81 f9 04 00 00 80    	cmp    $0x80000004,%ecx
4a270a:	74 50                	je     0x4a275c
4a270c:	81 f9 05 00 00 80    	cmp    $0x80000005,%ecx
4a2712:	74 18                	je     0x4a272c
4a2714:	81 f9 06 00 00 80    	cmp    $0x80000006,%ecx
4a271a:	0f 85 f3 03 00 00    	jne    0x4a2b13
4a2720:	66 c7 06 13 00       	movw   $0x13,(%esi)
4a2725:	8b 00                	mov    (%eax),%eax
4a2727:	e9 e4 03 00 00       	jmp    0x4a2b10
4a272c:	66 c7 06 11 20       	movw   $0x2011,(%esi)
4a2731:	8b 00                	mov    (%eax),%eax
4a2733:	8b 48 04             	mov    0x4(%eax),%ecx
4a2736:	8d 78 08             	lea    0x8(%eax),%edi
4a2739:	89 4c 24 18          	mov    %ecx,0x18(%esp)
4a273d:	8d 4c 24 18          	lea    0x18(%esp),%ecx
4a2741:	51                   	push   %ecx
4a2742:	6a 01                	push   $0x1
4a2744:	6a 11                	push   $0x11
4a2746:	c7 44 24 28 00 00 00 	movl   $0x0,0x28(%esp)
4a274d:	00
4a274e:	ff 15 d4 31 4b 00    	call   *0x4b31d4
4a2754:	89 78 0c             	mov    %edi,0xc(%eax)
4a2757:	e9 b4 03 00 00       	jmp    0x4a2b10
4a275c:	66 c7 06 08 00       	movw   $0x8,(%esi)
4a2761:	8b 10                	mov    (%eax),%edx
4a2763:	52                   	push   %edx
4a2764:	e8 97 15 00 00       	call   0x4a3d00
4a2769:	83 c4 04             	add    $0x4,%esp
4a276c:	8b f8                	mov    %eax,%edi
4a276e:	57                   	push   %edi
4a276f:	ff 15 d0 31 4b 00    	call   *0x4b31d0
4a2775:	57                   	push   %edi
4a2776:	89 46 08             	mov    %eax,0x8(%esi)
4a2779:	e8 80 5f 00 00       	call   0x4a86fe
4a277e:	83 c4 04             	add    $0x4,%esp
4a2781:	e9 8d 03 00 00       	jmp    0x4a2b13
4a2786:	66 c7 06 11 00       	movw   $0x11,(%esi)
4a278b:	8b 00                	mov    (%eax),%eax
4a278d:	e9 7e 03 00 00       	jmp    0x4a2b10
4a2792:	81 f9 01 04 00 80    	cmp    $0x80000401,%ecx
4a2798:	77 49                	ja     0x4a27e3
4a279a:	74 32                	je     0x4a27ce
4a279c:	81 f9 01 02 00 80    	cmp    $0x80000201,%ecx
4a27a2:	74 1b                	je     0x4a27bf
4a27a4:	81 f9 01 03 00 80    	cmp    $0x80000301,%ecx
4a27aa:	0f 85 63 03 00 00    	jne    0x4a2b13
4a27b0:	66 c7 06 03 00       	movw   $0x3,(%esi)
4a27b5:	8b 08                	mov    (%eax),%ecx
4a27b7:	89 4e 08             	mov    %ecx,0x8(%esi)
4a27ba:	e9 54 03 00 00       	jmp    0x4a2b13
4a27bf:	66 c7 06 02 00       	movw   $0x2,(%esi)
4a27c4:	8b 10                	mov    (%eax),%edx
4a27c6:	89 56 08             	mov    %edx,0x8(%esi)
4a27c9:	e9 45 03 00 00       	jmp    0x4a2b13
4a27ce:	66 c7 06 14 00       	movw   $0x14,(%esi)
4a27d3:	8b 08                	mov    (%eax),%ecx
4a27d5:	89 4e 08             	mov    %ecx,0x8(%esi)
4a27d8:	8b 50 04             	mov    0x4(%eax),%edx
4a27db:	89 56 0c             	mov    %edx,0xc(%esi)
4a27de:	e9 30 03 00 00       	jmp    0x4a2b13
4a27e3:	81 f9 01 05 00 80    	cmp    $0x80000501,%ecx
4a27e9:	74 21                	je     0x4a280c
4a27eb:	81 f9 01 06 00 80    	cmp    $0x80000601,%ecx
4a27f1:	0f 85 1c 03 00 00    	jne    0x4a2b13
4a27f7:	66 c7 06 05 00       	movw   $0x5,(%esi)
4a27fc:	8b 08                	mov    (%eax),%ecx
4a27fe:	89 4e 08             	mov    %ecx,0x8(%esi)
4a2801:	8b 50 04             	mov    0x4(%eax),%edx
4a2804:	89 56 0c             	mov    %edx,0xc(%esi)
4a2807:	e9 07 03 00 00       	jmp    0x4a2b13
4a280c:	66 c7 06 04 00       	movw   $0x4,(%esi)
4a2811:	8b 00                	mov    (%eax),%eax
4a2813:	e9 f8 02 00 00       	jmp    0x4a2b10
4a2818:	81 e1 ff ff ff df    	and    $0xdfffffff,%ecx
4a281e:	81 f9 01 01 00 80    	cmp    $0x80000101,%ecx
4a2824:	0f 87 00 02 00 00    	ja     0x4a2a2a
4a282a:	0f 84 d3 01 00 00    	je     0x4a2a03
4a2830:	81 f9 03 00 00 80    	cmp    $0x80000003,%ecx
4a2836:	0f 87 d4 00 00 00    	ja     0x4a2910
4a283c:	0f 84 a1 00 00 00    	je     0x4a28e3
4a2842:	81 f9 30 00 01 00    	cmp    $0x10030,%ecx
4a2848:	74 5e                	je     0x4a28a8
4a284a:	81 f9 31 00 01 00    	cmp    $0x10031,%ecx
4a2850:	74 45                	je     0x4a2897
4a2852:	81 f9 02 00 00 80    	cmp    $0x80000002,%ecx
4a2858:	0f 85 b5 02 00 00    	jne    0x4a2b13
4a285e:	83 7c 9d 00 00       	cmpl   $0x0,0x0(%ebp,%ebx,4)
4a2863:	74 1c                	je     0x4a2881
4a2865:	66 c7 06 0b 40       	movw   $0x400b,(%esi)
4a286a:	8b 08                	mov    (%eax),%ecx
4a286c:	83 39 00             	cmpl   $0x0,(%ecx)
4a286f:	74 06                	je     0x4a2877
4a2871:	c7 01 ff ff ff ff    	movl   $0xffffffff,(%ecx)
4a2877:	8b 08                	mov    (%eax),%ecx
4a2879:	89 4e 08             	mov    %ecx,0x8(%esi)
4a287c:	e9 92 02 00 00       	jmp    0x4a2b13
4a2881:	66 c7 06 0b 00       	movw   $0xb,(%esi)
4a2886:	8b 10                	mov    (%eax),%edx
4a2888:	8b 02                	mov    (%edx),%eax
4a288a:	f7 d8                	neg    %eax
4a288c:	1b c0                	sbb    %eax,%eax
4a288e:	66 89 46 08          	mov    %ax,0x8(%esi)
4a2892:	e9 7c 02 00 00       	jmp    0x4a2b13
4a2897:	66 c7 06 0c 40       	movw   $0x400c,(%esi)
4a289c:	8b 08                	mov    (%eax),%ecx
4a289e:	8b 11                	mov    (%ecx),%edx
4a28a0:	89 56 08             	mov    %edx,0x8(%esi)
4a28a3:	e9 6b 02 00 00       	jmp    0x4a2b13
4a28a8:	83 7c 9d 00 00       	cmpl   $0x0,0x0(%ebp,%ebx,4)
4a28ad:	74 21                	je     0x4a28d0
4a28af:	66 83 7c 24 50 04    	cmpw   $0x4,0x50(%esp)
4a28b5:	75 08                	jne    0x4a28bf
4a28b7:	c7 44 24 50 08 00 00 	movl   $0x8,0x50(%esp)
4a28be:	00
4a28bf:	66 c7 06 09 40       	movw   $0x4009,(%esi)
4a28c4:	8b 00                	mov    (%eax),%eax
4a28c6:	8b 08                	mov    (%eax),%ecx
4a28c8:	89 4e 08             	mov    %ecx,0x8(%esi)
4a28cb:	e9 43 02 00 00       	jmp    0x4a2b13
4a28d0:	66 c7 06 09 00       	movw   $0x9,(%esi)
4a28d5:	8b 10                	mov    (%eax),%edx
4a28d7:	8b 02                	mov    (%edx),%eax
4a28d9:	8b 08                	mov    (%eax),%ecx
4a28db:	89 4e 08             	mov    %ecx,0x8(%esi)
4a28de:	e9 30 02 00 00       	jmp    0x4a2b13
4a28e3:	83 7c 9d 00 00       	cmpl   $0x0,0x0(%ebp,%ebx,4)
4a28e8:	74 0f                	je     0x4a28f9
4a28ea:	66 c7 06 07 40       	movw   $0x4007,(%esi)
4a28ef:	8b 10                	mov    (%eax),%edx
4a28f1:	89 56 08             	mov    %edx,0x8(%esi)
4a28f4:	e9 1a 02 00 00       	jmp    0x4a2b13
4a28f9:	66 c7 06 07 00       	movw   $0x7,(%esi)
4a28fe:	8b 00                	mov    (%eax),%eax
4a2900:	8b 08                	mov    (%eax),%ecx
4a2902:	89 4e 08             	mov    %ecx,0x8(%esi)
4a2905:	8b 50 04             	mov    0x4(%eax),%edx
4a2908:	89 56 0c             	mov    %edx,0xc(%esi)
4a290b:	e9 03 02 00 00       	jmp    0x4a2b13
4a2910:	81 f9 04 00 00 80    	cmp    $0x80000004,%ecx
4a2916:	74 72                	je     0x4a298a
4a2918:	81 f9 05 00 00 80    	cmp    $0x80000005,%ecx
4a291e:	74 30                	je     0x4a2950
4a2920:	81 f9 06 00 00 80    	cmp    $0x80000006,%ecx
4a2926:	0f 85 e7 01 00 00    	jne    0x4a2b13