46a4e0:	83 c4 34             	add    $0x34,%esp
46a4e3:	e9 51 05 00 00       	jmp    0x46aa39
46a4e8:	8b 45 10             	mov    0x10(%ebp),%eax
46a4eb:	8b 48 14             	mov    0x14(%eax),%ecx
46a4ee:	81 f9 94 f8 ff ff    	cmp    $0xfffff894,%ecx
46a4f4:	0f 8c 75 fd ff ff    	jl     0x46a26f
46a4fa:	81 f9 a3 1f 00 00    	cmp    $0x1fa3,%ecx
46a500:	0f 8f 69 fd ff ff    	jg     0x46a26f
46a506:	80 7d 20 00          	cmpb   $0x0,0x20(%ebp)
46a50a:	0f 95 c0             	setne  %al
46a50d:	fe c8                	dec    %al
46a50f:	24 30                	and    $0x30,%al
46a511:	66 98                	cbtw
46a513:	0f b7 c0             	movzwl %ax,%eax
46a516:	50                   	push   %eax
46a517:	ff 75 18             	push   0x18(%ebp)
46a51a:	8d 81 6c 07 00 00    	lea    0x76c(%ecx),%eax
46a520:	ff 75 14             	push   0x14(%ebp)
46a523:	6a 02                	push   $0x2
46a525:	e9 4e fb ff ff       	jmp    0x46a078
46a52a:	ff 75 1c             	push   0x1c(%ebp)
46a52d:	33 c0                	xor    %eax,%eax
46a52f:	ff 75 18             	push   0x18(%ebp)
46a532:	38 45 20             	cmp    %al,0x20(%ebp)
46a535:	ff 75 14             	push   0x14(%ebp)
46a538:	0f 95 c0             	setne  %al
46a53b:	ff 75 10             	push   0x10(%ebp)
46a53e:	50                   	push   %eax
46a53f:	ff 75 08             	push   0x8(%ebp)
46a542:	e8 5f 06 00 00       	call   0x46aba6
46a547:	83 c4 18             	add    $0x18,%esp
46a54a:	e9 78 fc ff ff       	jmp    0x46a1c7
46a54f:	0f 84 7b 04 00 00    	je     0x46a9d0
46a555:	83 f8 4d             	cmp    $0x4d,%eax
46a558:	0f 8f 9b 02 00 00    	jg     0x46a7f9
46a55e:	0f 84 7f 02 00 00    	je     0x46a7e3
46a564:	83 f8 44             	cmp    $0x44,%eax
46a567:	0f 8f 43 01 00 00    	jg     0x46a6b0
46a56d:	0f 84 d0 00 00 00    	je     0x46a643
46a573:	83 e8 25             	sub    $0x25,%eax
46a576:	0f 84 b7 00 00 00    	je     0x46a633
46a57c:	83 e8 1c             	sub    $0x1c,%eax
46a57f:	0f 84 82 00 00 00    	je     0x46a607
46a585:	83 e8 01             	sub    $0x1,%eax
46a588:	74 51                	je     0x46a5db
46a58a:	83 e8 01             	sub    $0x1,%eax
46a58d:	0f 85 ec fc ff ff    	jne    0x46a27f
46a593:	8b 45 10             	mov    0x10(%ebp),%eax
46a596:	8b 48 14             	mov    0x14(%eax),%ecx
46a599:	81 f9 94 f8 ff ff    	cmp    $0xfffff894,%ecx
46a59f:	0f 8c ca fc ff ff    	jl     0x46a26f
46a5a5:	81 f9 a3 1f 00 00    	cmp    $0x1fa3,%ecx
46a5ab:	0f 8f be fc ff ff    	jg     0x46a26f
46a5b1:	80 7d 20 00          	cmpb   $0x0,0x20(%ebp)
46a5b5:	0f 95 c0             	setne  %al
46a5b8:	fe c8                	dec    %al
46a5ba:	24 30                	and    $0x30,%al
46a5bc:	66 98                	cbtw
46a5be:	0f b7 c0             	movzwl %ax,%eax
46a5c1:	50                   	push   %eax
46a5c2:	ff 75 18             	push   0x18(%ebp)
46a5c5:	8d 81 6c 07 00 00    	lea    0x76c(%ecx),%eax
46a5cb:	ff 75 14             	push   0x14(%ebp)
46a5ce:	99                   	cltd
46a5cf:	6a 02                	push   $0x2
46a5d1:	6a 64                	push   $0x64
46a5d3:	59                   	pop    %ecx
46a5d4:	f7 f9                	idiv   %ecx
46a5d6:	e9 1d fa ff ff       	jmp    0x469ff8
46a5db:	8b 45 10             	mov    0x10(%ebp),%eax
46a5de:	8b 48 10             	mov    0x10(%eax),%ecx
46a5e1:	85 c9                	test   %ecx,%ecx
46a5e3:	0f 88 86 fc ff ff    	js     0x46a26f
46a5e9:	83 f9 0b             	cmp    $0xb,%ecx
46a5ec:	0f 8f 7d fc ff ff    	jg     0x46a26f
46a5f2:	ff 75 18             	push   0x18(%ebp)
46a5f5:	8b 45 1c             	mov    0x1c(%ebp),%eax
46a5f8:	ff 75 14             	push   0x14(%ebp)
46a5fb:	ff b4 88 1c 01 00 00 	push   0x11c(%eax,%ecx,4)
46a602:	e9 3a fc ff ff       	jmp    0x46a241
46a607:	8b 45 10             	mov    0x10(%ebp),%eax
46a60a:	8b 48 18             	mov    0x18(%eax),%ecx
46a60d:	85 c9                	test   %ecx,%ecx
46a60f:	0f 88 5a fc ff ff    	js     0x46a26f
46a615:	83 f9 06             	cmp    $0x6,%ecx
46a618:	0f 8f 51 fc ff ff    	jg     0x46a26f
46a61e:	ff 75 18             	push   0x18(%ebp)
46a621:	8b 45 1c             	mov    0x1c(%ebp),%eax
46a624:	ff 75 14             	push   0x14(%ebp)
46a627:	ff b4 88 d0 00 00 00 	push   0xd0(%eax,%ecx,4)
46a62e:	e9 0e fc ff ff       	jmp    0x46a241
46a633:	ff 75 18             	push   0x18(%ebp)
46a636:	ff 75 14             	push   0x14(%ebp)
46a639:	68 30 d4 49 00       	push   $0x49d430
46a63e:	e9 fe fb ff ff       	jmp    0x46a241
46a643:	ff 75 20             	push   0x20(%ebp)
46a646:	8b 75 18             	mov    0x18(%ebp),%esi
46a649:	ff 75 1c             	push   0x1c(%ebp)
46a64c:	8b 7d 14             	mov    0x14(%ebp),%edi
46a64f:	56                   	push   %esi
46a650:	57                   	push   %edi
46a651:	ff 75 10             	push   0x10(%ebp)
46a654:	6a 6d                	push   $0x6d
46a656:	ff 75 08             	push   0x8(%ebp)
46a659:	e8 12 f9 ff ff       	call   0x469f70
46a65e:	83 c4 1c             	add    $0x1c,%esp
46a661:	84 c0                	test   %al,%al
46a663:	0f 84 b6 fa ff ff    	je     0x46a11f
46a669:	56                   	push   %esi
46a66a:	57                   	push   %edi
46a66b:	bb 18 d4 49 00       	mov    $0x49d418,%ebx
46a670:	53                   	push   %ebx
46a671:	e8 ff 04 00 00       	call   0x46ab75
46a676:	ff 75 20             	push   0x20(%ebp)
46a679:	ff 75 1c             	push   0x1c(%ebp)
46a67c:	56                   	push   %esi
46a67d:	57                   	push   %edi
46a67e:	ff 75 10             	push   0x10(%ebp)
46a681:	6a 64                	push   $0x64
46a683:	ff 75 08             	push   0x8(%ebp)
46a686:	e8 e5 f8 ff ff       	call   0x469f70
46a68b:	83 c4 28             	add    $0x28,%esp
46a68e:	84 c0                	test   %al,%al
46a690:	0f 84 89 fa ff ff    	je     0x46a11f
46a696:	56                   	push   %esi
46a697:	57                   	push   %edi
46a698:	53                   	push   %ebx
46a699:	e8 d7 04 00 00       	call   0x46ab75
46a69e:	ff 75 20             	push   0x20(%ebp)
46a6a1:	ff 75 1c             	push   0x1c(%ebp)
46a6a4:	56                   	push   %esi
46a6a5:	57                   	push   %edi
46a6a6:	ff 75 10             	push   0x10(%ebp)
46a6a9:	6a 79                	push   $0x79
46a6ab:	e9 0c fb ff ff       	jmp    0x46a1bc
46a6b0:	83 e8 46             	sub    $0x46,%eax
46a6b3:	0f 84 bd 00 00 00    	je     0x46a776
46a6b9:	83 e8 01             	sub    $0x1,%eax
46a6bc:	74 76                	je     0x46a734
46a6be:	83 e8 01             	sub    $0x1,%eax
46a6c1:	74 4a                	je     0x46a70d
46a6c3:	83 e8 01             	sub    $0x1,%eax
46a6c6:	0f 85 b3 fb ff ff    	jne    0x46a27f
46a6cc:	8b 45 10             	mov    0x10(%ebp),%eax
46a6cf:	8b 40 08             	mov    0x8(%eax),%eax
46a6d2:	85 c0                	test   %eax,%eax
46a6d4:	0f 88 95 fb ff ff    	js     0x46a26f
46a6da:	83 f8 17             	cmp    $0x17,%eax
46a6dd:	0f 8f 8c fb ff ff    	jg     0x46a26f
46a6e3:	6a 0c                	push   $0xc
46a6e5:	99                   	cltd
46a6e6:	59                   	pop    %ecx
46a6e7:	f7 f9                	idiv   %ecx
46a6e9:	85 d2                	test   %edx,%edx
46a6eb:	75 02                	jne    0x46a6ef
46a6ed:	8b d1                	mov    %ecx,%edx
46a6ef:	80 7d 20 00          	cmpb   $0x0,0x20(%ebp)
46a6f3:	0f 95 c0             	setne  %al
46a6f6:	fe c8                	dec    %al
46a6f8:	24 30                	and    $0x30,%al
46a6fa:	66 98                	cbtw
46a6fc:	0f b7 c0             	movzwl %ax,%eax
46a6ff:	50                   	push   %eax
46a700:	ff 75 18             	push   0x18(%ebp)
46a703:	ff 75 14             	push   0x14(%ebp)
46a706:	6a 02                	push   $0x2
46a708:	e9 71 f9 ff ff       	jmp    0x46a07e
46a70d:	8b 45 10             	mov    0x10(%ebp),%eax
46a710:	8b 48 08             	mov    0x8(%eax),%ecx
46a713:	85 c9                	test   %ecx,%ecx
46a715:	0f 88 54 fb ff ff    	js     0x46a26f
46a71b:	83 f9 17             	cmp    $0x17,%ecx
46a71e:	0f 8f 4b fb ff ff    	jg     0x46a26f
46a724:	80 7d 20 00          	cmpb   $0x0,0x20(%ebp)
46a728:	0f 95 c0             	setne  %al
46a72b:	fe c8                	dec    %al
46a72d:	24 30                	and    $0x30,%al
46a72f:	e9 6d fb ff ff       	jmp    0x46a2a1
46a734:	8b 45 10             	mov    0x10(%ebp),%eax
46a737:	81 78 14 94 f8 ff ff 	cmpl   $0xfffff894,0x14(%eax)
46a73e:	0f 8c 2b fb ff ff    	jl     0x46a26f
46a744:	81 78 14 a3 1f 00 00 	cmpl   $0x1fa3,0x14(%eax)
46a74b:	0f 8f 1e fb ff ff    	jg     0x46a26f
46a751:	6a 30                	push   $0x30
46a753:	ff 75 18             	push   0x18(%ebp)
46a756:	ff 75 14             	push   0x14(%ebp)
46a759:	6a 04                	push   $0x4
46a75b:	ff 70 1c             	push   0x1c(%eax)
46a75e:	ff 70 18             	push   0x18(%eax)
46a761:	ff 70 14             	push   0x14(%eax)
46a764:	e8 bd f7 ff ff       	call   0x469f26
46a769:	83 c4 0c             	add    $0xc,%esp
46a76c:	05 6c 07 00 00       	add    $0x76c,%eax
46a771:	e9 82 f8 ff ff       	jmp    0x469ff8
46a776:	ff 75 20             	push   0x20(%ebp)
46a779:	8b 75 18             	mov    0x18(%ebp),%esi
46a77c:	ff 75 1c             	push   0x1c(%ebp)
46a77f:	8b 7d 14             	mov    0x14(%ebp),%edi
46a782:	56                   	push   %esi
46a783:	57                   	push   %edi
46a784:	ff 75 10             	push   0x10(%ebp)
46a787:	6a 59                	push   $0x59
46a789:	ff 75 08             	push   0x8(%ebp)
46a78c:	e8 df f7 ff ff       	call   0x469f70
46a791:	83 c4 1c             	add    $0x1c,%esp
46a794:	84 c0                	test   %al,%al
46a796:	0f 84 83 f9 ff ff    	je     0x46a11f
46a79c:	56                   	push   %esi
46a79d:	57                   	push   %edi
46a79e:	bb 1c d4 49 00       	mov    $0x49d41c,%ebx
46a7a3:	53                   	push   %ebx
46a7a4:	e8 cc 03 00 00       	call   0x46ab75
46a7a9:	ff 75 20             	push   0x20(%ebp)
46a7ac:	ff 75 1c             	push   0x1c(%ebp)
46a7af:	56                   	push   %esi
46a7b0:	57                   	push   %edi
46a7b1:	ff 75 10             	push   0x10(%ebp)
46a7b4:	6a 6d                	push   $0x6d
46a7b6:	ff 75 08             	push   0x8(%ebp)
46a7b9:	e8 b2 f7 ff ff       	call   0x469f70
46a7be:	83 c4 28             	add    $0x28,%esp
46a7c1:	84 c0                	test   %al,%al
46a7c3:	0f 84 56 f9 ff ff    	je     0x46a11f
46a7c9:	56                   	push   %esi
46a7ca:	57                   	push   %edi
46a7cb:	53                   	push   %ebx
46a7cc:	e8 a4 03 00 00       	call   0x46ab75
46a7d1:	ff 75 20             	push   0x20(%ebp)
46a7d4:	ff 75 1c             	push   0x1c(%ebp)
46a7d7:	56                   	push   %esi
46a7d8:	57                   	push   %edi
46a7d9:	ff 75 10             	push   0x10(%ebp)
46a7dc:	6a 64                	push   $0x64
46a7de:	e9 d9 f9 ff ff       	jmp    0x46a1bc
46a7e3:	8b 45 10             	mov    0x10(%ebp),%eax
46a7e6:	8b 48 04             	mov    0x4(%eax),%ecx
46a7e9:	85 c9                	test   %ecx,%ecx
46a7eb:	0f 88 7e fa ff ff    	js     0x46a26f
46a7f1:	83 f9 3b             	cmp    $0x3b,%ecx
46a7f4:	e9 25 ff ff ff       	jmp    0x46a71e
46a7f9:	6a 07                	push   $0x7
46a7fb:	83 e8 52             	sub    $0x52,%eax
46a7fe:	5f                   	pop    %edi
46a7ff:	3b c7                	cmp    %edi,%eax
46a801:	0f 87 78 fa ff ff    	ja     0x46a27f
46a807:	ff 24 85 4c aa 46 00 	jmp    *0x46aa4c(,%eax,4)
46a80e:	ff 75 20             	push   0x20(%ebp)
46a811:	ff 75 1c             	push   0x1c(%ebp)
46a814:	ff 75 18             	push   0x18(%ebp)
46a817:	ff 75 14             	push   0x14(%ebp)
46a81a:	ff 75 10             	push   0x10(%ebp)
46a81d:	6a 48                	push   $0x48
46a81f:	ff 75 08             	push   0x8(%ebp)
46a822:	e8 49 f7 ff ff       	call   0x469f70
46a827:	83 c4 1c             	add    $0x1c,%esp
46a82a:	84 c0                	test   %al,%al
46a82c:	0f 84 ed f8 ff ff    	je     0x46a11f
46a832:	ff 75 18             	push   0x18(%ebp)
46a835:	ff 75 14             	push   0x14(%ebp)
46a838:	68 24 d4 49 00       	push   $0x49d424
46a83d:	e8 33 03 00 00       	call   0x46ab75
46a842:	ff 75 20             	push   0x20(%ebp)
46a845:	ff 75 1c             	push   0x1c(%ebp)
46a848:	ff 75 18             	push   0x18(%ebp)
46a84b:	ff 75 14             	push   0x14(%ebp)
46a84e:	ff 75 10             	push   0x10(%ebp)
46a851:	6a 4d                	push   $0x4d
46a853:	e9 64 f9 ff ff       	jmp    0x46a1bc
46a858:	8b 45 10             	mov    0x10(%ebp),%eax
46a85b:	8b 08                	mov    (%eax),%ecx
46a85d:	85 c9                	test   %ecx,%ecx
46a85f:	0f 88 0a fa ff ff    	js     0x46a26f
46a865:	83 f9 3c             	cmp    $0x3c,%ecx
46a868:	e9 b1 fe ff ff       	jmp    0x46a71e
46a86d:	ff 75 20             	push   0x20(%ebp)
46a870:	8b 75 18             	mov    0x18(%ebp),%esi
46a873:	ff 75 1c             	push   0x1c(%ebp)
46a876:	8b 7d 14             	mov    0x14(%ebp),%edi
46a879:	56                   	push   %esi
46a87a:	57                   	push   %edi
46a87b:	ff 75 10             	push   0x10(%ebp)
46a87e:	6a 48                	push   $0x48
46a880:	ff 75 08             	push   0x8(%ebp)
46a883:	e8 e8 f6 ff ff       	call   0x469f70
46a888:	83 c4 1c             	add    $0x1c,%esp
46a88b:	84 c0                	test   %al,%al
46a88d:	0f 84 8c f8 ff ff    	je     0x46a11f
46a893:	56                   	push   %esi
46a894:	57                   	push   %edi
46a895:	bb 24 d4 49 00       	mov    $0x49d424,%ebx
46a89a:	53                   	push   %ebx
46a89b:	e8 d5 02 00 00       	call   0x46ab75
46a8a0:	ff 75 20             	push   0x20(%ebp)
46a8a3:	ff 75 1c             	push   0x1c(%ebp)
46a8a6:	56                   	push   %esi
46a8a7:	57                   	push   %edi
46a8a8:	ff 75 10             	push   0x10(%ebp)
46a8ab:	6a 4d                	push   $0x4d
46a8ad:	ff 75 08             	push   0x8(%ebp)
46a8b0:	e8 bb f6 ff ff       	call   0x469f70
46a8b5:	83 c4 28             	add    $0x28,%esp
46a8b8:	84 c0                	test   %al,%al
46a8ba:	0f 84 5f f8 ff ff    	je     0x46a11f
46a8c0:	56                   	push   %esi
46a8c1:	57                   	push   %edi
46a8c2:	53                   	push   %ebx
46a8c3:	e8 ad 02 00 00       	call   0x46ab75
46a8c8:	ff 75 20             	push   0x20(%ebp)
46a8cb:	ff 75 1c             	push   0x1c(%ebp)
46a8ce:	56                   	push   %esi
46a8cf:	57                   	push   %edi
46a8d0:	ff 75 10             	push   0x10(%ebp)
46a8d3:	6a 53                	push   $0x53
46a8d5:	e9 e2 f8 ff ff       	jmp    0x46a1bc
46a8da:	8b 45 10             	mov    0x10(%ebp),%eax
46a8dd:	8b 48 18             	mov    0x18(%eax),%ecx
46a8e0:	85 c9                	test   %ecx,%ecx
46a8e2:	0f 88 87 f9 ff ff    	js     0x46a26f
46a8e8:	83 f9 06             	cmp    $0x6,%ecx
46a8eb:	0f 8f 7e f9 ff ff    	jg     0x46a26f
46a8f1:	66 83 fa 57          	cmp    $0x57,%dx
46a8f5:	75 0a                	jne    0x46a901
46a8f7:	85 c9                	test   %ecx,%ecx
46a8f9:	75 05                	jne    0x46a900
46a8fb:	6a 06                	push   $0x6
46a8fd:	59                   	pop    %ecx
46a8fe:	eb 01                	jmp    0x46a901
46a900:	49                   	dec    %ecx
46a901:	8b 40 1c             	mov    0x1c(%eax),%eax
46a904:	85 c0                	test   %eax,%eax
46a906:	0f 88 63 f9 ff ff    	js     0x46a26f
46a90c:	3d 6d 01 00 00       	cmp    $0x16d,%eax
46a911:	0f 8f 58 f9 ff ff    	jg     0x46a26f
46a917:	33 f6                	xor    %esi,%esi
46a919:	3b c1                	cmp    %ecx,%eax
46a91b:	7c 0a                	jl     0x46a927
46a91d:	99                   	cltd
46a91e:	f7 ff                	idiv   %edi
46a920:	8b f0                	mov    %eax,%esi
46a922:	3b d1                	cmp    %ecx,%edx
46a924:	7c 01                	jl     0x46a927
46a926:	46                   	inc    %esi
46a927:	80 7d 20 00          	cmpb   $0x0,0x20(%ebp)
46a92b:	0f 95 c1             	setne  %cl
46a92e:	fe c9                	dec    %cl
46a930:	80 e1 30             	and    $0x30,%cl
46a933:	66 0f be c1          	movsbw %cl,%ax
46a937:	0f b7 c0             	movzwl %ax,%eax
46a93a:	50                   	push   %eax
46a93b:	ff 75 18             	push   0x18(%ebp)