410b01:	8b 5e 14             	mov    0x14(%esi),%ebx
410b04:	8b 4d e8             	mov    -0x18(%ebp),%ecx
410b07:	8b be 48 04 00 00    	mov    0x448(%esi),%edi
410b0d:	8b 47 08             	mov    0x8(%edi),%eax
410b10:	3b 47 04             	cmp    0x4(%edi),%eax
410b13:	75 11                	jne    0x410b26
410b15:	80 7f 0c 00          	cmpb   $0x0,0xc(%edi)
410b19:	74 03                	je     0x410b1e
410b1b:	43                   	inc    %ebx
410b1c:	eb 03                	jmp    0x410b21
410b1e:	83 cb ff             	or     $0xffffffff,%ebx
410b21:	89 5e 14             	mov    %ebx,0x14(%esi)
410b24:	eb 1c                	jmp    0x410b42
410b26:	8d 43 01             	lea    0x1(%ebx),%eax
410b29:	89 46 14             	mov    %eax,0x14(%esi)
410b2c:	ff 47 08             	incl   0x8(%edi)
410b2f:	8b 86 48 04 00 00    	mov    0x448(%esi),%eax
410b35:	8b 00                	mov    (%eax),%eax
410b37:	c6 00 20             	movb   $0x20,(%eax)
410b3a:	8b 86 48 04 00 00    	mov    0x448(%esi),%eax
410b40:	ff 00                	incl   (%eax)
410b42:	8b 5e 14             	mov    0x14(%esi),%ebx
410b45:	83 fb ff             	cmp    $0xffffffff,%ebx
410b48:	74 05                	je     0x410b4f
410b4a:	41                   	inc    %ecx
410b4b:	3b ca                	cmp    %edx,%ecx
410b4d:	7c b8                	jl     0x410b07
410b4f:	8b 4d ec             	mov    -0x14(%ebp),%ecx
410b52:	33 db                	xor    %ebx,%ebx
410b54:	ff 76 08             	push   0x8(%esi)
410b57:	8d 7e 14             	lea    0x14(%esi),%edi
410b5a:	57                   	push   %edi
410b5b:	51                   	push   %ecx
410b5c:	8d 86 48 04 00 00    	lea    0x448(%esi),%eax
410b62:	8d 4d f0             	lea    -0x10(%ebp),%ecx
410b65:	89 45 e8             	mov    %eax,-0x18(%ebp)
410b68:	51                   	push   %ecx
410b69:	8b c8                	mov    %eax,%ecx
410b6b:	e8 3e 0f 00 00       	call   0x411aae
410b70:	8b 4e 1c             	mov    0x1c(%esi),%ecx
410b73:	8d 96 48 04 00 00    	lea    0x448(%esi),%edx
410b79:	8b c1                	mov    %ecx,%eax
410b7b:	c1 e8 03             	shr    $0x3,%eax
410b7e:	a8 01                	test   $0x1,%al
410b80:	74 57                	je     0x410bd9
410b82:	c1 e9 02             	shr    $0x2,%ecx
410b85:	f6 c1 01             	test   $0x1,%cl
410b88:	75 4f                	jne    0x410bd9
410b8a:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
410b8d:	89 5d f0             	mov    %ebx,-0x10(%ebp)
410b90:	85 c9                	test   %ecx,%ecx
410b92:	7e 45                	jle    0x410bd9
410b94:	8b 02                	mov    (%edx),%eax
410b96:	89 45 ec             	mov    %eax,-0x14(%ebp)
410b99:	8b d8                	mov    %eax,%ebx
410b9b:	8b 40 08             	mov    0x8(%eax),%eax
410b9e:	3b 43 04             	cmp    0x4(%ebx),%eax
410ba1:	8b c3                	mov    %ebx,%eax
410ba3:	75 12                	jne    0x410bb7
410ba5:	80 78 0c 00          	cmpb   $0x0,0xc(%eax)
410ba9:	74 05                	je     0x410bb0
410bab:	8b 07                	mov    (%edi),%eax
410bad:	40                   	inc    %eax
410bae:	eb 03                	jmp    0x410bb3
410bb0:	83 c8 ff             	or     $0xffffffff,%eax
410bb3:	89 07                	mov    %eax,(%edi)
410bb5:	eb 10                	jmp    0x410bc7
410bb7:	ff 07                	incl   (%edi)
410bb9:	ff 40 08             	incl   0x8(%eax)
410bbc:	8b 02                	mov    (%edx),%eax
410bbe:	8b 00                	mov    (%eax),%eax
410bc0:	c6 00 30             	movb   $0x30,(%eax)
410bc3:	8b 02                	mov    (%edx),%eax
410bc5:	ff 00                	incl   (%eax)
410bc7:	83 3f ff             	cmpl   $0xffffffff,(%edi)
410bca:	74 0b                	je     0x410bd7
410bcc:	8b 45 f0             	mov    -0x10(%ebp),%eax
410bcf:	40                   	inc    %eax
410bd0:	89 45 f0             	mov    %eax,-0x10(%ebp)
410bd3:	3b c1                	cmp    %ecx,%eax
410bd5:	7c bd                	jl     0x410b94
410bd7:	33 db                	xor    %ebx,%ebx
410bd9:	80 7e 38 00          	cmpb   $0x0,0x38(%esi)
410bdd:	74 62                	je     0x410c41
410bdf:	39 5e 34             	cmp    %ebx,0x34(%esi)
410be2:	7e 5d                	jle    0x410c41
410be4:	8b 4e 30             	mov    0x30(%esi),%ecx
410be7:	89 5d f0             	mov    %ebx,-0x10(%ebp)
410bea:	ff 76 08             	push   0x8(%esi)
410bed:	0f b7 01             	movzwl (%ecx),%eax
410bf0:	83 c1 02             	add    $0x2,%ecx
410bf3:	50                   	push   %eax
410bf4:	6a 06                	push   $0x6
410bf6:	8d 45 f4             	lea    -0xc(%ebp),%eax
410bf9:	89 5d ec             	mov    %ebx,-0x14(%ebp)
410bfc:	50                   	push   %eax
410bfd:	8d 45 ec             	lea    -0x14(%ebp),%eax
410c00:	89 4d e0             	mov    %ecx,-0x20(%ebp)
410c03:	50                   	push   %eax
410c04:	e8 62 c9 00 00       	call   0x41d56b
410c09:	83 c4 14             	add    $0x14,%esp
410c0c:	85 c0                	test   %eax,%eax
410c0e:	75 2c                	jne    0x410c3c
410c10:	39 45 ec             	cmp    %eax,-0x14(%ebp)
410c13:	74 27                	je     0x410c3c
410c15:	ff 76 08             	push   0x8(%esi)
410c18:	8d 45 f4             	lea    -0xc(%ebp),%eax
410c1b:	57                   	push   %edi
410c1c:	ff 75 ec             	push   -0x14(%ebp)
410c1f:	8d 8e 48 04 00 00    	lea    0x448(%esi),%ecx
410c25:	50                   	push   %eax
410c26:	e8 83 0e 00 00       	call   0x411aae
410c2b:	8b 45 f0             	mov    -0x10(%ebp),%eax
410c2e:	8b 4d e0             	mov    -0x20(%ebp),%ecx
410c31:	40                   	inc    %eax
410c32:	89 45 f0             	mov    %eax,-0x10(%ebp)
410c35:	3b 46 34             	cmp    0x34(%esi),%eax
410c38:	75 b0                	jne    0x410bea
410c3a:	eb 16                	jmp    0x410c52
410c3c:	83 0f ff             	orl    $0xffffffff,(%edi)
410c3f:	eb 11                	jmp    0x410c52
410c41:	ff 76 08             	push   0x8(%esi)
410c44:	8b ca                	mov    %edx,%ecx
410c46:	57                   	push   %edi
410c47:	ff 76 34             	push   0x34(%esi)
410c4a:	ff 76 30             	push   0x30(%esi)
410c4d:	e8 5c 0e 00 00       	call   0x411aae
410c52:	8b 0f                	mov    (%edi),%ecx
410c54:	85 c9                	test   %ecx,%ecx
410c56:	78 50                	js     0x410ca8
410c58:	8b 46 1c             	mov    0x1c(%esi),%eax
410c5b:	c1 e8 02             	shr    $0x2,%eax
410c5e:	a8 01                	test   $0x1,%al
410c60:	74 46                	je     0x410ca8
410c62:	8b 75 e4             	mov    -0x1c(%ebp),%esi
410c65:	85 f6                	test   %esi,%esi
410c67:	7e 3f                	jle    0x410ca8
410c69:	8b 45 e8             	mov    -0x18(%ebp),%eax
410c6c:	8b 10                	mov    (%eax),%edx
410c6e:	8b 42 08             	mov    0x8(%edx),%eax
410c71:	3b 42 04             	cmp    0x4(%edx),%eax
410c74:	75 10                	jne    0x410c86
410c76:	80 7a 0c 00          	cmpb   $0x0,0xc(%edx)
410c7a:	74 03                	je     0x410c7f
410c7c:	41                   	inc    %ecx
410c7d:	eb 03                	jmp    0x410c82
410c7f:	83 c9 ff             	or     $0xffffffff,%ecx
410c82:	89 0f                	mov    %ecx,(%edi)
410c84:	eb 16                	jmp    0x410c9c
410c86:	8d 41 01             	lea    0x1(%ecx),%eax
410c89:	8b 4d e8             	mov    -0x18(%ebp),%ecx
410c8c:	89 07                	mov    %eax,(%edi)
410c8e:	ff 42 08             	incl   0x8(%edx)
410c91:	8b 01                	mov    (%ecx),%eax
410c93:	8b 00                	mov    (%eax),%eax
410c95:	c6 00 20             	movb   $0x20,(%eax)
410c98:	8b 01                	mov    (%ecx),%eax
410c9a:	ff 00                	incl   (%eax)
410c9c:	8b 0f                	mov    (%edi),%ecx
410c9e:	83 f9 ff             	cmp    $0xffffffff,%ecx
410ca1:	74 05                	je     0x410ca8
410ca3:	43                   	inc    %ebx
410ca4:	3b de                	cmp    %esi,%ebx
410ca6:	7c c1                	jl     0x410c69
410ca8:	b0 01                	mov    $0x1,%al
410caa:	8b 4d fc             	mov    -0x4(%ebp),%ecx
410cad:	5f                   	pop    %edi
410cae:	5e                   	pop    %esi
410caf:	33 cd                	xor    %ebp,%ecx
410cb1:	5b                   	pop    %ebx
410cb2:	e8 f0 8f ff ff       	call   0x409ca7
410cb7:	c9                   	leave
410cb8:	c3                   	ret
410cb9:	8b ff                	mov    %edi,%edi
410cbb:	55                   	push   %ebp
410cbc:	8b ec                	mov    %esp,%ebp
410cbe:	83 ec 28             	sub    $0x28,%esp
410cc1:	a1 c0 d0 43 00       	mov    0x43d0c0,%eax
410cc6:	33 c5                	xor    %ebp,%eax
410cc8:	89 45 fc             	mov    %eax,-0x4(%ebp)
410ccb:	53                   	push   %ebx
410ccc:	56                   	push   %esi
410ccd:	57                   	push   %edi
410cce:	6a 41                	push   $0x41
410cd0:	5f                   	pop    %edi
410cd1:	8b f1                	mov    %ecx,%esi
410cd3:	89 7d ec             	mov    %edi,-0x14(%ebp)
410cd6:	6a 02                	push   $0x2
410cd8:	59                   	pop    %ecx
410cd9:	33 db                	xor    %ebx,%ebx
410cdb:	0f b7 46 2e          	movzwl 0x2e(%esi),%eax
410cdf:	6a 58                	push   $0x58
410ce1:	5a                   	pop    %edx
410ce2:	83 f8 64             	cmp    $0x64,%eax
410ce5:	77 6a                	ja     0x410d51
410ce7:	0f 84 8c 00 00 00    	je     0x410d79
410ced:	83 f8 53             	cmp    $0x53,%eax
410cf0:	77 2c                	ja     0x410d1e
410cf2:	0f 84 ae 00 00 00    	je     0x410da6
410cf8:	2b c7                	sub    %edi,%eax
410cfa:	74 16                	je     0x410d12
410cfc:	2b c1                	sub    %ecx,%eax
410cfe:	74 33                	je     0x410d33
410d00:	2b c1                	sub    %ecx,%eax
410d02:	74 0e                	je     0x410d12
410d04:	83 e8 01             	sub    $0x1,%eax
410d07:	74 09                	je     0x410d12
410d09:	83 e8 01             	sub    $0x1,%eax
410d0c:	0f 85 a8 00 00 00    	jne    0x410dba
410d12:	8b ce                	mov    %esi,%ecx
410d14:	e8 3f 06 00 00       	call   0x411358
410d19:	e9 98 00 00 00       	jmp    0x410db6
410d1e:	2b c2                	sub    %edx,%eax
410d20:	74 24                	je     0x410d46
410d22:	2b c1                	sub    %ecx,%eax
410d24:	74 17                	je     0x410d3d
410d26:	83 e8 07             	sub    $0x7,%eax
410d29:	74 e7                	je     0x410d12
410d2b:	2b c1                	sub    %ecx,%eax
410d2d:	0f 85 87 00 00 00    	jne    0x410dba
410d33:	53                   	push   %ebx
410d34:	8b ce                	mov    %esi,%ecx
410d36:	e8 59 08 00 00       	call   0x411594
410d3b:	eb 79                	jmp    0x410db6
410d3d:	8b ce                	mov    %esi,%ecx
410d3f:	e8 20 04 00 00       	call   0x411164
410d44:	eb 70                	jmp    0x410db6
410d46:	6a 01                	push   $0x1
410d48:	8b ce                	mov    %esi,%ecx
410d4a:	e8 6c de ff ff       	call   0x40ebbb
410d4f:	eb 65                	jmp    0x410db6
410d51:	83 f8 6f             	cmp    $0x6f,%eax
410d54:	77 3a                	ja     0x410d90
410d56:	74 2f                	je     0x410d87
410d58:	83 e8 65             	sub    $0x65,%eax
410d5b:	74 b5                	je     0x410d12
410d5d:	83 e8 01             	sub    $0x1,%eax
410d60:	74 b0                	je     0x410d12
410d62:	83 e8 01             	sub    $0x1,%eax
410d65:	74 ab                	je     0x410d12
410d67:	2b c1                	sub    %ecx,%eax
410d69:	74 0e                	je     0x410d79
410d6b:	83 e8 05             	sub    $0x5,%eax
410d6e:	75 4a                	jne    0x410dba
410d70:	8b ce                	mov    %esi,%ecx
410d72:	e8 c5 08 00 00       	call   0x41163c
410d77:	eb 3d                	jmp    0x410db6
410d79:	83 4e 1c 10          	orl    $0x10,0x1c(%esi)
410d7d:	53                   	push   %ebx
410d7e:	8b ce                	mov    %esi,%ecx
410d80:	e8 17 db ff ff       	call   0x40e89c
410d85:	eb 2f                	jmp    0x410db6
410d87:	8b ce                	mov    %esi,%ecx
410d89:	e8 50 09 00 00       	call   0x4116de
410d8e:	eb 26                	jmp    0x410db6
410d90:	83 e8 70             	sub    $0x70,%eax
410d93:	74 1a                	je     0x410daf
410d95:	83 e8 03             	sub    $0x3,%eax
410d98:	74 0c                	je     0x410da6
410d9a:	2b c1                	sub    %ecx,%eax
410d9c:	74 df                	je     0x410d7d
410d9e:	83 e8 03             	sub    $0x3,%eax
410da1:	75 17                	jne    0x410dba
410da3:	53                   	push   %ebx
410da4:	eb a2                	jmp    0x410d48
410da6:	8b ce                	mov    %esi,%ecx
410da8:	e8 ec 09 00 00       	call   0x411799
410dad:	eb 07                	jmp    0x410db6
410daf:	8b ce                	mov    %esi,%ecx
410db1:	e8 5b 09 00 00       	call   0x411711
410db6:	84 c0                	test   %al,%al
410db8:	75 07                	jne    0x410dc1
410dba:	32 c0                	xor    %al,%al
410dbc:	e9 dd 02 00 00       	jmp    0x41109e
410dc1:	38 5e 2c             	cmp    %bl,0x2c(%esi)
410dc4:	0f 85 d2 02 00 00    	jne    0x41109c
410dca:	8b 46 1c             	mov    0x1c(%esi),%eax
410dcd:	33 d2                	xor    %edx,%edx
410dcf:	c1 e8 04             	shr    $0x4,%eax
410dd2:	42                   	inc    %edx
410dd3:	89 5d f4             	mov    %ebx,-0xc(%ebp)
410dd6:	8b cb                	mov    %ebx,%ecx
410dd8:	66 89 5d f8          	mov    %bx,-0x8(%ebp)
410ddc:	89 4d f0             	mov    %ecx,-0x10(%ebp)
410ddf:	6a 20                	push   $0x20
410de1:	5f                   	pop    %edi
410de2:	84 c2                	test   %al,%dl
410de4:	74 33                	je     0x410e19
410de6:	8b 46 1c             	mov    0x1c(%esi),%eax
410de9:	c1 e8 06             	shr    $0x6,%eax
410dec:	84 c2                	test   %al,%dl
410dee:	74 04                	je     0x410df4
410df0:	6a 2d                	push   $0x2d
410df2:	eb 07                	jmp    0x410dfb
410df4:	84 56 1c             	test   %dl,0x1c(%esi)
410df7:	74 0e                	je     0x410e07
410df9:	6a 2b                	push   $0x2b
410dfb:	58                   	pop    %eax
410dfc:	8b ca                	mov    %edx,%ecx
410dfe:	66 89 45 f4          	mov    %ax,-0xc(%ebp)
410e02:	89 4d f0             	mov    %ecx,-0x10(%ebp)
410e05:	eb 12                	jmp    0x410e19
410e07:	8b 46 1c             	mov    0x1c(%esi),%eax
410e0a:	d1 e8                	shr    $1,%eax
410e0c:	84 c2                	test   %al,%dl
410e0e:	74 09                	je     0x410e19
410e10:	66 89 7d f4          	mov    %di,-0xc(%ebp)
410e14:	8b ca                	mov    %edx,%ecx
410e16:	89 55 f0             	mov    %edx,-0x10(%ebp)
410e19:	0f b7 56 2e          	movzwl 0x2e(%esi),%edx
410e1d:	6a 78                	push   $0x78
410e1f:	5f                   	pop    %edi
410e20:	66 3b d7             	cmp    %di,%dx
410e23:	74 08                	je     0x410e2d
410e25:	6a 58                	push   $0x58
410e27:	58                   	pop    %eax
410e28:	66 3b d0             	cmp    %ax,%dx
410e2b:	75 0c                	jne    0x410e39
410e2d:	8b 46 1c             	mov    0x1c(%esi),%eax
410e30:	c1 e8 05             	shr    $0x5,%eax
410e33:	b4 01                	mov    $0x1,%ah
410e35:	a8 01                	test   $0x1,%al
410e37:	75 02                	jne    0x410e3b
410e39:	8a e3                	mov    %bl,%ah
410e3b:	83 fa 61             	cmp    $0x61,%edx
410e3e:	74 08                	je     0x410e48
410e40:	8a c3                	mov    %bl,%al
410e42:	66 3b 55 ec          	cmp    -0x14(%ebp),%dx
410e46:	75 02                	jne    0x410e4a
410e48:	b0 01                	mov    $0x1,%al
410e4a:	c7 45 e8 30 00 00 00 	movl   $0x30,-0x18(%ebp)
410e51:	84 e4                	test   %ah,%ah
410e53:	75 04                	jne    0x410e59
410e55:	84 c0                	test   %al,%al
410e57:	74 23                	je     0x410e7c
410e59:	8b 45 e8             	mov    -0x18(%ebp),%eax
410e5c:	6a 58                	push   $0x58
410e5e:	66 89 44 4d f4       	mov    %ax,-0xc(%ebp,%ecx,2)
410e63:	58                   	pop    %eax
410e64:	66 3b d0             	cmp    %ax,%dx
410e67:	74 06                	je     0x410e6f
410e69:	66 3b 55 ec          	cmp    -0x14(%ebp),%dx
410e6d:	75 02                	jne    0x410e71
410e6f:	8b f8                	mov    %eax,%edi
410e71:	66 89 7c 4d f6       	mov    %di,-0xa(%ebp,%ecx,2)
410e76:	83 c1 02             	add    $0x2,%ecx
410e79:	89 4d f0             	mov    %ecx,-0x10(%ebp)
410e7c:	8b 56 20             	mov    0x20(%esi),%edx
410e7f:	2b 56 34             	sub    0x34(%esi),%edx
410e82:	2b d1                	sub    %ecx,%edx