413780:	66 89 5e 14          	mov    %bx,0x14(%esi)
413784:	88 5e 16             	mov    %bl,0x16(%esi)
413787:	89 5e 18             	mov    %ebx,0x18(%esi)
41378a:	89 5e 1c             	mov    %ebx,0x1c(%esi)
41378d:	89 5e 20             	mov    %ebx,0x20(%esi)
413790:	88 5e 24             	mov    %bl,0x24(%esi)
413793:	89 5e 28             	mov    %ebx,0x28(%esi)
413796:	eb 1f                	jmp    0x4137b7
413798:	c7 46 28 05 00 00 00 	movl   $0x5,0x28(%esi)
41379f:	e9 69 ff ff ff       	jmp    0x41370d
4137a4:	8b ce                	mov    %esi,%ecx
4137a6:	e8 73 03 00 00       	call   0x413b1e
4137ab:	c7 46 28 01 00 00 00 	movl   $0x1,0x28(%esi)
4137b2:	ff 46 08             	incl   0x8(%esi)
4137b5:	b0 01                	mov    $0x1,%al
4137b7:	5e                   	pop    %esi
4137b8:	5b                   	pop    %ebx
4137b9:	c3                   	ret
4137ba:	8b ff                	mov    %edi,%edi
4137bc:	55                   	push   %ebp
4137bd:	8b ec                	mov    %esp,%ebp
4137bf:	51                   	push   %ecx
4137c0:	56                   	push   %esi
4137c1:	8b f1                	mov    %ecx,%esi
4137c3:	8b 56 08             	mov    0x8(%esi),%edx
4137c6:	8a 0a                	mov    (%edx),%cl
4137c8:	8d 41 d0             	lea    -0x30(%ecx),%eax
4137cb:	3c 09                	cmp    $0x9,%al
4137cd:	77 08                	ja     0x4137d7
4137cf:	0f be c1             	movsbl %cl,%eax
4137d2:	83 c0 d0             	add    $0xffffffd0,%eax
4137d5:	eb 21                	jmp    0x4137f8
4137d7:	8d 41 9f             	lea    -0x61(%ecx),%eax
4137da:	3c 19                	cmp    $0x19,%al
4137dc:	77 08                	ja     0x4137e6
4137de:	0f be c1             	movsbl %cl,%eax
4137e1:	83 c0 a9             	add    $0xffffffa9,%eax
4137e4:	eb 12                	jmp    0x4137f8
4137e6:	8d 41 bf             	lea    -0x41(%ecx),%eax
4137e9:	3c 19                	cmp    $0x19,%al
4137eb:	77 08                	ja     0x4137f5
4137ed:	0f be c1             	movsbl %cl,%eax
4137f0:	83 c0 c9             	add    $0xffffffc9,%eax
4137f3:	eb 03                	jmp    0x4137f8
4137f5:	83 c8 ff             	or     $0xffffffff,%eax
4137f8:	83 f8 09             	cmp    $0x9,%eax
4137fb:	76 04                	jbe    0x413801
4137fd:	b0 01                	mov    $0x1,%al
4137ff:	eb 53                	jmp    0x413854
413801:	53                   	push   %ebx
413802:	6a 0a                	push   $0xa
413804:	8d 45 fc             	lea    -0x4(%ebp),%eax
413807:	33 db                	xor    %ebx,%ebx
413809:	50                   	push   %eax
41380a:	52                   	push   %edx
41380b:	89 5d fc             	mov    %ebx,-0x4(%ebp)
41380e:	e8 fb 60 00 00       	call   0x41990e
413813:	8b c8                	mov    %eax,%ecx
413815:	83 c4 0c             	add    $0xc,%esp
413818:	0b ca                	or     %edx,%ecx
41381a:	74 15                	je     0x413831
41381c:	8b 4d fc             	mov    -0x4(%ebp),%ecx
41381f:	3b 4e 08             	cmp    0x8(%esi),%ecx
413822:	74 0d                	je     0x413831
413824:	89 46 18             	mov    %eax,0x18(%esi)
413827:	b0 01                	mov    $0x1,%al
413829:	89 56 1c             	mov    %edx,0x1c(%esi)
41382c:	89 4e 08             	mov    %ecx,0x8(%esi)
41382f:	eb 22                	jmp    0x413853
413831:	89 5e 10             	mov    %ebx,0x10(%esi)
413834:	32 c0                	xor    %al,%al
413836:	66 89 5e 14          	mov    %bx,0x14(%esi)
41383a:	88 5e 16             	mov    %bl,0x16(%esi)
41383d:	89 5e 18             	mov    %ebx,0x18(%esi)
413840:	89 5e 1c             	mov    %ebx,0x1c(%esi)
413843:	89 5e 20             	mov    %ebx,0x20(%esi)
413846:	88 5e 24             	mov    %bl,0x24(%esi)
413849:	89 5e 28             	mov    %ebx,0x28(%esi)
41384c:	c7 46 0c 16 00 00 00 	movl   $0x16,0xc(%esi)
413853:	5b                   	pop    %ebx
413854:	5e                   	pop    %esi
413855:	8b e5                	mov    %ebp,%esp
413857:	5d                   	pop    %ebp
413858:	c3                   	ret
413859:	8b 41 08             	mov    0x8(%ecx),%eax
41385c:	56                   	push   %esi
41385d:	0f b6 10             	movzbl (%eax),%edx
413860:	83 fa 6a             	cmp    $0x6a,%edx
413863:	0f 8f c4 00 00 00    	jg     0x41392d
413869:	0f 84 b1 00 00 00    	je     0x413920
41386f:	83 fa 49             	cmp    $0x49,%edx
413872:	74 50                	je     0x4138c4
413874:	83 fa 4c             	cmp    $0x4c,%edx
413877:	74 3e                	je     0x4138b7
413879:	83 fa 54             	cmp    $0x54,%edx
41387c:	74 2c                	je     0x4138aa
41387e:	83 fa 68             	cmp    $0x68,%edx
413881:	0f 85 f0 00 00 00    	jne    0x413977
413887:	8d 50 01             	lea    0x1(%eax),%edx
41388a:	80 3a 68             	cmpb   $0x68,(%edx)
41388d:	75 0f                	jne    0x41389e
41388f:	83 c0 02             	add    $0x2,%eax
413892:	c7 41 20 01 00 00 00 	movl   $0x1,0x20(%ecx)
413899:	89 41 08             	mov    %eax,0x8(%ecx)
41389c:	5e                   	pop    %esi
41389d:	c3                   	ret
41389e:	c7 41 20 02 00 00 00 	movl   $0x2,0x20(%ecx)
4138a5:	e9 ca 00 00 00       	jmp    0x413974
4138aa:	40                   	inc    %eax
4138ab:	c7 41 20 0b 00 00 00 	movl   $0xb,0x20(%ecx)
4138b2:	89 41 08             	mov    %eax,0x8(%ecx)
4138b5:	5e                   	pop    %esi
4138b6:	c3                   	ret
4138b7:	40                   	inc    %eax
4138b8:	c7 41 20 08 00 00 00 	movl   $0x8,0x20(%ecx)
4138bf:	89 41 08             	mov    %eax,0x8(%ecx)
4138c2:	5e                   	pop    %esi
4138c3:	c3                   	ret
4138c4:	8d 70 01             	lea    0x1(%eax),%esi
4138c7:	8a 16                	mov    (%esi),%dl
4138c9:	80 fa 33             	cmp    $0x33,%dl
4138cc:	75 15                	jne    0x4138e3
4138ce:	80 78 02 32          	cmpb   $0x32,0x2(%eax)
4138d2:	75 0f                	jne    0x4138e3
4138d4:	83 c0 03             	add    $0x3,%eax
4138d7:	89 41 08             	mov    %eax,0x8(%ecx)
4138da:	c7 41 20 09 00 00 00 	movl   $0x9,0x20(%ecx)
4138e1:	5e                   	pop    %esi
4138e2:	c3                   	ret
4138e3:	80 fa 36             	cmp    $0x36,%dl
4138e6:	75 15                	jne    0x4138fd
4138e8:	80 78 02 34          	cmpb   $0x34,0x2(%eax)
4138ec:	75 0f                	jne    0x4138fd
4138ee:	83 c0 03             	add    $0x3,%eax
4138f1:	c7 41 20 0a 00 00 00 	movl   $0xa,0x20(%ecx)
4138f8:	89 41 08             	mov    %eax,0x8(%ecx)
4138fb:	5e                   	pop    %esi
4138fc:	c3                   	ret
4138fd:	80 fa 64             	cmp    $0x64,%dl
413900:	74 19                	je     0x41391b
413902:	80 fa 69             	cmp    $0x69,%dl
413905:	74 14                	je     0x41391b
413907:	80 fa 6f             	cmp    $0x6f,%dl
41390a:	74 0f                	je     0x41391b
41390c:	80 fa 75             	cmp    $0x75,%dl
41390f:	74 0a                	je     0x41391b
413911:	80 fa 78             	cmp    $0x78,%dl
413914:	74 05                	je     0x41391b
413916:	80 fa 58             	cmp    $0x58,%dl
413919:	75 5c                	jne    0x413977
41391b:	89 71 08             	mov    %esi,0x8(%ecx)
41391e:	eb ba                	jmp    0x4138da
413920:	40                   	inc    %eax
413921:	c7 41 20 05 00 00 00 	movl   $0x5,0x20(%ecx)
413928:	89 41 08             	mov    %eax,0x8(%ecx)
41392b:	5e                   	pop    %esi
41392c:	c3                   	ret
41392d:	83 fa 6c             	cmp    $0x6c,%edx
413930:	74 24                	je     0x413956
413932:	83 fa 74             	cmp    $0x74,%edx
413935:	74 12                	je     0x413949
413937:	83 fa 7a             	cmp    $0x7a,%edx
41393a:	75 3b                	jne    0x413977
41393c:	40                   	inc    %eax
41393d:	c7 41 20 06 00 00 00 	movl   $0x6,0x20(%ecx)
413944:	89 41 08             	mov    %eax,0x8(%ecx)
413947:	5e                   	pop    %esi
413948:	c3                   	ret
413949:	40                   	inc    %eax
41394a:	c7 41 20 07 00 00 00 	movl   $0x7,0x20(%ecx)
413951:	89 41 08             	mov    %eax,0x8(%ecx)
413954:	5e                   	pop    %esi
413955:	c3                   	ret
413956:	8d 50 01             	lea    0x1(%eax),%edx
413959:	80 3a 6c             	cmpb   $0x6c,(%edx)
41395c:	75 0f                	jne    0x41396d
41395e:	83 c0 02             	add    $0x2,%eax
413961:	c7 41 20 04 00 00 00 	movl   $0x4,0x20(%ecx)
413968:	89 41 08             	mov    %eax,0x8(%ecx)
41396b:	5e                   	pop    %esi
41396c:	c3                   	ret
41396d:	c7 41 20 03 00 00 00 	movl   $0x3,0x20(%ecx)
413974:	89 51 08             	mov    %edx,0x8(%ecx)
413977:	5e                   	pop    %esi
413978:	c3                   	ret
413979:	8b ff                	mov    %edi,%edi
41397b:	56                   	push   %esi
41397c:	8b f1                	mov    %ecx,%esi
41397e:	e8 09 0b 00 00       	call   0x41448c
413983:	0f b6 56 14          	movzbl 0x14(%esi),%edx
413987:	b9 00 80 00 00       	mov    $0x8000,%ecx
41398c:	66 85 0c 50          	test   %cx,(%eax,%edx,2)
413990:	74 36                	je     0x4139c8
413992:	8b 46 08             	mov    0x8(%esi),%eax
413995:	8a 08                	mov    (%eax),%cl
413997:	84 c9                	test   %cl,%cl
413999:	75 26                	jne    0x4139c1
41399b:	33 c0                	xor    %eax,%eax
41399d:	c7 46 0c 2a 00 00 00 	movl   $0x2a,0xc(%esi)
4139a4:	89 46 10             	mov    %eax,0x10(%esi)
4139a7:	66 89 46 14          	mov    %ax,0x14(%esi)
4139ab:	88 46 16             	mov    %al,0x16(%esi)
4139ae:	89 46 18             	mov    %eax,0x18(%esi)
4139b1:	89 46 1c             	mov    %eax,0x1c(%esi)
4139b4:	89 46 20             	mov    %eax,0x20(%esi)
4139b7:	88 46 24             	mov    %al,0x24(%esi)
4139ba:	89 46 28             	mov    %eax,0x28(%esi)
4139bd:	32 c0                	xor    %al,%al
4139bf:	eb 09                	jmp    0x4139ca
4139c1:	40                   	inc    %eax
4139c2:	88 4e 15             	mov    %cl,0x15(%esi)
4139c5:	89 46 08             	mov    %eax,0x8(%esi)
4139c8:	b0 01                	mov    $0x1,%al
4139ca:	5e                   	pop    %esi
4139cb:	c2 04 00             	ret    $0x4
4139ce:	8b 51 08             	mov    0x8(%ecx),%edx
4139d1:	8a 02                	mov    (%edx),%al
4139d3:	3c 77                	cmp    $0x77,%al
4139d5:	75 08                	jne    0x4139df
4139d7:	8d 42 01             	lea    0x1(%edx),%eax
4139da:	89 41 08             	mov    %eax,0x8(%ecx)
4139dd:	eb 08                	jmp    0x4139e7
4139df:	3c 43                	cmp    $0x43,%al
4139e1:	74 04                	je     0x4139e7
4139e3:	3c 53                	cmp    $0x53,%al
4139e5:	75 04                	jne    0x4139eb
4139e7:	c6 41 24 01          	movb   $0x1,0x24(%ecx)
4139eb:	c3                   	ret
4139ec:	8b ff                	mov    %edi,%edi
4139ee:	55                   	push   %ebp
4139ef:	8b ec                	mov    %esp,%ebp
4139f1:	83 ec 10             	sub    $0x10,%esp
4139f4:	56                   	push   %esi
4139f5:	8b f1                	mov    %ecx,%esi
4139f7:	33 c0                	xor    %eax,%eax
4139f9:	89 75 f0             	mov    %esi,-0x10(%ebp)
4139fc:	8d 56 2c             	lea    0x2c(%esi),%edx
4139ff:	89 55 f4             	mov    %edx,-0xc(%ebp)
413a02:	85 d2                	test   %edx,%edx
413a04:	75 27                	jne    0x413a2d
413a06:	c7 46 0c 0c 00 00 00 	movl   $0xc,0xc(%esi)
413a0d:	89 46 28             	mov    %eax,0x28(%esi)
413a10:	88 46 24             	mov    %al,0x24(%esi)
413a13:	89 46 20             	mov    %eax,0x20(%esi)
413a16:	89 46 1c             	mov    %eax,0x1c(%esi)
413a19:	89 46 18             	mov    %eax,0x18(%esi)
413a1c:	88 46 16             	mov    %al,0x16(%esi)
413a1f:	66 89 46 14          	mov    %ax,0x14(%esi)
413a23:	89 46 10             	mov    %eax,0x10(%esi)
413a26:	32 c0                	xor    %al,%al
413a28:	e9 c1 00 00 00       	jmp    0x413aee
413a2d:	57                   	push   %edi
413a2e:	6a 08                	push   $0x8
413a30:	59                   	pop    %ecx
413a31:	8b fa                	mov    %edx,%edi
413a33:	f3 ab                	rep stos %eax,%es:(%edi)
413a35:	8b 46 08             	mov    0x8(%esi),%eax
413a38:	80 38 5e             	cmpb   $0x5e,(%eax)
413a3b:	0f 94 c1             	sete   %cl
413a3e:	88 4d ff             	mov    %cl,-0x1(%ebp)
413a41:	84 c9                	test   %cl,%cl
413a43:	74 04                	je     0x413a49
413a45:	40                   	inc    %eax
413a46:	89 46 08             	mov    %eax,0x8(%esi)
413a49:	8b 46 08             	mov    0x8(%esi),%eax
413a4c:	80 38 5d             	cmpb   $0x5d,(%eax)
413a4f:	75 08                	jne    0x413a59
413a51:	40                   	inc    %eax
413a52:	89 46 08             	mov    %eax,0x8(%esi)
413a55:	80 4e 37 20          	orb    $0x20,0x37(%esi)
413a59:	8b 7e 08             	mov    0x8(%esi),%edi
413a5c:	80 3f 5d             	cmpb   $0x5d,(%edi)
413a5f:	74 66                	je     0x413ac7
413a61:	53                   	push   %ebx
413a62:	8b 46 08             	mov    0x8(%esi),%eax
413a65:	8a 08                	mov    (%eax),%cl
413a67:	84 c9                	test   %cl,%cl
413a69:	74 58                	je     0x413ac3
413a6b:	80 f9 2d             	cmp    $0x2d,%cl
413a6e:	75 3d                	jne    0x413aad
413a70:	3b c7                	cmp    %edi,%eax
413a72:	74 39                	je     0x413aad
413a74:	8a 78 01             	mov    0x1(%eax),%bh
413a77:	80 ff 5d             	cmp    $0x5d,%bh
413a7a:	74 31                	je     0x413aad
413a7c:	8a 58 ff             	mov    -0x1(%eax),%bl
413a7f:	3a df                	cmp    %bh,%bl
413a81:	76 06                	jbe    0x413a89
413a83:	8a c3                	mov    %bl,%al
413a85:	8a df                	mov    %bh,%bl
413a87:	8a f8                	mov    %al,%bh
413a89:	fe c7                	inc    %bh
413a8b:	88 5d fb             	mov    %bl,-0x5(%ebp)
413a8e:	3a df                	cmp    %bh,%bl
413a90:	74 26                	je     0x413ab8
413a92:	8b 75 f4             	mov    -0xc(%ebp),%esi
413a95:	ff 75 fb             	push   -0x5(%ebp)
413a98:	8b ce                	mov    %esi,%ecx
413a9a:	e8 54 00 00 00       	call   0x413af3
413a9f:	fe c3                	inc    %bl
413aa1:	88 5d fb             	mov    %bl,-0x5(%ebp)
413aa4:	3a df                	cmp    %bh,%bl
413aa6:	75 ed                	jne    0x413a95
413aa8:	8b 75 f0             	mov    -0x10(%ebp),%esi
413aab:	eb 08                	jmp    0x413ab5
413aad:	51                   	push   %ecx
413aae:	8b ca                	mov    %edx,%ecx
413ab0:	e8 3e 00 00 00       	call   0x413af3
413ab5:	8d 56 2c             	lea    0x2c(%esi),%edx
413ab8:	ff 46 08             	incl   0x8(%esi)
413abb:	8b 46 08             	mov    0x8(%esi),%eax
413abe:	80 38 5d             	cmpb   $0x5d,(%eax)
413ac1:	75 9f                	jne    0x413a62
413ac3:	8a 4d ff             	mov    -0x1(%ebp),%cl
413ac6:	5b                   	pop    %ebx
413ac7:	8b 46 08             	mov    0x8(%esi),%eax
413aca:	5f                   	pop    %edi
413acb:	80 38 00             	cmpb   $0x0,(%eax)
413ace:	75 0e                	jne    0x413ade
413ad0:	33 c0                	xor    %eax,%eax
413ad2:	c7 46 0c 16 00 00 00 	movl   $0x16,0xc(%esi)
413ad9:	e9 2f ff ff ff       	jmp    0x413a0d
413ade:	84 c9                	test   %cl,%cl
413ae0:	74 07                	je     0x413ae9
413ae2:	8b ca                	mov    %edx,%ecx
413ae4:	e8 b5 f7 ff ff       	call   0x41329e
413ae9:	ff 46 08             	incl   0x8(%esi)
413aec:	b0 01                	mov    $0x1,%al
413aee:	5e                   	pop    %esi
413aef:	8b e5                	mov    %ebp,%esp
413af1:	5d                   	pop    %ebp
413af2:	c3                   	ret
413af3:	8b ff                	mov    %edi,%edi
413af5:	55                   	push   %ebp
413af6:	8b ec                	mov    %esp,%ebp
413af8:	56                   	push   %esi
413af9:	0f b6 75 08          	movzbl 0x8(%ebp),%esi
413afd:	8b d6                	mov    %esi,%edx
413aff:	c1 ea 03             	shr    $0x3,%edx
413b02:	0f b6 04 0a          	movzbl (%edx,%ecx,1),%eax
413b06:	81 e6 07 00 00 80    	and    $0x80000007,%esi
413b0c:	79 05                	jns    0x413b13
413b0e:	4e                   	dec    %esi
413b0f:	83 ce f8             	or     $0xfffffff8,%esi
413b12:	46                   	inc    %esi
413b13:	0f ab f0             	bts    %esi,%eax
413b16:	88 04 0a             	mov    %al,(%edx,%ecx,1)
413b19:	5e                   	pop    %esi
413b1a:	5d                   	pop    %ebp
413b1b:	c2 04 00             	ret    $0x4