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
423e6d:	5b                   	pop    %ebx
423e6e:	5f                   	pop    %edi
423e6f:	5e                   	pop    %esi
423e70:	c9                   	leave
423e71:	c2 08 00             	ret    $0x8
423e74:	8b ff                	mov    %edi,%edi
423e76:	55                   	push   %ebp
423e77:	8b ec                	mov    %esp,%ebp
423e79:	53                   	push   %ebx
423e7a:	56                   	push   %esi
423e7b:	8b f1                	mov    %ecx,%esi
423e7d:	33 db                	xor    %ebx,%ebx
423e7f:	83 7d 08 ff          	cmpl   $0xffffffff,0x8(%ebp)
423e83:	c7 46 18 0f 00 00 00 	movl   $0xf,0x18(%esi)
423e8a:	89 5e 14             	mov    %ebx,0x14(%esi)
423e8d:	88 5e 04             	mov    %bl,0x4(%esi)
423e90:	75 05                	jne    0x423e97
423e92:	e8 bb 9b 06 00       	call   0x48da52
423e97:	53                   	push   %ebx
423e98:	ff 75 08             	push   0x8(%ebp)
423e9b:	8b ce                	mov    %esi,%ecx
423e9d:	e8 d5 82 ff ff       	call   0x41c177
423ea2:	84 c0                	test   %al,%al
423ea4:	74 18                	je     0x423ebe
423ea6:	ff 75 0c             	push   0xc(%ebp)
423ea9:	8b ce                	mov    %esi,%ecx
423eab:	ff 75 08             	push   0x8(%ebp)
423eae:	53                   	push   %ebx
423eaf:	e8 ea 00 00 00       	call   0x423f9e
423eb4:	ff 75 08             	push   0x8(%ebp)
423eb7:	8b ce                	mov    %esi,%ecx
423eb9:	e8 dd 83 ff ff       	call   0x41c29b
423ebe:	8b c6                	mov    %esi,%eax
423ec0:	5e                   	pop    %esi
423ec1:	5b                   	pop    %ebx
423ec2:	5d                   	pop    %ebp
423ec3:	c2 08 00             	ret    $0x8
423ec6:	8b ff                	mov    %edi,%edi
423ec8:	56                   	push   %esi
423ec9:	8b f1                	mov    %ecx,%esi
423ecb:	8b 0e                	mov    (%esi),%ecx
423ecd:	85 c9                	test   %ecx,%ecx
423ecf:	74 18                	je     0x423ee9
423ed1:	e8 3f 0a 00 00       	call   0x424915
423ed6:	0f b7 c0             	movzwl %ax,%eax
423ed9:	b9 ff ff 00 00       	mov    $0xffff,%ecx
423ede:	66 3b c8             	cmp    %ax,%cx
423ee1:	74 06                	je     0x423ee9
423ee3:	66 89 46 06          	mov    %ax,0x6(%esi)
423ee7:	eb 07                	jmp    0x423ef0
423ee9:	83 26 00             	andl   $0x0,(%esi)
423eec:	0f b7 46 06          	movzwl 0x6(%esi),%eax
423ef0:	c6 46 04 01          	movb   $0x1,0x4(%esi)
423ef4:	5e                   	pop    %esi
423ef5:	c3                   	ret
423ef6:	8b ff                	mov    %edi,%edi
423ef8:	55                   	push   %ebp
423ef9:	8b ec                	mov    %esp,%ebp
423efb:	51                   	push   %ecx
423efc:	51                   	push   %ecx
423efd:	53                   	push   %ebx
423efe:	8b 5d 08             	mov    0x8(%ebp),%ebx
423f01:	56                   	push   %esi
423f02:	57                   	push   %edi
423f03:	8b 7d 0c             	mov    0xc(%ebp),%edi
423f06:	8b f1                	mov    %ecx,%esi
423f08:	8b 43 14             	mov    0x14(%ebx),%eax
423f0b:	3b c7                	cmp    %edi,%eax
423f0d:	73 08                	jae    0x423f17
423f0f:	e8 76 9b 06 00       	call   0x48da8a
423f14:	8b 43 14             	mov    0x14(%ebx),%eax
423f17:	2b c7                	sub    %edi,%eax
423f19:	8b 7d 10             	mov    0x10(%ebp),%edi
423f1c:	3b c7                	cmp    %edi,%eax
423f1e:	73 02                	jae    0x423f22
423f20:	8b f8                	mov    %eax,%edi
423f22:	8b 46 14             	mov    0x14(%esi),%eax
423f25:	f7 d0                	not    %eax
423f27:	3b c7                	cmp    %edi,%eax
423f29:	77 05                	ja     0x423f30
423f2b:	e8 22 9b 06 00       	call   0x48da52
423f30:	85 ff                	test   %edi,%edi
423f32:	74 61                	je     0x423f95
423f34:	8b 46 14             	mov    0x14(%esi),%eax
423f37:	8b ce                	mov    %esi,%ecx
423f39:	03 c7                	add    %edi,%eax
423f3b:	6a 00                	push   $0x0
423f3d:	50                   	push   %eax
423f3e:	89 45 f8             	mov    %eax,-0x8(%ebp)
423f41:	e8 57 87 ff ff       	call   0x41c69d
423f46:	84 c0                	test   %al,%al
423f48:	74 4b                	je     0x423f95
423f4a:	83 7b 18 08          	cmpl   $0x8,0x18(%ebx)
423f4e:	8d 43 04             	lea    0x4(%ebx),%eax
423f51:	89 45 fc             	mov    %eax,-0x4(%ebp)
423f54:	72 05                	jb     0x423f5b
423f56:	8b 00                	mov    (%eax),%eax
423f58:	89 45 fc             	mov    %eax,-0x4(%ebp)
423f5b:	8b 56 18             	mov    0x18(%esi),%edx
423f5e:	8d 5e 04             	lea    0x4(%esi),%ebx
423f61:	83 fa 08             	cmp    $0x8,%edx
423f64:	72 02                	jb     0x423f68
423f66:	8b 1b                	mov    (%ebx),%ebx
423f68:	8b 4e 14             	mov    0x14(%esi),%ecx
423f6b:	8d 04 3f             	lea    (%edi,%edi,1),%eax
423f6e:	8b 7d 0c             	mov    0xc(%ebp),%edi
423f71:	2b d1                	sub    %ecx,%edx
423f73:	50                   	push   %eax
423f74:	8b 45 fc             	mov    -0x4(%ebp),%eax
423f77:	03 d2                	add    %edx,%edx
423f79:	8d 04 78             	lea    (%eax,%edi,2),%eax
423f7c:	50                   	push   %eax
423f7d:	52                   	push   %edx
423f7e:	8d 04 4b             	lea    (%ebx,%ecx,2),%eax
423f81:	50                   	push   %eax
423f82:	ff 15 f0 80 4a 00    	call   *0x4a80f0
423f88:	83 c4 10             	add    $0x10,%esp
423f8b:	8b ce                	mov    %esi,%ecx
423f8d:	ff 75 f8             	push   -0x8(%ebp)
423f90:	e8 0f 88 ff ff       	call   0x41c7a4
423f95:	5f                   	pop    %edi
423f96:	8b c6                	mov    %esi,%eax
423f98:	5e                   	pop    %esi
423f99:	5b                   	pop    %ebx
423f9a:	c9                   	leave
423f9b:	c2 0c 00             	ret    $0xc
423f9e:	8b ff                	mov    %edi,%edi
423fa0:	55                   	push   %ebp
423fa1:	8b ec                	mov    %esp,%ebp
423fa3:	83 7d 0c 01          	cmpl   $0x1,0xc(%ebp)
423fa7:	8d 51 04             	lea    0x4(%ecx),%edx
423faa:	8b 41 18             	mov    0x18(%ecx),%eax
423fad:	75 12                	jne    0x423fc1
423faf:	83 f8 10             	cmp    $0x10,%eax
423fb2:	72 02                	jb     0x423fb6
423fb4:	8b 12                	mov    (%edx),%edx
423fb6:	8b 45 08             	mov    0x8(%ebp),%eax
423fb9:	8a 4d 10             	mov    0x10(%ebp),%cl
423fbc:	88 0c 02             	mov    %cl,(%edx,%eax,1)
423fbf:	eb 1d                	jmp    0x423fde
423fc1:	83 f8 10             	cmp    $0x10,%eax
423fc4:	72 02                	jb     0x423fc8
423fc6:	8b 12                	mov    (%edx),%edx
423fc8:	ff 75 0c             	push   0xc(%ebp)
423fcb:	0f be 45 10          	movsbl 0x10(%ebp),%eax
423fcf:	50                   	push   %eax
423fd0:	8b 45 08             	mov    0x8(%ebp),%eax
423fd3:	03 c2                	add    %edx,%eax
423fd5:	50                   	push   %eax
423fd6:	e8 5e d0 06 00       	call   0x491039
423fdb:	83 c4 0c             	add    $0xc,%esp
423fde:	5d                   	pop    %ebp
423fdf:	c2 0c 00             	ret    $0xc
423fe2:	8b ff                	mov    %edi,%edi
423fe4:	55                   	push   %ebp
423fe5:	8b ec                	mov    %esp,%ebp
423fe7:	51                   	push   %ecx
423fe8:	53                   	push   %ebx
423fe9:	8b 5d 08             	mov    0x8(%ebp),%ebx
423fec:	56                   	push   %esi
423fed:	57                   	push   %edi
423fee:	8b 7d 0c             	mov    0xc(%ebp),%edi
423ff1:	8b f1                	mov    %ecx,%esi
423ff3:	8b 43 14             	mov    0x14(%ebx),%eax
423ff6:	3b c7                	cmp    %edi,%eax
423ff8:	73 08                	jae    0x424002
423ffa:	e8 8b 9a 06 00       	call   0x48da8a
423fff:	8b 43 14             	mov    0x14(%ebx),%eax
424002:	2b c7                	sub    %edi,%eax
424004:	8b 7d 10             	mov    0x10(%ebp),%edi
424007:	3b c7                	cmp    %edi,%eax
424009:	73 02                	jae    0x42400d
42400b:	8b f8                	mov    %eax,%edi
42400d:	8b 46 14             	mov    0x14(%esi),%eax
424010:	f7 d0                	not    %eax