408898:	eb 11                	jmp    0x4088ab
40889a:	83 ca 02             	or     $0x2,%edx
40889d:	33 51 fc             	xor    -0x4(%ecx),%edx
4088a0:	83 fa 01             	cmp    $0x1,%edx
4088a3:	77 06                	ja     0x4088ab
4088a5:	83 79 f8 01          	cmpl   $0x1,-0x8(%ecx)
4088a9:	74 0a                	je     0x4088b5
4088ab:	89 da                	mov    %ebx,%edx
4088ad:	83 ca 03             	or     $0x3,%edx
4088b0:	e8 df c5 ff ff       	call   0x404e94
4088b5:	8b 3f                	mov    (%edi),%edi
4088b7:	89 5f fc             	mov    %ebx,-0x4(%edi)
4088ba:	c6 04 1f 00          	movb   $0x0,(%edi,%ebx,1)
4088be:	83 c3 ff             	add    $0xffffffff,%ebx
4088c1:	83 e3 fc             	and    $0xfffffffc,%ebx
4088c4:	8b 04 1e             	mov    (%esi,%ebx,1),%eax
4088c7:	89 c1                	mov    %eax,%ecx
4088c9:	0d 80 80 80 80       	or     $0x80808080,%eax
4088ce:	89 c2                	mov    %eax,%edx
4088d0:	2d 5b 5b 5b 5b       	sub    $0x5b5b5b5b,%eax
4088d5:	31 ca                	xor    %ecx,%edx
4088d7:	0d 80 80 80 80       	or     $0x80808080,%eax
4088dc:	2d 66 66 66 66       	sub    $0x66666666,%eax
4088e1:	21 d0                	and    %edx,%eax
4088e3:	c1 e8 02             	shr    $0x2,%eax
4088e6:	31 c8                	xor    %ecx,%eax
4088e8:	89 04 1f             	mov    %eax,(%edi,%ebx,1)
4088eb:	8b 44 1e fc          	mov    -0x4(%esi,%ebx,1),%eax
4088ef:	83 eb 04             	sub    $0x4,%ebx
4088f2:	7d d3                	jge    0x4088c7
4088f4:	5f                   	pop    %edi
4088f5:	5e                   	pop    %esi
4088f6:	5b                   	pop    %ebx
4088f7:	c3                   	ret
4088f8:	5f                   	pop    %edi
4088f9:	5e                   	pop    %esi
4088fa:	5b                   	pop    %ebx
4088fb:	e9 48 be ff ff       	jmp    0x404748
408900:	c3                   	ret
408901:	8d 40 00             	lea    0x0(%eax),%eax
408904:	56                   	push   %esi
408905:	57                   	push   %edi
408906:	89 c6                	mov    %eax,%esi
408908:	89 d7                	mov    %edx,%edi
40890a:	09 c0                	or     %eax,%eax
40890c:	74 03                	je     0x408911
40890e:	8b 40 fc             	mov    -0x4(%eax),%eax
408911:	09 d2                	or     %edx,%edx
408913:	74 03                	je     0x408918
408915:	8b 52 fc             	mov    -0x4(%edx),%edx
408918:	89 c1                	mov    %eax,%ecx
40891a:	39 d1                	cmp    %edx,%ecx
40891c:	76 02                	jbe    0x408920
40891e:	89 d1                	mov    %edx,%ecx
408920:	39 c9                	cmp    %ecx,%ecx
408922:	f3 a6                	repz cmpsb %es:(%edi),%ds:(%esi)
408924:	74 08                	je     0x40892e
408926:	0f b6 46 ff          	movzbl -0x1(%esi),%eax
40892a:	0f b6 57 ff          	movzbl -0x1(%edi),%edx
40892e:	29 d0                	sub    %edx,%eax
408930:	5f                   	pop    %edi
408931:	5e                   	pop    %esi
408932:	c3                   	ret
408933:	90                   	nop
408934:	01 c8                	add    %ecx,%eax
408936:	01 ca                	add    %ecx,%edx
408938:	83 f1 ff             	xor    $0xffffffff,%ecx
40893b:	83 c0 f8             	add    $0xfffffff8,%eax
40893e:	83 c2 f8             	add    $0xfffffff8,%edx
408941:	83 c1 09             	add    $0x9,%ecx
408944:	53                   	push   %ebx
408945:	7f 43                	jg     0x40898a
408947:	8b 1c 01             	mov    (%ecx,%eax,1),%ebx
40894a:	3b 1c 11             	cmp    (%ecx,%edx,1),%ebx
40894d:	75 72                	jne    0x4089c1
40894f:	8d 1c 01             	lea    (%ecx,%eax,1),%ebx
408952:	83 c1 04             	add    $0x4,%ecx
408955:	83 e3 03             	and    $0x3,%ebx
408958:	29 d9                	sub    %ebx,%ecx
40895a:	7f 2e                	jg     0x40898a
40895c:	8b 1c 01             	mov    (%ecx,%eax,1),%ebx
40895f:	3b 1c 11             	cmp    (%ecx,%edx,1),%ebx
408962:	75 5d                	jne    0x4089c1
408964:	8b 5c 01 04          	mov    0x4(%ecx,%eax,1),%ebx
408968:	3b 5c 11 04          	cmp    0x4(%ecx,%edx,1),%ebx
40896c:	75 53                	jne    0x4089c1
40896e:	83 c1 08             	add    $0x8,%ecx
408971:	7f 17                	jg     0x40898a
408973:	8b 1c 01             	mov    (%ecx,%eax,1),%ebx
408976:	3b 1c 11             	cmp    (%ecx,%edx,1),%ebx
408979:	75 46                	jne    0x4089c1
40897b:	8b 5c 01 04          	mov    0x4(%ecx,%eax,1),%ebx
40897f:	3b 5c 11 04          	cmp    0x4(%ecx,%edx,1),%ebx
408983:	75 3c                	jne    0x4089c1
408985:	83 c1 08             	add    $0x8,%ecx
408988:	7e d2                	jle    0x40895c
40898a:	83 f9 04             	cmp    $0x4,%ecx
40898d:	7f 0b                	jg     0x40899a
40898f:	8b 1c 01             	mov    (%ecx,%eax,1),%ebx
408992:	3b 1c 11             	cmp    (%ecx,%edx,1),%ebx
408995:	75 2a                	jne    0x4089c1
408997:	83 c1 04             	add    $0x4,%ecx
40899a:	83 f9 06             	cmp    $0x6,%ecx
40899d:	7f 0d                	jg     0x4089ac
40899f:	0f b7 1c 01          	movzwl (%ecx,%eax,1),%ebx
4089a3:	66 3b 1c 11          	cmp    (%ecx,%edx,1),%bx
4089a7:	75 18                	jne    0x4089c1
4089a9:	83 c1 02             	add    $0x2,%ecx
4089ac:	83 f9 07             	cmp    $0x7,%ecx
4089af:	7f 09                	jg     0x4089ba
4089b1:	0f b6 58 07          	movzbl 0x7(%eax),%ebx
4089b5:	3a 5a 07             	cmp    0x7(%edx),%bl
4089b8:	75 07                	jne    0x4089c1
4089ba:	b8 01 00 00 00       	mov    $0x1,%eax
4089bf:	5b                   	pop    %ebx
4089c0:	c3                   	ret
4089c1:	31 c0                	xor    %eax,%eax
4089c3:	5b                   	pop    %ebx
4089c4:	c3                   	ret
4089c5:	8d 40 00             	lea    0x0(%eax),%eax
4089c8:	85 c0                	test   %eax,%eax
4089ca:	75 0a                	jne    0x4089d6
4089cc:	85 d2                	test   %edx,%edx
4089ce:	74 05                	je     0x4089d5
4089d0:	8b 42 fc             	mov    -0x4(%edx),%eax
4089d3:	f7 d8                	neg    %eax
4089d5:	c3                   	ret
4089d6:	85 d2                	test   %edx,%edx
4089d8:	75 04                	jne    0x4089de
4089da:	8b 40 fc             	mov    -0x4(%eax),%eax
4089dd:	c3                   	ret
4089de:	53                   	push   %ebx
4089df:	55                   	push   %ebp
4089e0:	56                   	push   %esi
4089e1:	8b 68 fc             	mov    -0x4(%eax),%ebp
4089e4:	8b 5a fc             	mov    -0x4(%edx),%ebx
4089e7:	29 dd                	sub    %ebx,%ebp
4089e9:	19 c9                	sbb    %ecx,%ecx
4089eb:	21 e9                	and    %ebp,%ecx
4089ed:	01 d9                	add    %ebx,%ecx
4089ef:	8d 34 01             	lea    (%ecx,%eax,1),%esi
4089f2:	01 ca                	add    %ecx,%edx
4089f4:	f7 d9                	neg    %ecx
4089f6:	74 63                	je     0x408a5b
4089f8:	0f b7 04 31          	movzwl (%ecx,%esi,1),%eax
4089fc:	0f b7 1c 11          	movzwl (%ecx,%edx,1),%ebx
408a00:	39 d8                	cmp    %ebx,%eax
408a02:	74 52                	je     0x408a56
408a04:	38 d8                	cmp    %bl,%al
408a06:	74 2c                	je     0x408a34
408a08:	b4 00                	mov    $0x0,%ah
408a0a:	b7 00                	mov    $0x0,%bh
408a0c:	3c 61                	cmp    $0x61,%al
408a0e:	7c 07                	jl     0x408a17
408a10:	3c 7a                	cmp    $0x7a,%al
408a12:	7f 03                	jg     0x408a17
408a14:	83 e8 20             	sub    $0x20,%eax
408a17:	80 fb 61             	cmp    $0x61,%bl
408a1a:	7c 08                	jl     0x408a24
408a1c:	80 fb 7a             	cmp    $0x7a,%bl
408a1f:	7f 03                	jg     0x408a24
408a21:	83 eb 20             	sub    $0x20,%ebx
408a24:	29 d8                	sub    %ebx,%eax
408a26:	75 35                	jne    0x408a5d
408a28:	0f b7 04 31          	movzwl (%ecx,%esi,1),%eax
408a2c:	0f b7 1c 11          	movzwl (%ecx,%edx,1),%ebx
408a30:	38 fc                	cmp    %bh,%ah
408a32:	74 22                	je     0x408a56
408a34:	c1 e8 08             	shr    $0x8,%eax
408a37:	c1 eb 08             	shr    $0x8,%ebx
408a3a:	3c 61                	cmp    $0x61,%al
408a3c:	7c 07                	jl     0x408a45
408a3e:	3c 7a                	cmp    $0x7a,%al
408a40:	7f 03                	jg     0x408a45
408a42:	83 e8 20             	sub    $0x20,%eax
408a45:	80 fb 61             	cmp    $0x61,%bl
408a48:	7c 08                	jl     0x408a52
408a4a:	80 fb 7a             	cmp    $0x7a,%bl
408a4d:	7f 03                	jg     0x408a52
408a4f:	83 eb 20             	sub    $0x20,%ebx
408a52:	29 d8                	sub    %ebx,%eax
408a54:	75 07                	jne    0x408a5d
408a56:	83 c1 02             	add    $0x2,%ecx
408a59:	7c 9d                	jl     0x4089f8
408a5b:	89 e8                	mov    %ebp,%eax
408a5d:	5e                   	pop    %esi
408a5e:	5d                   	pop    %ebp
408a5f:	5b                   	pop    %ebx
408a60:	c3                   	ret
408a61:	8d 40 00             	lea    0x0(%eax),%eax
408a64:	39 d0                	cmp    %edx,%eax
408a66:	74 19                	je     0x408a81
408a68:	09 c0                	or     %eax,%eax
408a6a:	74 17                	je     0x408a83
408a6c:	09 d2                	or     %edx,%edx
408a6e:	74 14                	je     0x408a84
408a70:	8b 48 fc             	mov    -0x4(%eax),%ecx
408a73:	3b 4a fc             	cmp    -0x4(%edx),%ecx
408a76:	75 0c                	jne    0x408a84
408a78:	e8 4b ff ff ff       	call   0x4089c8
408a7d:	85 c0                	test   %eax,%eax
408a7f:	75 03                	jne    0x408a84
408a81:	b0 01                	mov    $0x1,%al
408a83:	c3                   	ret
408a84:	31 c0                	xor    %eax,%eax
408a86:	c3                   	ret
408a87:	90                   	nop
408a88:	53                   	push   %ebx
408a89:	56                   	push   %esi
408a8a:	57                   	push   %edi
408a8b:	8b fa                	mov    %edx,%edi
408a8d:	8b f0                	mov    %eax,%esi
408a8f:	8b c6                	mov    %esi,%eax
408a91:	85 c0                	test   %eax,%eax
408a93:	74 05                	je     0x408a9a
408a95:	83 e8 04             	sub    $0x4,%eax
408a98:	8b 00                	mov    (%eax),%eax
408a9a:	8b d8                	mov    %eax,%ebx
408a9c:	8b c6                	mov    %esi,%eax
408a9e:	e8 69 c1 ff ff       	call   0x404c0c
408aa3:	8b d0                	mov    %eax,%edx
408aa5:	8b c7                	mov    %edi,%eax
408aa7:	8b cb                	mov    %ebx,%ecx
408aa9:	e8 8a bd ff ff       	call   0x404838
408aae:	85 db                	test   %ebx,%ebx
408ab0:	7e 09                	jle    0x408abb
408ab2:	53                   	push   %ebx
408ab3:	8b 07                	mov    (%edi),%eax
408ab5:	50                   	push   %eax
408ab6:	e8 5d e3 ff ff       	call   0x406e18
408abb:	5f                   	pop    %edi
408abc:	5e                   	pop    %esi
408abd:	5b                   	pop    %ebx
408abe:	c3                   	ret
408abf:	90                   	nop
408ac0:	53                   	push   %ebx
408ac1:	56                   	push   %esi
408ac2:	57                   	push   %edi
408ac3:	8b fa                	mov    %edx,%edi
408ac5:	8b f0                	mov    %eax,%esi
408ac7:	8b c6                	mov    %esi,%eax
408ac9:	85 c0                	test   %eax,%eax
408acb:	74 05                	je     0x408ad2
408acd:	83 e8 04             	sub    $0x4,%eax
408ad0:	8b 00                	mov    (%eax),%eax
408ad2:	8b d8                	mov    %eax,%ebx
408ad4:	8b c6                	mov    %esi,%eax
408ad6:	e8 31 c1 ff ff       	call   0x404c0c
408adb:	8b d0                	mov    %eax,%edx
408add:	8b c7                	mov    %edi,%eax
408adf:	8b cb                	mov    %ebx,%ecx
408ae1:	e8 52 bd ff ff       	call   0x404838
408ae6:	85 db                	test   %ebx,%ebx
408ae8:	7e 09                	jle    0x408af3
408aea:	53                   	push   %ebx
408aeb:	8b 07                	mov    (%edi),%eax
408aed:	50                   	push   %eax
408aee:	e8 0d e3 ff ff       	call   0x406e00
408af3:	5f                   	pop    %edi
408af4:	5e                   	pop    %esi
408af5:	5b                   	pop    %ebx
408af6:	c3                   	ret
408af7:	90                   	nop
408af8:	53                   	push   %ebx
408af9:	56                   	push   %esi
408afa:	57                   	push   %edi
408afb:	55                   	push   %ebp
408afc:	8b ea                	mov    %edx,%ebp
408afe:	8b f8                	mov    %eax,%edi
408b00:	8b df                	mov    %edi,%ebx
408b02:	85 db                	test   %ebx,%ebx
408b04:	74 05                	je     0x408b0b
408b06:	83 eb 04             	sub    $0x4,%ebx
408b09:	8b 1b                	mov    (%ebx),%ebx
408b0b:	8b f5                	mov    %ebp,%esi
408b0d:	85 f6                	test   %esi,%esi
408b0f:	74 05                	je     0x408b16
408b11:	83 ee 04             	sub    $0x4,%esi
408b14:	8b 36                	mov    (%esi),%esi
408b16:	56                   	push   %esi
408b17:	8b c5                	mov    %ebp,%eax
408b19:	e8 ee c0 ff ff       	call   0x404c0c
408b1e:	50                   	push   %eax
408b1f:	53                   	push   %ebx
408b20:	8b c7                	mov    %edi,%eax
408b22:	e8 e5 c0 ff ff       	call   0x404c0c
408b27:	50                   	push   %eax
408b28:	6a 01                	push   $0x1
408b2a:	68 00 04 00 00       	push   $0x400
408b2f:	e8 54 de ff ff       	call   0x406988
408b34:	83 e8 02             	sub    $0x2,%eax
408b37:	5d                   	pop    %ebp
408b38:	5f                   	pop    %edi
408b39:	5e                   	pop    %esi
408b3a:	5b                   	pop    %ebx
408b3b:	c3                   	ret
408b3c:	53                   	push   %ebx
408b3d:	56                   	push   %esi
408b3e:	57                   	push   %edi
408b3f:	8b d9                	mov    %ecx,%ebx
408b41:	8b fa                	mov    %edx,%edi
408b43:	8b f0                	mov    %eax,%esi
408b45:	53                   	push   %ebx
408b46:	57                   	push   %edi
408b47:	53                   	push   %ebx
408b48:	56                   	push   %esi
408b49:	6a 01                	push   $0x1
408b4b:	68 00 04 00 00       	push   $0x400
408b50:	e8 33 de ff ff       	call   0x406988
408b55:	83 e8 02             	sub    $0x2,%eax
408b58:	5f                   	pop    %edi
408b59:	5e                   	pop    %esi
408b5a:	5b                   	pop    %ebx
408b5b:	c3                   	ret
408b5c:	53                   	push   %ebx
408b5d:	56                   	push   %esi
408b5e:	57                   	push   %edi
408b5f:	55                   	push   %ebp
408b60:	8b ea                	mov    %edx,%ebp
408b62:	8b f8                	mov    %eax,%edi
408b64:	8b c7                	mov    %edi,%eax
408b66:	85 c0                	test   %eax,%eax
408b68:	74 05                	je     0x408b6f
408b6a:	83 e8 04             	sub    $0x4,%eax
408b6d:	8b 00                	mov    (%eax),%eax
408b6f:	8b f0                	mov    %eax,%esi
408b71:	bb 01 00 00 00       	mov    $0x1,%ebx
408b76:	eb 01                	jmp    0x408b79
408b78:	43                   	inc    %ebx
408b79:	3b f3                	cmp    %ebx,%esi
408b7b:	7c 07                	jl     0x408b84
408b7d:	80 7c 1f ff 20       	cmpb   $0x20,-0x1(%edi,%ebx,1)
408b82:	76 f4                	jbe    0x408b78
408b84:	3b f3                	cmp    %ebx,%esi
408b86:	7d 0a                	jge    0x408b92
408b88:	8b c5                	mov    %ebp,%eax
408b8a:	e8 b9 bb ff ff       	call   0x404748
408b8f:	eb 17                	jmp    0x408ba8
408b91:	4e                   	dec    %esi
408b92:	80 7c 37 ff 20       	cmpb   $0x20,-0x1(%edi,%esi,1)
408b97:	76 f8                	jbe    0x408b91
408b99:	55                   	push   %ebp
408b9a:	8b ce                	mov    %esi,%ecx
408b9c:	2b cb                	sub    %ebx,%ecx
408b9e:	41                   	inc    %ecx
408b9f:	8b d3                	mov    %ebx,%edx
408ba1:	8b c7                	mov    %edi,%eax
408ba3:	e8 c4 c0 ff ff       	call   0x404c6c
408ba8:	5d                   	pop    %ebp
408ba9:	5f                   	pop    %edi