423b41:	74 08                	je     0x423b4b
423b43:	56                   	push   %esi
423b44:	ff 15 10 74 4a 00    	call   *0x4a7410
423b4a:	59                   	pop    %ecx
423b4b:	8b c6                	mov    %esi,%eax
423b4d:	5e                   	pop    %esi
423b4e:	5d                   	pop    %ebp
423b4f:	c2 04 00             	ret    $0x4
423b52:	8b ff                	mov    %edi,%edi
423b54:	56                   	push   %esi
423b55:	8b f1                	mov    %ecx,%esi
423b57:	8b 0e                	mov    (%esi),%ecx
423b59:	85 c9                	test   %ecx,%ecx
423b5b:	74 13                	je     0x423b70
423b5d:	e8 70 0d 00 00       	call   0x4248d2
423b62:	b9 ff ff 00 00       	mov    $0xffff,%ecx
423b67:	66 3b c8             	cmp    %ax,%cx
423b6a:	74 04                	je     0x423b70
423b6c:	32 c0                	xor    %al,%al
423b6e:	eb 05                	jmp    0x423b75
423b70:	83 26 00             	andl   $0x0,(%esi)
423b73:	b0 01                	mov    $0x1,%al
423b75:	88 46 04             	mov    %al,0x4(%esi)
423b78:	8b c6                	mov    %esi,%eax
423b7a:	5e                   	pop    %esi
423b7b:	c3                   	ret
423b7c:	8b ff                	mov    %edi,%edi
423b7e:	55                   	push   %ebp
423b7f:	8b ec                	mov    %esp,%ebp
423b81:	83 ec 20             	sub    $0x20,%esp
423b84:	53                   	push   %ebx
423b85:	8b 5d 0c             	mov    0xc(%ebp),%ebx
423b88:	56                   	push   %esi
423b89:	8b 75 08             	mov    0x8(%ebp),%esi
423b8c:	57                   	push   %edi
423b8d:	89 55 f4             	mov    %edx,-0xc(%ebp)
423b90:	89 4d f8             	mov    %ecx,-0x8(%ebp)
423b93:	53                   	push   %ebx
423b94:	6a 00                	push   $0x0
423b96:	56                   	push   %esi
423b97:	e8 1b ca 06 00       	call   0x4905b7
423b9c:	8b f8                	mov    %eax,%edi
423b9e:	83 c4 0c             	add    $0xc,%esp
423ba1:	85 ff                	test   %edi,%edi
423ba3:	74 04                	je     0x423ba9
423ba5:	2b fe                	sub    %esi,%edi
423ba7:	eb 02                	jmp    0x423bab
423ba9:	8b fb                	mov    %ebx,%edi
423bab:	8b 4d f8             	mov    -0x8(%ebp),%ecx
423bae:	8d 55 e4             	lea    -0x1c(%ebp),%edx
423bb1:	57                   	push   %edi
423bb2:	56                   	push   %esi
423bb3:	ff 75 18             	push   0x18(%ebp)
423bb6:	ff 75 14             	push   0x14(%ebp)
423bb9:	e8 4b 00 00 00       	call   0x423c09
423bbe:	83 c4 10             	add    $0x10,%esp
423bc1:	46                   	inc    %esi
423bc2:	8b 08                	mov    (%eax),%ecx
423bc4:	89 4d 14             	mov    %ecx,0x14(%ebp)
423bc7:	8b 40 04             	mov    0x4(%eax),%eax
423bca:	89 45 18             	mov    %eax,0x18(%ebp)
423bcd:	2b df                	sub    %edi,%ebx
423bcf:	74 29                	je     0x423bfa
423bd1:	66 83 7d 10 00       	cmpw   $0x0,0x10(%ebp)
423bd6:	74 1d                	je     0x423bf5
423bd8:	ff 75 10             	push   0x10(%ebp)
423bdb:	89 4d ec             	mov    %ecx,-0x14(%ebp)
423bde:	8d 4d ec             	lea    -0x14(%ebp),%ecx
423be1:	89 45 f0             	mov    %eax,-0x10(%ebp)
423be4:	e8 6b 00 00 00       	call   0x423c54
423be9:	8b 45 ec             	mov    -0x14(%ebp),%eax
423bec:	89 45 14             	mov    %eax,0x14(%ebp)
423bef:	8b 45 f0             	mov    -0x10(%ebp),%eax
423bf2:	89 45 18             	mov    %eax,0x18(%ebp)
423bf5:	03 f7                	add    %edi,%esi
423bf7:	4b                   	dec    %ebx
423bf8:	eb 99                	jmp    0x423b93
423bfa:	8b 55 f4             	mov    -0xc(%ebp),%edx
423bfd:	5f                   	pop    %edi
423bfe:	5e                   	pop    %esi
423bff:	5b                   	pop    %ebx
423c00:	89 42 04             	mov    %eax,0x4(%edx)
423c03:	8b c2                	mov    %edx,%eax
423c05:	89 0a                	mov    %ecx,(%edx)
423c07:	c9                   	leave
423c08:	c3                   	ret
423c09:	8b ff                	mov    %edi,%edi
423c0b:	55                   	push   %ebp
423c0c:	8b ec                	mov    %esp,%ebp
423c0e:	51                   	push   %ecx
423c0f:	56                   	push   %esi
423c10:	57                   	push   %edi
423c11:	8b 7d 14             	mov    0x14(%ebp),%edi
423c14:	8b f2                	mov    %edx,%esi
423c16:	89 75 fc             	mov    %esi,-0x4(%ebp)
423c19:	85 ff                	test   %edi,%edi
423c1b:	74 26                	je     0x423c43
423c1d:	53                   	push   %ebx
423c1e:	8b 5d 10             	mov    0x10(%ebp),%ebx
423c21:	8d 71 08             	lea    0x8(%ecx),%esi
423c24:	8a 0b                	mov    (%ebx),%cl
423c26:	56                   	push   %esi
423c27:	e8 df 0b 00 00       	call   0x42480b
423c2c:	59                   	pop    %ecx
423c2d:	0f b7 c0             	movzwl %ax,%eax
423c30:	8d 4d 08             	lea    0x8(%ebp),%ecx
423c33:	50                   	push   %eax
423c34:	e8 1b 00 00 00       	call   0x423c54
423c39:	43                   	inc    %ebx
423c3a:	83 ef 01             	sub    $0x1,%edi
423c3d:	75 e5                	jne    0x423c24
423c3f:	8b 75 fc             	mov    -0x4(%ebp),%esi
423c42:	5b                   	pop    %ebx
423c43:	8b 45 08             	mov    0x8(%ebp),%eax
423c46:	89 06                	mov    %eax,(%esi)
423c48:	8b 45 0c             	mov    0xc(%ebp),%eax
423c4b:	89 46 04             	mov    %eax,0x4(%esi)
423c4e:	8b c6                	mov    %esi,%eax
423c50:	5f                   	pop    %edi
423c51:	5e                   	pop    %esi
423c52:	c9                   	leave
423c53:	c3                   	ret
423c54:	8b ff                	mov    %edi,%edi
423c56:	55                   	push   %ebp
423c57:	8b ec                	mov    %esp,%ebp
423c59:	56                   	push   %esi
423c5a:	8b f1                	mov    %ecx,%esi
423c5c:	8b 4e 04             	mov    0x4(%esi),%ecx
423c5f:	85 c9                	test   %ecx,%ecx
423c61:	74 12                	je     0x423c75
423c63:	ff 75 08             	push   0x8(%ebp)
423c66:	e8 51 0b 00 00       	call   0x4247bc
423c6b:	b9 ff ff 00 00       	mov    $0xffff,%ecx
423c70:	66 3b c8             	cmp    %ax,%cx
423c73:	75 03                	jne    0x423c78
423c75:	c6 06 01             	movb   $0x1,(%esi)
423c78:	8b c6                	mov    %esi,%eax
423c7a:	5e                   	pop    %esi
423c7b:	5d                   	pop    %ebp
423c7c:	c2 04 00             	ret    $0x4
423c7f:	8b ff                	mov    %edi,%edi
423c81:	56                   	push   %esi
423c82:	8b f1                	mov    %ecx,%esi
423c84:	ff 76 08             	push   0x8(%esi)
423c87:	e8 c0 9d 06 00       	call   0x48da4c
423c8c:	ff 76 10             	push   0x10(%esi)
423c8f:	e8 b8 9d 06 00       	call   0x48da4c
423c94:	ff 76 14             	push   0x14(%esi)
423c97:	e8 b0 9d 06 00       	call   0x48da4c
423c9c:	83 c4 0c             	add    $0xc,%esp
423c9f:	5e                   	pop    %esi
423ca0:	c3                   	ret
423ca1:	8b ff                	mov    %edi,%edi
423ca3:	55                   	push   %ebp
423ca4:	8b ec                	mov    %esp,%ebp
423ca6:	56                   	push   %esi
423ca7:	8b f1                	mov    %ecx,%esi
423ca9:	57                   	push   %edi
423caa:	8b 4e 14             	mov    0x14(%esi),%ecx
423cad:	8b c1                	mov    %ecx,%eax
423caf:	f7 d0                	not    %eax
423cb1:	83 f8 01             	cmp    $0x1,%eax
423cb4:	77 08                	ja     0x423cbe
423cb6:	e8 97 9d 06 00       	call   0x48da52
423cbb:	8b 4e 14             	mov    0x14(%esi),%ecx
423cbe:	8d 79 01             	lea    0x1(%ecx),%edi
423cc1:	8b ce                	mov    %esi,%ecx
423cc3:	6a 00                	push   $0x0
423cc5:	57                   	push   %edi
423cc6:	e8 d2 89 ff ff       	call   0x41c69d
423ccb:	84 c0                	test   %al,%al
423ccd:	74 1e                	je     0x423ced
423ccf:	83 7e 18 08          	cmpl   $0x8,0x18(%esi)
423cd3:	8d 4e 04             	lea    0x4(%esi),%ecx
423cd6:	8b 56 14             	mov    0x14(%esi),%edx
423cd9:	72 02                	jb     0x423cdd
423cdb:	8b 09                	mov    (%ecx),%ecx
423cdd:	66 8b 45 0c          	mov    0xc(%ebp),%ax
423ce1:	66 89 04 51          	mov    %ax,(%ecx,%edx,2)
423ce5:	8b ce                	mov    %esi,%ecx
423ce7:	57                   	push   %edi
423ce8:	e8 b7 8a ff ff       	call   0x41c7a4
423ced:	5f                   	pop    %edi
423cee:	8b c6                	mov    %esi,%eax
423cf0:	5e                   	pop    %esi
423cf1:	5d                   	pop    %ebp
423cf2:	c2 08 00             	ret    $0x8
423cf5:	8b ff                	mov    %edi,%edi
423cf7:	55                   	push   %ebp
423cf8:	8b ec                	mov    %esp,%ebp
423cfa:	51                   	push   %ecx
423cfb:	56                   	push   %esi
423cfc:	8b f1                	mov    %ecx,%esi
423cfe:	57                   	push   %edi
423cff:	8b 46 14             	mov    0x14(%esi),%eax
423d02:	3b 45 08             	cmp    0x8(%ebp),%eax
423d05:	73 08                	jae    0x423d0f
423d07:	e8 7e 9d 06 00       	call   0x48da8a
423d0c:	8b 46 14             	mov    0x14(%esi),%eax
423d0f:	8b 7d 0c             	mov    0xc(%ebp),%edi
423d12:	f7 d0                	not    %eax
423d14:	3b c7                	cmp    %edi,%eax
423d16:	77 05                	ja     0x423d1d
423d18:	e8 35 9d 06 00       	call   0x48da52
423d1d:	85 ff                	test   %edi,%edi
423d1f:	74 68                	je     0x423d89
423d21:	53                   	push   %ebx
423d22:	8b 5e 14             	mov    0x14(%esi),%ebx
423d25:	8b ce                	mov    %esi,%ecx
423d27:	6a 00                	push   $0x0
423d29:	03 df                	add    %edi,%ebx
423d2b:	53                   	push   %ebx
423d2c:	e8 46 84 ff ff       	call   0x41c177
423d31:	84 c0                	test   %al,%al
423d33:	74 53                	je     0x423d88
423d35:	8b 56 18             	mov    0x18(%esi),%edx
423d38:	8d 4e 04             	lea    0x4(%esi),%ecx
423d3b:	83 fa 10             	cmp    $0x10,%edx
423d3e:	72 07                	jb     0x423d47
423d40:	8b 01                	mov    (%ecx),%eax
423d42:	89 45 fc             	mov    %eax,-0x4(%ebp)
423d45:	eb 03                	jmp    0x423d4a
423d47:	89 4d fc             	mov    %ecx,-0x4(%ebp)
423d4a:	72 02                	jb     0x423d4e
423d4c:	8b 09                	mov    (%ecx),%ecx
423d4e:	8b 46 14             	mov    0x14(%esi),%eax
423d51:	2b 45 08             	sub    0x8(%ebp),%eax
423d54:	50                   	push   %eax
423d55:	8b 45 08             	mov    0x8(%ebp),%eax
423d58:	03 45 fc             	add    -0x4(%ebp),%eax
423d5b:	50                   	push   %eax
423d5c:	8b 45 08             	mov    0x8(%ebp),%eax
423d5f:	2b d0                	sub    %eax,%edx
423d61:	2b d7                	sub    %edi,%edx
423d63:	03 c1                	add    %ecx,%eax
423d65:	52                   	push   %edx
423d66:	03 c7                	add    %edi,%eax
423d68:	50                   	push   %eax
423d69:	ff 15 c4 80 4a 00    	call   *0x4a80c4
423d6f:	83 c4 10             	add    $0x10,%esp
423d72:	8b ce                	mov    %esi,%ecx
423d74:	ff 75 10             	push   0x10(%ebp)
423d77:	57                   	push   %edi
423d78:	ff 75 08             	push   0x8(%ebp)
423d7b:	e8 1e 02 00 00       	call   0x423f9e
423d80:	53                   	push   %ebx
423d81:	8b ce                	mov    %esi,%ecx
423d83:	e8 13 85 ff ff       	call   0x41c29b
423d88:	5b                   	pop    %ebx
423d89:	5f                   	pop    %edi
423d8a:	8b c6                	mov    %esi,%eax
423d8c:	5e                   	pop    %esi
423d8d:	c9                   	leave
423d8e:	c2 0c 00             	ret    $0xc
423d91:	8b ff                	mov    %edi,%edi
423d93:	55                   	push   %ebp
423d94:	8b ec                	mov    %esp,%ebp
423d96:	56                   	push   %esi
423d97:	8b f1                	mov    %ecx,%esi
423d99:	57                   	push   %edi
423d9a:	8b 7d 08             	mov    0x8(%ebp),%edi
423d9d:	8b 46 14             	mov    0x14(%esi),%eax
423da0:	f7 d0                	not    %eax
423da2:	3b c7                	cmp    %edi,%eax
423da4:	77 05                	ja     0x423dab
423da6:	e8 a7 9c 06 00       	call   0x48da52
423dab:	85 ff                	test   %edi,%edi
423dad:	74 2b                	je     0x423dda
423daf:	53                   	push   %ebx
423db0:	8b 5e 14             	mov    0x14(%esi),%ebx
423db3:	8b ce                	mov    %esi,%ecx
423db5:	6a 00                	push   $0x0
423db7:	03 df                	add    %edi,%ebx
423db9:	53                   	push   %ebx
423dba:	e8 b8 83 ff ff       	call   0x41c177
423dbf:	84 c0                	test   %al,%al
423dc1:	74 16                	je     0x423dd9
423dc3:	ff 75 0c             	push   0xc(%ebp)
423dc6:	8b ce                	mov    %esi,%ecx
423dc8:	57                   	push   %edi
423dc9:	ff 76 14             	push   0x14(%esi)
423dcc:	e8 cd 01 00 00       	call   0x423f9e
423dd1:	53                   	push   %ebx
423dd2:	8b ce                	mov    %esi,%ecx
423dd4:	e8 c2 84 ff ff       	call   0x41c29b
423dd9:	5b                   	pop    %ebx
423dda:	5f                   	pop    %edi
423ddb:	8b c6                	mov    %esi,%eax
423ddd:	5e                   	pop    %esi
423dde:	5d                   	pop    %ebp
423ddf:	c2 08 00             	ret    $0x8
423de2:	8b ff                	mov    %edi,%edi
423de4:	55                   	push   %ebp
423de5:	8b ec                	mov    %esp,%ebp
423de7:	51                   	push   %ecx
423de8:	56                   	push   %esi
423de9:	57                   	push   %edi
423dea:	8b 7d 08             	mov    0x8(%ebp),%edi
423ded:	8b f1                	mov    %ecx,%esi
423def:	57                   	push   %edi
423df0:	e8 d0 7f ff ff       	call   0x41bdc5
423df5:	84 c0                	test   %al,%al
423df7:	74 1b                	je     0x423e14
423df9:	83 7e 18 10          	cmpl   $0x10,0x18(%esi)
423dfd:	8d 46 04             	lea    0x4(%esi),%eax
423e00:	72 02                	jb     0x423e04
423e02:	8b 00                	mov    (%eax),%eax
423e04:	ff 75 0c             	push   0xc(%ebp)
423e07:	2b f8                	sub    %eax,%edi
423e09:	8b ce                	mov    %esi,%ecx
423e0b:	57                   	push   %edi
423e0c:	56                   	push   %esi
423e0d:	e8 d0 01 00 00       	call   0x423fe2
423e12:	eb 5a                	jmp    0x423e6e
423e14:	8b 46 14             	mov    0x14(%esi),%eax
423e17:	53                   	push   %ebx
423e18:	8b 5d 0c             	mov    0xc(%ebp),%ebx
423e1b:	f7 d0                	not    %eax
423e1d:	3b c3                	cmp    %ebx,%eax
423e1f:	77 05                	ja     0x423e26
423e21:	e8 2c 9c 06 00       	call   0x48da52
423e26:	85 db                	test   %ebx,%ebx
423e28:	74 41                	je     0x423e6b
423e2a:	8b 46 14             	mov    0x14(%esi),%eax
423e2d:	8b ce                	mov    %esi,%ecx
423e2f:	03 c3                	add    %ebx,%eax
423e31:	6a 00                	push   $0x0
423e33:	50                   	push   %eax
423e34:	89 45 fc             	mov    %eax,-0x4(%ebp)
423e37:	e8 3b 83 ff ff       	call   0x41c177
423e3c:	84 c0                	test   %al,%al
423e3e:	74 2b                	je     0x423e6b
423e40:	8b 4e 18             	mov    0x18(%esi),%ecx
423e43:	8d 56 04             	lea    0x4(%esi),%edx
423e46:	83 f9 10             	cmp    $0x10,%ecx
423e49:	72 02                	jb     0x423e4d
423e4b:	8b 12                	mov    (%edx),%edx
423e4d:	8b 46 14             	mov    0x14(%esi),%eax
423e50:	2b c8                	sub    %eax,%ecx
423e52:	53                   	push   %ebx
423e53:	57                   	push   %edi
423e54:	51                   	push   %ecx
423e55:	03 c2                	add    %edx,%eax
423e57:	50                   	push   %eax
423e58:	ff 15 f0 80 4a 00    	call   *0x4a80f0
423e5e:	83 c4 10             	add    $0x10,%esp
423e61:	8b ce                	mov    %esi,%ecx
423e63:	ff 75 fc             	push   -0x4(%ebp)
423e66:	e8 30 84 ff ff       	call   0x41c29b
423e6b:	8b c6                	mov    %esi,%eax