46c4f2:	84 c0                	test   %al,%al
46c4f4:	75 07                	jne    0x46c4fd
46c4f6:	33 c0                	xor    %eax,%eax
46c4f8:	e9 56 01 00 00       	jmp    0x46c653
46c4fd:	8b 4d fc             	mov    -0x4(%ebp),%ecx
46c500:	a1 88 16 4c 00       	mov    0x4c1688,%eax
46c505:	53                   	push   %ebx
46c506:	8b 04 88             	mov    (%eax,%ecx,4),%eax
46c509:	8b 4d f4             	mov    -0xc(%ebp),%ecx
46c50c:	8b 18                	mov    (%eax),%ebx
46c50e:	a1 9c 16 4c 00       	mov    0x4c169c,%eax
46c513:	56                   	push   %esi
46c514:	8b 04 88             	mov    (%eax,%ecx,4),%eax
46c517:	57                   	push   %edi
46c518:	8b 30                	mov    (%eax),%esi
46c51a:	8b 7d 14             	mov    0x14(%ebp),%edi
46c51d:	83 c8 ff             	or     $0xffffffff,%eax
46c520:	89 75 f4             	mov    %esi,-0xc(%ebp)
46c523:	39 45 0c             	cmp    %eax,0xc(%ebp)
46c526:	75 12                	jne    0x46c53a
46c528:	39 45 10             	cmp    %eax,0x10(%ebp)
46c52b:	75 0d                	jne    0x46c53a
46c52d:	3b f8                	cmp    %eax,%edi
46c52f:	75 09                	jne    0x46c53a
46c531:	39 45 18             	cmp    %eax,0x18(%ebp)
46c534:	0f 84 13 01 00 00    	je     0x46c64d
46c53a:	8b 06                	mov    (%esi),%eax
46c53c:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
46c53f:	51                   	push   %ecx
46c540:	50                   	push   %eax
46c541:	89 45 08             	mov    %eax,0x8(%ebp)
46c544:	ff 15 7c d6 48 00    	call   *0x48d67c
46c54a:	8b 55 e4             	mov    -0x1c(%ebp),%edx
46c54d:	83 ff ff             	cmp    $0xffffffff,%edi
46c550:	75 05                	jne    0x46c557
46c552:	8b 7d ec             	mov    -0x14(%ebp),%edi
46c555:	2b fa                	sub    %edx,%edi
46c557:	83 7d 18 ff          	cmpl   $0xffffffff,0x18(%ebp)
46c55b:	8b 4d e8             	mov    -0x18(%ebp),%ecx
46c55e:	75 08                	jne    0x46c568
46c560:	8b 45 f0             	mov    -0x10(%ebp),%eax
46c563:	2b c1                	sub    %ecx,%eax
46c565:	89 45 18             	mov    %eax,0x18(%ebp)
46c568:	8d 45 f8             	lea    -0x8(%ebp),%eax
46c56b:	50                   	push   %eax
46c56c:	ff 33                	push   (%ebx)
46c56e:	89 55 f8             	mov    %edx,-0x8(%ebp)
46c571:	89 4d fc             	mov    %ecx,-0x4(%ebp)
46c574:	ff 15 54 d6 48 00    	call   *0x48d654
46c57a:	8b 45 0c             	mov    0xc(%ebp),%eax
46c57d:	83 f8 ff             	cmp    $0xffffffff,%eax
46c580:	75 06                	jne    0x46c588
46c582:	8b 45 f8             	mov    -0x8(%ebp),%eax
46c585:	89 45 0c             	mov    %eax,0xc(%ebp)
46c588:	8b 55 10             	mov    0x10(%ebp),%edx
46c58b:	83 fa ff             	cmp    $0xffffffff,%edx
46c58e:	75 03                	jne    0x46c593
46c590:	8b 55 fc             	mov    -0x4(%ebp),%edx
46c593:	8b 4d 18             	mov    0x18(%ebp),%ecx
46c596:	89 43 58             	mov    %eax,0x58(%ebx)
46c599:	89 53 5c             	mov    %edx,0x5c(%ebx)
46c59c:	89 7b 60             	mov    %edi,0x60(%ebx)
46c59f:	89 4b 64             	mov    %ecx,0x64(%ebx)
46c5a2:	0f bf 86 88 00 00 00 	movswl 0x88(%esi),%eax
46c5a9:	3b 45 0c             	cmp    0xc(%ebp),%eax
46c5ac:	75 21                	jne    0x46c5cf
46c5ae:	0f bf 86 8a 00 00 00 	movswl 0x8a(%esi),%eax
46c5b5:	3b c2                	cmp    %edx,%eax
46c5b7:	75 16                	jne    0x46c5cf
46c5b9:	0f bf 86 8c 00 00 00 	movswl 0x8c(%esi),%eax
46c5c0:	3b c7                	cmp    %edi,%eax
46c5c2:	75 0b                	jne    0x46c5cf
46c5c4:	0f bf 86 8e 00 00 00 	movswl 0x8e(%esi),%eax
46c5cb:	3b c1                	cmp    %ecx,%eax
46c5cd:	74 7e                	je     0x46c64d
46c5cf:	6a 01                	push   $0x1
46c5d1:	51                   	push   %ecx
46c5d2:	57                   	push   %edi
46c5d3:	52                   	push   %edx
46c5d4:	ff 75 0c             	push   0xc(%ebp)
46c5d7:	ff 75 08             	push   0x8(%ebp)
46c5da:	ff 15 e8 d6 48 00    	call   *0x48d6e8
46c5e0:	6a 01                	push   $0x1
46c5e2:	56                   	push   %esi
46c5e3:	53                   	push   %ebx
46c5e4:	e8 e4 06 fb ff       	call   0x41cccd
46c5e9:	80 be 90 00 00 00 03 	cmpb   $0x3,0x90(%esi)
46c5f0:	75 52                	jne    0x46c644
46c5f2:	8b 15 ac 16 4c 00    	mov    0x4c16ac,%edx
46c5f8:	6a 03                	push   $0x3
46c5fa:	5f                   	pop    %edi
46c5fb:	3b d7                	cmp    %edi,%edx
46c5fd:	7c 45                	jl     0x46c644
46c5ff:	8b 75 08             	mov    0x8(%ebp),%esi
46c602:	a1 9c 16 4c 00       	mov    0x4c169c,%eax
46c607:	8b 04 b8             	mov    (%eax,%edi,4),%eax
46c60a:	8b 08                	mov    (%eax),%ecx
46c60c:	85 c9                	test   %ecx,%ecx
46c60e:	74 2c                	je     0x46c63c
46c610:	8b 41 04             	mov    0x4(%ecx),%eax
46c613:	3b 43 04             	cmp    0x4(%ebx),%eax
46c616:	75 24                	jne    0x46c63c
46c618:	80 b9 90 00 00 00 16 	cmpb   $0x16,0x90(%ecx)
46c61f:	75 1b                	jne    0x46c63c
46c621:	39 71 34             	cmp    %esi,0x34(%ecx)
46c624:	75 16                	jne    0x46c63c
46c626:	6a 00                	push   $0x0
46c628:	56                   	push   %esi
46c629:	68 69 04 00 00       	push   $0x469
46c62e:	ff 31                	push   (%ecx)
46c630:	ff 15 70 d6 48 00    	call   *0x48d670
46c636:	8b 15 ac 16 4c 00    	mov    0x4c16ac,%edx
46c63c:	47                   	inc    %edi
46c63d:	3b fa                	cmp    %edx,%edi
46c63f:	7e c1                	jle    0x46c602
46c641:	8b 75 f4             	mov    -0xc(%ebp),%esi
46c644:	6a 01                	push   $0x1
46c646:	56                   	push   %esi
46c647:	53                   	push   %ebx
46c648:	e8 91 19 00 00       	call   0x46dfde
46c64d:	5f                   	pop    %edi
46c64e:	33 c0                	xor    %eax,%eax
46c650:	5e                   	pop    %esi
46c651:	40                   	inc    %eax
46c652:	5b                   	pop    %ebx
46c653:	c9                   	leave
46c654:	c2 14 00             	ret    $0x14
46c657:	55                   	push   %ebp
46c658:	8b ec                	mov    %esp,%ebp
46c65a:	51                   	push   %ecx
46c65b:	51                   	push   %ecx
46c65c:	8d 45 fc             	lea    -0x4(%ebp),%eax
46c65f:	50                   	push   %eax
46c660:	8d 45 f8             	lea    -0x8(%ebp),%eax
46c663:	50                   	push   %eax
46c664:	ff 75 08             	push   0x8(%ebp)
46c667:	b9 28 16 4c 00       	mov    $0x4c1628,%ecx
46c66c:	e8 8d 0d fa ff       	call   0x40d3fe
46c671:	84 c0                	test   %al,%al
46c673:	75 04                	jne    0x46c679
46c675:	33 c0                	xor    %eax,%eax
46c677:	eb 6c                	jmp    0x46c6e5
46c679:	8b 15 9c 16 4c 00    	mov    0x4c169c,%edx
46c67f:	53                   	push   %ebx
46c680:	56                   	push   %esi
46c681:	57                   	push   %edi
46c682:	8b 7d fc             	mov    -0x4(%ebp),%edi
46c685:	33 db                	xor    %ebx,%ebx
46c687:	8b 04 ba             	mov    (%edx,%edi,4),%eax
46c68a:	8b 30                	mov    (%eax),%esi
46c68c:	66 39 9e 86 00 00 00 	cmp    %bx,0x86(%esi)
46c693:	74 0b                	je     0x46c6a0
46c695:	8b 4d 0c             	mov    0xc(%ebp),%ecx
46c698:	81 f9 00 04 00 00    	cmp    $0x400,%ecx
46c69e:	7c 04                	jl     0x46c6a4
46c6a0:	33 c0                	xor    %eax,%eax
46c6a2:	eb 3e                	jmp    0x46c6e2
46c6a4:	85 c9                	test   %ecx,%ecx
46c6a6:	79 02                	jns    0x46c6aa
46c6a8:	8b cb                	mov    %ebx,%ecx
46c6aa:	8d 41 ff             	lea    -0x1(%ecx),%eax
46c6ad:	3d fe 03 00 00       	cmp    $0x3fe,%eax
46c6b2:	77 0d                	ja     0x46c6c1
46c6b4:	66 89 8e 86 00 00 00 	mov    %cx,0x86(%esi)
46c6bb:	8b 15 9c 16 4c 00    	mov    0x4c169c,%edx
46c6c1:	8b 4d f8             	mov    -0x8(%ebp),%ecx
46c6c4:	a1 88 16 4c 00       	mov    0x4c1688,%eax
46c6c9:	8b 04 88             	mov    (%eax,%ecx,4),%eax
46c6cc:	8b 08                	mov    (%eax),%ecx
46c6ce:	38 59 3a             	cmp    %bl,0x3a(%ecx)
46c6d1:	75 0c                	jne    0x46c6df
46c6d3:	8b 04 ba             	mov    (%edx,%edi,4),%eax
46c6d6:	53                   	push   %ebx
46c6d7:	ff 30                	push   (%eax)
46c6d9:	51                   	push   %ecx
46c6da:	e8 ee 05 fb ff       	call   0x41cccd
46c6df:	33 c0                	xor    %eax,%eax
46c6e1:	40                   	inc    %eax
46c6e2:	5f                   	pop    %edi
46c6e3:	5e                   	pop    %esi
46c6e4:	5b                   	pop    %ebx
46c6e5:	c9                   	leave
46c6e6:	c2 08 00             	ret    $0x8
46c6e9:	55                   	push   %ebp
46c6ea:	8b ec                	mov    %esp,%ebp
46c6ec:	83 e4 f8             	and    $0xfffffff8,%esp
46c6ef:	81 ec ac 00 00 00    	sub    $0xac,%esp
46c6f5:	8d 44 24 04          	lea    0x4(%esp),%eax
46c6f9:	53                   	push   %ebx
46c6fa:	56                   	push   %esi
46c6fb:	57                   	push   %edi
46c6fc:	50                   	push   %eax
46c6fd:	8d 44 24 28          	lea    0x28(%esp),%eax
46c701:	50                   	push   %eax
46c702:	ff 75 08             	push   0x8(%ebp)
46c705:	b9 28 16 4c 00       	mov    $0x4c1628,%ecx
46c70a:	e8 ef 0c fa ff       	call   0x40d3fe
46c70f:	84 c0                	test   %al,%al
46c711:	75 07                	jne    0x46c71a
46c713:	33 c0                	xor    %eax,%eax
46c715:	e9 d4 05 00 00       	jmp    0x46ccee
46c71a:	a1 88 16 4c 00       	mov    0x4c1688,%eax
46c71f:	8b 54 24 24          	mov    0x24(%esp),%edx
46c723:	8b 4c 24 10          	mov    0x10(%esp),%ecx
46c727:	8b 04 90             	mov    (%eax,%edx,4),%eax
46c72a:	8b 5d 0c             	mov    0xc(%ebp),%ebx
46c72d:	8b 00                	mov    (%eax),%eax
46c72f:	89 44 24 20          	mov    %eax,0x20(%esp)
46c733:	a1 9c 16 4c 00       	mov    0x4c169c,%eax
46c738:	33 f6                	xor    %esi,%esi
46c73a:	8b 04 88             	mov    (%eax,%ecx,4),%eax
46c73d:	89 74 24 14          	mov    %esi,0x14(%esp)
46c741:	8b 38                	mov    (%eax),%edi
46c743:	8b 07                	mov    (%edi),%eax
46c745:	89 44 24 1c          	mov    %eax,0x1c(%esp)
46c749:	8a 87 90 00 00 00    	mov    0x90(%edi),%al
46c74f:	88 44 24 1b          	mov    %al,0x1b(%esp)
46c753:	85 db                	test   %ebx,%ebx
46c755:	79 02                	jns    0x46c759
46c757:	8b de                	mov    %esi,%ebx
46c759:	8b c3                	mov    %ebx,%eax
46c75b:	25 00 01 00 00       	and    $0x100,%eax
46c760:	89 44 24 28          	mov    %eax,0x28(%esp)
46c764:	74 0f                	je     0x46c775
46c766:	51                   	push   %ecx
46c767:	52                   	push   %edx
46c768:	e8 8b ef fa ff       	call   0x41b6f8
46c76d:	c7 44 24 14 01 00 00 	movl   $0x1,0x14(%esp)
46c774:	00
46c775:	f7 c3 00 08 00 00    	test   $0x800,%ebx
46c77b:	74 19                	je     0x46c796
46c77d:	6a 13                	push   $0x13
46c77f:	56                   	push   %esi
46c780:	56                   	push   %esi
46c781:	56                   	push   %esi
46c782:	56                   	push   %esi
46c783:	56                   	push   %esi
46c784:	ff 74 24 34          	push   0x34(%esp)
46c788:	ff 15 b4 d4 48 00    	call   *0x48d4b4
46c78e:	c7 44 24 14 01 00 00 	movl   $0x1,0x14(%esp)
46c795:	00
46c796:	0f b6 44 24 1b       	movzbl 0x1b(%esp),%eax
46c79b:	b9 00 10 00 00       	mov    $0x1000,%ecx
46c7a0:	83 f8 14             	cmp    $0x14,%eax
46c7a3:	0f 8f 17 03 00 00    	jg     0x46cac0
46c7a9:	0f 84 39 02 00 00    	je     0x46c9e8
46c7af:	83 f8 09             	cmp    $0x9,%eax
46c7b2:	0f 84 ec 01 00 00    	je     0x46c9a4
46c7b8:	83 f8 0b             	cmp    $0xb,%eax
46c7bb:	0f 84 98 01 00 00    	je     0x46c959
46c7c1:	83 f8 0c             	cmp    $0xc,%eax
46c7c4:	0f 84 49 ff ff ff    	je     0x46c713
46c7ca:	83 f8 0d             	cmp    $0xd,%eax
46c7cd:	0f 8e 20 04 00 00    	jle    0x46cbf3
46c7d3:	83 f8 0f             	cmp    $0xf,%eax
46c7d6:	0f 8e b6 00 00 00    	jle    0x46c892
46c7dc:	83 f8 11             	cmp    $0x11,%eax
46c7df:	0f 85 0e 04 00 00    	jne    0x46cbf3
46c7e5:	8b 47 10             	mov    0x10(%edi),%eax
46c7e8:	89 84 24 94 00 00 00 	mov    %eax,0x94(%esp)
46c7ef:	8a c3                	mov    %bl,%al
46c7f1:	24 01                	and    $0x1,%al
46c7f3:	0f be c0             	movsbl %al,%eax
46c7f6:	f7 d8                	neg    %eax
46c7f8:	1b c0                	sbb    %eax,%eax
46c7fa:	23 c1                	and    %ecx,%eax
46c7fc:	03 c1                	add    %ecx,%eax
46c7fe:	c7 84 24 90 00 00 00 	movl   $0x8,0x90(%esp)
46c805:	08 00 00 00
46c809:	c7 84 24 9c 00 00 00 	movl   $0xf010,0x9c(%esp)
46c810:	10 f0 00 00
46c814:	89 84 24 98 00 00 00 	mov    %eax,0x98(%esp)
46c81b:	f7 c3 00 02 00 00    	test   $0x200,%ebx
46c821:	74 0a                	je     0x46c82d
46c823:	83 c8 10             	or     $0x10,%eax
46c826:	89 84 24 98 00 00 00 	mov    %eax,0x98(%esp)
46c82d:	8d 84 24 90 00 00 00 	lea    0x90(%esp),%eax
46c834:	50                   	push   %eax
46c835:	56                   	push   %esi
46c836:	68 3f 11 00 00       	push   $0x113f
46c83b:	ff 77 34             	push   0x34(%edi)
46c83e:	ff 15 70 d6 48 00    	call   *0x48d670
46c844:	f7 c3 00 04 00 00    	test   $0x400,%ebx
46c84a:	74 13                	je     0x46c85f
46c84c:	ff 77 10             	push   0x10(%edi)
46c84f:	6a 02                	push   $0x2
46c851:	68 02 11 00 00       	push   $0x1102
46c856:	ff 77 34             	push   0x34(%edi)
46c859:	ff 15 70 d6 48 00    	call   *0x48d670
46c85f:	39 74 24 28          	cmp    %esi,0x28(%esp)
46c863:	0f 84 86 02 00 00    	je     0x46caef
46c869:	ff 77 34             	push   0x34(%edi)
46c86c:	b9 28 16 4c 00       	mov    $0x4c1628,%ecx
46c871:	e8 b0 ec fa ff       	call   0x41b526
46c876:	50                   	push   %eax
46c877:	ff 74 24 28          	push   0x28(%esp)
46c87b:	e8 78 ee fa ff       	call   0x41b6f8
46c880:	ff 77 10             	push   0x10(%edi)
46c883:	6a 09                	push   $0x9
46c885:	68 0b 11 00 00       	push   $0x110b
46c88a:	ff 77 34             	push   0x34(%edi)
46c88d:	e9 83 02 00 00       	jmp    0x46cb15
46c892:	8d 44 24 2c          	lea    0x2c(%esp),%eax
46c896:	50                   	push   %eax
46c897:	56                   	push   %esi
46c898:	ff 74 24 18          	push   0x18(%esp)
46c89c:	c7 44 24 38 30 00 00 	movl   $0x30,0x38(%esp)
46c8a3:	00
46c8a4:	ff 77 0c             	push   0xc(%edi)
46c8a7:	c7 44 24 40 01 00 00 	movl   $0x1,0x40(%esp)
46c8ae:	00
46c8af:	ff 15 bc d5 48 00    	call   *0x48d5bc
46c8b5:	85 c0                	test   %eax,%eax
46c8b7:	0f 84 56 fe ff ff    	je     0x46c713
46c8bd:	f6 c3 20             	test   $0x20,%bl
46c8c0:	0f 85 4d fe ff ff    	jne    0x46c713
46c8c6:	84 db                	test   %bl,%bl
46c8c8:	79 05                	jns    0x46c8cf
46c8ca:	6a 03                	push   $0x3
46c8cc:	58                   	pop    %eax
46c8cd:	eb 02                	jmp    0x46c8d1
46c8cf:	8b c6                	mov    %esi,%eax
46c8d1:	f6 c3 01             	test   $0x1,%bl
46c8d4:	74 03                	je     0x46c8d9
46c8d6:	83 c8 08             	or     $0x8,%eax
46c8d9:	39 74 24 28          	cmp    %esi,0x28(%esp)
46c8dd:	74 05                	je     0x46c8e4
46c8df:	0d 80 00 00 00       	or     $0x80,%eax
46c8e4:	f6 44 24 38 08       	testb  $0x8,0x38(%esp)
46c8e9:	74 08                	je     0x46c8f3
46c8eb:	f6 c3 04             	test   $0x4,%bl
46c8ee:	75 03                	jne    0x46c8f3
46c8f0:	83 c8 08             	or     $0x8,%eax
46c8f3:	89 44 24 38          	mov    %eax,0x38(%esp)
46c8f7:	8d 44 24 2c          	lea    0x2c(%esp),%eax
46c8fb:	50                   	push   %eax
46c8fc:	56                   	push   %esi
46c8fd:	ff 74 24 18          	push   0x18(%esp)
46c901:	ff 77 0c             	push   0xc(%edi)
46c904:	ff 15 b8 d5 48 00    	call   *0x48d5b8
46c90a:	f7 c3 00 02 00 00    	test   $0x200,%ebx
46c910:	74 07                	je     0x46c919
46c912:	56                   	push   %esi
46c913:	ff 74 24 14          	push   0x14(%esp)
46c917:	eb 26                	jmp    0x46c93f
46c919:	8d 44 24 2c          	lea    0x2c(%esp),%eax
46c91d:	50                   	push   %eax
46c91e:	56                   	push   %esi
46c91f:	ff 74 24 18          	push   0x18(%esp)
46c923:	ff 77 0c             	push   0xc(%edi)