423be1:	89 45 e4             	mov    %eax,-0x1c(%ebp)
423be4:	51                   	push   %ecx
423be5:	8b c8                	mov    %eax,%ecx
423be7:	e8 c2 0a 00 00       	call   0x4246ae
423bec:	8b 4e 1c             	mov    0x1c(%esi),%ecx
423bef:	8d 96 48 04 00 00    	lea    0x448(%esi),%edx
423bf5:	8b c1                	mov    %ecx,%eax
423bf7:	c1 e8 03             	shr    $0x3,%eax
423bfa:	a8 01                	test   $0x1,%al
423bfc:	74 5b                	je     0x423c59
423bfe:	c1 e9 02             	shr    $0x2,%ecx
423c01:	f6 c1 01             	test   $0x1,%cl
423c04:	75 53                	jne    0x423c59
423c06:	8b 4d dc             	mov    -0x24(%ebp),%ecx
423c09:	89 5d ec             	mov    %ebx,-0x14(%ebp)
423c0c:	85 c9                	test   %ecx,%ecx
423c0e:	7e 49                	jle    0x423c59
423c10:	8b 02                	mov    (%edx),%eax
423c12:	89 45 f0             	mov    %eax,-0x10(%ebp)
423c15:	8b d8                	mov    %eax,%ebx
423c17:	8b 40 08             	mov    0x8(%eax),%eax
423c1a:	3b 43 04             	cmp    0x4(%ebx),%eax
423c1d:	8b c3                	mov    %ebx,%eax
423c1f:	75 12                	jne    0x423c33
423c21:	80 78 0c 00          	cmpb   $0x0,0xc(%eax)
423c25:	74 05                	je     0x423c2c
423c27:	8b 07                	mov    (%edi),%eax
423c29:	40                   	inc    %eax
423c2a:	eb 03                	jmp    0x423c2f
423c2c:	83 c8 ff             	or     $0xffffffff,%eax
423c2f:	89 07                	mov    %eax,(%edi)
423c31:	eb 14                	jmp    0x423c47
423c33:	ff 07                	incl   (%edi)
423c35:	ff 40 08             	incl   0x8(%eax)
423c38:	8b 02                	mov    (%edx),%eax
423c3a:	8b 5d e8             	mov    -0x18(%ebp),%ebx
423c3d:	8b 00                	mov    (%eax),%eax
423c3f:	66 89 18             	mov    %bx,(%eax)
423c42:	8b 02                	mov    (%edx),%eax
423c44:	83 00 02             	addl   $0x2,(%eax)
423c47:	83 3f ff             	cmpl   $0xffffffff,(%edi)
423c4a:	74 0b                	je     0x423c57
423c4c:	8b 45 ec             	mov    -0x14(%ebp),%eax
423c4f:	40                   	inc    %eax
423c50:	89 45 ec             	mov    %eax,-0x14(%ebp)
423c53:	3b c1                	cmp    %ecx,%eax
423c55:	7c b9                	jl     0x423c10
423c57:	33 db                	xor    %ebx,%ebx
423c59:	80 7e 38 00          	cmpb   $0x0,0x38(%esi)
423c5d:	0f 85 ad 00 00 00    	jne    0x423d10
423c63:	39 5e 34             	cmp    %ebx,0x34(%esi)
423c66:	0f 8e a4 00 00 00    	jle    0x423d10
423c6c:	8b 46 08             	mov    0x8(%esi),%eax
423c6f:	89 45 e0             	mov    %eax,-0x20(%ebp)
423c72:	80 78 14 00          	cmpb   $0x0,0x14(%eax)
423c76:	75 0a                	jne    0x423c82
423c78:	8b c8                	mov    %eax,%ecx
423c7a:	e8 21 09 00 00       	call   0x4245a0
423c7f:	8b 45 e0             	mov    -0x20(%ebp),%eax
423c82:	8b 4e 30             	mov    0x30(%esi),%ecx
423c85:	89 4d e8             	mov    %ecx,-0x18(%ebp)
423c88:	89 5d ec             	mov    %ebx,-0x14(%ebp)
423c8b:	39 5e 34             	cmp    %ebx,0x34(%esi)
423c8e:	0f 84 8d 00 00 00    	je     0x423d21
423c94:	8b 40 0c             	mov    0xc(%eax),%eax
423c97:	33 d2                	xor    %edx,%edx
423c99:	ff 76 08             	push   0x8(%esi)
423c9c:	66 89 55 f0          	mov    %dx,-0x10(%ebp)
423ca0:	ff 70 04             	push   0x4(%eax)
423ca3:	8d 45 f0             	lea    -0x10(%ebp),%eax
423ca6:	51                   	push   %ecx
423ca7:	50                   	push   %eax
423ca8:	e8 d1 95 00 00       	call   0x42d27e
423cad:	83 c4 10             	add    $0x10,%esp
423cb0:	89 45 f4             	mov    %eax,-0xc(%ebp)
423cb3:	8d 96 48 04 00 00    	lea    0x448(%esi),%edx
423cb9:	85 c0                	test   %eax,%eax
423cbb:	7e 4e                	jle    0x423d0b
423cbd:	8b 0a                	mov    (%edx),%ecx
423cbf:	0f b7 45 f0          	movzwl -0x10(%ebp),%eax
423cc3:	89 45 d8             	mov    %eax,-0x28(%ebp)
423cc6:	8b 41 08             	mov    0x8(%ecx),%eax
423cc9:	3b 41 04             	cmp    0x4(%ecx),%eax
423ccc:	75 0f                	jne    0x423cdd
423cce:	80 79 0c 00          	cmpb   $0x0,0xc(%ecx)
423cd2:	74 04                	je     0x423cd8
423cd4:	ff 07                	incl   (%edi)
423cd6:	eb 19                	jmp    0x423cf1
423cd8:	83 0f ff             	orl    $0xffffffff,(%edi)
423cdb:	eb 14                	jmp    0x423cf1
423cdd:	ff 07                	incl   (%edi)
423cdf:	ff 41 08             	incl   0x8(%ecx)
423ce2:	8b 02                	mov    (%edx),%eax
423ce4:	8b 4d d8             	mov    -0x28(%ebp),%ecx
423ce7:	8b 00                	mov    (%eax),%eax
423ce9:	66 89 08             	mov    %cx,(%eax)
423cec:	8b 02                	mov    (%edx),%eax
423cee:	83 00 02             	addl   $0x2,(%eax)
423cf1:	8b 4d e8             	mov    -0x18(%ebp),%ecx
423cf4:	03 4d f4             	add    -0xc(%ebp),%ecx
423cf7:	8b 45 ec             	mov    -0x14(%ebp),%eax
423cfa:	40                   	inc    %eax
423cfb:	89 4d e8             	mov    %ecx,-0x18(%ebp)
423cfe:	3b 46 34             	cmp    0x34(%esi),%eax
423d01:	89 45 ec             	mov    %eax,-0x14(%ebp)
423d04:	8b 45 e0             	mov    -0x20(%ebp),%eax
423d07:	75 8b                	jne    0x423c94
423d09:	eb 1c                	jmp    0x423d27
423d0b:	83 0f ff             	orl    $0xffffffff,(%edi)
423d0e:	eb 17                	jmp    0x423d27
423d10:	ff 76 08             	push   0x8(%esi)
423d13:	8b ca                	mov    %edx,%ecx
423d15:	57                   	push   %edi
423d16:	ff 76 34             	push   0x34(%esi)
423d19:	ff 76 30             	push   0x30(%esi)
423d1c:	e8 8d 09 00 00       	call   0x4246ae
423d21:	8d 96 48 04 00 00    	lea    0x448(%esi),%edx
423d27:	8b 0f                	mov    (%edi),%ecx
423d29:	85 c9                	test   %ecx,%ecx
423d2b:	78 54                	js     0x423d81
423d2d:	8b 46 1c             	mov    0x1c(%esi),%eax
423d30:	c1 e8 02             	shr    $0x2,%eax
423d33:	a8 01                	test   $0x1,%al
423d35:	74 4a                	je     0x423d81
423d37:	8b 75 dc             	mov    -0x24(%ebp),%esi
423d3a:	85 f6                	test   %esi,%esi
423d3c:	7e 43                	jle    0x423d81
423d3e:	8b 12                	mov    (%edx),%edx
423d40:	8b 42 08             	mov    0x8(%edx),%eax
423d43:	3b 42 04             	cmp    0x4(%edx),%eax
423d46:	75 13                	jne    0x423d5b
423d48:	80 7a 0c 00          	cmpb   $0x0,0xc(%edx)
423d4c:	74 03                	je     0x423d51
423d4e:	41                   	inc    %ecx
423d4f:	eb 03                	jmp    0x423d54
423d51:	83 c9 ff             	or     $0xffffffff,%ecx
423d54:	8b 55 e4             	mov    -0x1c(%ebp),%edx
423d57:	89 0f                	mov    %ecx,(%edi)
423d59:	eb 1a                	jmp    0x423d75
423d5b:	8d 41 01             	lea    0x1(%ecx),%eax
423d5e:	89 07                	mov    %eax,(%edi)
423d60:	ff 42 08             	incl   0x8(%edx)
423d63:	8b 55 e4             	mov    -0x1c(%ebp),%edx
423d66:	6a 20                	push   $0x20
423d68:	59                   	pop    %ecx
423d69:	8b 02                	mov    (%edx),%eax
423d6b:	8b 00                	mov    (%eax),%eax
423d6d:	66 89 08             	mov    %cx,(%eax)
423d70:	8b 02                	mov    (%edx),%eax
423d72:	83 00 02             	addl   $0x2,(%eax)
423d75:	8b 0f                	mov    (%edi),%ecx
423d77:	83 f9 ff             	cmp    $0xffffffff,%ecx
423d7a:	74 05                	je     0x423d81
423d7c:	43                   	inc    %ebx
423d7d:	3b de                	cmp    %esi,%ebx
423d7f:	7c bd                	jl     0x423d3e
423d81:	b0 01                	mov    $0x1,%al
423d83:	8b 4d fc             	mov    -0x4(%ebp),%ecx
423d86:	5f                   	pop    %edi
423d87:	5e                   	pop    %esi
423d88:	33 cd                	xor    %ebp,%ecx
423d8a:	5b                   	pop    %ebx
423d8b:	e8 40 7b ff ff       	call   0x41b8d0
423d90:	c9                   	leave
423d91:	c3                   	ret
423d92:	8b ff                	mov    %edi,%edi
423d94:	55                   	push   %ebp
423d95:	8b ec                	mov    %esp,%ebp
423d97:	8b 45 08             	mov    0x8(%ebp),%eax
423d9a:	83 f8 0b             	cmp    $0xb,%eax
423d9d:	77 20                	ja     0x423dbf
423d9f:	0f b6 80 da 3d 42 00 	movzbl 0x423dda(%eax),%eax
423da6:	ff 24 85 c6 3d 42 00 	jmp    *0x423dc6(,%eax,4)
423dad:	33 c0                	xor    %eax,%eax
423daf:	40                   	inc    %eax
423db0:	5d                   	pop    %ebp
423db1:	c3                   	ret
423db2:	6a 02                	push   $0x2
423db4:	58                   	pop    %eax
423db5:	5d                   	pop    %ebp
423db6:	c3                   	ret
423db7:	6a 04                	push   $0x4
423db9:	eb f9                	jmp    0x423db4
423dbb:	6a 08                	push   $0x8
423dbd:	eb f5                	jmp    0x423db4
423dbf:	33 c0                	xor    %eax,%eax
423dc1:	5d                   	pop    %ebp
423dc2:	c3                   	ret
423dc3:	8d 49 00             	lea    0x0(%ecx),%ecx
423dc6:	b7 3d                	mov    $0x3d,%bh
423dc8:	42                   	inc    %edx
423dc9:	00 ad 3d 42 00 b2    	add    %ch,-0x4dffbdc3(%ebp)
423dcf:	3d 42 00 bb 3d       	cmp    $0x3dbb0042,%eax
423dd4:	42                   	inc    %edx
423dd5:	00 bf 3d 42 00 00    	add    %bh,0x423d(%edi)
423ddb:	01 02                	add    %eax,(%edx)
423ddd:	00 03                	add    %al,(%ebx)
423ddf:	03 00                	add    (%eax),%eax
423de1:	00 04 00             	add    %al,(%eax,%eax,1)
423de4:	00 03                	add    %al,(%ebx)
423de6:	8b ff                	mov    %edi,%edi
423de8:	53                   	push   %ebx
423de9:	56                   	push   %esi
423dea:	8b f1                	mov    %ecx,%esi
423dec:	57                   	push   %edi
423ded:	8b 56 10             	mov    0x10(%esi),%edx
423df0:	8d 42 04             	lea    0x4(%edx),%eax
423df3:	89 46 10             	mov    %eax,0x10(%esi)
423df6:	8b 3a                	mov    (%edx),%edi
423df8:	85 ff                	test   %edi,%edi
423dfa:	74 33                	je     0x423e2f
423dfc:	8b 5f 04             	mov    0x4(%edi),%ebx
423dff:	85 db                	test   %ebx,%ebx
423e01:	74 2c                	je     0x423e2f
423e03:	ff 76 28             	push   0x28(%esi)
423e06:	0f b6 46 2d          	movzbl 0x2d(%esi),%eax
423e0a:	50                   	push   %eax
423e0b:	ff 76 04             	push   0x4(%esi)
423e0e:	ff 36                	push   (%esi)
423e10:	e8 71 d4 ff ff       	call   0x421286
423e15:	83 c4 10             	add    $0x10,%esp
423e18:	89 5e 30             	mov    %ebx,0x30(%esi)
423e1b:	0f b7 0f             	movzwl (%edi),%ecx
423e1e:	84 c0                	test   %al,%al
423e20:	8b c1                	mov    %ecx,%eax
423e22:	6a 34                	push   $0x34
423e24:	59                   	pop    %ecx
423e25:	74 15                	je     0x423e3c
423e27:	c6 46 38 01          	movb   $0x1,0x38(%esi)
423e2b:	d1 e8                	shr    $1,%eax
423e2d:	eb 11                	jmp    0x423e40
423e2f:	6a 06                	push   $0x6
423e31:	58                   	pop    %eax
423e32:	6a 34                	push   $0x34
423e34:	c7 46 30 98 13 44 00 	movl   $0x441398,0x30(%esi)
423e3b:	59                   	pop    %ecx
423e3c:	c6 46 38 00          	movb   $0x0,0x38(%esi)
423e40:	5f                   	pop    %edi
423e41:	89 04 0e             	mov    %eax,(%esi,%ecx,1)
423e44:	b0 01                	mov    $0x1,%al
423e46:	5e                   	pop    %esi
423e47:	5b                   	pop    %ebx
423e48:	c3                   	ret
423e49:	8b ff                	mov    %edi,%edi
423e4b:	53                   	push   %ebx
423e4c:	56                   	push   %esi
423e4d:	8b f1                	mov    %ecx,%esi
423e4f:	57                   	push   %edi
423e50:	8b 56 10             	mov    0x10(%esi),%edx
423e53:	8d 42 04             	lea    0x4(%edx),%eax
423e56:	89 46 10             	mov    %eax,0x10(%esi)
423e59:	8b 3a                	mov    (%edx),%edi
423e5b:	85 ff                	test   %edi,%edi
423e5d:	74 33                	je     0x423e92
423e5f:	8b 5f 04             	mov    0x4(%edi),%ebx
423e62:	85 db                	test   %ebx,%ebx
423e64:	74 2c                	je     0x423e92
423e66:	ff 76 28             	push   0x28(%esi)
423e69:	0f b7 46 2e          	movzwl 0x2e(%esi),%eax
423e6d:	50                   	push   %eax
423e6e:	ff 76 04             	push   0x4(%esi)
423e71:	ff 36                	push   (%esi)
423e73:	e8 3f d4 ff ff       	call   0x4212b7
423e78:	83 c4 10             	add    $0x10,%esp
423e7b:	89 5e 30             	mov    %ebx,0x30(%esi)
423e7e:	0f b7 0f             	movzwl (%edi),%ecx
423e81:	84 c0                	test   %al,%al
423e83:	8b c1                	mov    %ecx,%eax
423e85:	6a 34                	push   $0x34
423e87:	59                   	pop    %ecx
423e88:	74 15                	je     0x423e9f
423e8a:	c6 46 38 01          	movb   $0x1,0x38(%esi)
423e8e:	d1 e8                	shr    $1,%eax
423e90:	eb 11                	jmp    0x423ea3
423e92:	6a 06                	push   $0x6
423e94:	58                   	pop    %eax
423e95:	6a 34                	push   $0x34
423e97:	c7 46 30 98 13 44 00 	movl   $0x441398,0x30(%esi)
423e9e:	59                   	pop    %ecx
423e9f:	c6 46 38 00          	movb   $0x0,0x38(%esi)
423ea3:	5f                   	pop    %edi
423ea4:	89 04 0e             	mov    %eax,(%esi,%ecx,1)
423ea7:	b0 01                	mov    $0x1,%al
423ea9:	5e                   	pop    %esi
423eaa:	5b                   	pop    %ebx
423eab:	c3                   	ret
423eac:	8b ff                	mov    %edi,%edi
423eae:	55                   	push   %ebp
423eaf:	8b ec                	mov    %esp,%ebp
423eb1:	83 ec 14             	sub    $0x14,%esp
423eb4:	33 d2                	xor    %edx,%edx
423eb6:	42                   	inc    %edx
423eb7:	56                   	push   %esi
423eb8:	8b f1                	mov    %ecx,%esi
423eba:	57                   	push   %edi
423ebb:	83 4e 1c 10          	orl    $0x10,0x1c(%esi)
423ebf:	8b 46 24             	mov    0x24(%esi),%eax
423ec2:	85 c0                	test   %eax,%eax
423ec4:	79 17                	jns    0x423edd
423ec6:	8a 46 2d             	mov    0x2d(%esi),%al
423ec9:	3c 61                	cmp    $0x61,%al
423ecb:	74 08                	je     0x423ed5
423ecd:	3c 41                	cmp    $0x41,%al
423ecf:	74 04                	je     0x423ed5
423ed1:	6a 06                	push   $0x6
423ed3:	eb 02                	jmp    0x423ed7
423ed5:	6a 0d                	push   $0xd
423ed7:	58                   	pop    %eax
423ed8:	89 46 24             	mov    %eax,0x24(%esi)
423edb:	eb 14                	jmp    0x423ef1
423edd:	75 12                	jne    0x423ef1
423edf:	8a 4e 2d             	mov    0x2d(%esi),%cl
423ee2:	80 f9 67             	cmp    $0x67,%cl
423ee5:	74 05                	je     0x423eec
423ee7:	80 f9 47             	cmp    $0x47,%cl
423eea:	75 05                	jne    0x423ef1
423eec:	89 56 24             	mov    %edx,0x24(%esi)
423eef:	8b c2                	mov    %edx,%eax
423ef1:	53                   	push   %ebx
423ef2:	ff 76 08             	push   0x8(%esi)
423ef5:	05 5d 01 00 00       	add    $0x15d,%eax
423efa:	8d 7e 3c             	lea    0x3c(%esi),%edi
423efd:	50                   	push   %eax
423efe:	8b cf                	mov    %edi,%ecx
423f00:	e8 4a d2 ff ff       	call   0x42114f
423f05:	84 c0                	test   %al,%al
423f07:	75 12                	jne    0x423f1b
423f09:	8b cf                	mov    %edi,%ecx
423f0b:	e8 0e d2 ff ff       	call   0x42111e
423f10:	8d 98 a3 fe ff ff    	lea    -0x15d(%eax),%ebx
423f16:	89 5e 24             	mov    %ebx,0x24(%esi)
423f19:	eb 03                	jmp    0x423f1e
423f1b:	8b 5e 24             	mov    0x24(%esi),%ebx
423f1e:	8b 87 04 04 00 00    	mov    0x404(%edi),%eax
423f24:	85 c0                	test   %eax,%eax
423f26:	75 02                	jne    0x423f2a
423f28:	8b c7                	mov    %edi,%eax
423f2a:	83 65 ec 00          	andl   $0x0,-0x14(%ebp)
423f2e:	83 65 f0 00          	andl   $0x0,-0x10(%ebp)
423f32:	89 46 30             	mov    %eax,0x30(%esi)
423f35:	8b 4e 10             	mov    0x10(%esi),%ecx
423f38:	8d 41 08             	lea    0x8(%ecx),%eax
423f3b:	89 46 10             	mov    %eax,0x10(%esi)
423f3e:	8b 01                	mov    (%ecx),%eax
423f40:	8b 49 04             	mov    0x4(%ecx),%ecx
423f43:	89 45 ec             	mov    %eax,-0x14(%ebp)
423f46:	0f be 46 2d          	movsbl 0x2d(%esi),%eax
423f4a:	89 4d f0             	mov    %ecx,-0x10(%ebp)
423f4d:	8b cf                	mov    %edi,%ecx
423f4f:	89 45 fc             	mov    %eax,-0x4(%ebp)