41a616:	e8 c2 5f 00 00       	call   0x4205dd
41a61b:	8b 4d 08             	mov    0x8(%ebp),%ecx
41a61e:	83 c4 0c             	add    $0xc,%esp
41a621:	eb 0a                	jmp    0x41a62d
41a623:	8b 56 48             	mov    0x48(%esi),%edx
41a626:	0f b6 04 42          	movzbl (%edx,%eax,2),%eax
41a62a:	83 e0 08             	and    $0x8,%eax
41a62d:	85 c0                	test   %eax,%eax
41a62f:	74 05                	je     0x41a636
41a631:	8a 1f                	mov    (%edi),%bl
41a633:	47                   	inc    %edi
41a634:	eb d3                	jmp    0x41a609
41a636:	80 fb 2d             	cmp    $0x2d,%bl
41a639:	75 06                	jne    0x41a641
41a63b:	83 4d 14 02          	orl    $0x2,0x14(%ebp)
41a63f:	eb 05                	jmp    0x41a646
41a641:	80 fb 2b             	cmp    $0x2b,%bl
41a644:	75 03                	jne    0x41a649
41a646:	8a 1f                	mov    (%edi),%bl
41a648:	47                   	inc    %edi
41a649:	8b 45 10             	mov    0x10(%ebp),%eax
41a64c:	85 c0                	test   %eax,%eax
41a64e:	0f 8c 3a 01 00 00    	jl     0x41a78e
41a654:	83 f8 01             	cmp    $0x1,%eax
41a657:	0f 84 31 01 00 00    	je     0x41a78e
41a65d:	83 f8 24             	cmp    $0x24,%eax
41a660:	0f 8f 28 01 00 00    	jg     0x41a78e
41a666:	85 c0                	test   %eax,%eax
41a668:	6a 10                	push   $0x10
41a66a:	59                   	pop    %ecx
41a66b:	75 24                	jne    0x41a691
41a66d:	80 fb 30             	cmp    $0x30,%bl
41a670:	74 09                	je     0x41a67b
41a672:	c7 45 10 0a 00 00 00 	movl   $0xa,0x10(%ebp)
41a679:	eb 2e                	jmp    0x41a6a9
41a67b:	8a 07                	mov    (%edi),%al
41a67d:	3c 78                	cmp    $0x78,%al
41a67f:	74 0d                	je     0x41a68e
41a681:	3c 58                	cmp    $0x58,%al
41a683:	74 09                	je     0x41a68e
41a685:	c7 45 10 08 00 00 00 	movl   $0x8,0x10(%ebp)
41a68c:	eb 1b                	jmp    0x41a6a9
41a68e:	89 4d 10             	mov    %ecx,0x10(%ebp)
41a691:	39 4d 10             	cmp    %ecx,0x10(%ebp)
41a694:	75 13                	jne    0x41a6a9
41a696:	80 fb 30             	cmp    $0x30,%bl
41a699:	75 0e                	jne    0x41a6a9
41a69b:	8a 07                	mov    (%edi),%al
41a69d:	3c 78                	cmp    $0x78,%al
41a69f:	74 04                	je     0x41a6a5
41a6a1:	3c 58                	cmp    $0x58,%al
41a6a3:	75 04                	jne    0x41a6a9
41a6a5:	47                   	inc    %edi
41a6a6:	8a 1f                	mov    (%edi),%bl
41a6a8:	47                   	inc    %edi
41a6a9:	83 c8 ff             	or     $0xffffffff,%eax
41a6ac:	33 d2                	xor    %edx,%edx
41a6ae:	f7 75 10             	divl   0x10(%ebp)
41a6b1:	8b 35 00 96 4a 00    	mov    0x4a9600,%esi
41a6b7:	0f b6 cb             	movzbl %bl,%ecx
41a6ba:	66 8b 0c 4e          	mov    (%esi,%ecx,2),%cx
41a6be:	f6 c1 04             	test   $0x4,%cl
41a6c1:	74 08                	je     0x41a6cb
41a6c3:	0f be cb             	movsbl %bl,%ecx
41a6c6:	83 e9 30             	sub    $0x30,%ecx
41a6c9:	eb 1f                	jmp    0x41a6ea
41a6cb:	66 f7 c1 03 01       	test   $0x103,%cx
41a6d0:	74 43                	je     0x41a715
41a6d2:	80 fb 61             	cmp    $0x61,%bl
41a6d5:	7c 0d                	jl     0x41a6e4
41a6d7:	80 fb 7a             	cmp    $0x7a,%bl
41a6da:	7f 08                	jg     0x41a6e4
41a6dc:	0f be cb             	movsbl %bl,%ecx
41a6df:	83 e9 20             	sub    $0x20,%ecx
41a6e2:	eb 03                	jmp    0x41a6e7
41a6e4:	0f be cb             	movsbl %bl,%ecx
41a6e7:	83 c1 c9             	add    $0xffffffc9,%ecx
41a6ea:	3b 4d 10             	cmp    0x10(%ebp),%ecx
41a6ed:	73 26                	jae    0x41a715
41a6ef:	83 4d 14 08          	orl    $0x8,0x14(%ebp)
41a6f3:	39 45 fc             	cmp    %eax,-0x4(%ebp)
41a6f6:	72 0c                	jb     0x41a704
41a6f8:	75 04                	jne    0x41a6fe
41a6fa:	3b ca                	cmp    %edx,%ecx
41a6fc:	76 06                	jbe    0x41a704
41a6fe:	83 4d 14 04          	orl    $0x4,0x14(%ebp)
41a702:	eb 0c                	jmp    0x41a710
41a704:	8b 75 fc             	mov    -0x4(%ebp),%esi
41a707:	0f af 75 10          	imul   0x10(%ebp),%esi
41a70b:	03 f1                	add    %ecx,%esi
41a70d:	89 75 fc             	mov    %esi,-0x4(%ebp)
41a710:	8a 1f                	mov    (%edi),%bl
41a712:	47                   	inc    %edi
41a713:	eb 9c                	jmp    0x41a6b1
41a715:	8b 45 14             	mov    0x14(%ebp),%eax
41a718:	4f                   	dec    %edi
41a719:	a8 08                	test   $0x8,%al
41a71b:	75 0f                	jne    0x41a72c
41a71d:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
41a721:	74 03                	je     0x41a726
41a723:	8b 7d 08             	mov    0x8(%ebp),%edi
41a726:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
41a72a:	eb 4b                	jmp    0x41a777
41a72c:	a8 04                	test   $0x4,%al
41a72e:	be ff ff ff 7f       	mov    $0x7fffffff,%esi
41a733:	75 1b                	jne    0x41a750
41a735:	a8 01                	test   $0x1,%al
41a737:	75 3e                	jne    0x41a777
41a739:	83 e0 02             	and    $0x2,%eax
41a73c:	74 09                	je     0x41a747
41a73e:	81 7d fc 00 00 00 80 	cmpl   $0x80000000,-0x4(%ebp)
41a745:	77 09                	ja     0x41a750
41a747:	85 c0                	test   %eax,%eax
41a749:	75 2c                	jne    0x41a777
41a74b:	39 75 fc             	cmp    %esi,-0x4(%ebp)
41a74e:	76 27                	jbe    0x41a777
41a750:	e8 d1 ea ff ff       	call   0x419226
41a755:	f6 45 14 01          	testb  $0x1,0x14(%ebp)
41a759:	c7 00 22 00 00 00    	movl   $0x22,(%eax)
41a75f:	74 06                	je     0x41a767
41a761:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
41a765:	eb 10                	jmp    0x41a777
41a767:	8a 45 14             	mov    0x14(%ebp),%al
41a76a:	24 02                	and    $0x2,%al
41a76c:	f6 d8                	neg    %al
41a76e:	1b c0                	sbb    %eax,%eax
41a770:	f7 d8                	neg    %eax
41a772:	03 c6                	add    %esi,%eax
41a774:	89 45 fc             	mov    %eax,-0x4(%ebp)
41a777:	8b 45 0c             	mov    0xc(%ebp),%eax
41a77a:	85 c0                	test   %eax,%eax
41a77c:	74 02                	je     0x41a780
41a77e:	89 38                	mov    %edi,(%eax)
41a780:	f6 45 14 02          	testb  $0x2,0x14(%ebp)
41a784:	74 03                	je     0x41a789
41a786:	f7 5d fc             	negl   -0x4(%ebp)
41a789:	8b 45 fc             	mov    -0x4(%ebp),%eax
41a78c:	eb 0b                	jmp    0x41a799
41a78e:	8b 45 0c             	mov    0xc(%ebp),%eax
41a791:	85 c0                	test   %eax,%eax
41a793:	74 02                	je     0x41a797
41a795:	89 08                	mov    %ecx,(%eax)
41a797:	33 c0                	xor    %eax,%eax
41a799:	5f                   	pop    %edi
41a79a:	5e                   	pop    %esi
41a79b:	5b                   	pop    %ebx
41a79c:	c9                   	leave
41a79d:	c3                   	ret
41a79e:	6a 00                	push   $0x0
41a7a0:	ff 74 24 10          	push   0x10(%esp)
41a7a4:	ff 74 24 10          	push   0x10(%esp)
41a7a8:	ff 74 24 10          	push   0x10(%esp)
41a7ac:	e8 2e fe ff ff       	call   0x41a5df
41a7b1:	83 c4 10             	add    $0x10,%esp
41a7b4:	c3                   	ret
41a7b5:	6a 01                	push   $0x1
41a7b7:	ff 74 24 10          	push   0x10(%esp)
41a7bb:	ff 74 24 10          	push   0x10(%esp)
41a7bf:	ff 74 24 10          	push   0x10(%esp)
41a7c3:	e8 17 fe ff ff       	call   0x41a5df
41a7c8:	83 c4 10             	add    $0x10,%esp
41a7cb:	c3                   	ret
41a7cc:	55                   	push   %ebp
41a7cd:	8b ec                	mov    %esp,%ebp
41a7cf:	51                   	push   %ecx
41a7d0:	53                   	push   %ebx
41a7d1:	8b 5d 08             	mov    0x8(%ebp),%ebx
41a7d4:	81 fb ff 00 00 00    	cmp    $0xff,%ebx
41a7da:	76 6a                	jbe    0x41a846
41a7dc:	66 83 65 fc 00       	andw   $0x0,-0x4(%ebp)
41a7e1:	57                   	push   %edi
41a7e2:	33 c0                	xor    %eax,%eax
41a7e4:	8d 7d fe             	lea    -0x2(%ebp),%edi
41a7e7:	66 ab                	stos   %ax,%es:(%edi)
41a7e9:	e8 b9 24 00 00       	call   0x41cca7
41a7ee:	8b 40 60             	mov    0x60(%eax),%eax
41a7f1:	3b 05 d4 e1 4a 00    	cmp    0x4ae1d4,%eax
41a7f7:	5f                   	pop    %edi
41a7f8:	74 05                	je     0x41a7ff
41a7fa:	e8 07 f8 ff ff       	call   0x41a006
41a7ff:	8b cb                	mov    %ebx,%ecx
41a801:	c1 e9 08             	shr    $0x8,%ecx
41a804:	88 4d 0a             	mov    %cl,0xa(%ebp)
41a807:	88 5d 0b             	mov    %bl,0xb(%ebp)
41a80a:	83 78 08 00          	cmpl   $0x0,0x8(%eax)
41a80e:	75 04                	jne    0x41a814
41a810:	33 c0                	xor    %eax,%eax
41a812:	eb 39                	jmp    0x41a84d
41a814:	6a 01                	push   $0x1
41a816:	ff 70 0c             	push   0xc(%eax)
41a819:	ff 70 04             	push   0x4(%eax)
41a81c:	8d 45 fc             	lea    -0x4(%ebp),%eax
41a81f:	50                   	push   %eax
41a820:	6a 02                	push   $0x2
41a822:	8d 45 0a             	lea    0xa(%ebp),%eax
41a825:	50                   	push   %eax
41a826:	6a 01                	push   $0x1
41a828:	e8 e6 89 00 00       	call   0x423213
41a82d:	83 c4 1c             	add    $0x1c,%esp
41a830:	85 c0                	test   %eax,%eax
41a832:	74 dc                	je     0x41a810
41a834:	66 83 7d fe 00       	cmpw   $0x0,-0x2(%ebp)
41a839:	75 d5                	jne    0x41a810
41a83b:	f6 45 fc 04          	testb  $0x4,-0x4(%ebp)
41a83f:	74 cf                	je     0x41a810
41a841:	33 c0                	xor    %eax,%eax
41a843:	40                   	inc    %eax
41a844:	eb 07                	jmp    0x41a84d
41a846:	53                   	push   %ebx
41a847:	e8 d9 8c 00 00       	call   0x423525
41a84c:	59                   	pop    %ecx
41a84d:	5b                   	pop    %ebx
41a84e:	c9                   	leave
41a84f:	c3                   	ret
41a850:	55                   	push   %ebp
41a851:	8b ec                	mov    %esp,%ebp
41a853:	51                   	push   %ecx
41a854:	53                   	push   %ebx
41a855:	8b 5d 08             	mov    0x8(%ebp),%ebx
41a858:	81 fb ff 00 00 00    	cmp    $0xff,%ebx
41a85e:	76 6a                	jbe    0x41a8ca
41a860:	66 83 65 fc 00       	andw   $0x0,-0x4(%ebp)
41a865:	57                   	push   %edi
41a866:	33 c0                	xor    %eax,%eax
41a868:	8d 7d fe             	lea    -0x2(%ebp),%edi
41a86b:	66 ab                	stos   %ax,%es:(%edi)
41a86d:	e8 35 24 00 00       	call   0x41cca7
41a872:	8b 40 60             	mov    0x60(%eax),%eax
41a875:	3b 05 d4 e1 4a 00    	cmp    0x4ae1d4,%eax
41a87b:	5f                   	pop    %edi
41a87c:	74 05                	je     0x41a883
41a87e:	e8 83 f7 ff ff       	call   0x41a006
41a883:	8b cb                	mov    %ebx,%ecx
41a885:	c1 e9 08             	shr    $0x8,%ecx
41a888:	88 4d 0a             	mov    %cl,0xa(%ebp)
41a88b:	88 5d 0b             	mov    %bl,0xb(%ebp)
41a88e:	83 78 08 00          	cmpl   $0x0,0x8(%eax)
41a892:	75 04                	jne    0x41a898
41a894:	33 c0                	xor    %eax,%eax
41a896:	eb 39                	jmp    0x41a8d1
41a898:	6a 01                	push   $0x1
41a89a:	ff 70 0c             	push   0xc(%eax)
41a89d:	ff 70 04             	push   0x4(%eax)
41a8a0:	8d 45 fc             	lea    -0x4(%ebp),%eax
41a8a3:	50                   	push   %eax
41a8a4:	6a 02                	push   $0x2
41a8a6:	8d 45 0a             	lea    0xa(%ebp),%eax
41a8a9:	50                   	push   %eax
41a8aa:	6a 01                	push   $0x1
41a8ac:	e8 62 89 00 00       	call   0x423213
41a8b1:	83 c4 1c             	add    $0x1c,%esp
41a8b4:	85 c0                	test   %eax,%eax
41a8b6:	74 dc                	je     0x41a894
41a8b8:	66 83 7d fe 00       	cmpw   $0x0,-0x2(%ebp)
41a8bd:	75 d5                	jne    0x41a894
41a8bf:	f6 45 fc 08          	testb  $0x8,-0x4(%ebp)
41a8c3:	74 cf                	je     0x41a894
41a8c5:	33 c0                	xor    %eax,%eax
41a8c7:	40                   	inc    %eax
41a8c8:	eb 07                	jmp    0x41a8d1
41a8ca:	53                   	push   %ebx
41a8cb:	e8 ce 8c 00 00       	call   0x42359e
41a8d0:	59                   	pop    %ecx
41a8d1:	5b                   	pop    %ebx
41a8d2:	c9                   	leave
41a8d3:	c3                   	ret
41a8d4:	83 7c 24 08 00       	cmpl   $0x0,0x8(%esp)
41a8d9:	74 06                	je     0x41a8e1
41a8db:	c6 01 2d             	movb   $0x2d,(%ecx)
41a8de:	41                   	inc    %ecx
41a8df:	f7 d8                	neg    %eax
41a8e1:	56                   	push   %esi
41a8e2:	8b f1                	mov    %ecx,%esi
41a8e4:	33 d2                	xor    %edx,%edx
41a8e6:	f7 74 24 08          	divl   0x8(%esp)
41a8ea:	83 fa 09             	cmp    $0x9,%edx
41a8ed:	76 05                	jbe    0x41a8f4
41a8ef:	80 c2 57             	add    $0x57,%dl
41a8f2:	eb 03                	jmp    0x41a8f7
41a8f4:	80 c2 30             	add    $0x30,%dl
41a8f7:	88 11                	mov    %dl,(%ecx)
41a8f9:	41                   	inc    %ecx
41a8fa:	85 c0                	test   %eax,%eax
41a8fc:	77 e6                	ja     0x41a8e4
41a8fe:	c6 01 00             	movb   $0x0,(%ecx)
41a901:	49                   	dec    %ecx
41a902:	8a 16                	mov    (%esi),%dl
41a904:	8a 01                	mov    (%ecx),%al
41a906:	88 11                	mov    %dl,(%ecx)
41a908:	49                   	dec    %ecx
41a909:	88 06                	mov    %al,(%esi)
41a90b:	46                   	inc    %esi
41a90c:	3b f1                	cmp    %ecx,%esi
41a90e:	72 f2                	jb     0x41a902
41a910:	5e                   	pop    %esi
41a911:	c3                   	ret
41a912:	55                   	push   %ebp
41a913:	8b ec                	mov    %esp,%ebp
41a915:	83 7d 10 0a          	cmpl   $0xa,0x10(%ebp)
41a919:	8b 45 08             	mov    0x8(%ebp),%eax
41a91c:	75 0a                	jne    0x41a928
41a91e:	85 c0                	test   %eax,%eax
41a920:	7d 06                	jge    0x41a928
41a922:	6a 01                	push   $0x1
41a924:	6a 0a                	push   $0xa
41a926:	eb 05                	jmp    0x41a92d
41a928:	6a 00                	push   $0x0
41a92a:	ff 75 10             	push   0x10(%ebp)
41a92d:	8b 4d 0c             	mov    0xc(%ebp),%ecx
41a930:	e8 9f ff ff ff       	call   0x41a8d4
41a935:	8b 45 0c             	mov    0xc(%ebp),%eax
41a938:	59                   	pop    %ecx
41a939:	59                   	pop    %ecx
41a93a:	5d                   	pop    %ebp
41a93b:	c3                   	ret
41a93c:	55                   	push   %ebp
41a93d:	8b ec                	mov    %esp,%ebp
41a93f:	33 c0                	xor    %eax,%eax
41a941:	83 7d 10 0a          	cmpl   $0xa,0x10(%ebp)
41a945:	75 06                	jne    0x41a94d
41a947:	39 45 08             	cmp    %eax,0x8(%ebp)
41a94a:	7d 01                	jge    0x41a94d
41a94c:	40                   	inc    %eax
41a94d:	8b 4d 0c             	mov    0xc(%ebp),%ecx
41a950:	50                   	push   %eax
41a951:	ff 75 10             	push   0x10(%ebp)
41a954:	8b 45 08             	mov    0x8(%ebp),%eax
41a957:	e8 78 ff ff ff       	call   0x41a8d4
41a95c:	8b 45 0c             	mov    0xc(%ebp),%eax
41a95f:	59                   	pop    %ecx
41a960:	59                   	pop    %ecx
41a961:	5d                   	pop    %ebp
41a962:	c3                   	ret
41a963:	8b 4c 24 08          	mov    0x8(%esp),%ecx
41a967:	8b 44 24 04          	mov    0x4(%esp),%eax
41a96b:	6a 00                	push   $0x0
41a96d:	ff 74 24 10          	push   0x10(%esp)
41a971:	e8 5e ff ff ff       	call   0x41a8d4
41a976:	8b 44 24 10          	mov    0x10(%esp),%eax
41a97a:	59                   	pop    %ecx
41a97b:	59                   	pop    %ecx
41a97c:	c3                   	ret
41a97d:	55                   	push   %ebp
41a97e:	8b ec                	mov    %esp,%ebp
41a980:	51                   	push   %ecx
41a981:	51                   	push   %ecx
41a982:	53                   	push   %ebx
41a983:	8b 5d 08             	mov    0x8(%ebp),%ebx
41a986:	56                   	push   %esi
41a987:	33 c9                	xor    %ecx,%ecx